ผลต่างระหว่างรุ่นของ "การออกแบบและสร้างแผ่นวงจรพิมพ์"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(เพิ่มคำอธิบายการใช้บัส)
แถว 108: แถว 108:
 
* atmega8.lbr สำหรับอุปกรณ์ไมโครคอนโทรลเลอร์ ATMega168
 
* atmega8.lbr สำหรับอุปกรณ์ไมโครคอนโทรลเลอร์ ATMega168
 
* switch-tact.lbr สำหรับอุปกรณ์สวิทช์รีเซ็ต
 
* switch-tact.lbr สำหรับอุปกรณ์สวิทช์รีเซ็ต
 +
 
นอกจากนั้นเรายังต้องการข้อมูลของหัวเชื่อมต่อ USB ซึ่งดาวน์โหลดได้จากลิ้งค์ด้านล่าง
 
นอกจากนั้นเรายังต้องการข้อมูลของหัวเชื่อมต่อ USB ซึ่งดาวน์โหลดได้จากลิ้งค์ด้านล่าง
 
* [http://kunetlab2.cpe.ku.ac.th/download/pcb/USBTYPE-A.lbr ดาวน์โหลด USBTYPE-A.lbr] พัฒนาโดยนายประธาน สมบูรณ์ นิสิต MCPE13
 
* [http://kunetlab2.cpe.ku.ac.th/download/pcb/USBTYPE-A.lbr ดาวน์โหลด USBTYPE-A.lbr] พัฒนาโดยนายประธาน สมบูรณ์ นิสิต MCPE13
 +
 +
หลังจากดาวน์โหลดไฟล์เหล่านี้มาแล้วให้นำไปเก็บไว้ในไดเรคตอรี <code>$HOME/eagle/lbr</code> หลังจากนั้นลองตรวจสอบในหน้าต่าง Control Panel ของ EAGLE จะพบว่าในส่วนของ Libraries จะมีไดเรคตอรีย่อย <code>lbr</code> ปรากฏขึ้นอีกหนึ่งอัน ภายใต้ไดเรคตอรีย่อยจะมีรายการของไลบรารีที่เราได้ติดตั้งลงไป ไลบรารีเหล่านี้จะยังมีสถานะไม่ถูกใช้งาน เราสามารถบอก EAGLE ว่าจะใช้ไลบรารีเหล่านี้ได้โดยการคลิ้กเมาส์ที่บริเวณวงรีสีแดงตามภาพด้านล่างให้ปรากฏเป็นปุ่มสีเขียวขึ้น
 +
 +
[[Image:eagle-lbr.png|center]]
 +
 +
บ่อยครั้งที่เราพบว่ามีอุปกรณ์ที่มีชื่อเดียวกันแต่อยู่ต่างไลบรารีกัน ในการใช้คำสั่ง add เราสามารถระบุทั้งชื่ออุปกรณ์และชื่อไลบรารีพร้อม ๆ กันได้โดยพิมพ์คำสั่ง <code>add อุปกรณ์@ไลบรารี</code> ตัวอย่างเช่น
 +
หากเราต้องการเพิ่มอุปกรณ์ชื่อ R-EU_0207/10 จากไลบรารีชื่อ resistor ก็สามารถพิมพ์คำสั่ง
 +
 +
add r-eu_0207/10@resistor
 +
 +
เรายังสามารถใช้ wildcard (*) กับรูปแบบข้างต้นได้เช่นกัน
  
 
=== การใช้บัสเพื่อรวมสัญญาณ ===
 
=== การใช้บัสเพื่อรวมสัญญาณ ===
 +
บัสเป็นการนำเน็ตหลาย ๆ เน็ตมารวมกันเป็นกลุ่มเพื่อทำให้วงจรดูเป็นระเบียบมากยิ่งขึ้น โดยบัสจะปรากฏเป็นเส้นหนาทึบในวงจร อย่างไรก็ตามการใช้งานบัสในผังวงจรนั้นมีไว้เพื่อความสะดวกในการสื่อความหมายเท่านั้น ไม่ได้มีผลต่อตัวบอร์ดใด ๆ ทั้งสิ้น
 +
 +
การสร้างบัสทำได้โดยใช้คำสั่ง Bus และคลิ้กไปบริเวณพื้นที่ว่างใกล้ ๆ กับกลุ่มเน็ตที่เราต้องการนำมารวมกัน (อย่าวาดบัสทับลงไปบนขาอุปกรณ์ นอกจากจะไม่มีอะไรเกิดขึ้นแล้วยังจะสร้างความสับสนขึ้นได้) บัสจะถูกวาดให้ยาวต่อเนื่องไปเรื่อย ๆ จนกระทั่งกดปุ่ม ESC
 +
 +
แม้บัสที่ถูกสร้างขึ้นจะถูกกำหนดชื่อให้อัตโนมัติ เป็นเรื่องสำคัญมากที่เราต้องกำหนดชื่อให้บัสเสียใหม่เพื่อระบุรายการของเน็ตที่เราต้องการรวมเอาไว้ในบัสนั้น ๆ ซึ่งทำได้โดยการตั้งชื่อบัสด้วยรายชื่อเน็ตที่ต้องการ คั่นด้วยเครื่องหมายคอมม่า (,) เช่น
 +
 +
VCC,GND,IN1,IN2,OUT1,OUT2
 +
 +
เราสามารถใช้สัญลักษณ์ ''[0..N]'' เพื่อระบุรายการของเน็ตที่ชื่อมีลักษณะเป็นเลขเรียงต่อกันได้ เช่น
 +
 +
PC[0..5],VCC,GND
 +
 +
หลังจากสร้างบัสแล้วเราควรแปะฉลากแสดงชื่อบัสไว้บนบริเวณบัสด้วย การแปะฉลากทำได้โดยใช้คำสั่ง Label และคลิ้กไปบนบัส จากนั้นจึงเลือกตำแหน่งที่ต้องการวางฉลาก ดังแสดง
 +
[[Image:eagle-bus-label.png|center|thumb|ฉลาก (label) ระบุชื่อบัส]]
 +
 +
เมื่อเราพยายามเชื่อมเน็ตเข้ากับบัส หรือลากเน็ตออกมาจากบัส EAGLE จะแสดงป๊อปอัพเมนูให้เลือกเน็ตที่เราต้องการเชื่อม เนื่องจากการมองบัสจากวงจรจะไม่เห็นเลยว่าภายในบัสมีเน็ตอะไรอยู่บ้าง และเน็ตที่นำมาเชื่อมถูกเชื่อมเข้ากับเน็ตใดในบัส เราจึงจำเป็นต้องแปะฉลากให้กับเน็ตที่เชื่อมอยู่กับบัสโดยใช้คำสั่ง Label เช่นเดียวกัน การวาดเน็ตให้เชื่อมกับบัสนั้นนิยมวาดให้เฉียงลงมา 45 องศาเพื่อให้ผังวงจรอ่านง่ายขึ้น
 +
 +
[[Image:eagle-bus-net.png|center|thumb|ฉลากระบุชื่อเน็ตที่เชื่อมกับบัส]]
 +
 +
=== การตรวจสอบความถูกต้อง ===
 +
สิ่งสุดท้ายที่ควรตรวจสอบก่อนเข้าสู่กระบวนการออกแบบบอร์ดคือการตรวจความถูกต้องทางไฟฟ้า (electrical rule check) หรือ ERC ซึ่งทำได้โดยใช้คำสั่ง ERC ตัวอย่างของความผิดพลาดที่ EAGLE ตรวจสอบให้ได้แก่
 +
* การปล่อยขาอินพุทของอุปกรณ์ไว้โดยไม่เชื่อมต่อ
 +
* การเชื่อมต่อไฟเลี้ยงที่ไม่เหมาะสมเข้ากับอุปกรณ์ หรือลืมเชื่อม
 +
* ส่วนของวงจรหรือคุณสมบัติต่าง ๆ ที่ไม่สอดคล้องกันระหว่างไฟล์ผังวงจร (schematic) กับไฟล์บอร์ด (board)
 +
แม้ ERC จะรายงานความผิดพลาดได้ในระดับหนึ่ง การที่เราไม่พบความผิดพลาดจาก ERC ไม่ได้หมายความว่าวงจรของเราไม่มีข้อผิดพลาดแต่อย่างใด จึงควรไล่ตรวจสอบวงจรอย่างละเอียดถี่ถ้วนก่อนเริ่มต้นออกแบบบอร์ดในขั้นตอนต่อไป
 +
  
 
== การออกแบบบอร์ดด้วย Board Editor ==
 
== การออกแบบบอร์ดด้วย Board Editor ==

รุ่นแก้ไขเมื่อ 04:53, 24 มิถุนายน 2552

ในปฏิบัติการนี้ เราจะออกแบบลายวงจรพิมพ์สำหรับสร้างแผ่นวงจรพิมพ์ให้กับวงจรไมโครคอนโทรลเลอร์ เครื่องมือหลักที่จะนำมาใช้ในกระบวนการนี้ได้แก่โปรแกรม EAGLE ของบริษัท CadSoft Computer Inc.

ดาวน์โหลดและติดตั้งโปรแกรม EAGLE

  • ดาวน์โหลดโปรแกรม EAGLE 5.6.0 สำหรับระบบปฏิบัติการลินุกซ์ได้จากที่นี่ หรือเช็คหน้าดาวน์โหลดของ CadSoft สำหรับโปรแกรมเวอร์ชันใหม่ล่าสุด
  • จากนั้นเปิดโปรแกรมเทอร์มินัล เปลี่ยนไดเรคตอรีไปยังจุดที่เซฟโปรแกรมติดตั้งไว้และพิมพ์คำสั่ง
sudo sh eagle-lin-5.6.0.run
  • ดำเนินตามขั้นตอนการติดตั้งโดยระบุไดเรคตอรีปลายทางสำหรับชุดโปรแกรม อย่างไรก็ตามไดเรคตอรี /opt/eagle-5.6.0 ที่ตัวติดตั้งกำหนดเริ่มต้นมาให้นั้นเหมาะสมดีแล้ว
  • ทดสอบว่าโปรแกรมติดตั้งและทำงานได้สมบูรณ์โดยพิมพ์คำสั่ง
/opt/eagle-5.6.0/bin/eagle
ซึ่งในการเรียกครั้งแรก EAGLE อาจร้องเรียนเรื่องไดเรคตอรีที่หาไม่พบ และเสนอให้สร้างขึ้น หลังจากนั้นหน้าต่าง Control Panel ควรปรากฏขึ้นดังแสดงในรูปตัวอย่าง
Eagle-panel.png
  • เพื่อความสะดวกในการเรียกโปรแกรม เราควรสร้าง Application Launcher ที่ชี้ไปยังโปรแกรม /opt/eagle-5.6.0/bin/eagle ไว้บนหน้าเดสท้อปของตนเอง

การตั้งค่าเบื้องต้น

  • คีย์ด่วน: การใช้การโปรแกรม EAGLE บนสภาพแวดล้อมของ GNOME อาจมีปัญหาเรื่องปุ่มคีย์ด่วนที่เป็นปุ่มเดียวกัน อาทิเช่น EAGLE ใช้ปุ่ม Alt-F2 สำหรับปรับขนาดภาพให้เต็มหน้าจอ แต่ GNOME จะดักปุ่ม Alt-F2 ไว้เนื่องจากเป็นคีย์ด่วนสำหรับเปิดไดอะล็อกซ์ Run หรือการกดปุ่ม Alt ค้างไว้พร้อมกับการลากเม้าส์จะเป็นการเปลี่ยนไปใช้ช่องกริดใน EAGLE ที่ละเอียดขึ้น แต่สำหรับ GNOME จะเป็นการเคลื่อนย้ายหน้าต่าง เป็นต้น ผู้ใช้จึงควรปรับแต่งคีย์เหล่านี้ให้ไม่ซ้ำกัน ซึ่งอาจปรับแต่งใน EAGLE เองหรือ GNOME ก็ได้
  • ไดเรคตอรี: ในการเรียกใช้งานครั้งแรก EAGLE ได้ถูกตั้งค่าไดเรคตอรีต่าง ๆ ไว้สำหรับค้นหาข้อมูลเกี่ยวกับโครงงาน ไลบรารีของอุปกรณ์ สคริปต์การทำงานของผู้ใช้ ฯลฯ เนื่องจากงานออกแบบแผ่นวงจรพิมพ์ของเราอาศัยไลบรารีของอุปกรณ์นอกเหนือจากที่ให้มากับ EAGLE เราจึงต้องตั้งค่าไดเรคตอรีนี้ใหม่ ซึ่งทำได้โดยการเปิดไดอะล็อกซ์ Directories จากเมนู Options -> Directories ของหน้าต่าง Control Panel และตั้งค่าของ Libraries เป็น
$EAGLEDIR/lbr:$HOME/eagle/lbr

สร้างโปรเจ็คใหม่

  • สร้างไดเรคตอรีชื่อ practicum สำหรับเก็บโปรเจ็ค โดยมีขั้นตอนดังนี้
  • จากหน้าต่าง Control Panel ขยายบรรทัดที่ระบุว่า Projects จะพบไดเรคตอรี eagle อยู่ภายใน
  • คลิ้กเมาส์ขวาที่ eagle และเลือก New Project เปลี่ยนชื่อโปรเจ็คที่สร้างขึ้นเป็น practicum
  • สร้างวงจรชื่อ main โดยมีขั้นตอนดังนี้
  • คลิ้กขวาที่ practicum และเลือก New Schematic จะปรากฏหน้าจอสำหรับการวาดแผนผังวงจรดังรูป
Eagle-sch.png
  • เลือกเมนู File -> Save และตั้งชื่อเป็น main
  • กดปุ่มสร้างบอร์ด Eagle-button-board.png ซึ่ง EAGLE จะร้องเรียนว่าไม่พบไฟล์บอร์ดและเสนอให้สร้างไฟล์นี้ขึ้น หลังจากตอบตกลงจะปรากฏหน้าต่างสำหรับแก้ไขบอร์ด ดังรูป
Eagle-pcb.png
  • เลือกเมนู File -> Save

วาดแผนผังวงจรด้วย Schematic Editor

เลือกหน้าต่าง Schematic (หรือดับเบิ้ลคลิ้กที่ไฟล์ main.sch ใน EAGLE Control Panel) เพื่อเริ่มต้นการแก้ไขแผนผังวงจร

หมายเหตุ: เพื่อให้ EAGLE สามารถติดตามการแก้ไขวงจรของทั้งบนแผนผังวงจรและบนบอร์ดให้สอดคล้องกัน ไฟล์แผนผังวงจร (.sch) และไฟล์บอร์ด (.brd) ต้องถูกเปิดไว้พร้อมกันเสมอ หากมีการแก้ไขไฟล์ใดไฟล์หนึ่งโดยไม่ได้เปิดอีกไฟล์ค้างไว้จะทำให้ EAGLE สูญเสียความสามารถในการรักษาความสอดคล้องกันของไฟล์ทั้งคู่ทันที

ส่วนประกอบของหน้าต่าง

โปรแกรมแก้ไขแผนผังวงจรของ EAGLE มีลักษณะดังรูป

Eagle-sch-area.png

โปรแกรม EAGLE อนุญาตให้ผู้ใช้เรียกคำสั่งการทำงานได้ทั้งในรูปแบบ graphical user interface (GUI) และ command-line interface (CLI) เช่นการใช้คำสั่ง Move เพื่อเคลื่อนย้ายอุปกรณ์บนพื้นที่การทำงานสามารถทำได้ทั้งการคลิ้กเมาส์ที่รูป Eagle-button-move.png หรือพิมพ์คำสั่ง move ในกล่องรับคำสั่งแล้วกด Enter

แถบคำสั่ง

ด้านซ้ายมือของหน้าจอแสดงรายการของเครื่องมือที่มีให้ใน Schematic Editor

กล่องคำสั่งของ Schematic Editor
  • คำสั่ง copy: เพิ่มอุปกรณ์ใหม่ลงไปในวงจรโดยคัดลอกมาจากอุปกรณ์ที่มีอยู่ในวงจรอยู่แล้ว
  • คำสั่ง group: รวมอุปกรณ์และส่วนประกอบอื่น ๆ เข้าไว้เป็นกลุ่มชั่วคราว ซึ่งหลังจากนั้นเราสามารถใช้คำสั่งอื่น ๆ อาทิเช่น คำสั่ง move rotate delete กับส่วนประกอบทั้งหมดในกลุ่มพร้อม ๆ กันได้
  • คำสั่ง change: อนุญาตให้เราปรับคุณสมบัติของส่วนประกอบในวงจร ซึ่งการเลือกคำสั่งนี้จะมีผลให้เราเลือกคุณสมบัติและค่าต่าง ๆ ที่ต้องการปรับเสียก่อน แล้วจึงค่อยนำเมาส์ไปคลิ้กเลือกอุปกรณ์ที่ต้องการปรับค่า

การขอความช่วยเหลือ

ดังเช่นโปรแกรมทั่วไป เราสามารถเปิดคู่มือการใช้งานจากเมนู Help นอกจากนั้นเรายังสามารถแสดงการใช้งานของคำสั่งใด ๆ โดยพิมพ์ help ชื่อคำสั่ง ลงไปในกล่องรับคำสั่ง

การวางกรอบให้พื้นที่งาน

แม้เราจะสามารถเริ่มต้นวางอุปกรณ์ลงในพื้นที่ทำงานได้ทันที เราควรวาดเฟรมให้กับงานของเราก่อนเพื่อความเรียบร้อยและสะดวกในการอ้างอิงภายหลัง การวางเฟรมสามารถทำได้โดยการพิมพ์คำสั่งต่อไปนี้ (ตัวเล็กหรือตัวใหญ่ก็ได้) ลงในกล่องรับคำสั่ง

ADD DINA4_L

จะปรากฏเฟรมแบบแนวนอน (landscape) ขนาด A4 ที่เคลื่อนที่ตามเมาส์ ปรับตำแหน่งของเฟรมให้มุมล่างซ้ายวางอยู่ที่พิกัด (0,0) ซึ่งเป็นจุดที่มีสัญลักษณ์ + กำกับอยู่ จากนั้นกดปุ่ม ESC สองครั้งเพื่อสิ้นสุดการใช้คำสั่ง Add

ตามที่ได้กล่าวไปแล้วข้างต้น เราสามารถสั่งงาน EAGLE ให้เพิ่มเฟรมได้โดยคลิ้กเมาส์ที่ปุ่มเครื่องมือ Add จากนั้นจึงป้อนคำว่า DINA4_L ลงในกล่องค้นหาด้านล่างสุดของไดอะล็อกซ์ Add ที่ถูกเปิดขึ้นมา เมื่อกด Enter จะปรากฏรายการอุปกรณ์ที่มีชื่อตรงกับที่ป้อนซึ่งเราสามารถดูรูปและคำอธิบายคร่าว ๆ ได้ กด OK เพื่อเริ่มวางเฟรมลงบนพื้นที่ทำงาน และกด ESC สองครั้งเพื่อยุติการใช้งานคำสั่ง Add

การเพิ่มอุปกรณ์ลงในวงจร

เช่นเดียวกับการเพิ่มเฟรม เราสามารถเพิ่มอุปกรณ์อื่น ๆ ลงไปในแผนผังวงจรได้โดยใช้คำสั่ง Add ซึ่งรองรับการใช้งาน wildcard (*) ในการค้นหาชื่ออุปกรณ์ที่ต้องการได้ อย่างไรก็ตามชื่ออุปกรณ์ส่วนใหญ่จะอยู่ในรูปคำย่อหรือคำอื่น ๆ ที่เราอาจคาดไม่ถึง อีกทั้งอาจเป็นอุปกรณ์ที่มีตัวถังที่ไม่เหมาะสมกับงานของเรา รูปด้านล่างแสดงอุปกรณ์ตัวต้านทานที่มีตัวถังเป็นแบบขาโลหะเจาะทะลุแผ่นวงจร (thru-hole)

Eagle-add-1.png

ส่วนรูปนี้แสดงอุปกรณ์ตัวต้านทานเช่นเดียวกัน แม้จะมีสัญลักษณ์ที่ใช้ในผังวงจรเหมือนกันทุกประการ แต่ตัวถังเป็นแบบวางบนผิวแผ่นวงจร (surface-mount) จะไม่มีขาโลหะและมีขนาดเล็กกว่ามาก

Eagle-add-2.png

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

การเปลี่ยนคุณสมบัติและการลบอุปกรณ์

สัญลักษณ์ + บนตัวอุปกรณ์แสดงจุด origin หรือ handle

โปรแกรม EAGLE มีคำสั่งปรับคุณสมบัติ (เช่น move rotate change mirror) และคำสั่งลบ (delete) คำสั่งเหล่านี้สามารถเรียกจากแถบเครื่องมือด้านซ้าย พิมพ์คำสั่งผ่าน CLI หรือคลิ้กเมาส์ขวาที่ตัวอุปกรณ์แล้วเลือกจากป๊อปอัพเมนูก็ได้ แต่ปัญหาที่ผู้เริ่มต้นมักพบคือบ่อยครั้งที่โปรแกรมไม่ทำตามที่สั่งเมื่อเลือกเครื่องมือแล้วคลิ้กเมาส์ลงไปบนตัวอุปกรณ์ สาเหตุที่ทำให้เป็นเช่นนี้คือ EAGLE บังคับว่าการคลิ้กเลือกอุปกรณ์ต้องคลิ้กให้ถูกตำแหน่งที่เรียกว่า origin หรือ handle ของอุปกรณ์นั้น ๆ เท่านั้น ตำแหน่งนี้จะมีสัญลักษณ์เป็นรูป + อยู่บริเวณสัญลักษณ์ของอุปกรณ์ ดังแสดงในภาพประกอบ

การตั้งค่าและชื่อให้อุปกรณ์

อุปกรณ์ทุกตัวที่วางลงไปในวงจรควรระบุค่า (เช่น 330 Ohm, 22 pF) และชื่อ (เช่น R1, C2) เพื่อความสะดวกในการอ้างอิงและประกอบอุปกรณ์ลงบนแผ่นวงจรพิมพ์ในภายหลัง เราทำเช่นนี้ได้โดยใช้คำสั่ง name และ value ตามลำดับ ดังแสดง

ตัวอย่างตัวต้านทานชื่อ R1 ที่มีค่า 1.5 เมกะโอห์ม

การสร้างการเชื่อมต่อ (เน็ต)

ในโปรแกรม EAGLE รวมถึงโปรแกรมออกแบบผังวงจรอื่น ๆ ส่วนของวงจรที่มีการเชื่อมต่อกันทางไฟฟ้าจะถือว่าอยู่บนเน็ต (net) เดียวกัน การสร้างเน็ตเพื่อเชื่อมอุปกรณ์เข้าด้วยกันนั้นสามารถทำได้โดยใช้คำสั่ง net เพื่อเดินสายออกมาจากขาของอุปกรณ์หรือจากเน็ตที่ถูกวาดไว้แล้วก่อนหน้านี้ การทำให้ส่วนของวงจรมีการเชื่อมต่อกันหรือเป็นเน็ตเดียวกันนั้นทำได้สองวิธี ดังนี้

  • โยงเน็ตเหล่านั้นเข้าด้วยกันโดยใช้คำสั่ง net หรือ
  • ใช้คำสั่ง name ตั้งชื่อเน็ตเหล่านั้นให้เป็นชื่อเดียวกัน

นั่นหมายความว่าส่วนของวงจรที่เราไม่เห็นสายเน็ตโยงถึงกันอาจเชื่อมกันอยู่ก็ได้ หากเน็ตมีชื่อเดียวกัน

เน็ตสองเส้นที่พาดทับกันนั้นจะไม่ถือเป็นเน็ตเดียวกัน การทำให้เป็นเน็ตเดียวกันต้องใช้คำสั่ง junction เพื่อวางจุดเชื่อมต่อทับลงไปบนจุดตัดของเน็ตทั้งคู่ ดังแสดงในรูปด้านล่าง

การกำหนดไฟเลี้ยงให้วงจร

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

การติดตั้งไลบรารีอุปกรณ์เพิ่มเติม

โครงงานที่เราจะออกแบบลายวงจรนั้นอาศัยชุดอุปกรณ์ที่ไม่ได้ให้มากับโปรแกรม EAGLE ตั้งแต่แรกเริ่ม ในที่นี้ทางบริษัท CadSoft เองได้รวบรวมไฟล์ไลบรารีเสริมให้เราสามารถดาวน์โหลดมาใช้ในวงจรของเราได้ ไลบรารีที่เราต้องดาวน์โหลดเพิ่มเติมจากเว็บของ CadSoft เพื่อนำมาใช้ในโครงงานมีดังนี้

  • atmega8.lbr สำหรับอุปกรณ์ไมโครคอนโทรลเลอร์ ATMega168
  • switch-tact.lbr สำหรับอุปกรณ์สวิทช์รีเซ็ต

นอกจากนั้นเรายังต้องการข้อมูลของหัวเชื่อมต่อ USB ซึ่งดาวน์โหลดได้จากลิ้งค์ด้านล่าง

หลังจากดาวน์โหลดไฟล์เหล่านี้มาแล้วให้นำไปเก็บไว้ในไดเรคตอรี $HOME/eagle/lbr หลังจากนั้นลองตรวจสอบในหน้าต่าง Control Panel ของ EAGLE จะพบว่าในส่วนของ Libraries จะมีไดเรคตอรีย่อย lbr ปรากฏขึ้นอีกหนึ่งอัน ภายใต้ไดเรคตอรีย่อยจะมีรายการของไลบรารีที่เราได้ติดตั้งลงไป ไลบรารีเหล่านี้จะยังมีสถานะไม่ถูกใช้งาน เราสามารถบอก EAGLE ว่าจะใช้ไลบรารีเหล่านี้ได้โดยการคลิ้กเมาส์ที่บริเวณวงรีสีแดงตามภาพด้านล่างให้ปรากฏเป็นปุ่มสีเขียวขึ้น

Eagle-lbr.png

บ่อยครั้งที่เราพบว่ามีอุปกรณ์ที่มีชื่อเดียวกันแต่อยู่ต่างไลบรารีกัน ในการใช้คำสั่ง add เราสามารถระบุทั้งชื่ออุปกรณ์และชื่อไลบรารีพร้อม ๆ กันได้โดยพิมพ์คำสั่ง add อุปกรณ์@ไลบรารี ตัวอย่างเช่น หากเราต้องการเพิ่มอุปกรณ์ชื่อ R-EU_0207/10 จากไลบรารีชื่อ resistor ก็สามารถพิมพ์คำสั่ง

add r-eu_0207/10@resistor

เรายังสามารถใช้ wildcard (*) กับรูปแบบข้างต้นได้เช่นกัน

การใช้บัสเพื่อรวมสัญญาณ

บัสเป็นการนำเน็ตหลาย ๆ เน็ตมารวมกันเป็นกลุ่มเพื่อทำให้วงจรดูเป็นระเบียบมากยิ่งขึ้น โดยบัสจะปรากฏเป็นเส้นหนาทึบในวงจร อย่างไรก็ตามการใช้งานบัสในผังวงจรนั้นมีไว้เพื่อความสะดวกในการสื่อความหมายเท่านั้น ไม่ได้มีผลต่อตัวบอร์ดใด ๆ ทั้งสิ้น

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

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

VCC,GND,IN1,IN2,OUT1,OUT2

เราสามารถใช้สัญลักษณ์ [0..N] เพื่อระบุรายการของเน็ตที่ชื่อมีลักษณะเป็นเลขเรียงต่อกันได้ เช่น

PC[0..5],VCC,GND

หลังจากสร้างบัสแล้วเราควรแปะฉลากแสดงชื่อบัสไว้บนบริเวณบัสด้วย การแปะฉลากทำได้โดยใช้คำสั่ง Label และคลิ้กไปบนบัส จากนั้นจึงเลือกตำแหน่งที่ต้องการวางฉลาก ดังแสดง

ฉลาก (label) ระบุชื่อบัส

เมื่อเราพยายามเชื่อมเน็ตเข้ากับบัส หรือลากเน็ตออกมาจากบัส EAGLE จะแสดงป๊อปอัพเมนูให้เลือกเน็ตที่เราต้องการเชื่อม เนื่องจากการมองบัสจากวงจรจะไม่เห็นเลยว่าภายในบัสมีเน็ตอะไรอยู่บ้าง และเน็ตที่นำมาเชื่อมถูกเชื่อมเข้ากับเน็ตใดในบัส เราจึงจำเป็นต้องแปะฉลากให้กับเน็ตที่เชื่อมอยู่กับบัสโดยใช้คำสั่ง Label เช่นเดียวกัน การวาดเน็ตให้เชื่อมกับบัสนั้นนิยมวาดให้เฉียงลงมา 45 องศาเพื่อให้ผังวงจรอ่านง่ายขึ้น

ฉลากระบุชื่อเน็ตที่เชื่อมกับบัส

การตรวจสอบความถูกต้อง

สิ่งสุดท้ายที่ควรตรวจสอบก่อนเข้าสู่กระบวนการออกแบบบอร์ดคือการตรวจความถูกต้องทางไฟฟ้า (electrical rule check) หรือ ERC ซึ่งทำได้โดยใช้คำสั่ง ERC ตัวอย่างของความผิดพลาดที่ EAGLE ตรวจสอบให้ได้แก่

  • การปล่อยขาอินพุทของอุปกรณ์ไว้โดยไม่เชื่อมต่อ
  • การเชื่อมต่อไฟเลี้ยงที่ไม่เหมาะสมเข้ากับอุปกรณ์ หรือลืมเชื่อม
  • ส่วนของวงจรหรือคุณสมบัติต่าง ๆ ที่ไม่สอดคล้องกันระหว่างไฟล์ผังวงจร (schematic) กับไฟล์บอร์ด (board)

แม้ ERC จะรายงานความผิดพลาดได้ในระดับหนึ่ง การที่เราไม่พบความผิดพลาดจาก ERC ไม่ได้หมายความว่าวงจรของเราไม่มีข้อผิดพลาดแต่อย่างใด จึงควรไล่ตรวจสอบวงจรอย่างละเอียดถี่ถ้วนก่อนเริ่มต้นออกแบบบอร์ดในขั้นตอนต่อไป


การออกแบบบอร์ดด้วย Board Editor

หมายเหตุ: เครื่องจักรในกระบวนการผลิตแผ่นวงจรพิมพ์มักรองรับตัวอักษรแบบ Vector เพียงอย่างเดียว เพื่อความปลอดภัยจึงควรปรับตั้งค่าให้โปรแกรม EAGLE ใช้เพียงตัวอักษรแบบ Vector เท่านั้นโดยเปิดไดอะล็อกซ์ User Interface จากเมนู Options -> User Interface และเลือกช่อง Always vector font

วางอุปกรณ์และเดินเส้นสัญญาณ

สร้างไฟล์คำสั่งสำหรับควบคุมเครื่องกัดลายวงจร