Дизайн друкованої плати за допомогою коду замість клацання мишкою? [зачинено]


14

Я просто займаюся дизайном друкованої плати, і, як правило, у мене проблеми з навчанням користуватися графічним інтерфейсом з меню та клацанням миші. Чи використовують деякі інженери щось подібне до коду для генерації друкованих плат?


7
Я б не рекомендував писати прості файли гербер ...
Huisman

31
Розташування друкованої плати - це здебільшого візуальне завдання - переміщення та обертання речей для пристосування. Робити це за кодом звучить болісно.
JRE

3
Зазвичай є гарячі клавіші для більшості (якщо не всіх) пунктів меню; більшість інструментів дозволяють вводити текст для розташування та орієнтації (але це набагато болючіше, ніж просто переміщення речей мишею). Я використовую текстові інструменти, щоб отримати точне розміщення таких речей, як віа і диференціальні пари.
Пітер Сміт

4
Деякі пакети CAD є більш кліковими, ніж інші. На мій досвід, Orcad Allegro - це найгірше, що змушує вас пройти безліч безглуздих дій із графічним інтерфейсом, щоб зробити найпростіші речі. Diptrace - це, як правило, найпростіший і найтекучіший досвід користувача. PADS - це дуже приємна ланцюжок інструментів з інтуїтивно зрозумілим інтерфейсом та безліччю функцій високого класу. PADS призначений для інженерів, які люблять робити справи, Orcad - для мазохістів. : D
Wossname

2
Існують комбінації клавіш та унікальні випадки, коли програмне генерування шаблонів має сенс, але компонування друкованої плати - це переважно інтерактивне графічне завдання. На відміну від ситуацій, коли логіка домінує над фізичним втіленням, таким як FPGA та (у багатьох частинах) дизайн ASIC, як правило, керується мовами опису апаратних засобів, що подають логічні компілятори, що подають автоматизовані інструменти для місця та маршруту. Якби ми все ще будували процесори мейнфреймів з великих плат, наповнених TTL, можливо, проектний потік для HDL до друкованої плати може бути порівнянним ... але, на щастя, ми цього не зробили.
Кріс Страттон

Відповіді:


19

Насправді в Altium є сценарій мови, кілька різних мов. У деяких випадках може бути доцільним використання алгоритмів, наприклад для створення повторюваних макетів або деталей, розміщених точно в певних положеннях.

Наприклад, я бачив, як раніше розміщували деталі (світлодіоди) круговим малюнком, хоча при їх введенні поперечних сіткових координатних сіток, що набагато рідше, варто коштувати.

Ми використовували алгоритми для створення фігур (мислительні антени та подібні речі) безпосередньо у форматі .dxf, які потім можна імпортувати у мідний шар.

Загалом, код погано підходить для цілей компонування PCB, особливо для завдання маршрутизації.


17

У EAGLE CAD все, що ви можете зробити за допомогою миші, ви можете зробити з командного рядка. Він також має мову користувача, яку ви можете запрограмувати.


2
Дуже корисно робити шаблони тощо. Навіть якщо ви робите 99% макета вручну, ви все одно можете упорядкувати деталі / функції з кодом.
Веслі Лі

1
Часто я кодую в Matlab або текстовий процесор, щоб виводити мову сценаріїв.
Скотт Сейдман

3
Так! Раніше я робив це в Python :)
Веслі Лі

1
Це одна з ключових переваг Eagle. Після запуску ви будете використовувати лише командний рядок.
D Дак

7

Я використовую код для створення netlist для моїх друкованих плат. (Це набагато швидше написати цикл for-циклу для створення N-розрядного мультиплексора, ніж копітко витягнути все це на схемі.) На щастя, файли netClist KiCAD - це лише текст, у форматі, який не є документальним, але досить легко перетворити -інженер.

Я написав невелику бібліотеку C #, яка дозволяє мені вводити те, що я хочу підключити до чого (з точки зору багаторазових параметричних блоків схеми), і це автоматично випльовує чистий список. Тепер я можу просто імпортувати це прямо в KiCAD і почати будувати друковану плату, не витрачаючи годину або так марно малювати схему для цього. (Бібліотека навіть робить дуже елементарні перевірки, щоб переконатися, що мої вказівки не є абсолютно невірними, хоча я підозрюю, що сам KiCAD зробив би цю роботу краще.)

