Помнится в первой части закончили мы на том, что забодяжили плату, залили все полигоном и раскидали шелкографию, чтобы не налезало.
Теперь возьмемся за редактор компонентов. Т.к. библиотеки хоть и обширные, но нельзя обьять необьятное. Так что рано или поздно попадется тебе такая деталька которой нет в библиотеках. Либо библиотечная не понравится. И придется рисовать свою. Что до меня, так я постоянно то готовые правлю, то новые создаю.
Создание своего компонента в Eagle cad
Когда я впервые сел за орла, мне это покзалось очень запутанным и сложным, но на деле, если отбросить мишуру, все будет очень и очень просто. Давайте-ка создадим, для примера, что нибудь несложное. Например линейный стабилизатор LM-1117-3.3 в разных корпусах. Его я не нашел в библиотеках.
Итак, вначале даташит на LM1117
Задача ясна, будем творить. Открывай главное окно Орла и в меню выбирай FileNewLibrary
Откроется окно будующей библиотечки:
Сразу сохрани ее, назвав как нибудь. Я назову ее PowerIC и буду сюда складыват все преобразователи которые буду создавать.
Начнем рисовать компонент с его условно графического обозначения (УГО). Если помнишь, это такой квадратик у которого вход, выход и земля. Вот его и нарисуем.
Тыкай в кнопочку Symbol и выскочит диалог выбора правки символа. Пока у нас ничего там нет, так как ни одного символа не создали. Не беда, в поле New пишем имя LM1117 и жмем кнопку Sym, а затем ОК.
На вопрос создавать ли новый символ говорим да. Откроется клетчатое поле:
С помощью инструмента Wire рисуем квадратик. Это будет наш элемент. Затем берем инструмент Pin и выставляем пины. И вот тут нас поджидает засада. Дело в том, что в Eagle у детали должно быть столько пинов, сколько контактов у посадочной площадки. А оно тут разное. У TO220 три контакта, а у остальных по четыре и даже более. Так что придется делать по символу на каждый вид. Сначала нарисуем под TO220.
Берем Pin и расставляем их вокруг нашего квадратика. Их будет три, так как делаем для корпуса ТО-220.
Обрати внимание, что вход может иметь не только разное направление (вращается нажатием на правую кнопку мыши), но и разный тип. Например инверсный или тактовый.
А также вид отображения без обозначений, с обозначением только имени, с обозначением только номера вывода, или оба обозначения сразу.
Теперь хватай инструмент Info и тыкай в каждый нарисованный пин. Будет вот такой диалог:
Выставляем нужные параметры:
- Name IN для вывода который будет входом, OUT для выхода и GND для земли соответственно.
- Direction тип вывода. Выбери ммм, думаю, для всех будет уместным Pwr. Все же это силовая цепь.
- Swap level В данном случае не нужно, пригождается когда у нас несколько выводов однотипных, как например, вентили в К155ЛА3 и мы можем пользовать их в любом порядке. Вот тут то и задается Swap для однотипных выводов. И потом, в схематике, их можно безболезнено менять местами, чтобы разводка красивей получалась. Толком правда я с этим еще не разбирался.
- Length длина вывода. Оставь по дефолту
- Function УГО назначения (тактовый, IO или инверсный)
- Visible оставь только Pin. Зачем нам номера выводов в трехвыводном корпусе? А для микросхем многоногих лучше делать Both
Получается вот такая красота:
Осталось добавить обозначение и значение. Бери инструмент Text и рисуй две текстовые метки. В одну впиши прям текстом >VALUE, а в другую >NAME это специальные тэги, вместо них Eagle потом подставит значения. Рисовать их лучше на слоях tValue и tName соответственно. Чтобы можно было скопом отключить все имена или все значения.
На этом с символом можно закончить. Благо он простой. Переходим к созданию корпуса. И тут у нас два пути.
Простой способ копирование из готового.
Не закрывая библиотеку, перейди в главное окно Eagle и найди там в разделе библиотек либу ref-packages.lbr это коллекция разных корпусов, каких там только нет. Нам надо ТО-220.
А их там несколько видов. Нам нужен лежачий TO220AH и стоячий TO220AV. Выбирай первый и из контекстного меню выбирай команду Copy Тo Library. То же самое и со вторым. Также можно скопировать корпус из любого другого элемента библиотеки, если знаешь где искать естественно.
Они сразу же покажутся в библиотеке. Теперь в нашей библиотеке будут два корпуса.
Надо назначить им название выводов. Жми снова Package и выбирай корпус который будешь редактировать. Хватай инструмент Info и тыкай им по очереди в каждый контакт.
Откроется диалог настройки пятачка и в нем надо выставить поля
- Name имя контакта. По даташиту, у LM1117 первый вывод это GND/ADJ Вот так и назовем его.
- Drill это размер отверстия.
- Diameter размер пятачка. Стоит авто это значит, что он будет вычислен автоматом исходя из диаметра отверстия и правил разводки платы. Но можно выставить и конкретное значение.
- Shape это форма пятачка, в данном случае Long и повернутая на 90 градусов (строка Angle).
- Thermals сделает нам термопереход если окажется, что этот вывод должен быть подключен к полигону.
- Stop означает, что мы сразу же для него генерируем слой маски
- First указывает, что это первый вывод корпуса (справедливо для микросхем) и в таком случае он автоматом может быть другой формы, скажем квадратной. Это все оговаривается в правилах схемы.
Также, по даташиту, прописываешь остальные выводы. Если у тебя микросхема, то выводы проще пронумеровать 1, 2, 3 и так далее.
Жми сохранить корпус. Готово! Можно переходить к созданию элемента.
Сложный способ создание корпуса с нуля.
Жми кнопочку Package и откроется такой же диалог как и в случае с Symbol
Там пишем в поле New пиши TO220 имя нашего будущего корпуса, а потом жми Pac и New. Скажи да на вопрос о создании нового корпуса. Откроется поле в котором можно рисовать:
Настраиваем сетку на 2.54мм и рисуем наш корпус. Сначала ставим пятачки:
С типом Long и под углом 90градусов т.к. корпус массивный, выводы толстые, чем больше пятачки, тем меньше риск, что их оторвет от неосторожного обращения или удару по детали.
Теперь бери инструмент wire и рисуй вокруг детали, на слое tPlace, ее посадочное место.
Потом, тем же wire, по слою tKeepOut, нарисуем возможный габарит радиатора.
Осталось добавить надписи. Ставь такие же текстовые метки >VALUE и >NAME, но с одной разницей. >VALUE размещаешь на слое tValues, а >NAME на слое tNames.
Также рекомендую тыкнуться в слои tStop/bStop и поглядеть на наличие паяльной маски надо контактами (штриховочка такая). А то потом забудешь и, глядишь, дорастешь до изготовления плат на производстве, отдашь, а тебе придет плата с закрытыми маской контактами. Матюков по этому поводу будет ООЧЕНЬ много, так что сразу же проверь маску. Особенно если делаешь не простые пятачки (игл к ним сам маску обычно рисует), а какие нибудь полигоны для запаивания радиаторов, например.
Вот поверх них надо на слой tStop (или bStop если деталь внизу) тоже положить полигон, чуть большего размера, чтобы открыть эту область от маски.
Теперь выдели каждый пятак и обзови его в соответствии с даташитом, как и было сделано ранее.
Сохраняй корпус и переходим к созданию элемента.
Создание элемента
Элемент это уже связанный комплекс корпуса и его УГО. Тыкай кнопочку Device и в окне
Впиши в поле New название детали LM1117, жми кнопочку Dev и Ок. Игл опять спросит создать ли новый девайс. Говори да.
Откроется окно создания детальки:
Сначала надо добавить УГО. Жми там сбоку кнопочку ADD и ставь на бело поле наш рисунок стабилизатора. Ставь так, чтобы крестик внутри был, иначе криво будет на схеме смотреться =)
И жми кнопочку NEW справа внизу, чтобы добавить корпус.
Выбирай корпус, в поле Variant пиши что нибудь вроде TO-220-Horizital. Потом также добавь второй корпус.
Получится такая вот картина:
Восклицательные знаки означают, что у тебя выводы не назначены, этим сейчас и займемся. Выделяй любую строку и жми кнопку Connect. Откроется диалог в котором в поле Pin будут значения выводов на УГО, а в поле PAD значния выводов на корпусе.
Остается их соответственно выбирать и жать кнопку Connect, привязывая один к другому. А поскольку мы не поленились и в УГО и в корпусе дали им названия, то ошибиться будет очень сложно :)))
Когда все выводы будут назначены, то загорится зеленая галочка, мол все ок. Осталось пару штрихов:
Жми кнопку Prefix и выставлй там что либо вроде U и все эти микросхемы на плате будут зваться U1, U2 и так далее. Если это не сделать там будет уродливое U$1. Значение Value оставь выключеным. Сохраняй библиотеку, подключай ее в главном окне Eagle в проект и пробуй добавить на схему.
Библиотеки могут быть более хитрыми, например с многосоставными элементами, когда ставишь какую-нибудь К155ЛА3, а у ней внутри четыре одинаковых 2И-НЕ элемента. И их ставишь по одному, да потом еще меняешь как хочешь. Я не буду описывать как создавать такую библиотеку. Гораздо проще будет открыть ее самому и посмотреть на то, как они там внутри сделаны и что прописано в параметрах. Ну либо родной хелп почитать. Он там весьма и весьма мощный.
Также есть один очень мощный скрипт по созданию библиотек. Запускаешь File Run make-symbol-device-package-bsdl.ulp и вылезает здоровенный диалог. В нем можно прям из даташита вписать циферки разные и получить готовый корпус любой конфигурации почти. Причем уже с готовым Symbol и упакованный в Device. Сам пока еще правда не разбирался.
Проверка платы
После разведения и трассировки можно проверить плату на корректность. Для этого есть инструмент ERC electrical rule check. Нажав на него ты получишь список всех ошибок и предупреждений. Некоторые ошибки можно игнорировать, некоторые нет. Тут думать надо. Например, у меня ругается следующим образом:
Первые ошибки гласят о том, что у цепи ENABLE не совпадение типов выводов. Помнишь я говорил, что вывод может быть Input, Output, Power, IO и так далее? Вот игл это проверяет, предупреждая если ты, например, засунешь питание или землю на информационный вывод. Нет, может так и надо по схеме, но нетипично и вызвает подозрение и лучше на это обратить внимание не ошибка ли. В данном случае, Орел ругается на то, что ENABLE это чисто вход и идет соединение входа с входом. На это можно забить, т.к. это косяк компонента в библиотеке, т.к. у FT232 эти выводы не Input, а Input/Output. То же самое и для других выводов. Еще Eagle предупреждает, что есть ряд неподключенных выводов. Мало ли, может забыл.
Ну и ряд warning из серии, что к такому то выводу подключено питание, нет ряда номиналов и так далее. Оглядев их все, понимаю, что ничего критичного и можно забить выделяю их и жму Approve, мол расслабься Птаха, это не бага а фича 🙂
Второй этап проверки это DRC проверка допусков и размеров. Это уже делается на печатной плате. Жмешь кнопку DRC и вылезает окно с вводом правил проверки. А внизу есть кнопочка Check. Нажмешь ее и на плате появится штриховочки такие, обозначая слабые места, не соответствующие правилам, а сбоку выскочит окошко с ошибками и типом ошибки. Тыкая на ошибку Eagle покажет тебе этот участок схемы крупней. Например, ошибка типа Clearance это слишком близко дорожка идет, или отверстие меньше чем надо и так далее. Если правила слишком брутальные (скажем минимальный зазор не меньше миллиметра), то на мелкий корпус будет очень много мата. Главное это увидеть, а решать забить/исправить можно уже по ходу процесса.
Печать чертежа
Вот чертеж готов, проверен и его надо вывести на печать. Тут все просто чтобы не смешивать людей и коней, надо выключить ненужные слои и оставить только то что нам надо. Скажем, распечатываем мы нижнюю сторону. Не вопрос, оставляем слои Bottom, Pads, Via, Dimension и все. Все остальные выключаем вообще.
Надо распечатать шелкографию для нанесения на верхний слой? Тогда выключаем все кроме tNames, tPlace, Dimension и остается на плате только рисунки обозначений.
Ну, а на печать выводим просто через диалог печати, где можно заодно и развернуть плату зеркально, если печатаем верхнюю сторону. Также там надо обратить внимание на галочку Black чтобы все вывелось черным цветом.
Ну и одна небольшая хитрость. Дело в том, что в Eagle нельзя произвольно менять размер дырочек и пятачков на плате. А штатные размеры при домашнем изготовлении не сильно удобны. Обычно делаешь дырочку не более 0.3мм, чтобы сверло центровалось. Но не править же ради этого все библиотеки? Поэтому есть один костыль скрипт drill-aid.ulp. Когда плата будет готова, то через File Run запускай его, указывай размер дырочек и он поверх всех твоих отверстий положит плашки с дырочкой указанного размера. Сделает это он на отдельном слое, поэтому при выводе на печать этот слой надо будет включить. А если что то изменишь, то дырочки уже совпадать не будут. Тут проще будет тогда выключить все слои. Включить слой с дырками, выделить их все и удалить нахрен, а потом создать заново, уже по новым местам.
Настройка горячих кнопок
При разводке плат, особенно двусторонних, постоянно приходится включать/выключать слои, чтобы, скажем, верх не мешался когда тащишь линию по низу, и наоборот. Причем делать это мышью крайне неудобно, а в некоторых случаях (когда тащишь линию) и невозможно. Для этого есть хоткеи, но вот только сразу их найти не удалось :))) Пришлось курить хелп. И выяснилось, что все куда круче чем кажется!
Итак, eagle имеет частично консольный интерфейс аля autocad (и это рулез!) и поэтому многие вещи делаются там через консоль (она в верху экрана, над рабочим полем). Например есть такая команда DISPLAY, а параметры у ней имена слоев или их номера.
Ввел, например, display top появился верхний слой. А ввел параметр с минусом display -top верхний слой исчез. Можно и сразу пару параметров. Например, команда display -top bottom, выключит верхний и включит нижний. Аналогично сделает и display 1 -16, Т.к. слои top и bottom имеют номера 1 и 16, соответственно. То же самое можно сделать и в отношении других слоев. Да и вообще группировать команды (а их там немало) разным способом.
А теперь лезем в раздел Options Assign и на хоткеи вешаем наши скрипты. У меня это выглядит так:
Я себе сделал переброс трассировки на верхний/нижний слой (не знал тогда еще, что это можно сделать кратким нажатием на колесико мыши). Отобразить верх, спрятав низ. Отобразить низ, спрятав верх. Показать оба слоя. Выключить/включить всякую мишуру вроде обозначений корпусов и названий.
В следующий раз напишу про коллекцию скриптов и автотрассировку, если сам разберусь во всех этих параметрах ,)
Оцените статью!