Blender: 3D-модель микросхемы для подключения в библиотеке KiCad

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

Но есть проблема: профессиональный CAD-редактор стоит не дёшево, а свободно распространяемые не всегда удобны в использовании.

К счастью на помощь всегда может прийти Blender. Да, он не предназначен для создания чертежей и точных моделей. Но тем не менее позволяет быстро создавать трёхмерные модели электронных компонентов для последующего их импорта в трассировщики. В этой статье я опишу способ создания модели микросхемы и подключения её к библиотеке компонентов KiCad.

pcslbpoqus0ksppb0sil7sjcihi.png
Для примера нарисуем модель микроконтроллера STM32F405xx в корпусе LQFP64. Всю необходимую информацию для работы берем из datasheet.

nkrimgijyxblmufmvtkufmgokqy.png

dtyat84dtl0kc1snheodd5h9h2u.png

1. Подготовка Blender’а


Запускаем Blender и для начала удаляем все не нужные компоненты со сцены: свет, куб и камеру. Выделяем объект правой кнопкой мыши и нажимаем «X». Либо выделяем все объекты кнопкой «A» и затем «X».

Для дальнейшей работы нам понадобится боковая панель настроек, для её вызова нажимаем «N». Окно, готовое к работе должно выглядеть примерно так:

baai56dd3qdwkf-ijknolocmysc.png

Для удобства отключим режим отображения перспективы — цифра »5» на дополнительной клавиатуре.

Оси координат в Blender«е и в KiCad«e не совпадают, поэтому нашу микросхему мы будем рисовать так, чтобы её высота совпадала с осью Y, а длина и ширина с осями X и Z соответственно. Перейдём на вид справа нажатием цифры »3» на дополнительной клавиатуре. Если 3D-курсор находится не в центре, комбинацию клавиш Shift + C.

2. Создаём корпус микросхемы


Корпус микросхемы создадим из куба. Слева в панели Create выбираем фигуру Cube. Или с помощью комбинации клавишь Shift + A в выпадающем меню выбираем Mesh → Cube.

osr4umnn5krgdafwx-etopjvgou.png

Появившийся куб расположен в центре сцены и имеет размеры 2×2х2 условных единиц. Это видно в правой боковой панели (которую мы вызвали нажатием клавиши «N»). Если изменить сейчас размеры куба, то вместе с размерамы будет изменяться и масштаб фигуры, что в дальнейшем может привести к странным эффектам. Поэтому сбросим масштабирование: выделяем объект и выбираем внизу в панели Object → Apply → Scale (или Cntrl + A; S).

3. Задаём размеры микросхемы


Теперь зададим размеры корпуса. В datasheet находим длину, ширину и высоту корпуса микросхемы: 10 мм на 10 мм на 1.45 мм (макс.). Эти числа используем в качестве размера нашего пока ещё куба. Как уже упоминалось выше, размеры по X и Z — длина и ширина, а размер по оси Y — высота.

--khtlr5waxzvouvkt-vkhbpmfc.png

4. Размещаем корпус микросхемы


Следующим шагом разместим корпус на правильной высоте. Для этого перейдем в режим редактирования объекта (кнопка «Tab») и выберем поверхность в качестве элемента редактирования (face select). Затем выберем верхнюю поверхность микросхемы — она у нас находится справа и нажмём комбинацию клавиш Shift + S → Cursor to selected:

83cqqgrnuvl5xh4zo025-lzxrxu.png

Выходим из режима редактирования кнопкой «Tab». Далее в окне Tools → Edit устанавливаем точку привязки фигуры с помощью Set Origin → Origin to 3D Cursor.

vewlgxylayjyi8qlre6u2i4iclc.png

Видим, что теперь положение объекта по оси Y изменилось с нуля на 0.725. Разместим объект так, что бы верхняя часть корпуса была смещена относительно начала координат на 1,6 мм — это наша максимальная высота компонента.

