Плагин eagleUp упрощает размещение моделей компонентов на Вашей плате, но для каждого компонента нужно иметь такую модель. Создание модели радиокомпонента довольно простой процесс, который можно выполнить за несколько минут, если все делать в правильном порядке. В этом руководстве описан процесс создание модели для простого и сложного устройства (перевод статьи [1]). Вы также можете импортировать механические части наподобие коннекторов и корпусов из моделей от производителя (см. раздел "Импорт из файла STEP или IGES").
На видео ниже показан процесс создания компонента (SMD резистор) с помощью 3D-редактора Google SketchUp. Для манипуляций частями модели в редакторе использовались следующие клавиши и клики кнопок мыши:
• Левая кнопка мыши = выбор, или действие, или выбор в меню • Правая кнопка мыши = открыть контекстное меню • Удержание средней кнопки (колесика) = поворот модели • Кручение колесика мыши = приближение и удаление вида на модель • Ctrl + перемещение = сделать копию объекта (со смещением) • Ctrl + поворот = сделать копию объекта (с поворотом) • Ввод прямого значения на клавиатуре и нажатие клавиши Enter для подтверждения • Del = удалить выбранный объект (или объекты) • Ctrl + A = выбрать все на чертеже
Нельзя напрямую импортировать в Sketchup файл STEP или IGES. Посмотрите видео ниже, где даны пошаговые инструкции по импорту файла с использованием утилит FreeCAD и MeshLab.
В качестве образца был выбран SMD-резистор типоразмера 0805. Для получения информации о размерах резистора был загружен его даташит [2]. На картинке ниже показано, как выглядит такой резистор в системе проектирования печатных плат Eagle. После того, как 3D-модель будет завершена, она должна поместиться на печатной плате поверх медных контактных площадок, в пределах прямоугольной линии шелкографии.
Из даташита на резистор важно получить точные размеры и высоту компонента. Так же там имеется внешний вид компонента.
При указании размеров я обычно использую метрическую систему, но можно также использовать и дюймовую.
Всякий раз, когда это возможно, при изготовлении тела модели пользуйтесь симметрией корпуса детали. Например, Вы можете сначала нарисовать 1/4 часть от устройства, и потом копировать, отражать и поворачивать отдельные части, чтобы получить полную модель.
На примере резистора я покажу, как быстро нарисовать компонент. Не стесняйтесь экспериментировать, и определите для себя самый удобный способ рисования.
Поскольку компонент резистора очень простой по форме, то я нарисую его половину, начав с базы. Помните, что точка отсчета координат в 3D-модели соответствует точке отсчета (origin) компонента в системе Eagle.
Затем нужно воспользоваться инструментом pull, чтобы дать модели объем. Так Вы получите половину корпуса устройства.
Для эстетики добавим линию (которая разделит верхнюю часть на две независимые плоскости), чтобы показать покрытие никелем.
Раскрасьте поверхности. Я предпочитаю использовать именованные цвета.
Осталось только добавить вторую половину к модели методом поворота с копированием. В SketchUp нет явной функции зеркалирования, Вам нужно сделать для этого копию объекта, применить к нему масштабирование -1 (scale -1), и затем повернуть копию и соединить две половинки модели друг с другом. Поворачивать половинку (копию) модели просто. Удерживайте кнопку Ctrl для копирования объекта во время операции поворота или перемещения. Тщательно выберите положение центра поворота. Для нашего случая центр поворота должен совпадать с точкой origin компонента Eagle (центр координат SketchUp).
После этого Вы можете подчистить модель, удалить не используемые линии, которые создались после симметрирования половинок, удалить направляющие (guides).
Как видите, это было просто. Для проверки можно временно проставить размеры:
Обратите внимание, что для повышения точности модель была нарисована в масштабе 1000:1, т. е. 1 метр соответствуют 1 миллиметру реальных размеров.
[Повышение качества модели резистора]
Первая модель была простой и мы её сделали быстро, но она получилась не слишком реалистичной. Здесь я покажу другой способ рисования модели, где будет показан слой металла толщиной 20 мкм (этот параметр не был приведен в даташите, я просто взял его приблизительно). Сначала нужно нарисовать контур среза половины резистора:
Затем нужно применить инструмент Pull, чтобы вытянуть объем. После этого можно раскрасить полученную четвертинку модели:
Нажмите Ctrl+A (выбрать все), и удерживая клавишу Ctrl, сместите модель вдоль зеленой оси. При смещении получится вторая копия, совместите её с оригиналом. Для точного совмещения используйте угловую точку исходной модели. В результате получим половину модели корпуса резистора:
Снова нажмите Ctrl+A и примените поворот, удерживая клавишу Ctrl (для получения копии половины резистора):
После небольшой подчистки получится более реалистичная модель резистора. Поэкспериментируйте, добавьте модели реалистичности - можно даже написать на корпусе номинал сопротивления.
[Ориентация модели по осям координат]
Важный момент: ориентация посадочного места компонента в системе Eagle и в 3D-редакторе SketchUp должна быть идентичной (иначе Вы быстро заметите несоответствие на собранной модели печатной платы).
[Моделирование корпуса микросхемы]
В качестве примера я выбрал 8-выводный корпус SOIC. Даташит на корпус можно найти по ключевым словам MCP6V01/2/3 site:ww1.microchip.com. На последних страницах даташита чаще всего приведена информация о размерах корпуса.
Перед тем, как начать создавать модель, нужно решить, каким способом она должна быть нарисована. В этом примере я нарисую сначала одну половину корпуса (с выводами 1..4), после чего сделаю её зеркальную копию. Дополнительный скос на первой половине корпуса я проигнорирую, потому он не очень заметен (но его можно добавить позже, если Вы хотите получить более реалистичную модель).
Начнем с создания пластикового корпуса микросхемы. Размеры будут 1.95 x 4.9 x 1.75 мм (рисовать модель будем в метрах). Поместите направляющую в месте расположения будущего вывода 1 (он показан красной точкой на предыдущем рисунке).
Затем мы нарисуем вывод где-нибудь в другом месте чертежа. Для удобства не рисуйте его слишком близко к корпусу микросхемы - позже мы совместим вывод с корпусом в нужном месте.
Серый прямоугольник представит начало контакта. Другие линии показывают, где вывод должен оканчиваться.
В даташите нет полной информации о форме выводов. Попробуем их нарисовать так, как они выглядели бы в реальной жизни. На рисунке показаны размеры, которые я выбрал.
Затем мы создадим вывод с помощью инструмента Follow Me (как пользоваться этим инструментом, можно посмотреть на видео Google SketchUp Toolbar Series: Follow Me site:youtube.com).
Конечно, реальный вывод изгибается плавно, не резко. Можно перед использованием Follow Me сгладить кривую перемещения. Используйте кривые скругления достаточно большого радиуса, чтобы получить надлежащий изгиб вывода микросхемы. Удалите не используемые кривые перед запуском инструмента Follow Me, чтобы упростить выбор пути.
Примерно так будет выглядеть готовый вывод:
Сделаем компонент для вывода. Это пригодится для того, чтобы в будущем создавать другие модели, и послужит гарантией того, что все выводы будут выглядеть одинаково. Выберите вывод тройным щелчком, правой кнопкой откройте контекстное меню и выберите в нем команду create component.
Пора собрать пластмассовый корпус и выводы в одно целое. Выберите модель вывода (вокруг него появится параллелепипед из синих линий), выберите команду move, выберите левый верхний угол вывода и перемещайте его до направляющей, которую Вы ранее поместили на корпусе микросхемы. Проще сначала сделать остановку на углу корпуса, и потом перетащить вывод к конечной точке размещения, указанной направляющими.
Теперь Вы можете удалить направляющие (чтобы выбрать направляющую, сделайте левый клик на её пунктирной линии).
Когда мы создали компонент вывода, то получили преимущество в том, что можно просто делать операции копирования и вставки (copy/paste) выводов в нужном месте, причем мы не потеряли возможность редактирования компонента вывода. Сделайте 4 операции копирования, чтобы получить все 4 вывода микросхемы на одной стороне. Для этого выберите вывод, и выберите инструмент move, и удерживая клавишу Ctrl (будет сделано копирование при перемещении) переместите вывод вдоль красной оси координат. В процессе перемещения введите на клавиатуре 1.27 (это шаг выводов корпуса SOIC) и затем 3x, чтобы получить 3 копии, размещенные с одинаковым интервалом.
У нас есть теперь половина модели. Корпус микросхемы симметричен, поэтому чтобы получить модель полностью, можно применить инструмент поворота (Rotation Tool) с копированием. Снова выберите все части модели через Ctrl+A, выберите в качестве оси поворота голубую ось координат (она должна проходить через точку origin корпуса детали - в терминологии Eagle).
Для получения копии удерживайте клавишу Ctrl во время поворота, и выполните поворот на 180 градусов. Для красоты удалите ненужные линии на корпусе.
Время подправить модель, чтобы добавить реализма. Корпус SOIC не имеет прямых углов. Поэтому если Вы хотите, чтобы модель выглядела качественно, то добавьте верхний и нижний срезы корпуса.
Нарисуйте на торце корпуса скос, и примените инструмент Follow Me для выполнения срезов на корпусе.
Повторите то же самое и для нижней части корпуса. Перед запуском операции Follow Me важно правильно выбрать вид на редактируемую модель - потому что это довольно тонкая операция, и возможно потребует нескольких пробных попыток, чтобы достичь нужного результата.
Добавим маркер первого вывода микросхемы. Для этого нарисуйте кружок на верхней части корпуса, и затем примените инструмент Push для того, чтобы опустить кружок в толщу корпуса на 0.05 мм.
На последнем шаге раскрасьте модель. Я использовал цвет silver (серебряный) для выводов и charcoal для пластикового корпуса.
Выберите весь пластиковый корпус тройным кликом на его поверхности. Выберите инструмент paint bucket. Среди именованных цветов выберите Charcoal. Затем подобным образом раскрасьте выводы, выбрав цвет silver.
Модель готова. Помните, что для правильного синтеза 3D-вида печатной платы с помощью eagleUp [3] модель нужно сохранить в папке Eagle/model (или в том месте, на которое указывает диалог Edit general settings -> Set the models path скрипта eagleUp_export.ulp).
Наверное, масштаб 1000:1 плохая идея, потому что показываемые размеры не верны.
A001: Согласен, что причина масштабирования в 1000 раз не кажется интуитивно понятной. Однако в этом есть большой плюс: Вы можете рисовать мелкие детали, которые без масштабирования никак нельзя сделать. Попробуйте нарисовать кривую для вывода размером меньше миллиметра, и поймете, что ничего не выходит. Причина в том, что SketchUp проектировался в расчете на архитектурный дизайн, поэтому этот редактор не может использовать малые размеры так же, как другие системы CAD. Когда Вы установите начальный шаблон чертежа (template) в метрах, то Вы можете вводить на клавиатуре размеры в метрах, которые будут соответствовать миллиметрам. Не надо вводить единицы, просто вводите величины.
После того, как модель будет готова, сделайте группировку её частей, и затем масштабирование вниз на 1000, чтобы привести размер модели к реальному.
Есть ли какие-то инструменты, чтобы выполнить такую операцию? Как мне кажется, делать довольно сложные посадочные места в Eagle - настоящая головная боль. В редакторе SketchUp делать посадочные места было бы просто. Если я мог бы сначала в SketchUp сделать только контактные площадки, и затем импортировать их в Eagle в качестве стартовой точки, то это было бы замечательно! После этого я мог бы продолжать рисовать модель в SketchUp, чтобы её можно было бы впоследствии использовать для создания трехмерной модели платы с помощью eagleUp.
A002: К сожалению, подобные инструменты мне не известны. Рекомендую Вам попрактиковаться в создании библиотеки Eagle штатными методами. Рисование корпуса обычно не занимает больше 5 минут при хороших навыках. Вы можете ознакомиться с руководством, как делать библиотечные компоненты Eagle на YouTube, или вот в этой хорошей статье:
Eagle: Creating a new part site:sparkfun.com
При рисовании корпуса в Eagle следуйте нескольким советам:
• Используйте надлежащий шаг координатной сетки, или вводите размеры напрямую (можно воспользоваться Excel для вычисления списка координат). Помните, что при редактировании клавиша Alt меняет активный шаг координатной сетки - пользуйтесь этой возможностью, чтобы уточнить место расположения элементов на чертеже.
• Старайтесь чаще пользоваться операцией копирования/вставки (copy/paste). К сожалению, в Eagle она делается немного непривычно, но ничего сложного все равно нет.
• Рисуйте сначала линии направляющих, относительно них рисуйте нужные элементы. Линии направляющих потом можно удалить.
• Сначала нарисуйте прямоугольник (например, для контура корпуса), а потом измените его координаты (в свойствах).
• Есть много готовых библиотек Eagle, которые можно найти в Интернет, с часто используемыми или даже с редко используемыми электронными компонентами. При поиске сначала посетите сайт Cadsoft Eagle.
• Есть несколько скриптов ULP, которые автоматизируют создание компонента Eagle.
У меня почему-то FreeCAD зависает, когда создает mesh из shape (возможно из-за слишком сложной модели), и при этом создание mesh из geometry работает. Не знаю, в чем тут дело, но в результате получается хорошая модель.
Я использую Eagle 5.11 и eagleUp 4.3. После запуска ULP, когда импортирую файл .eup в редактор Sketchup, плата создается корректно, и все компоненты масштабируются корректно, однако компоненты размещены в не тех местах где надо. Что я упустил в процессе моделирования компонента, что гарантировало бы, что выводы компонента попадут в контактные площадки 3D-модели платы? Я не использую технику "зеркалирования", описанную в этом руководстве. Пример ошибочно созданной модели корпуса TO-220:
A004. Посмотрите картинку:
Резистор в Eagle представлен горизонтально (т. е. контактные площадки расположены слева и справа). Ваша модель должна соответствовать корпусу (PAC) компонента. Если модель не ориентирована неправильно, то Вы можете повернуть её вокруг origin (Ctrl+A -> Rotate Tool). Или сместите модель вдоль плоскости платы, чтобы точно совпали контактные площадки.
Мне нравится использовать инструмент Camera -> Standard Views -> Top, который поворачивает модель в удобное положение, позволяющее убедиться, что модель соответствует ориентации корпуса библиотечного компонента. После этого остается убедиться в правильности смещения по оси Z.
В общем случае размещение точки origin в редакторе корпуса Eagle должно соответствовать точке origin модели SketchUp. Также с точки зрения механической ориентации положительная голубая ось SketchUp соответствует нижней стороне компонента, положительная красная ось соответствует правой стороне компонента, и положительная зеленая ось соответствует верхней плоскости компонента.
A005. Модели компонентов - это просто файлы моделей SketchUp. Искать их можно прямо в редакторе SketchUp (через меню Window -> Components), или на сайте 3dwarehouse.sketchup.com. Если у Вас обычная электронная схема, где нет чего-то очень специфического, то наверняка не придется делать ни одной модели самому, все можно найти готовое.
Вот несколько ссылок, которые нашлись поиском по ключевым словам EagleUp models:
warehouse site:eagleup.wordpress.com LGX Eagle Resources site:github.com 3D Models for SparkFun Products! site:github.com SketchUp_Part_Models site:dangerous-prototypes-open-hardware.googlecode.com akafugu eagleup_models site:github.com
Примечание: это не ссылки, это строки для поиска Google.