ออกแบบ PCB โดยใช้รหัสแทนที่จะคลิกเมาส์หรือไม่ [ปิด]


14

ฉันเพิ่งเข้าสู่การออกแบบ PCB และโดยทั่วไปฉันมีปัญหาในการเรียนรู้วิธีใช้ GUI กับเมนูและการคลิกเมาส์ วิศวกรบางคนใช้โค้ดอื่น ๆ เพื่อสร้าง PCB หรือไม่


7
ฉันจะไม่แนะนำให้เขียนไฟล์
Huisman

31
เลย์เอาต์ PCB นั้นส่วนใหญ่เป็นงานที่เห็นได้ - การเคลื่อนย้ายและการหมุนเพื่อให้พอดี ทำมันด้วยรหัสฟังดูเจ็บปวด
JRE

3
มักจะมีปุ่มลัดสำหรับรายการเมนูส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด); เครื่องมือส่วนใหญ่อนุญาตให้ป้อนข้อความสำหรับตำแหน่งและการวางแนว (แต่มันเจ็บปวดกว่าการทำเช่นนั้นมากกว่าแค่ย้ายสิ่งต่าง ๆ ด้วยเมาส์) ฉันใช้เครื่องมือข้อความเพื่อให้ได้ตำแหน่งที่แม่นยำเช่นคู่และจุดต่าง ๆ
ปีเตอร์สมิ ธ

4
แพคเกจ CAD บางรายการมีความฉูดฉาดมากกว่าแพ็คเกจอื่น ๆ จากประสบการณ์ของฉัน Orcad Allegro เป็นสิ่งที่แย่ที่สุดในการทำให้คุณผ่านการกระทำ GUI ที่ไม่มีจุดหมายมากมายเพื่อทำสิ่งที่ง่ายที่สุด Diptrace นั้นเป็นประสบการณ์การใช้งานที่ง่ายและราบรื่นที่สุด PADS เป็น toolchain ที่ยอดเยี่ยมด้วย UI ที่ใช้งานง่ายและคุณสมบัติระดับสูงมากมาย PADS เหมาะสำหรับวิศวกรที่ต้องการทำสิ่งต่างๆให้สำเร็จ Orcad เหมาะสำหรับนักทำโทษตนเอง : D
Wossname

2
มีแป้นพิมพ์ลัดและกรณีที่ไม่ซ้ำกันซึ่งรูปแบบการเขียนโปรแกรมที่เหมาะสม แต่เค้าโครง PCB ส่วนใหญ่เป็นงานกราฟิกแบบโต้ตอบ ในทางตรงกันข้ามสถานการณ์ที่ตรรกะมีอิทธิพลเหนือศูนย์รวมทางกายภาพเช่น FPGA และ (หลายส่วนของ) การออกแบบ ASIC โดยทั่วไปได้รับแรงหนุนจากภาษาคำอธิบายฮาร์ดแวร์ที่ใช้ภาษาในการคอมไพล์ลอจิกให้อาหารอัตโนมัติและเครื่องมือเส้นทาง หากเรายังคงสร้างหน่วยประมวลผลเมนเฟรมจากบอร์ดขนาดใหญ่ที่เต็มไปด้วย TTL อาจมีการออกแบบที่เทียบเคียงได้กับ HDL ไปยัง PCB ... แต่โชคดีที่เราไม่ได้
Chris Stratton

คำตอบ:


19

Altium มีภาษาสคริปต์หลายภาษาแตกต่างกันจริง ๆ แล้ว ในบางกรณีอาจเหมาะสมที่จะใช้อัลกอริธึมเช่นเพื่อสร้างเลย์เอาต์หรือชิ้นส่วนที่ซ้ำซ้อนในตำแหน่งที่แน่นอน

ตัวอย่างเช่นฉันเคยเห็นมันเคยวางชิ้นส่วน (LEDs) ในรูปแบบวงกลมแม้ว่าจะมีการแนะนำพิกัดกริดแบบโพลาไรซ์แบบสแนปช็อตซึ่งมีโอกาสน้อยที่จะคุ้มค่ากับความยุ่งยากมากขึ้น

เราใช้อัลกอริทึมในการสร้างรูปร่าง (คิดเสาอากาศและสิ่งนั้น) ในรูปแบบ. dxf ซึ่งสามารถนำเข้าสู่เลเยอร์ทองแดงได้โดยตรง

โดยทั่วไปรหัสนั้นไม่เหมาะสมสำหรับวัตถุประสงค์ของโครงร่าง PCB โดยเฉพาะอย่างยิ่งสำหรับงานเส้นทาง