Файли PCB Kicad, з іншого боку, також текст, але , як видається, далеко надто складними для створення програмно. Що прикро, адже KiCAD за замовчуванням скидає всі компоненти безпосередньо один на одного, вимагаючи від мене знову витратити 20+ хвилин, нудно роз’єднуючи їх, щоб я міг бачити, що, до біса, роблю. (KiCAD має неприємну звичку намагатися переміщувати текст, а не компонент, до якого він додається , імовірно, просто для того, щоб зробити друковані плати складнішими для проектування?)

Можливо, якось мені вдасться також автоматизувати початкове компонування компонентів; Я підозрюю, як інші казали, що власне біт "дизайну друкованих плат" завжди буде включати GUI.


Було б добре , щоб підключити один з GraphViz в компонувальних двигунів до Kicad для первинного розміщення. Я використовував graphviz для створення файлів LTspice для дуже простих макетів, і він працював досить добре.
труба

3
У кікаді є кілька інструментів для розповсюдження компонентів спочатку, це називається "Глобальне поширення та місце". Щоб уникнути переміщення тексту, я просто відключаю текстові шари для компонування. Зрештою, ви можете побачити текст, натиснувши, якщо потрібно.
jpa

4

Я б не рекомендував це, але якщо ви дуже хочете, ви можете писати твори на друкованій платі самостійно, без жодної програми на друкованій платі. Код виглядає так:

G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12

Номери рядків в крайній правій частині не є частиною файлу. Вивчаючи цей файл без попереднього знання Гербера, можна було б правильно зробити висновок, що кожен рядок являє собою певну машинну команду і що зірочка (*) є кінцевим символом команди. Здається, є різні види команд: інструкції, що починаються з координат G, D, M і x, y.

Джерело: https://www.artwork.com/gerber/appl2.htm

Ось специфікація, яка показує різні команди


2
Gerber (RS-274X) пов'язаний з файлами G-коду (RS-274), які використовуються в програмуванні з ЧПУ. Я інколи пишу G-код безпосередньо в текстовому редакторі для простих завдань 2.5D.
Spehro Pefhany

5
Просто зауваження: якщо ви безпосередньо кодуєте гербери, то не існує жодної перевірки правил дизайну, окрім як візуалізація в голові. Я не уявляю, як вводити текстовий файл гербер, відправляти його в Fab House, навіть не відкриваючи файл у інструменті графічного інтерфейсу, просто дивлячись на нього, якщо ви не якийсь савант наступного рівня.
mkeith

1
Я не був впевнений, чи стосується Гербер до G-коду, але у мене виникли підозри. Якщо вам потрібно було написати простий верхній шар для антени або фільтру, це може бути не дуже погано, щоб щось кодувати самостійно. Я редагував лише G-код, але ніколи не намагався його написати.
Спайк напруги

6
Кожен, хто може краще працювати з G-кодом, ніж якийсь наочний інструмент для складної дошки, безумовно, буде винятковою людиною. Я думаю, що кожен, хто може працювати безпосередньо в G-коді та бути продуктивним, повинен вважатися диваком.
mkeith

1
Я не знаю всіх 7,5 мільярдів людей у ​​світі, але можу впевнено сказати, що не існує жодної людини, яка б зробила кращу роботу, дивлячись на код Гербера, ніж графічний дисплей для будь-яких серйозних, багатошарових професійних цілей дошки.
whatsisname

1

Якщо ви використовуєте Kicad, подивіться деякі відео з переговорів на першому KiCon (2019) на Youtube. Кілька розмов були чітко про інструменти для написання ведучих для створення деталей, а також про з'єднання. Принаймні один використаний пітон, який випікається як мова сценарію.


1
Чи можете ви, будь ласка, розробити та додати посилання на відео та інструменти. (Махнути на конференцію може бути вагомим коментарем, але це не зовсім кваліфікується як відповідь.)
Нік Алексєєв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.