Eagle Cad. Создание компонента. Ч1

26/09/2013 - 19:57 Павел Бобков

Введение

Что мне нравится в 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
L2 = 7.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. Рисование схемы

Comments   

# Роман Артемьев 2016-10-04 11:24
Здравствуйте, Павел! Попытался создать свою библиотеку, а если точнее, мне нужно было реле завести РЭС10. Все вроде получилось, но рисунок реле когда его вставляешься в схему получился огромный, можно уменьшить как нибудь? И как контакты К1.1 завести? Спасибо!
# dima 2016-11-03 13:58
1. Вот я в редакторе создания нового элемента установил 5 падов. Как их можно одновременно двигать по сетке? по одному двигать получается а как одновременно? никак не получается

2. Предположим я создал отверстие и оно аккуратно легло на сетку , потом я изменил размер сетки и как теперь это отверстие снова прикрепить к новому размеру сетки (чтоб легло на перекрестие сетки ) ?

У вас недостаточно прав для комментирования.