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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Уменьшение размера APK (в разумных пределах)

На Habr.com уже была подобная статья, доказывающая, что можно ужать APK файл с 1.5 МБ до 1757 байт и меньше. Цель данной статьи — уменьшить размер приложения до разумного предела, сохранив его функциональность и осветить некоторые тонкости и неявные моменты. ...

Дайджест интересных материалов для мобильного разработчика #262 (16 июля — 22 июля)

В нашем новом дайджесте гипотезы и A/B-тесты, борьба с собой в Pixonic, React Native и Rust, аналитика SDK и доходы приложений. В общем, начали тут вспоминать факапы из прошлого, когда решение одной проблемы прибавляло новых, увлеклись и решили поделиться парочкой. ...