Pitanje:
Dizajn PCB-a pomoću koda umjesto klika miša?
guidoism
2019-07-31 18:36:05 UTC
view on stackexchange narkive permalink

Tek se upuštam u dizajn PCB-a i uglavnom imam problema s učenjem korištenja GUI-ja s izbornicima i klikom miša.Koriste li neki inženjeri nešto više poput koda za generiranje PCB-a?

Ne bih preporučio pisanje običnih gerber datoteka ...
Izgled PCB-a uglavnom je vizualni zadatak - premještanje i rotiranje stvari kako bi se uklopilo.Izvođenje koda zvuči bolno.
Obično postoje vruće tipke za većinu (ako ne i sve) stavke izbornika;većina alata omogućuje unos teksta za lokaciju i orijentaciju (ali puno je bolnije to učiniti nego samo pomicati stvari mišem).Koristim tekstualne alate za precizno postavljanje stvari poput vija i diferencijalnih parova.
Neki su CAD paketi klikaviji od drugih.Prema mom iskustvu, Orcad Allegro je najgori jer vas tjera da prođete kroz puno besmislenih GUI radnji da biste obavili najjednostavnije stvari.Diptrace je u velikoj mjeri najlakše i najtekuće korisničko iskustvo.PADS je vrlo lijep alatni lanac s intuitivnim korisničkim sučeljem i puno vrhunskih značajki.PADS je za inženjere koji vole raditi stvari, Orcad je za mazohiste.: D
Postoje tipkovni prečaci i jedinstveni slučajevi u kojima programsko generiranje uzoraka ima smisla, ali izgled PCB-a uglavnom je interaktivni grafički zadatak.Suprotno tome, gdje * logika * dominira nad fizičkim utjelovljenjem poput FPGA-e i (mnogi dijelovi) ASIC dizajna, obično se pokreću jezicima za opisivanje hardvera koji napajaju logičke sastavljače koji hrane automatizirane alate za mjesto i rutu.Da smo i dalje gradili mainframe procesore od velikih ploča punih TTL-a, mogao bi postojati usporediv protok dizajna za HDL do PCB-a ... ali srećom nismo.
GUI je prilično potreban.No, možda ćete moći puno toga raditi bez miša ili s minimalnim klikom ako naučite sve tipkovne prečace.
Čudno je da jezike opisa hardvera koristimo za dizajn digitalnih čipova, ali ne i za PCB.
Skripte.Gotovo sve što je važno podržava skripte ili se to može oteti.Pomaže u ponavljanju stvari, ali ostalo se i dalje radi ručno.
@Michael: čipovi nemaju raznolikost mehaničkih ograničenja koja imaju PCB.
Pet odgovori:
#1
+19
Spehro Pefhany
2019-07-31 19:17:17 UTC
view on stackexchange narkive permalink

Altium zapravo ima skriptni jezik, nekoliko različitih jezika.U nekim slučajevima može imati smisla koristiti algoritme, na primjer za stvaranje ponavljajućih izgleda ili dijelova postavljenih točno na određene položaje.

Primjerice, vidio sam kako se dijelovi (LED-ovi) nekad postavljaju u kružnom uzorku, iako je s njihovom uvođenjem polarnih koordinatnih rešetkastih mreža mnogo manje vjerojatno da će biti vrijedno gnjavaže.

Upotrijebili smo algoritme za izradu oblika (pomislite na antene i takve stvari) izravno u .dxf formatu koji se potom mogu uvesti u bakreni sloj.

Općenito, kôd je slabo prikladan za potrebe izgleda PCB-a, posebno za zadatak usmjeravanja.

#2
+17
Scott Seidman
2019-07-31 18:50:01 UTC
view on stackexchange narkive permalink

U programu EAGLE CAD sve što možete učiniti mišem možete iz naredbenog retka.Također ima korisnički jezik na kojem u osnovi možete programirati.

Vrlo korisno pri izradi uzoraka itd. Čak i ako 99% izgleda napravite ručno, i dalje možete dijelove / značajke rasporediti pomoću koda.
Često kodiram u Matlab ili tekstualni procesor za izlazni skriptni jezik.
Da!Prije sam to radio u Pythonu :)
To je jedna od ključnih prednosti Eaglea.Jednom kad započnete, upotrebljavat ćete samo naredbeni redak.
#3
+7
MathematicalOrchid
2019-07-31 21:15:25 UTC
view on stackexchange narkive permalink

Koristim kod za generiranje popisa mreža za moje PCB-ove. (Puno je brže napisati for-loop za izgradnju N-bitnog multipleksera nego mukotrpno crtati sve te stvari u shemi.) Srećom, datoteke KiCAD netlist-a samo su tekst, u formatu koji nije dokumentiran, ali razumno lako se vrši inverzni inženjering.

