Bir fare tıklaması yerine kod kullanarak PCB tasarımı? [kapalı]


14

Sadece PCB tasarımına giriyorum ve genellikle GUI'leri menüler ve fare tıklaması ile kullanmayı öğrenme konusunda sorun yaşıyorum. Bazı mühendisler PCB üretmek için kod gibi bir şey kullanıyor mu?


7
Düz gerber dosyaları yazmanızı tavsiye etmem ...
Huisman

31
PCB düzeni çoğunlukla görsel bir iştir - onu uygun hale getirmek için hareket ettirmek ve döndürmek. Kodla yapmak acı verici geliyor.
JRE

3
Çoğu (hepsi değilse de) menü öğelerinin çoğu için kısayol tuşları vardır; Çoğu araç, konum ve yönlendirme için metin girişine izin verir (ancak bunu bir fare ile taşımaktan çok daha acı verici). Metin araçlarını, vias ve diferansiyel çiftler gibi şeyleri hassas bir şekilde yerleştirmek için kullanıyorum.
Peter Smith

4
Bazı CAD paketleri diğerlerine göre daha tıklıdır. Deneyimlerime göre, Orcad Allegro, en basit şeyleri yapmak için birçok anlamsız GUI eyleminden geçmenizi sağlamak için en kötüsü. Diptrace, neredeyse en kolay ve en akıcı kullanıcı deneyimidir. PADS, sezgisel bir kullanıcı arayüzü ve birçok üst düzey özelliğe sahip çok güzel bir araç zinciridir. PADS işleri halletmeyi seven mühendisler için, Orcad mazoşistler içindir. : D
Wossname

2
Programlı desen üretiminin mantıklı olduğu klavye kısayolları ve benzersiz durumlar vardır, ancak PCB düzeni çoğunlukla etkileşimli bir grafik görevidir. Aksine, mantığın FPGA ve (birçok parçasının) ASIC tasarımı gibi fiziksel düzenlemeye hakim olduğu durumlar, tipik olarak otomatik yer ve rota araçlarını besleyen mantık derleyicilerini besleyen donanım tanımlama dilleri tarafından yönlendirilir. Hala TTL ile dolu büyük kartlardan anabilgisayar işlemcileri inşa ediyor olsaydık, HDL'den PCB'ye benzer bir tasarım akışı olabilir ... ama neyse ki değiliz.
Chris Stratton

Yanıtlar:


19

Altium aslında bir betik diline, birkaç farklı dile sahiptir. Bazı durumlarda, örneğin tekrarlayan düzenler veya belirli konumlara hassas bir şekilde yerleştirilmiş parçalar oluşturmak için algoritmaların kullanılması mantıklı olabilir.