17

ใน EAGLE CAD ทุกสิ่งที่คุณสามารถทำได้ด้วยเมาส์ที่คุณสามารถทำได้จากบรรทัดคำสั่ง นอกจากนี้ยังมีภาษาผู้ใช้ที่คุณสามารถตั้งโปรแกรมได้


2
มีประโยชน์มากเมื่อทำแพทเทิร์น ฯลฯ แม้ว่าคุณทำเลย์เอาท์ 99% ด้วยตนเองคุณยังสามารถจัดเรียงส่วน / คุณสมบัติด้วยรหัสได้
Wesley Lee

1
บ่อยครั้งที่ฉันเขียนโค้ดใน Matlab หรือโปรแกรมประมวลผลข้อความเป็นภาษาสคริปต์เอาท์พุท
Scott Seidman

3
ใช่ ฉันเคยทำมันใน Python :)
Wesley Lee

1
นี่เป็นหนึ่งในข้อได้เปรียบที่สำคัญของ Eagle เมื่อคุณเริ่มต้นคุณจะใช้บรรทัดคำสั่งเท่านั้น
D Duck

7

ฉันใช้รหัสเพื่อสร้าง netlistสำหรับ PCB ของฉัน (ไกลมากเร็วกว่าที่จะเขียน for-loop เพื่อสร้าง N-bit Multiplexer มากกว่าที่จะวาดทุกอย่างในแผนผังให้เป็นรูปเป็นร่าง) โชคดีที่ไฟล์ netbook ของ KiCAD เป็นเพียงข้อความในรูปแบบที่ไม่มีเอกสาร แต่มีเหตุผลพอสมควรกลับง่าย -วิศวกร.

ฉันเขียนไลบรารี C # ขนาดเล็กที่ให้ฉันพิมพ์สิ่งที่ฉันต้องการเชื่อมต่อกับสิ่งที่ (ในแง่ของบล็อกพารามิเตอร์แบบวงจรที่นำกลับมาใช้ซ้ำได้) และมันจะแยกเน็ตลิสต์ออกโดยอัตโนมัติ ตอนนี้ฉันสามารถนำเข้าที่ตรงไปยัง KiCAD และเริ่มสร้าง PCB โดยไม่ต้องเสียเวลาหนึ่งชั่วโมงหรือดังนั้นจึงวาดแผนผังสำหรับมัน (ห้องสมุดยังทำการตรวจสอบขั้นพื้นฐานบางอย่างเพื่อให้แน่ใจว่าคำแนะนำของฉันไม่สมบูรณ์ปลอมแต่ฉันสงสัยว่า KiCAD เองจะทำงานได้ดีขึ้น

PCB ไฟล์ KiCAD ในมืออื่น ๆ นอกจากนี้ยังมีข้อความ แต่ดูเหมือนจะห่างไกลซับซ้อนเกินไปในการสร้างโปรแกรม ซึ่งเป็นความอัปยศเนื่องจาก KiCAD เริ่มต้นที่จะทิ้งส่วนประกอบทั้งหมดที่อยู่ด้านบนของกันและกันโดยตรงกำหนดให้ฉันใช้เวลามากกว่า 20 นาทีในการแยกพวกเขาออกไปอย่างน่าเบื่ออีกครั้งเพื่อให้ฉันเห็นว่าฉันกำลังทำอะไรอยู่ (KiCAD มีนิสัยที่น่ารังเกียจในการพยายามย้ายข้อความแทนที่จะเป็นส่วนประกอบที่แนบมาด้วยน่าจะทำให้ PCBs ยากขึ้นในการออกแบบ?)

บางทีบางวันฉันจะจัดการให้โดยอัตโนมัติเค้าโครงส่วนประกอบเริ่มต้น; ฉันสงสัยว่าอย่างที่คนอื่นพูดกันว่าบิต "การออกแบบ PCB" ที่เกิดขึ้นจริงจะเกี่ยวข้องกับ GUI เสมอ


มันจะดีถ้าขอให้หนึ่งในเค้าโครงของเครื่องมือกราฟวิซถึง KiCAD สำหรับตำแหน่งเริ่มต้น ฉันใช้ graphviz เพื่อสร้างไฟล์ LTspice สำหรับเลย์เอาต์ที่ง่ายมากและมันทำงานได้ดีพอสมควร
ท่อ

