Добавить в корзинуПозвонить
Найти в Дзене
RahostStudio

3D модель OLED 1.3 дисплея для KiCad

Приветствую всех, кто заглядывает ко мне на огонёк! Приспичило тут мне добавить модель дисплея в КиКад для моего эмулятора дисковода на Ардуино. В плане тренировки решил отрисовать плату, все элементы в КиКаде нашёл, а вот дисплея на 1,3 дюйма нет. Возможно, где-то в сторонних библиотеках можно найти, но я решил пойти своим путём, а заодно разобраться, как всё это работает. Сразу говорю, я не спец, всё делаю, возможно, неправильно и через одно место. Итак, расскажу пошагово, что, как и зачем я всё делал. Началось с того, что я искал готовую модель для «КиКад», не нашел ничего путного, зато нашел архив с моделью дисплея в формате STL, но этот формат «КиКад» не принимает. Смотрю, а в архиве ещё есть файл SCAD, и, порывшись в интернете, понял, что это и есть основной файл модели, который создается программой OpenSCAD. Скачал, загрузил и вот что увидел: Данная программа работает со специальным кодом, который описывает модель, очень похоже на язык программирования. Стал «методом тыка» изуча
Оглавление

Приветствую всех, кто заглядывает ко мне на огонёк! Приспичило тут мне добавить модель дисплея в КиКад для моего эмулятора дисковода на Ардуино. В плане тренировки решил отрисовать плату, все элементы в КиКаде нашёл, а вот дисплея на 1,3 дюйма нет. Возможно, где-то в сторонних библиотеках можно найти, но я решил пойти своим путём, а заодно разобраться, как всё это работает. Сразу говорю, я не спец, всё делаю, возможно, неправильно и через одно место.

Итак, расскажу пошагово, что, как и зачем я всё делал.

OpenSCAD

Началось с того, что я искал готовую модель для «КиКад», не нашел ничего путного, зато нашел архив с моделью дисплея в формате STL, но этот формат «КиКад» не принимает. Смотрю, а в архиве ещё есть файл SCAD, и, порывшись в интернете, понял, что это и есть основной файл модели, который создается программой OpenSCAD. Скачал, загрузил и вот что увидел:

Интерфейс программы.
Интерфейс программы.

Данная программа работает со специальным кодом, который описывает модель, очень похоже на язык программирования. Стал «методом тыка» изучать, комментируя определённые строки, выяснил, где тут что находится, и вычленил несколько нужных мне блоков, это — сама плата, экран, металлизация отверстий по краям платы и пинов. Для работы понадобятся три основные кнопки:

F5 — это предпросмотр, то есть после каких-то изменений жмём, смотрим, что получается.
F6 — это рендеринг, модель подготавливается к следующему этапу — экспорту.
F7 — это экспорт созданной после рендера модели в формат STL.

Алгоритм такой: комментирую весь код, кроме нужного участка, жму F5, смотрю, что получилось, если что-то не так, снова корректирую код. Далее жму F6 и после рендера F7.

В коде модели прямо в первой строке находится параметр, указывающий на гладкость модели, чем он выше, тем более ровная будет модель, чем меньше, тем более квадратная. Соответственно с этим меняется и размер файла. Я этот параметр чуть убавил, отверстия стали не такие круглые, но для КиКада пойдёт. Вот так выглядит модель платы ещё без рендера:

Подготовка модели. Часть кода закомментирована.
Подготовка модели. Часть кода закомментирована.

Видно, что отверстия довольно сегментированы. Осталось нажать F6 и F7, и файл готов.

FreeCad

Далее полученные STL-файлы я закинул в FreeCAD и как бы уже получил нужную мне картину. Присвоив каждому элементу свой цвет, я был «щаслив», но тут облом, STL-файлы не захотели экспортироваться в формат STEP (который мне нужен). Да и вообще в любой другой не получалось. Ошибка была в том, что FreeCAD не видел поверхности на моих моделях. Начался поиск, как устранить, и вот что нужно делать:

Выбираем инструмент «Part», далее в выпадающем меню находим и жмём параметр «Создание фигуры из полигональной сетки».

Потом в появившемся окне поставить галочку на «Сшивание фигуры», значение допуска не трогал, 0,10 по умолчанию.

После этого ищем иконку «Построитель форм». Старый элемент можно удалить, он уже будет не нужен.

В построителе форм выбрать «Твердое тело из оболочки», при этом щёлкнуть куда-нибудь на самой модели.

Далее жмём «Создать», и наша фигура преобразилась! Все промежуточные модели теперь можно удалить, а вновь созданный можно переименовать и придать ему цвет.

Для этого щёлкнуть на нём правой кнопкой мыши, выбрать «Внешний вид», далее выбрать понравившийся цвет, результат будет на экране.

Готово.
Готово.

Вот что у меня получилось, 10 элементов, и это ещё без пинов. С пинами ситуация следующая, их я тоже делал, там даже есть капельки припоя, причем с двух сторон. Пины идут в изначальной модели не как каждый по отдельности, а дублируются формулой из одного. И перенос сразу четырёх пинов не получился, FreeCAD отказался создавать такую разделённую модель из полигонов. Это ладно, я сделал на одном пине и размножил его уже на месте. Но у пинов ещё есть пластиковое основание, вот с ним такая штука не покатила. Как ни пытался, всё время ошибка была, и я бросил это занятие. Подумал, ведь в «Кикаде» есть модель таких пинов, и её можно применить прямо на месте.

Осталось только экспортировать все части в единую модель, как уже говорил выше, экспортирую в STEP.

KiCad

Настала пора перейти в КиКад. Загружаю свой проект, выглядит следующим образом:

Проект в KiCad
Проект в KiCad

Мне нужно изменить элемент J1 OLED, жмакаю на нем, потом жму «Е» и попадаю в свойства посадочного места, сверху выбираю вкладку «3D-модели»:

Стандартная модель
Стандартная модель

Далее, сначала добавляю пины, это делается иконкой папки, а свою модель добавляю через иконку «+» и потом уже выбираю свою модель. После некоторых манипуляций с позиционированием получаем готовый результат:

Не знаю почему, но надпись на посадочном месте вверх ногами, так и не смог её перевернуть. На самой плате всё нормально. Просто из-за этого сначала не той стороной поставил дисплей, так что тут надо ориентироваться на первый пин, а не на надпись.

Ну и результат:

Дисплей немного наклонил, на живом прототипе точно так же у меня.

Что ж, на этом заканчиваю. Спасибо всем, кто дочитал, оставляйте комментарии, конструктивная критика приветствуется.

Оставляю свои наработки в архиве: OLED1.3_RahostEd.zip

3D модель OLED 1.3 дисплея для KiCad > Rahost Studio