yj80lkxofu0e3c9vg2txt2lj5ri.png

5. Добавляем грани


Габариты корпуса заданы верно. Теперь можно косметически улучшить вид, добавив грани, как показано в pdf. Точных размеров там нет, поэтому сделаем это на глаз.

Переходим в режим редактировани (клавиша «Tab») и выбираем грани как объект редактирования (edge select). Зажав клавишу Shift выделяем четыре боковые грани объекта.

5dkxhkannynueicso8o4v3-zpyo.png

К выделенным граням применим функцию Bevel — внизу на панели выбираем Mesh → Edges → Bevel, или жмём Cntrl + B. Далее либо на клавиатуре вбиваем число (к примеру 0.05), либо перемещая мышь выбираем нужный размер фаски.

m-m1cyozmwvm3calulgd-gm2fkq.png

Теперь сделаем скосы сверху и снизу копуса микросхемы, как показано на виде микросхемы сбоку.

Для этого в режиме редактирования добавим новую грань: в меню Tools → Loop Cut and Slide или комбинацией Cntr + R. Расположим грань, как показано на рисунке.

lvv2oh9hmzjep21ys725d_cz_bm.png

После нажатия правой кнопку мыши, грань автоматически расположится в центре фигуры. И к ней сразу применим модификатор Bevel, как мы это проделывали с боковыми гранями. Размер зададим равным 0.2 (максимальный размер «с» на чертеже).

Теперь уменьшим верхнюю и нижнюю поверхности микросхемы. Включаем режим редактирования поверхностей (Face select) и выделяем верх и низ микросхемы. К двум выделеным поверхностям применим модификатор Scale (клавиша «S»). С помощью мыши на глаз, или вбив определённое число (к примеру 0.96) масштабируем выбранные поверхности.

r51bbwec9v3qpxop0qzne8hidxq.png

6. Создаём первый вывод


Можно сказать, что корпус микросхемы готов. Осталось к нему приделать 64 вывода. Для начала рассчитаем положение первого вывода микросхемы. Размер «Е» (12 мм) на чертеже делим пополам и получаем внешюю координату по оси X = 12/2 = 6. Положение по оси Z в нашем случае равно Z = 0.5/2 + 0.5×9 = 4.25

Предварительно выйдя из режима редактирования и сняв выделение с корпуса, создадим поверхность, которую в дальнейшем преобразуем в контакт. Перейдем к виду справа (цифра »3» на дополнительной клавиатуре). И далее Create → Plane (Shift + A → Mesh → Plane). Повернём ее «лицом» к нам: Align to View и зададим расчитанные координаты:

qf7vof6b0vutdglqyeh_hp7kwnq.png

Для дальнейшей обработки сбросим масштабирование и поворот фигуры: Object → Apply → Rotation and Scale. Или Cntrl+A → Rotation and Scale. (Как в шаге 2). Теперь нашей поверхности зададим размеры вывода в сечении: по ширине размер b = 0.27 мм (ось Z), по высоте размер с= 0.2 мм (ось Y). И по координате Y сместим её на значение, равное 0.1

l6x02moc2-fv2jfra4murg-pffc.png

Теперь «выдавим» из поверхности форму ножки микросхемы. Перейдём к виду сверху (»7» на дополнительной клавиатуре). Включим режим редактирования — «Tab» и выделим созданную поверхность. С помощью Tools → Extrude → Region (или клавиши «Е»), затем «Х» (по оси Х), введём -0.6 с клавиатуры и «Enter». Число 0.6 у нас соответствует размеру L на чертеже.

Цвет ножки отличается от цвета микросхемы, потому что она оказалась «вывернута» наизнанку. Если включить отображение нормалей, то можно увидеть, что они все направлены внутрь. Исправим это: выделим фигуру клавишей «А» и в панели Shaidng/UV → Normals нажмём Flip Direction. Теперь фигура построена верно.

0pfpn2iqsen289lmlim4i2tgueo.png