3
มีเครื่องมือบางอย่างใน kicad ที่จะแพร่กระจายองค์ประกอบเริ่มแรกเรียกว่า "การแพร่กระจายทั่วโลกและสถานที่" เพื่อหลีกเลี่ยงการย้ายข้อความฉันมักจะปิดเลเยอร์ข้อความสำหรับเลย์เอาต์ หลังจากทั้งหมดสามารถดูข้อความได้โดยคลิกถ้าจำเป็น
jpa

4

ฉันจะไม่แนะนำ แต่ถ้าคุณต้องการคุณสามารถเขียนงานศิลปะ PCB ด้วยตัวเองโดยไม่ต้องใช้โปรแกรม PCB ใด ๆ รหัสมีลักษณะดังนี้:

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

หมายเลขบรรทัดทางด้านขวาสุดไม่ได้เป็นส่วนหนึ่งของไฟล์ การตรวจสอบไฟล์นี้โดยที่ไม่เคยมีความรู้เกี่ยวกับ Gerber มาก่อนจะสรุปได้อย่างถูกต้องว่าแต่ละบรรทัดแสดงถึงคำสั่งเครื่องเฉพาะและเครื่องหมายดอกจัน (*) เป็นจุดสิ้นสุดของอักขระคำสั่ง ดูเหมือนว่าจะมีคำสั่งประเภทต่าง ๆ : คำสั่งที่ขึ้นต้นด้วย G, D, M และ x, y ข้อมูลพิกัด

ที่มา: https://www.artwork.com/gerber/appl2.htm

นี่คือข้อมูลจำเพาะที่แสดงคำสั่งต่าง ๆ


2
Gerber (RS-274X) เกี่ยวข้องกับไฟล์ G-code (RS-274) ที่ใช้ในการเขียนโปรแกรม CNC บางครั้งฉันเขียน G-code โดยตรงด้วยโปรแกรมแก้ไขข้อความสำหรับงาน 2.5D แบบง่าย
Spehro Pefhany

5
แค่การสังเกตุ: ถ้าคุณเป็นคนเขียนโค้ดโดยตรงก็ไม่มีการตรวจสอบกฏการออกแบบที่เกิดขึ้นนอกเหนือจากที่คุณเห็นภาพในหัวของคุณ ฉันนึกภาพออกไม่ได้ว่าพิมพ์ไฟล์ gerber ส่งไปที่ fab house โดยไม่ต้องเปิดไฟล์ในเครื่องมือ GUI ที่แค่มองมันนอกเสียจากว่าคุณจะเป็นคนประเภทถัดไป
mkeith

1
ฉันไม่แน่ใจว่า Gerber เกี่ยวข้องกับ G-code หรือไม่ แต่ฉันสงสัย หากจำเป็นต้องเขียนเลเยอร์บนแบบง่าย ๆ สำหรับเสาอากาศหรือตัวกรองมันอาจจะไม่แย่ไปกว่าการเขียนโค้ดด้วยตัวคุณเอง ฉันเพิ่งแก้ไข G-code แล้ว แต่ไม่เคยลองเขียนมันเลย
Spike แรงดัน

6
ใครก็ตามที่สามารถทำงานกับ G-code ได้ดีกว่าเครื่องมือแสดงผลสำหรับคณะกรรมการที่ซับซ้อนจะเป็นบุคคลที่พิเศษอย่างแน่นอน ฉันคิดว่าทุกคนที่สามารถทำงานได้โดยตรงใน G-code และมีประสิทธิผล
mkeith

1
ฉันไม่ทราบว่ามีคน 7.5 พันล้านคนในโลกนี้ แต่ฉันสามารถพูดได้อย่างมั่นใจว่าไม่มีคนอยู่คนเดียวที่จะทำงานได้ดีขึ้นเมื่อดูที่รหัส gerber กว่าการแสดงผลแบบกราฟิกสำหรับมืออาชีพที่จริงจังและหลายชั้น บอร์ด
whatsisname

1

หากคุณกำลังใช้ Kicad ดูวิดีโอบางส่วนจากการพูดคุยที่ KiCon (2019) บน Youtube มีการพูดคุยกันสองสามอย่างเกี่ยวกับเครื่องมือการเขียนผู้นำเสนอเพื่อสร้างชิ้นส่วนหนึ่งยังเกี่ยวกับการเชื่อมต่อ อย่างน้อยหนึ่งไพ ธ อนที่ใช้ซึ่งถูกอบในภาษาสคริปต์


1
คุณช่วยอธิบายและเพิ่มลิงค์ไปยังวิดีโอและเครื่องมือต่างๆได้ไหม (การโบกมือต่อการประชุมอาจเป็นความเห็นที่คุ้มค่า แต่ก็ไม่ถือว่าเป็นคำตอบ)
Nick Alexeev
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.