EagleCad: *.dru правила, custom pads и thermals для vias

*.dru правила и custom pads
Делал тут намедни разводку очередной поделки и влепил разъем питания на него. Стандартный 3х пиновый с широкими плоскими ножками. Но обрисованы ножки у него в либе у меня через три пада. Естественно, при распечатке фигня вылазила. Озадачился, покурил мануалы и пришел к выводу что custom пады в EagleCad придется через пятую точку рисовать, так как эта возможность только в ToDo List у разработчиков.
Собсна вот виновник торжества:

Попытки так или иначе обрисовать пад через полигон не увенчались успехом — самое главное, что полигон только в одном слое, а пад пробивает с 1 по 16 слой. пришлось малость пораскинуть серым веществом и отрисовать полигон в слое Pad (17) по контуру через реперные точки для каждого пада. В качестве реперных использованы отверстия 0.5. Тут обращаю внимание на порядок отрисовки:
— ставим реперные;
— ставим пад с отверстием и диаметром 0.1/0,254 мм. и даем ему имя PWR2@1;
— клонируем его и расставляем в диагонали;
— рисуем полигон.
Если пады поставить после отрисовки полигона, то на полигоне будут отверстия от падов, т.к. в одном слое приоритет перекрытия имеет последний поставленный элемент. Тоже самое делаем для других нестандартных падов. Вот что выходит в результате:

Тут видно несколько этапов отрисовки. Один пад сдвинут, чтоб видно было как рисуется полигон. Незамкнутые границы потом сдвигаются на одну линию и результат виден справа. Начальный этап снизу. Углы можно скруглить через Miter, что я собсна и сделал.
Далее рисуем схемное представление. База у меня уже была, просто скопировал под новым именем.

Тут сверху вниз пины PWR1@1, PWR3@1, PWR2@1. Слева направо для каждого пина @1, @2 и т.д, т.к. для каждого пада у нас 8 пятаков (помним, что пятаки поставили по диагонали). Далее по горизонтали все собираем в одну точку => создаем компонент и связываем пины и пады по именам.
Теперь запихиваем этот компонент в схему и, соответственно, он появится на плате. К пинам тянем Net. Именно к пинам, а не от них. Если тянуть от нарисованного в пьяном бреду нами компонента, то Net прицепится только на один из пинов. Если наоборот, то подхватятся все пины. Проконтролировать подхват пинов можно по элементу Junction (такие зеленые точки, показывающие соединение Net). Вот, примерно, так:

Теперь трассировка. Тут все просто и сложно одновременно. Спокойно трассируется через Route с шириной дорожки равной ширине меди нарисованного пада. А вот через полигон нет — полигоном обтекает наш пад и залазить на него ну никак не хочет. Кто найдет решение дайте знать.
Вот что получилось у меня по итогу:

Может случиться такая фигня:

Это вылезло перекрытие по DRC. Решить просто: лезем DRC => Restring => и в Top, Inner, Bottom по столбцам Min и "%" значения сносим в нули.
Прикол тут в том, что с версии 4.0 EAGLE не хранит в библиотеках все параметры падов. Точнее хранит (диаметр отверстия и диаметр пада), но обрабатывает их по другому.
Указан диаметр отверстия, а размер пада стоит в auto: в борде EAGLE рассчитывает диаметр пада (мы говорим про ширину меди между внутренней и внешней границей) как размер в "%", указанного в Restring — Top, Inner, Bottom по столбцу "%", от диаметра отверстия пада. Затем сравнивает получившуюся ширину с Min и Max значениями и если она меньше — увеличивает ширину, больше — уменьшает.
Указан диаметр отверстия и явно диаметр пада: все как в предыдущем варианте, только берется явно размер пада из библиотеки и если он меньше по DRC — увеличивает, если больше — не трогает.


P.S. По DRC при проверке вылезут ошибки Drill Size, Layer Abuse (злоупотребление слоем) и, возможно, Width (в случае если у полигона, которым рисовали пады, ширина стоит в 0).

thermals для vias
Для начала, у нас есть полигон на линии GND по слоям Top и Bottom. В нескольких местах по плате полигон соединяется через vias для уменьшения межслоевой емкости, да и вообще так проще землю разводить.

Но, как говорится, не без половника дегтя — пайка переходных. Все бы хорошо, но я как evsi не имею «домашней хим лаборатории», жинка меня на кухню с реактивами на пушечный выстрел не пустит и, следовательно, с металлизацией облом, так что выкручиваюсь по старинке — проволочкой. А она, зараза, фигово паяется, т.к. полигон без термобарьеров приходится долго прогревать. Да и пайка не совсем красивая после этого.
Пришлось почесать репу и рыться в первоисточниках. Как оказалось, термобарьеров на слоях Top (1) и Bottom (16) для vias нет. Только в слоях 2-15 они ставятся, так как могут принимать значение supply layer. А для того чтобы птица поняла, что Net у нас именно «питание» надо название Net начинать со знака "$". Т.е. в названии Net убрать в начале букву «N» (если у нас просто сигнальные линии, то название имеет вид N$Имя). В случае с GND и иными нестандартными именами просто добавить "$" и чекнуть «Every Segment on this Sheet», чтоб потом не поймать epic fail с поиском ошибок по трассировке. После этого Net можно перевести обратно, убрав значек,, для исключения дальнейших ошибок ( к примеру клонируя значек GND от линии с "$" к другому элементу получим две линии: GND и $GND не связанных между собой).
Теперь vias у нас имеют опрятный термобарьер:

P.S. Теперь особенность: если вы перевели Net в режим Supply Layer (чтоб включить термобарьеры для vias) обратно их уже не отключить, как это делается с полигонами. Во всяком случае я пока не нашел как это сделать, да и не искал. Поэтому учтите эту особенность при разводке своих плат.

Update 14.11.2012
thermals для vias Найден более простой путь, да и к тому же отключаемый. Лезем DRC->Supply и включаем Generate thermals for vias. Жмем Select и Ratsnest. Вуаля. Отключается в обратном порядке.

Комментарии (11)

RSS свернуть / развернуть
Not bad!
Финты и хаки для игла очень полезны. Вроди бы все очевидно, но сам не догадаешся.
0
Кстати «очевидно» приходит после серии экспериментов. Я на custom пады сам захода 4 делал. И статью под заходы пилил. Потому как сперва не оптимально получалось. Теперь можно сказать — идея имеет право на жизнь.
0
Я пад сделал проще. Ляпнул здоровенный овал, в центр поставил дырку, а потом «насверлил» кучу отверстий. При фабричном изготовлении получается просто загляденье.
0
Примерно представляю как в дизайнере. Но не представляю как в реальной плате выглядит.
0
Можно еще оставить одно отверстие и добавить фрезеровку нужного размера и формы.
0
В Altium'e с овальными падами все ок. А в PCAD делал также как DIHALT, кучей дырок
0
не путай пад и собственно дырки. с дырками упираемся не в софт, а в возможности производства и цену. не просто так ведь очень часто делается именно рядом перекрывающихся отверстий.
0
Когда я заказывал плату с такими отверстиями, я тоже поинтересовался у производителя. Мне ответили, что это не повлияет на цену. Причем платы пришли с идеально ровными отверстиями, как будто фрезеровали
0
Тут вопрос еще металлизации. :) Хотя для производства, возможно, пофиг.
0
дык на производстве именно что фрезеруют:) а за мелкие фрезерованные щели (каковые и нужны для установки элементов с плоскими контактами) действительно дополнительных денег не берут (особенно если платы раздельные)
0
Потому как их не фрезеруют, а блок сверлом делают.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.