Saya baru saja masuk ke desain PCB dan saya biasanya mengalami kesulitan belajar bagaimana menggunakan GUI dengan menu dan mengklik mouse. Apakah beberapa insinyur menggunakan sesuatu yang lebih seperti kode untuk menghasilkan PCB?
Saya baru saja masuk ke desain PCB dan saya biasanya mengalami kesulitan belajar bagaimana menggunakan GUI dengan menu dan mengklik mouse. Apakah beberapa insinyur menggunakan sesuatu yang lebih seperti kode untuk menghasilkan PCB?
Jawaban:
Altium sebenarnya memiliki bahasa scripting, beberapa bahasa yang berbeda. Dalam beberapa kasus mungkin masuk akal untuk menggunakan algoritma, misalnya untuk membuat tata letak berulang atau bagian yang ditempatkan tepat di posisi tertentu.
Sebagai contoh, saya telah melihatnya digunakan untuk menempatkan bagian-bagian (LED) dalam pola melingkar, meskipun dengan diperkenalkannya snap grid koordinat kutub yang jauh lebih kecil nilainya kerepotan.
Kami telah menggunakan algoritma untuk membuat bentuk (pikirkan antena dan hal semacam itu) secara langsung dalam format .dxf yang kemudian dapat diimpor ke dalam lapisan tembaga.
Secara umum, kode kurang cocok untuk keperluan tata letak PCB, terutama untuk tugas perutean.
Dalam EAGLE CAD, semua yang dapat Anda lakukan dengan mouse dapat Anda lakukan dari baris perintah. Ini juga memiliki bahasa pengguna yang pada dasarnya dapat Anda programkan.
Saya menggunakan kode untuk menghasilkan netlist untuk PCB saya. (Jauh, jauh lebih cepat untuk menulis for-loop untuk membangun multiplexer N-bit daripada menggambar semua hal itu dengan susah payah.) Untungnya, file netlist KiCAD hanyalah teks, dalam format yang tidak terdokumentasi tetapi cukup mudah untuk dibalik -insinyur.
Saya menulis perpustakaan C # kecil yang memungkinkan saya mengetik apa yang ingin saya hubungkan dengan apa (dalam hal blok parametrik sirkuit yang dapat digunakan kembali), dan secara otomatis meludahkan netlist. Sekarang saya bisa mengimpor langsung ke KiCAD dan mulai membangun PCB, tanpa harus membuang satu jam atau lebih dengan tidak berguna menggambar skematis untuk itu. (Perpustakaan bahkan melakukan beberapa pemeriksaan yang sangat mendasar untuk memastikan instruksi saya tidak sepenuhnya palsu, meskipun saya curiga KiCAD sendiri akan melakukan pekerjaan itu dengan lebih baik.)
Kicad file PCB, di sisi lain, juga teks, tetapi tampaknya jauh terlalu rumit untuk menghasilkan pemrograman. Yang memalukan, karena KiCAD default untuk membuang semua komponen langsung di atas satu sama lain, mengharuskan saya untuk menghabiskan 20 + menit dengan susah payah memisahkan mereka lagi sehingga saya bisa melihat apa yang saya lakukan. (KiCAD memiliki kebiasaan buruk untuk mencoba memindahkan teks daripada komponen yang dilampirkan , mungkin hanya untuk membuat PCB lebih sulit untuk dirancang?)
Mungkin suatu hari nanti saya akan mengatur juga mengotomatiskan tata letak komponen awal; Saya menduga, seperti yang orang lain katakan, bahwa "desain PCB" yang sebenarnya akan selalu melibatkan GUI.
Saya tidak akan merekomendasikan itu, tetapi jika Anda benar-benar ingin Anda dapat menulis karya seni PCB sendiri, tanpa program PCB. Kode ini terlihat seperti ini:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 * 9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Nomor baris di paling kanan bukan bagian dari file. Memeriksa file ini tanpa sepengetahuan Gerber sebelumnya, akan dengan benar menyimpulkan bahwa setiap baris mewakili perintah mesin tertentu dan bahwa tanda bintang (*) adalah akhir dari karakter perintah. Tampaknya ada berbagai jenis perintah: instruksi yang dimulai dengan G, D, M dan x, data koordinat y.
Sumber: https://www.artwork.com/gerber/appl2.htm
Berikut adalah spesifikasi yang menunjukkan berbagai perintah
Jika Anda menggunakan Kicad, lihat beberapa video dari pembicaraan di KiCon pertama (2019) di Youtube. Beberapa pembicaraan secara eksplisit tentang presenter alat menulis untuk menghasilkan bagian-bagian, satu juga tentang koneksi. Setidaknya satu python digunakan, yang dipanggang sebagai bahasa scripting.