Örneğin, parçaları (LED'leri) dairesel bir desene yerleştirdiğini gördüm, ancak kutupsal koordinat çıtçıtlı ızgaralarının tanıtımı ile güçlüklere değme olasılığı daha düşük.

Doğrudan .dxf formatında şekiller oluşturmak için algoritmalar kullandık (antenler ve bu tür şeyler), daha sonra bakır bir katmana aktarılabilir.

Genel olarak, kod PCB yerleşim amaçları için, özellikle de yönlendirme görevi için çok uygun değildir.


17

EAGLE CAD'de, komut satırından yapabileceğiniz bir fare ile yapabileceğiniz her şey. Ayrıca, temelde programlayabileceğiniz bir kullanıcı diline sahiptir.


2
Desenler vb. Yaparken çok kullanışlıdır. Düzenin% 99'unu manuel olarak yapsanız bile parçaları / özellikleri kodla düzenleyebilirsiniz.
Wesley Lee

1
Genellikle, Matlab veya bir metin işlemcisini kodlama dilini çıktılamak için kodlarım.
Scott Seidman

3
Evet! Eskiden Python'da yapardım :)
Wesley Lee

1
Bu, Eagle'ın en önemli avantajlarından biridir. Başladıktan sonra yalnızca komut satırını kullanırsınız.
D Duck

7

PCB'lerim için netlist oluşturmak için kod kullanıyorum . (N-bit çoklayıcı oluşturmak için for-loop yazmak çok şematik olarak zahmetsizce çizmekten çok daha hızlıdır.) Neyse ki, KiCAD netlist dosyaları sadece metin, belgesiz bir formatta ama tersine çevrilmesi oldukça kolaydır. -mühendis.

Neye bağlı olduğumu yazmamı sağlayan küçük bir C # kütüphanesi yazdım (yeniden kullanılabilir parametrik devre blokları açısından) ve otomatik olarak bir netlist çıkarıyor. Şimdi bunu doğrudan KiCAD'e aktarabilir ve PCB'yi bir saat harcamak zorunda kalmadan PCB'yi oluşturmaya başlayabilirim. (Kütüphane, talimatlarımın tamamen olmadığından emin olmak için bazı temel kontroller bile yapıyor KiCAD'ın bu işi daha iyi yapacağından şüphelenmeme rağmen, düzensiz .)

Öte yandan KiCAD PCB dosyaları da metindir, ancak programlı olarak oluşturulamayacak kadar karmaşık görünmektedir . KiCAD, tüm bileşenleri doğrudan üst üste atmaktan dolayı varsayılan olarak, ne yaptığımı görebilmem için 20 + dakikayı sıkıcı bir şekilde birbirinden ayırmamı gerektiriyor. (KiCAD, bağlı olduğu bileşen yerine metni taşımaya çalışmak gibi kötü bir alışkanlığa sahiptir , muhtemelen PCB'lerin tasarımını zorlaştırmak için, mi?)

Belki bir gün ilk bileşen düzenini otomatikleştirmeyi başarabilirim; Diğerlerinin söylediği gibi, gerçek "PCB tasarımı" bitinin her zaman GUI'yi içereceğinden şüpheleniyorum.


İlk yerleştirme için graphviz'in düzen motorlarından birini KiCAD'e bağlamak güzel olurdu . Çok basit düzenler için LTspice dosyaları yapmak için graphviz kullandım ve oldukça iyi çalıştı.
boru

3
Başlangıçta bileşenleri yaymak için kicad'da bazı araçlar vardır, buna "Global yayılma ve yer" denir. Metnin taşınmasını önlemek için, genellikle metin katmanlarını mizanpaj için devre dışı bırakırım. Sonra hepsi gerekirse metni tıklayarak görebilirsiniz.
jpa

4

Bunu tavsiye etmem, ama gerçekten arzu ederseniz, PCB resmini herhangi bir PCB programı olmadan kendiniz yazabilirsiniz. Kod şöyle görünür:

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

En sağdaki satır numaraları dosyanın parçası değildir. Gerber hakkında önceden bilgi sahibi olmadan bu dosyayı incelemek, her satırın belirli bir makine komutunu temsil ettiğini ve yıldız işaretinin (*) komut karakterinin sonu olduğunu doğru bir şekilde ortaya çıkaracaktır. Farklı komut türleri var gibi görünüyor: G, D, M ve x ile başlayan talimatlar, y koordinat verileri.

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

İşte farklı komutları gösteren bir özellik


2
Gerber (RS-274X) CNC programlamasında kullanılan G kodu (RS-274) dosyalarıyla alakalıdır. Bazen basit 2.5D görevleri için doğrudan bir metin editörü ile G kodu yazıyorum.
Spehro Pefhany

5
Sadece bir gözlem: Doğrudan kodlayıcı gerberseniz, kafanızda görselleştirmekten başka bir tasarım kuralı kontrolü yapılmaz. Bir tür bir sonraki seviye savant değilseniz sürece, sadece bir GUI aracında dosyayı açmadan dosyayı fab evine göndererek, bir metin gerber dosyası yazmayı hayal edemiyorum.
mkeith

1
Gerber'in G koduyla ilgili olup olmadığından emin değildim, ancak bir şüphem vardı. Bir anten veya filtre için basit bir üst katman yazmak gerekiyorsa, bir şeyi kendiniz kodlamak çok kötü olmayabilir. Sadece G kodunu düzenledim, ama asla yazmaya çalışmadım.
Voltaj

6
G-kodu ile karmaşık bir tahta için bir tür görsel araçtan daha iyi çalışabilen herkes kesinlikle istisnai bir kişi olacaktır. Doğrudan G-kodunda çalışabilen ve üretken olan herkesin bir savant olarak düşünülmesi gerekir.
mkeith

1
Dünyadaki 7,5 milyar insanın hepsini tanımıyorum, ancak ciddi bir şekilde, çok katmanlı profesyonel amaçlı herhangi bir grafik gösterimden daha iyi bir iş yapabilecek tek bir kişi olmadığını güvenle söyleyebilirim. panoları.
whatsisname

1

Kicad kullanıyorsanız, Youtube'daki ilk KiCon'da (2019) yapılan görüşmelerden bazı videolara bakın. Görüşmelerden birkaçı, sunum yapanların parçaları üretmek için araçlar yazması, biri de bağlantılar hakkında. En az bir tane komut dosyası dili olarak pişmiş python kullandı.


1
Lütfen videolara ve araçlara ayrıntılar ekleyebilir ve bağlantı ekleyebilir misiniz? (Konferansa el sallamak değerli bir yorum olabilir, ancak cevap olarak nitelendirilemez.)
Nick Alexeev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.