Napisao sam malu biblioteku C # koja mi omogućuje da upišem ono što želim s čim (u smislu parametarskih blokova sklopova za višekratnu upotrebu) i automatski ispljuva popis mreža. Sada to mogu jednostavno uvesti u KiCAD i započeti izradu PCB-a, bez potrebe da gubim sat vremena ili tako beskorisno crtam shemu za to. (Biblioteka čak vrši neke vrlo osnovne provjere kako bi osigurala da moje upute nisu potpuno lažne, iako pretpostavljam da bi i sam KiCAD taj posao bolje obavio.)

S druge strane, KiCAD PCB datoteke također su tekst, ali čini se da su previše previše složene da bi se generirale programski. Što je šteta, jer KiCAD prema zadanim postavkama odlaže sve komponente izravno jednu na drugu, što zahtijeva da provodim više od 20 minuta zamorno razdvajajući ih kako bih mogao vidjeti što dovraga radim. (KiCAD ima gadnu naviku pokušavati premjestiti tekst , a ne komponentu na koju je vezan , vjerojatno samo da bi PCB-e bilo teže dizajnirati?)

Možda ću jednog dana uspjeti automatizirati i početni raspored komponenata; Sumnjam, kao što su drugi rekli, da će stvarni bit "dizajna PCB-a" uvijek uključivati ​​GUI.

Bilo bi lijepo spojiti jedan od [graphviz-ovih] (https://www.graphviz.org/) mehanizama izgleda do KiCAD-a za početni plasman.Koristio sam graphviz za izradu LTspice datoteka za vrlo jednostavne izglede i radio je prilično dobro.
U Kicadu postoje neki alati za širenje komponenata u početku, naziva se "Globalno širenje i postavljanje".Kako bih izbjegao premještanje teksta, obično onemogućim slojeve teksta za izgled.Napokon se može vidjeti tekst klikom ako je potrebno.
#4
+4
Voltage Spike
2019-07-31 20:26:39 UTC
view on stackexchange narkive permalink

Ne bih to preporučio, ali ako stvarno želite, možete sami napisati umjetnička djela sa PCB-a, bez ikakvog programa za PCB.Kôd izgleda ovako:

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

Brojevi redaka krajnje desno nisu dio datoteke.Ispitujući ovo datoteka bez ikakvog prethodnog znanja o Gerberu točno bi se zaključilo da svaka linija predstavlja određenu naredbu stroja i da zvjezdica (*) je kraj naredbenog znaka.Čini se da postoji različite vrste naredbi: upute koje počinju s G, D, M i x, y koordinatni podaci.

Izvor: https://www.artwork.com/gerber/appl2.htm

Evo specifikacije koja prikazuje različite naredbe

Gerber (RS-274X) povezan je s datotekama G-koda (RS-274) koje se koriste u CNC programiranju.Ponekad napišem G-kod izravno s uređivačem teksta za jednostavne 2.5D zadatke.
Samo zapažanje: ako ste izravno kodirajući gerberi, tada nema provjere pravila dizajna koja se odvija osim one koja vizualizirate u svojoj glavi.Ne mogu zamisliti kako ću otkucati tekstualnu gerber datoteku, poslati je u fab house, a da je nikada ne otvorim u GUI alatu samo kad je pogledam, osim ako ste neka vrsta savanta.
Nisam bio siguran je li Gerber povezan s G-kodom, ali imao sam sumnju.Ako trebate napisati jednostavan gornji sloj za antenu ili filtar, možda neće biti loše sami nešto kodirati.Uređivao sam samo G-kôd, ali nikada ga nisam pokušao napisati.
@mkeith neki su ljudi vizualni, neki ljudi uče drugačije.Ne mogu zamisliti da ne provjerim s alatom gerber-sloja ili nečim sličnim, ali nekima bi možda bilo lakše pogledati kod.
Svatko tko može bolje raditi s G-kodom od neke vrste vizualnog alata za složenu ploču, definitivno bi bio izuzetna osoba.Svatko tko može izravno raditi u G-kodu i biti produktivan, mislim da se mora smatrati savantom.
Ne znam svih 7,5 milijardi ljudi na svijetu, ali mogu sa sigurnošću reći da ne postoji niti jedna osoba koja bi bolje prošla posao gledajući gerber kôd od grafičkog prikaza za bilo koju ozbiljnu, višeslojnu profesionalnu svrhudaske.
#5
+1
bandit
2019-08-02 04:03:06 UTC
view on stackexchange narkive permalink

Ako koristite Kicad, pogledajte neke videozapise s razgovora na prvom KiConu (2019) na Youtubeu.Nekoliko razgovora bilo je izričito o voditeljima koji su pisali alate za generiranje dijelova, jedan također o vezama.Barem jedan upotrijebljeni python, koji se peče kao skriptni jezik.

Možete li razraditi i dodati veze na videozapise i alate.(Mahanje prema konferenciji možda bi bio vrijedan komentar, ali ne može se smatrati odgovorom.)


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 4.0 licenci pod kojom se distribuira.
Loading...