Работа в Eagle Cad. Часть 2
Помнится в первой части закончили мы на том, что забодяжили плату, залили все полигоном и раскидали шелкографию, чтобы не налезало.
Теперь возьмемся за редактор компонентов. Т.к. библиотеки хоть и обширные, но нельзя обьять необьятное. Так что рано или поздно попадется тебе такая деталька которой нет в библиотеках. Либо библиотечная не понравится. И придется рисовать свою. Что до меня, так я постоянно то готовые правлю, то новые создаю.
Создание своего компонента в Eagle cad
Когда я впервые сел за орла, мне это покзалось очень запутанным и сложным, но на деле, если отбросить мишуру, все будет очень и очень просто. Давайте-ка создадим, для примера, что нибудь несложное. Например линейный стабилизатор LM-1117-3.3 в разных корпусах. Его я не нашел в библиотеках.
Итак, вначале даташит на LM1117
Задача ясна, будем творить. Открывай главное окно Орла и в меню выбирай File—New—Library
Откроется окно будующей библиотечки:
Сразу сохрани ее, назвав как нибудь. Я назову ее 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 и на хоткеи вешаем наши скрипты. У меня это выглядит так:
Я себе сделал переброс трассировки на верхний/нижний слой (не знал тогда еще, что это можно сделать кратким нажатием на колесико мыши). Отобразить верх, спрятав низ. Отобразить низ, спрятав верх. Показать оба слоя. Выключить/включить всякую мишуру вроде обозначений корпусов и названий.
В следующий раз напишу про коллекцию скриптов и автотрассировку, если сам разберусь во всех этих параметрах 😉
Источник: http://easyelectronics.ru/rabota-v-eagle-cad-chast-2.html
Eagle Cad. Создание компонента. Ч1
Введение
Что мне нравится в Eagle Cad, так это большое количество готовых библиотек. Однако рано или поздно все равно возникает момент, когда нужного компонента нет и нужно создавать его самому.
В этом посте мы рассмотрим процесс создания библиотеки и новых компонентов.
В первой части в качестве примера будет использоваться резистор, а в следующей какая-нибудь микросхема.
В принципе процесс создания резистора описан в руководстве на Eagle, но там все на английском и без наглядных картинок.
Создание библиотеки
Наш первый шаг – это создание новой библиотеки. Запускаем Eagle и в верхнем меню выбираем File > New > Library.
Откроется редактор библиотек. Внешне он похож на редактор схем, только с меньшим количеством инструментов.
Сразу сохраним нашу библиотеку. Выбираем в верхнем меню File > Save As, указывая папку для сохранения и название библиотеки. Допустим название библиотеки будет test-lib.
Ок. Библиотека создана, но она пока что пустая и не подключена к Eagle`у.
Что будет размещаться в библиотеке? Библиотеки обычно содержат три базовых компонента:- Package: посадочное место (футпринт), используемое в редакторе печатных плат
– Symbol: условное графическое обозначение компонента, используемое в редакторе схем
– Device: сам компонент, состоящий из графического символа и посадочного места.Для создания полноценного компонента нам понадобится и посадочное место, и графическое обозначение компонента. Начнем с посадочного места.
Создание посадочного места в Eagle
Нажимаем на иконку Package или выбираем в верхнем меню Library > Package.Откроется диалоговое окно со списком всех посадочных мест библиотеки. Сейчас оно, естественно, пустое. Вводим название нового посадочного места и нажимаем Ок.
Затем снова Ок, чтобы подтвердить, что мы действительно хотим создать новое посадочное место.
Открылся редактор посадочных мест и для начала мы настроим его сетку. По умолчанию она задается в дюймах (inch), нам нужны миллиметры.
Выбираем в верхнем меню View > Grid, откроется диалоговое окно настройки сетки.
В выпадающих списках выбираем mm вместо inch. Что еще здесь можно настроить?Display – это управление отображением сетки.
Style – стиль отображения сетки: линии или точки.
Size – шаг основной сетки.
Multiple – количество шагов сетки, через которые будут отображаться линии (точки)
Alt – шаг альтернативной сетки. Активируется при нажатии и удерживании кнопки Alt.
Default – установка значений по умолчанию.
Finest– установка наименьшего шага сетки.
Настроили сетку, создаем контактные площадки для резистора. Можно создавать площадки для выводных резистора, можно для SMD. У нас первый вариант. Напомню, что большинство действий в Eagle можно выполнить несколькими способами.
Например для создания площадки можно нажать на иконку Pad, выбрать в верхнем меню Draw > Pad или набрать в консоли команду pad.
Нажали на иконку Pad. Наверху изменилась панель инструментов и курсор приобрел форму контактной площадки. В панели инструментов можно выбрать форму контактной площадки, внешний диаметр площадки (Diametr), внутренний диаметр отверстия (Drill) и угол поворота площадки (Angle).
Для нашего примера параметры резистора будут такие.
d = 0.58
D = 2.5
L1 = 6.5
Выбираем круглую контактную площадку, внутренний диаметр 0.8 мм нам подойдет, внешний оставим автоматическим. Расставляем две контактные площадки для резистора на рабочее поле редактора.
Их нужно поставить симметрично относительно центра, он обозначен белым крестиком. Расстояние, которое должно быть между площадками, нужно выбирать с учетом длины корпуса резистора и расстояний до места изгиба его выводов.
Например, можно взять по 3 мм с обоих сторон от корпуса.
Уже поставленные площадки можно двигать с помощью инструмента Move (меню Edit > Move или кнопка F7).
Измерить расстояние между выводами можно с помощью инструмента Dimension (меню Draw > Dimension)Каждая контактная площадка имеет имя. При создании контактной площадки Eagle автоматически присваивает ей имя.
Это имя можно изменить с помощью инструмента Name (меню Edit > Name), но для резистора мы не будем этого делать.
Теперь нам нужно нарисовать обозначение резистора, которое будет использоваться на слое шелкографии при изготовлении печатной платы. Это изображение обозначает место монтажа резистора.
Выбираем инструмент Wire (меню Edit > Wire), в верхнем меню выбираем слой tPlace, толщину линии и рисуем.
Также в верхнем меню можно менять другие параметры рисования: способ рисования линии (под прямым углом, под углом 45 и т.д.), радиус закругления (miter), тип (непрерывная, пунктирная и т.д.).
На слое tDoc аналогичным образом рисуем более реалистичное изображение резистора. Оно может понадобиться при разводке печатной платы, чтобы располагать компоненты с учетом их реальных размеров или при создании документации. Не будем заморачиваться и нарисуем его в виде прямоугольника чуть большего размера.
Теперь нужно разместить атрибуты посадочного места – имя и значение. Имя размещается на слое tName. Нажимаем на иконку Text (меню Draw > Text) , вводим в диалоговом окне >NAME, нажимаем Ок. В верхнем меню устанавливаем размер шрифта, векторный тип и размещаем надпись рядом с резистором.
Векторный тип шрифта гарантирует нам, что при создании гербер файлов печатной платы надписи никак не изменятся.
Чтобы выйти из режима ввода текста нужно дважды нажать кнопку Esc.Далее повторяем эту процедуру для значения, только размещаем его на слое tValue, а в текстовом поле вводим >VALUE.
Сохраняем результат File > save. Посадочное место (футпринт) для компонента готово.
Создание графического обозначения компонента в Eagle
Переходим к созданию условного графического обозначения (УГО) или символа компонента. Выбираем в меню редактора посадочных мест Library > Symbol.
Откроется диалоговое окно со списком всех символов в библиотеке (в нашем случае оно будет пустое), в котором мы должны ввести имя нового символа. После подтверждения намерения создать новый символ, откроется редактор. Настраиваем в редакторе символов шаг сетки.
Так же как мы это делали для редактора посадочных мест в меню View > Grid. Теперь нужно нарисовать два вывода. Выбираем инструмент Pin (меню Draw > Pin) и над окном редактора отобразится панель с настройками вывода.
Посмотрим, что это за настройки. Ориентация вывода определяет под каким углом будет расположен наш вывод. Ориентацию можно менять, нажимая на правую кнопку мыши.
Функция вывода добавляет к изображению вывода дополнительную графическую информацию – значок инверсии (кружок), тактового входа (треугольник) или оба этих значка.С длиной все понятно.
Видимость.
У любого вывода есть имя и номер, соответствующий номеру реального вывода. С помощью этой настройки можно задать отображение этих атрибутов. Направление, по сути, определяет назначение вывода – вход, выход, информационный вывод, вывод питания.
Параметр свопирования определяет взаимозаменяемость выводов компонента. Свопирование – это операция, используемая при разводке схем. Она позволяет “перекинуть” цепь на другой (идентичный) вывод компонента. Если swaplevel равен 0, то выводы нельзя менять местами.
Если больше 0, то выводы с одинаковым swaplevel взаимозаменяемы. Выводы резистора взаимозаменяемы, поэтому для его выводов можно установить этот параметр равным, например, 1. Но поскольку резистор имеет симметричную форму, от этого мы ничего не выиграем. Другое дело микросхемы. Вот там функция свопирования очень помогает.
Убираем видимость имени и номера вывода, а остальные параметры оставляем без изменений. Размещаем два вывода на рабочем поле редактора, где-нибудь около центра, который обозначен небольшим крестиком. Когда выводы поставлены, их можно перемещать по рабочему полю с помощью инструмента Move.
Имя вывода можно изменить с помощью инструмента Name, но для резистора нам это не нужно.
Нарисуем графическое изображение резистора. На отечественных схемах он отображается в виде прямоугольника размером 4 на 10 мм.
Нажимаем на инструмент Wire, выбираем слой Symbols, устанавливаем требуемую толщину линии и рисуем. Процесс рисования аналогичен описанному выше.
Нарисованный прямоугольник можно двигать с помощью инструмента Move.
Длину нарисованных линий можно измерять с помощью инструмента Dimension. Нужно его выбрать, кликнуть курсором по начальной точке измерения, по конечной точке и отвести в сторону.
Добавляем символу резистора атрибуты – имя и значение.
Выбираем инструмент Text (меню Draw > Text), в открывшееся окно вводим >NAME, устанавливаем слой Names, размер шрифта и размещаем надпись около резистора.
Аналогично поступаем и с атрибутом “значение”: текст >VALUE, слой Values. Тип шрифта здесь не важен, можно оставить как есть.
Символ готов, сохраняем полученный результат.
Создание библиотечного компонента в Eagle
Дело за малым – нужно создать компонент, объединив посадочное место и его графическое изображение. Выбираем в меню Library > Device и в открывшемся окне пишем имя нашего нового библиотечного компонента. Откроется очередной редактор.Вызываем инструмент ADD (меню Edit >Add) и добавляем на рабочее поле символ резистора.
У появившегося изображения есть два параметра. Addlevel – параметр размещения.
Определяет характер размещения компонентов, он имеет значение для элементов состоящих из нескольких частей или блоков (как, например, логические микросхемы), поэтому мы рассмотрим его в следующий раз. Swaplevel – параметр свопирования.
О нем я уже упоминал выше, только в данном случае этот параметр относится не к выводам компонента, а к его частям. У нас никаких блоков нет, поэтому его тоже пропустим. G$1 – это автоматически присвоенное имя.
Чтобы резистор именовался на схемах с буквой R, нужно вписать ее в поле Prefix.
С правой стороны нажимаем кнопку New и добавляем компоненту посадочное место. Затем нажимаем Connect и связываем выводы символа с выводами посадочного места.
С помощью кнопки Append можно связывать несколько выводов посадочного места с одним выводом символа. Сохраняем результат. Компонент готов!Подключить его к проекту можно из редактора схем с помощью меню Library > Use.
Продолжение следует…
Ссылки
Eagle Cad. Рисование схемы
Источник: http://chipenable.ru/index.php/programming-avr/item/185
Eagle: как самому сделать библиотечный компонент
Источник: http://microsin.net/adminstuff/others/eagle-how-to-make-a-custom-library-part.html
Да здравствует Eagle Cad. Часть 2 – Создание своего компонента. — Сообщество «Электронные Поделки» на DRIVE2
В этой части кратко пробежимся по созданию нового элемента в библиотеке Eagle Cad. Сейчас для одного проекта мне нужно отрисовать 4х контактное реле от Лады Калина. Без костылей тут не обошлось, ибо нельзя сделать длинные металлизированные отверстия, пришлось сделать ряд из обычных круглых отверстий.
Итак, открываем нашу локальную библиотеку и добавляем туда новый Symbol нашего будущего элемента. Symbol в данном случае это УГО (условно-графическое обозначение), которое будет использоваться в принципиальной схеме.
Далее первым делом обращаем внимание на шаг сетки. Перед расстановкой пинов она должна быть обязательно 0.1 inch или 2.54мм, иначе у нас будут проблемы с подключением.
Берем элемент Wire и начинаем рисовать на слое Symbols. Это основной слой для рисования компонента принципиальной схемы.
Далее добавляем необходимый текст. В данном случае текст — часть элемента. Обычно имена пинов привязываются к самим пинам.
Далее нужно добавить обозначение и значение. Берем инструмент Text и рисуем две текстовые метки. В одну пишем прям текстом «>VALUE», а в другую «>NAME» — это специальные тэги, вместо них Eagle потом подставит значения. Рисовать их лучше на слоях tValue и tName соответственно. Чтобы можно было скопом отключить все имена или все значения. © DiHalt
Берем элемент Pin и расставляем пины. По-умолчанию у них причудливые имена.
Но их можно переименовать через свойства.
А это как небольшое отступление от темы. Например, вам понадобилось скопировать уже существующее изображение в другой элемент. Выделяем все командой Group, жмем Copy (два маленьких человечка), а дальше правой кнопкой на листе — Copy: Group. Вот так, весьма причудливо, Eagle копирует элементы.
Добавляем новый корпус. По аналогии с добавлением УГО. Package -> New -> Ok. И сразу выставляем удобный шаг сетки. Я предпочитаю работать с шагом 1мм и дополнительным шагом в 0.1мм. Дополнительный шаг работает при зажатом Alt.
Первым делом отрисуем очертания нашего корпуса. В данном случае это размеры реле. Слой tPlace позже будет включен в шелкографию. Следим за координатам в левом верхнем углу.
Есть такая удобная штука — называется Mark (маркер). Он служит для установки точки отсчета побочной оси координат. Например мне удобно рисовать от левого верхнего угла, ставлю туда маркер и слежу за координатам в соседнем окошке. Расставляем наши пады. Они есть разных форм.
Добавляем необходимый текст, который будет напечатан в слое шелкографии. Не забудьте перевести текст в вектор, иначе будут проблемы при переводе в gerber для производства.
Далее наши грабли. Как я уже писал, нет возможности сделать одно длинное металлизированное отверстие. Делаем много круглых в ряд. Буду высверливать.
Такой момент — запоминайте последовательные номера отверстий, далее придется их соединять воедино. Я планирую сверлить в домашних условиях, поэтому делаю прерывисто.
Если производство позволяет, то можно делать больше отверстий с небольшим смещением, получится щель.
Последний этап создание нового компонента. Объединение символа и корпуса воедино. Добавляем новый Device. Добавляем в этот девайс наше изображение и корпус.
Теперь то, о чем я говорил. Нужно поставить пины символа в соответствие падам корпуса. Выбираем пин G$1.4 (контакт 30 реле), соединяем с падом P$1 (Connect) и добавляем все оставшиеся к нему кнопкой Append. Получится список соединенных падов, соответствующих одному пину.
Сохраняем компонент и добавляем его на схему. Готово.
Можно соединять.
Всем спасибо.
В следующих частях – Написание ULP и SCR скриптов расстановки элементов по кругу.
Ссылка на часть 1: Долой Sprint Layout, да здравствует Eagle Cad. Часть 1.
Источник: https://www.drive2.ru/c/1834619/
Библиотеки
В связи с тем, что штатных библиотек у EAGLE очень много (к примеру, в версии 4.09r2 их 169, и занимают они более 16 мегабайт), я не возьму на себя героический труд – описывать каждую.
Мне придётся описать лишь те библиотеки, без которых работа с EAGLE будет просто невыносимой. Разумеется, к каждому проекту можно рисовать свою собственную библиотеку, но каждый раз рисовать резисторы или конденсаторы……..
. Согласитесь, просто нелепо.
Итак, открываем браузер библиотек. Ниже в алфавитном порядке перечислены самые употребляемые среди пользователей библиотеки (опрос был произведён в мае 2002 года).
Программа CadSoft Eagle замечательный инструмент, однако в работе с ним возникают неудобства, касающиеся поиска компонентов для Вашей разработки печатной платы. Вам нужно собрать для проекта все необходимые компоненты, и в этих компонентах должны быть именно те посадочные места деталей, которые нужны. Хотя в поставке Eagle уже имеется некоторое количество готовых библиотек и компонентов, все равно часто бывают ситуации, когда компонент, который Вам нужен, не находится в той библиотеке, которая Вам нужна, или даже Вы просто не можете найти нужный компонент ни в одной имеющейся библиотеке.
[Шаг 1. Запустите панель управления Eagle] На системе Linux выполните команду eagle из командной строки. На Windows кликните на иконку запуска Eagle на рабочем столе, или выберите в меню Пуск -> Все программы -> EAGLE Layout Editor 6.2.0 (цифры означают номер версии) -> EAGLE 6.2.0. [Шаг 2. Выберите нужную библиотеку для проекта, или создайте новую] Решите для себя, где должен находится новый компонент, который Вы сейчас создадите. Советую Вам создать для этого свою собственную, отдельную библиотеку.
Если у Вас будет отдельная библиотека, то не будут испорчены уже существующие, и Вам будет проще обмениваться своими проектами с другими людьми. Чтобы создать новую библиотеку, перейдите в меню и выберите File -> New -> Library. После создания новой библиотеки сразу же сохраните её в корневую папку проекта, и дайте ей понятное имя файла. Примечание: в Eagle при создании библиотеки иногда случается некий глюк. Когда Вы выберете File -> New -> Library, то Вам все равно предложат открыть уже существующую (! непонятно зачем) библиотеку, и только потом, уже в редакторе библиотеки, Вы можете выбрать в меню File -> New. Создастся новая библиотека. Если же Вы хотите добавить новый компонент в уже существующую библиотеку (я Вам этого не советовал!), то выберите в списке Libraries нужную библиотеку и в контекстном меню выберите Open. [Шаг 3. Работа с новой библиотекой]
Простой путь и сложный путь. Чтобы разработать библиотечный компонент, необходимо создать его особые части, которые называются device, package и symbol. Каждая часть разрабатывается в своем отдельном редакторе, и при редактировании package и symbol нужная графика должна размещаться в специальных слоях, и это правило не должно нарушаться. Самый простой способ создать компонент – это сделать копию какого-либо похожего компонента, и затем подстроить его свойства, чтобы он стал именно тем, чем нужно. Но это не совсем то, чтобы создать компонент с нуля. В этом руководстве мы будем создавать компонент с чистого листа. [Шаг 4. Уделите время изучению даташита на компонент]
Корпус компонента – package. Как уже упоминалось ранее, одним из трех аспектов компонента в Eagle является package, который соответствует корпусу компонента (иногда его также называют посадочным местом компонента). Мы начнем создавать компонент именно с корпуса. Нужно создать 32-выводный корпус BGA (Ball Grid Array, массив шариковых выводов). Из даташита можно узнать, что шарики имеют диаметр 0.55 мм, и расстояние между их центрами составляет 0.80 мм. Расстояние между центрами крайних шариков составляет 4.80 мм. [Шаг 5. Начало создания корпуса компонента (package)] Кликните на иконку корпуса в окне редактора библиотеки. Откроется маленькое окно и в поле ввода New: введите имя корпуса. Имя должно быть информативным, отражающим тип корпуса, в нашем примере это будет имя BGA-32. После этого кликните на кнопку OK. Высветится окошко подтверждения: “Create new package 'BGA-32'?”, подтвердите, кликнув на кнопку Yes. [Шаг 6. Настройка координатной сетки] Диалог редактирования координатной сетки вызывается вот этой кнопкой (также можно ввести команду grid, или выбрать в меню View -> Grid):
Очень важно рационально разместить выводы компонента и другие параметры относительно этого белого перекрестия. Настройте координатную сетку так, чтобы её основной шаг был в 2 раза меньше шага выводов, и альтернативный шаг (когда удерживается клавиша Alt) сделайте в 5 или 10 раз меньше. Для зарубежных компонентов обычно все размеры привязаны к дюймам, поэтому часто удобно использовать координатную сетку в тысячных долях дюйма (милах, mil). Можно также настроить координатную сетку в миллиметрах. Сделайте так, как Вам удобно, поменять координатную сетку можно в любой момент.
2 мм, в поле Multiple указать 5, и в поле Alt указать 0.2 (альтернативно можно указать в поле Alt другое число, тогда координатная сетка будет меняться при удерживании клавиши Alt). Если указать Multiple 1, то координатная сетка будет слишком мала для отображения, и не будет видна. Оставьте радиокнопку Display в положении On, и радиокнопку Style в положении Lines. [Шаг 7. Добавление выводов (pads)]
copy packagename@libraryname После этого, если правильно указаны имя корпуса и имя библиотеки, в поле редактора магическим образом отобразится корпус компонента. Но здесь будет показан длинный путь – создание корпуса компонента с нуля. Как уже упоминалось, одна из важных вещей – гарантировать, что нужные элементы будут созданы в соответствующем слое редактора. Наши контактные площадки (pads, т. е. шарики, выводы компонента) для этого примера должны находиться на слое Top (медь верхней стороны печатной платы). Введите в командной строке редактора команду smd, эта команда нужна для создания планарных выводов компонента. По умолчанию будет выбран слой Top. В выпадающем списке Smd по умолчанию не отображен круглый вывод, для того чтобы он стал круглым, нужно ввести размер “0.55 x 0.55”, и выбрать скругление (roundness) 100%. Для обозначения общего размера чипа можно в слое tPlace нарисовать квадрат, обозначающий границы чипа, тогда будет проще ориентироваться при размещении выводов. При правильно настроенной координатной сетке размещение выводов с шагом .8 мм будет происходить быстро и точно.
Совет: может быть, было бы проще сделать точку отсчета центр чипа, и просто давать координаты для размещения выводов (3.2 0) (-3.2 0) … и так далее. [Шаг 8. Добавление оформления для корпуса] В слое tPlace поместите графику края чипа, и поместите также метку, показывающую место расположения шарика A1. Линии рисуются инструментом Wire. Введите команду wire в командной строке редактора. Выберите слой 21 tPlace. Теперь нарисуйте 7 мм квадрат вокруг всех выводов, которые мы нарисовали на предыдущем шаге. Можно рисовать линии вручную, либо вводить их координаты в командной строке. [Шаг 9. Именование выводов]
), потому что эта информация будет вводиться для схематического символа (symbol) компонента. Несмотря на то, что функциональные символические имена на этом шаге возможно несколько упростят ручную разводку печатной платы, все равно лучше использовать формализованные имена выводов, соответствующие нумерации шариков (A1, A2 и т. д. ), потому что в этом случае этот корпус Вы могли бы использовать и для другого компонента. [Шаг 10. Добавление для посадочного места атрибутов NAME и VALUE] Для многих устройств нужно на печатной плате шелкографией показывать позиционное обозначение (RefDes, Reference Designator, например R1, R2, C1) и номинал (1k, 4.7uF и т. п. ), а для некоторых нужно показать только позиционное обозначение. Положение позиционного обозначения определяет атрибут >NAME, а положение номинала атрибут >VALUE. Чтобы добавить эти атрибуты, добавьте соответствующий текст на слои 25 tNames и 27 tValues:
Параметры для имени (Name, этот атрибут используется для имени типа компонента) и значения (Value, этот атрибут показывает номинальное значение для компонента, например для резистора номинал 1 кОм) добавляются на отдельных слоях tName и tValue соответственно. Выберите инструмент ввода текста, или введите команду text в командной строке редактора. Выберите слой tName layer, подходящий размер шрифта, и поместите текст возле верхнего левого края компонента. Повторите процесс для value, но на этот раз выберите слой tValue, и разместите атрибут возле нижнего края корпуса. Убедитесь, что все графические элементы корпуса находятся на нужных слоях. Это можно сделать, если выключить все слои, кроме одного (с помощью инструмента Display), в котором Вы проверяете графику. [Шаг 11. Начало создания символа компонента (symbol)]
Часть компонента symbol это то, как компонент выглядит на принципиальной схеме. Принципиальная схема является фундаментально отличающимся представлением Вашего устройства от разводки платы (или от внешнего вида корпуса компонента). Корпус компонента package должен точно соответствовать физическим размерам даташита, потому что это влияет на правильность разводки печатной платы. Но в отличие от печатной платы схема должна быть разработана так, чтобы быть легкой для чтения и понимания, схема отражает не физический вид компонента (т. е. его физические размеры), а его функциональное назначение. Например, если у выводов компонента нет внутреннего подключения (NC, вывод не используется), то этот вывод может не появляться на принципиальной схеме. [Шаг 12. Вернемся к даташиту]
Вы можете увидеть, что выводы микросхемы также имеют имена, кратко отражающие функциональное назначение каждого вывода. Чтобы упростить использование символа на схеме, хорошей идеей будет дать выводам компонента символа те же имена, которые указаны в даташите. [Шаг 13. Нарисуем symbol] С использованием инструмента Wire нарисуйте прямоугольный (или квадратный) контур компонента, как он должен выглядеть на принципиальной схеме. По умолчанию редактор предложит рисовать символ на слое 94 Symbols. На всякий случай убедитесь, что Вы рисуете символ на этом слое, для чего проверьте выпадающих список слоев в верхней левой части окна редактора. Как только прямоугольник символа нарисован, введите команду pin в командной строке редактора, и начните размещать 32 вывода по краю нарисованного прямоугольника. [Шаг 14. Именование выводов символа] После размещения выводов они получили имена P$1-p$32. Использование компонента упростится, если дать выводам символа те же имена, которые даны в даташите. Введите в командной строке редактора команду name, и двойным щелчком на каждом выводе символа поменяйте имена у выводов. Новое имя вводится в появляющемся маленьком окне диалога, поменяйте имя и кликните OK. Повторите эту операцию 32 раза.
Поменять отображение можно через свойства вывода (инструмент Info), или выбором в меню Edit -> Change -> Visible, затем выберите один из вариантов отображения (off, pad, pin, both). Затем кликните на каждый вывод. Для микросхемы подойдет вариант both, для разъема pad, для резистора или конденсатора off. Возможно, пока не понятно, для чего это надо, но поверьте, эта операция в дальнейшем упростит использование компонента в Вашей разработке (кому нужны подробности, см. врезку). Иногда нужно на схеме отображать и имена, и номера выводов (например, если компонент это микросхема), иногда только номера выводов (например если компонент это разъем), а иногда не нужно отображать ни номера, ни имена выводов (например если компонент это резистор или конденсатор).
У этого выпадающего списка есть 4 варианта настройки: off на схеме не будет отображаться ни имя, ни номер вывода (подойдет для резистора), pad отображается имя вывода посадочного места (т. е. номер вывода) и не отображается имя вывода символа (т. е. имя вывода не будет видно на схеме, этот вариант подойдет для коннектора), pin отображается имя вывода символа и не отображается имя посадочного места (т. е. номер вывода детали выден не будет) и both на схеме будут видны и имя, и номер вывода (подойдет для микросхемы). |
||||||
Имя библиотеки | Краткое описание компонентов библиотеки | |||||
40xx.lbr, 45xx.lbr | Логические микросхемы КМОП-серии | |||||
74ac-logic.lbr, 74ttl-din.lbr, 74xx-eu.lbr, 74xx-us.lbr |
Логические микросхемы ТТЛ-серии | |||||
atmel.lbr | AVR-устройства от ATMEL | |||||
battery.lbr | Батареи, аккумуляторы, разъёмы стандартных аккумуляторов | |||||
con*.lbr | Всевозможные разъёмы | |||||
crystal.lbr | Кварцевые резонаторы и сборки | |||||
dil.lbr | Разъёмы DIL (панели под микросхемы) | |||||
diode.lbr | Диоды и стабилитроны | |||||
discrete.lbr | «Универсальная» библиотека, здесь втиснуто всего дискретного понемногу | |||||
display-hp.lbr | Светодиодные дисплеи от Hewlett Packard | |||||
display-lcd.lbr | Жидкокристаллические индикаторы от Hitachi и Data Modul | |||||
fiber-optic-hp.lbr | Оптические разъёмы от Hewlett Packard | |||||
fiber-optic-siemens.lbr | Оптические разъёмы от Siemens | |||||
fuse.lbr | Предохранители и держатели под них | |||||
heatsink.lbr | Стандартные радиаторы известных производителей электроники | |||||
ic-package.lbr | Стандартные варианты посадочных мест для микросхем | |||||
inductors.lbr | Катушки индуктивности, дроссели | |||||
led.lbr | Светодиоды | |||||
microchip.lbr | PIC-контроллеры и другие устройства от MicroChip | |||||
opto-trans-siemens.lbr | Оптотранзисторы от Siemens | |||||
optocoupler.lbr | Оптроны | |||||
plcc-socket.lbr | Разъёмы типа PLCC | |||||
pot.lbr | Подстроечные резисторы (с переменными у EAGLE напряжённая ситуация) | |||||
rcl.lbr |
всевозможные резисторы, конденсаторы и индуктивности – здесь Вы найдёте всё |
|||||
rectifier.lbr | Диодные мосты и сборки | |||||
relay.lbr | Реле от Eichhoff, Finder, Fujitsu, HAMLIN, OMRON, Matsushita, NAiS, Siemens и Schrack | |||||
resistor-net.lbr | Резисторы в упаковке «линейкой» | |||||
resistor-power.lbr | Мощные резисторы | |||||
smd-ipc.lbr | Стандартные SMD-корпуса дискретных элементов | |||||
supply1.lbr и supply2.lbr | Символы подключения питания | |||||
switch-dil.lbr | Выключатели в DIL-корпусах | |||||
switch-omron.lbr | Кнопки популярной фирмы OMRON | |||||
switch.lbr | Различные тумблеры, кнопки, выключатели и переключатели | |||||
trafo-siemens.lbr | Трансформаторы, катушки от Siemens | |||||
transistor-fet.lbr | Полевые транзисторы | |||||
transistor-npn.lbr | Транзисторы «обратной» проводимости | |||||
transistor-pnp.lbr | Транзисторы «прямой» проводимости | |||||
transistor-power.lbr | Транзисторы большой мощности | |||||
transistor-small-signal.lbr | Малосигнальные транзисторы («ремейк» transistor-npn.lbr и transistor-pnp.lbr) | |||||
triac.lbr | Тиристоры, симисторы, переключающие диоды | |||||
v-reg.lbr | Интегральные стабилизаторы напряжения | |||||
varistor.lbr | Варисторы и терморезисторы | |||||
wirepad.lbr | Одиночные выводы схемы |
А вообще-то нужно просто хорошенько пройтись по библиотекам и прочитать описание (Description) к каждой библиотеке. Создатели EAGLE не поленились и сделали достаточно подробные описания к каждой библиотеке. Правда, на английском языке…
Но для тех, кто действительно хочет разобраться в данном вопросе, языкового барьера быть не должно. В последствии Вы разберётесь, как писать Descriptions к библиотекам и Вашим проектам.
Источник: http://radio-hobby.org/modules/instruction/eagle/biblioteki