Избежать этой процедуры можно было бы развернув поверхность на 180 градусов перед операцией «выдавливания».

Создадим дополнительную грань на выводе микросхемы с помощью команды Tools → Loop Cut and Slide (или Cntrl + R) и расположим ее ближе к внутреннему краю.

pd-2gcp6uwxtt_val_flb_ecw8a.png

Выделим верхний сегмента на созданнай поверхности и выдавим ее (клавиша «Е») вверх по координате «Y» до середины микросхемы.

1dwgitgs5rottjsdhr8mtnmngz0.png

Новую поверхность сместим слегка в сторону микросхемы: «G» — переместить, «Х» — только по оси Х.

vqvbhrgevf5blqljtcgwvikcsjq.png

Проделаем вышеописанные операции для верхней части вывода. В итоге должны получить примерно следующую картину.

zpkyfzxxejslpqcqegl-lt24kxm.png

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

s8b7z4vhj8xlju_tf1enkjkubci.png

7. Клонируем вывод микросхемы


С помощью модификатора Array создадим 18 выводов микросхемы с одной стороны. Для начала сбросим позицию и масштабирование вывода. Выходим из режима редактирования «Tab», выделяем ножку, и применяем Apply → Location, Rotation, Scale. Это необходимо, чтобы для следующего модификатора корректно расчиталось смещение клонированных объектов.
Добавляем модификатор Array.

v_k3oyxb3go255rlcb01dsdjgjo.png

В параметрах модификатора задаём количество = 18, выделяем смещение Constant, и расстояние по оси Z = -0.5

pvpgaxvxeqejjo9c0_vhokgjlam.png

Получили ряд выводов. Создадим их копии для оставшися трёх сторон. Для этого убираем выделение со всех объектов, устанавливаем 3D-курсовр в центр — Shift + C. И создаём пустой объект — Shift+A → Empty → Plain Axes.

bcynrvu53whjwdjkuemlf8lrrp0.png

Теперь выделяем созданный ранее вывод микросхемы, и создаём ещё раз модификатор Array. Только на этот раз выбираем Object offset, и созданный ранее Empty-объект. Количество копий указываем равным 4.

8atjhh7kuo_4yrn5oz-ig-zvx84.png

Чтобы расположить созданные копии в правильном положении, выделяем Empty объект и поворачиваем его относительно оси Y на 90 градусов. Кнопки «R» и «Y», затем вбиваем значение угла »90».

-v6ottnohx8u3snohl_mhab-rie.png

8. Цвет микросхемы


Покрасим для красоты нашу микросхему и выводы в разные цвета. Выделим корпус микросхемы, и в закладке материалов создадим новый материал:

b1qyob-5hozqjmaptwrrotdy5us.png

И присваиваем ему тёмно-серый цвет:

xlylcpcewaudnzi77l1rwl-g_vg.png

Ту же самую операцию проделываем для выводов микросхемы, но цвет делаем чуть поярче.

На этом создание микросхемы можно считать законченым.

9. Экспортируем полученую модель в KiCad


Экспортируем модель в формат vrml. File → Export → VRML2. Если такого меню нет, то сначала идём в File → User Preferences… → Add-ons. В поиске вбиваем vrml и устанавливаем флажок напротив Import-Export VRML2 и Import-Export Web3D X3D/VRML2 format.

wylr-ick9rxbxvx3pol3-raqfsa.png

При экспорте нам нужно привести единицы измерения к дюймам. Для этого в поле Scale вводим число 0.393701 (1 mm/ 2.54 inch = 0.393701).

aaxl9kuweiw5hrr6ddxbv6lptsc.png

Всё, модель микросхемы готова.

10. Подключаем модель в KiCad«e


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

dor65ctkxj8w9bszznhg9pdbif0.png

Созданную таким методом микросхему вполне можно использовать для визуального контроля посадочной площадки.

© Habrahabr.ru