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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 50 รุ่นระหว่างกลางโดยผู้ใช้ 13 คน)
แถว 1: แถว 1:
ในปฏิบัติการนี้ เราจะออกแบบลายวงจรพิมพ์สำหรับสร้างแผ่นวงจรพิมพ์ให้กับวงจรไมโครคอนโทรลเลอร์
+
: ''วิกินี้เป็นส่วนหนึ่งของรายวิชา [[01204223]]''
 +
 
 +
วิกินี้อธิบายกระบวนการสร้างแผ่นวงจรพิมพ์โดยการออกแบบผังวงจรและลายวงจร โดยใช้บอร์ดพ่วง (peripheral board) สำหรับบอร์ดไมโครคอนโทรลเลอร์เป็นตัวอย่างในการออกแบบ
 
เครื่องมือหลักที่จะนำมาใช้ในกระบวนการนี้ได้แก่โปรแกรม  
 
เครื่องมือหลักที่จะนำมาใช้ในกระบวนการนี้ได้แก่โปรแกรม  
 
[http://www.cadsoftusa.com/info.htm EAGLE] ของบริษัท [http://www.cadsoftusa.com/ CadSoft Computer Inc.]
 
[http://www.cadsoftusa.com/info.htm EAGLE] ของบริษัท [http://www.cadsoftusa.com/ CadSoft Computer Inc.]
  
== ดาวน์โหลดและติดตั้งโปรแกรม EAGLE ==
+
== การตั้งค่าเบื้องต้น ==
* ดาวน์โหลดโปรแกรม EAGLE 5.6.0 สำหรับระบบปฏิบัติการลินุกซ์ได้จาก[http://kunetlab2.cpe.ku.ac.th/download/pcb/eagle-lin-5.6.0.run ที่นี่] หรือเช็คหน้า[http://www.cadsoftusa.com/download.htm ดาวน์โหลด]ของ CadSoft สำหรับโปรแกรมเวอร์ชันใหม่ล่าสุด
+
* '''คีย์ด่วน:''' การใช้การโปรแกรม EAGLE บนสภาพแวดล้อมของ GNOME อาจมีปัญหาเรื่องปุ่มคีย์ด่วนที่เป็นปุ่มเดียวกัน อาทิเช่น EAGLE ใช้ปุ่ม Alt-F2 สำหรับปรับขนาดภาพให้เต็มหน้าจอ แต่ GNOME จะดักปุ่ม Alt-F2 ไว้เนื่องจากเป็นคีย์ด่วนสำหรับเปิดไดอะล็อกซ์ Run หรือการกดปุ่ม Alt ค้างไว้พร้อมกับการลากเม้าส์จะเป็นการเปลี่ยนไปใช้ช่องกริดใน EAGLE ที่ละเอียดขึ้น แต่สำหรับ GNOME จะเป็นการเคลื่อนย้ายหน้าต่าง เป็นต้น ผู้ใช้จึงควรปรับแต่งคีย์เหล่านี้ให้ไม่ซ้ำกัน ซึ่งอาจปรับแต่งใน EAGLE เองหรือ GNOME ก็ได้
  
* จากนั้นเปิดโปรแกรมเทอร์มินัล เปลี่ยนไดเรคตอรีไปยังจุดที่เซฟโปรแกรมติดตั้งไว้และพิมพ์คำสั่ง
+
* '''ไดเรคตอรี:''' ในการเรียกใช้งานครั้งแรก EAGLE ได้ถูกตั้งค่าไดเรคตอรีต่าง ๆ ไว้สำหรับค้นหาข้อมูลเกี่ยวกับโครงงาน ไลบรารีของอุปกรณ์ สคริปต์การทำงานของผู้ใช้ ฯลฯ
  
sudo sh eagle-lin-5.6.0.run
+
=== การติดตั้งไลบรารีอุปกรณ์เพิ่มเติม ===
 +
เนื่องจากงานออกแบบแผ่นวงจรพิมพ์ของเราอาศัยไลบรารีของอุปกรณ์นอกเหนือจากที่ให้มากับ EAGLE เราจึงต้องตั้งค่าไดเรคตอรีนี้ใหม่ ซึ่งทำได้โดยการเปิดไดอะล็อกซ์ Directories จากเมนู Options -> Directories ของหน้าต่าง Control Panel และตั้งค่าของ Libraries เป็น
  
* ดำเนินตามขั้นตอนการติดตั้งโดยระบุไดเรคตอรีปลายทางสำหรับชุดโปรแกรม อย่างไรก็ตามไดเรคตอรี <code>/opt/eagle-5.6.0</code> ที่ตัวติดตั้งกำหนดเริ่มต้นมาให้นั้นเหมาะสมดีแล้ว
+
$EAGLEDIR/lbr:$HOME/eagle/lbr
  
* ทดสอบว่าโปรแกรมติดตั้งและทำงานได้สมบูรณ์โดยพิมพ์คำสั่ง
 
  
/opt/eagle-5.6.0/bin/eagle
+
คลังอุปกรณ์ที่ติดตั้งมาให้กับโปรแกรม EAGLE นั้นแม้จะมีมากมาย แต่มักมีไม่เพียงพอ บริษัท CadSoft เองได้รวบรวม[http://www.cadsoftusa.com/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.en&dir=eagle/userfiles/libraries ไฟล์ไลบรารีเสริม]ให้เราสามารถดาวน์โหลดมาใช้ในวงจรของเราได้ อย่างไรก็ตามผู้สอนได้รวบรวมรายการอุปกรณ์ที่จำเป็นสำหรับการออกแบบบอร์ดเสริืมเอาไว้แล้ว ให้ดาวน์โหลดไฟล์ [https://www.cpe.ku.ac.th/~cpj/204223/practicum.lbr practicum.lbr] และนำไปเก็บไว้ในไดเรคตอรี <code>$HOME/eagle/lbr</code> หลังจากนั้นลองตรวจสอบในหน้าต่าง Control Panel ของ EAGLE จะพบว่าในส่วนของ Libraries จะมีไดเรคตอรีย่อย <code>lbr</code> ปรากฏขึ้นอีกหนึ่งรายการ ภายใต้ไดเรคตอรีย่อยจะมีรายการของไลบรารี <code>practicum.lbr</code>ที่เราได้ติดตั้งลงไป อย่างไรก็ตามไลบรารีนี้ยังมีสถานะไม่ถูกใช้งาน จึงต้องแจ้ง EAGLE ว่าจะเลือกใช้ไลบรารีนี้โดยการคลิ้กเมาส์ที่บริเวณวงกลมสีแดงตามภาพด้านล่างให้ปรากฏเป็นปุ่มสีเขียวขึ้น (หากมีสีเขียวอยู่แล้วไม่ต้องกดซ้ำ ไม่เช่นนั้นจะเป็นการระบุว่ายกเลิกการใช้ไลบรารีนี้)
  
:ซึ่งในการเรียกครั้งแรก EAGLE อาจร้องเรียนเรื่องไดเรคตอรีที่หาไม่พบ และเสนอให้สร้างขึ้น หลังจากนั้นหน้าต่าง Control Panel ควรปรากฏขึ้นดังแสดงในรูปตัวอย่าง [[Image:eagle-panel.png|center|300px]]
+
[[Image:eagle-lbr.png|center|500px]]
 
 
* เพื่อความสะดวกในการเรียกโปรแกรม เราควรสร้าง Application Launcher ที่ชี้ไปยังโปรแกรม <code>/opt/eagle-5.6.0/bin/eagle</code> ไว้บนหน้าเดสท้อปของตนเอง
 
 
 
== การตั้งค่าเบื้องต้น ==
 
* '''คีย์ด่วน:''' การใช้การโปรแกรม 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
 
  
 
== สร้างโปรเจ็คใหม่ ==
 
== สร้างโปรเจ็คใหม่ ==
แถว 34: แถว 27:
 
:* คลิ้กขวาที่ practicum และเลือก New Schematic จะปรากฏหน้าจอสำหรับการวาดแผนผังวงจรดังรูป  
 
:* คลิ้กขวาที่ practicum และเลือก New Schematic จะปรากฏหน้าจอสำหรับการวาดแผนผังวงจรดังรูป  
 
[[Image:eagle-sch.png|center|300px]]
 
[[Image:eagle-sch.png|center|300px]]
:* เลือกเมนู File -> Save และตั้งชื่อเป็น ''main''
+
:* เลือกเมนู File -> Save และตั้งชื่อเป็น ''peripheral''
 
:* กดปุ่มสร้างบอร์ด [[Image:eagle-button-board.png]] ซึ่ง EAGLE จะร้องเรียนว่าไม่พบไฟล์บอร์ดและเสนอให้สร้างไฟล์นี้ขึ้น หลังจากตอบตกลงจะปรากฏหน้าต่างสำหรับแก้ไขบอร์ด ดังรูป  
 
:* กดปุ่มสร้างบอร์ด [[Image:eagle-button-board.png]] ซึ่ง EAGLE จะร้องเรียนว่าไม่พบไฟล์บอร์ดและเสนอให้สร้างไฟล์นี้ขึ้น หลังจากตอบตกลงจะปรากฏหน้าต่างสำหรับแก้ไขบอร์ด ดังรูป  
 
[[Image:eagle-pcb.png|center|300px]]
 
[[Image:eagle-pcb.png|center|300px]]
แถว 45: แถว 38:
  
 
=== ส่วนประกอบของหน้าต่าง ===
 
=== ส่วนประกอบของหน้าต่าง ===
โปรแกรมแก้ไขแผนผังวงจรของ EAGLE มีลักษณะดังรูป [[Image:eagle-sch-area.png|center|300px]] โปรแกรม EAGLE อนุญาตให้ผู้ใช้เรียกคำสั่งการทำงานได้ทั้งในรูปแบบ graphical user interface (GUI) และ command-line interface (CLI) เช่นการใช้คำสั่ง Move เพื่อเคลื่อนย้ายอุปกรณ์บนพื้นที่การทำงานสามารถทำได้ทั้งการคลิ้กเมาส์ที่รูป [[Image:eagle-button-move.png]] หรือพิมพ์คำสั่ง move ในกล่องรับคำสั่งแล้วกด Enter
+
โปรแกรมแก้ไขแผนผังวงจรของ EAGLE มีลักษณะดังรูป [[Image:eagle-sch-area.png|center|300px]] โปรแกรม EAGLE อนุญาตให้ผู้ใช้เรียกคำสั่งการทำงานได้ทั้งในรูปแบบกราฟิก (GUI) และคอมมานต์ไลน์ (CLI) เช่นการใช้คำสั่ง MOVE เพื่อเคลื่อนย้ายอุปกรณ์บนพื้นที่การทำงานสามารถทำได้ทั้งการคลิ้กเมาส์ที่รูป [[Image:eagle-button-move.png]] หรือพิมพ์คำสั่ง MOVE ในกล่องรับคำสั่งแล้วกด Enter
  
 
=== แถบคำสั่ง ===
 
=== แถบคำสั่ง ===
 
ด้านซ้ายมือของหน้าจอแสดงรายการของเครื่องมือที่มีให้ใน Schematic Editor [[Image:eagle-sch-toolbar.png|150px|thumb|กล่องคำสั่งของ Schematic Editor]]
 
ด้านซ้ายมือของหน้าจอแสดงรายการของเครื่องมือที่มีให้ใน Schematic Editor [[Image:eagle-sch-toolbar.png|150px|thumb|กล่องคำสั่งของ Schematic Editor]]
* '''คำสั่ง copy:''' เพิ่มอุปกรณ์ใหม่ลงไปในวงจรโดยคัดลอกมาจากอุปกรณ์ที่มีอยู่ในวงจรอยู่แล้ว
+
* '''คำสั่ง COPY:''' เพิ่มอุปกรณ์ใหม่ลงไปในวงจรโดยคัดลอกมาจากอุปกรณ์ที่มีอยู่ในวงจรอยู่แล้ว
* '''คำสั่ง group:''' รวมอุปกรณ์และส่วนประกอบอื่น ๆ เข้าไว้เป็นกลุ่มชั่วคราว ซึ่งหลังจากนั้นเราสามารถใช้คำสั่งอื่น ๆ อาทิเช่น คำสั่ง move rotate delete กับส่วนประกอบทั้งหมดในกลุ่มพร้อม ๆ กันได้
+
* '''คำสั่ง GROUP:''' รวมอุปกรณ์และส่วนประกอบอื่น ๆ เข้าไว้เป็นกลุ่มชั่วคราว ซึ่งหลังจากนั้นเราสามารถใช้คำสั่งอื่น ๆ อาทิเช่น คำสั่ง MOVE ROTATE DELETE กับส่วนประกอบทั้งหมดในกลุ่มพร้อม ๆ กันได้
* '''คำสั่ง change:''' อนุญาตให้เราปรับคุณสมบัติของส่วนประกอบในวงจร ซึ่งการเลือกคำสั่งนี้จะมีผลให้เราเลือกคุณสมบัติและค่าต่าง ๆ ที่ต้องการปรับเสียก่อน แล้วจึงค่อยนำเมาส์ไปคลิ้กเลือกอุปกรณ์ที่ต้องการปรับค่า
+
* '''คำสั่ง CHANGE:''' อนุญาตให้เราปรับคุณสมบัติของส่วนประกอบในวงจร ซึ่งการเลือกคำสั่งนี้จะมีผลให้เราเลือกคุณสมบัติและค่าต่าง ๆ ที่ต้องการปรับเสียก่อน แล้วจึงค่อยนำเมาส์ไปคลิ้กเลือกอุปกรณ์ที่ต้องการปรับค่า
  
 
=== การขอความช่วยเหลือ ===
 
=== การขอความช่วยเหลือ ===
ดังเช่นโปรแกรมทั่วไป เราสามารถเปิดคู่มือการใช้งานจากเมนู Help นอกจากนั้นเรายังสามารถแสดงการใช้งานของคำสั่งใด ๆ โดยพิมพ์ <code>help ชื่อคำสั่ง</code> ลงไปในกล่องรับคำสั่ง
+
ดังเช่นโปรแกรมทั่วไป เราสามารถเปิดคู่มือการใช้งานจากเมนู Help นอกจากนั้นเรายังสามารถแสดงการใช้งานของคำสั่งใด ๆ โดยพิมพ์ <code>HELP ชื่อคำสั่ง</code> ลงไปในกล่องรับคำสั่ง
  
 
=== การวางกรอบให้พื้นที่งาน ===
 
=== การวางกรอบให้พื้นที่งาน ===
แถว 66: แถว 59:
  
 
=== การเพิ่มอุปกรณ์ลงในวงจร ===
 
=== การเพิ่มอุปกรณ์ลงในวงจร ===
เช่นเดียวกับการเพิ่มเฟรม เราสามารถเพิ่มอุปกรณ์อื่น ๆ ลงไปในแผนผังวงจรได้โดยใช้คำสั่ง Add ซึ่งรองรับการใช้งาน wildcard (*) ในการค้นหาชื่ออุปกรณ์ที่ต้องการได้ อย่างไรก็ตามชื่ออุปกรณ์ส่วนใหญ่จะอยู่ในรูปคำย่อหรือคำอื่น ๆ ที่เราอาจคาดไม่ถึง อีกทั้งอาจเป็นอุปกรณ์ที่มีตัวถังที่ไม่เหมาะสมกับงานของเรา รูปด้านล่างแสดงอุปกรณ์ตัวต้านทานที่มีตัวถังเป็นแบบขาโลหะเจาะทะลุแผ่นวงจร ([http://en.wikipedia.org/wiki/Through-hole_technology thru-hole])
+
เช่นเดียวกับการเพิ่มเฟรม เราสามารถเพิ่มอุปกรณ์อื่น ๆ ลงไปในแผนผังวงจรได้โดยใช้คำสั่ง ADD ซึ่งรองรับการใช้งาน wildcard (*) ในการค้นหาชื่ออุปกรณ์ที่ต้องการได้ อย่างไรก็ตามชื่ออุปกรณ์ส่วนใหญ่จะอยู่ในรูปคำย่อหรือคำอื่น ๆ ที่เราอาจคาดไม่ถึง อีกทั้งอาจเป็นอุปกรณ์ที่มีตัวถังที่ไม่เหมาะสมกับงานของเรา รูปด้านล่างแสดงอุปกรณ์ตัวต้านทานที่มีตัวถังเป็นแบบขาโลหะเจาะทะลุแผ่นวงจร ([http://en.wikipedia.org/wiki/Through-hole_technology thru-hole])
 
[[Image:eagle-add-1.png|center|300px]]
 
[[Image:eagle-add-1.png|center|300px]]
 
ส่วนรูปนี้แสดงอุปกรณ์ตัวต้านทานเช่นเดียวกัน แม้จะมีสัญลักษณ์ที่ใช้ในผังวงจรเหมือนกันทุกประการ แต่ตัวถังเป็นแบบวางบนผิวแผ่นวงจร ([http://en.wikipedia.org/wiki/Surface-mount surface-mount]) จะไม่มีขาโลหะและมีขนาดเล็กกว่ามาก
 
ส่วนรูปนี้แสดงอุปกรณ์ตัวต้านทานเช่นเดียวกัน แม้จะมีสัญลักษณ์ที่ใช้ในผังวงจรเหมือนกันทุกประการ แต่ตัวถังเป็นแบบวางบนผิวแผ่นวงจร ([http://en.wikipedia.org/wiki/Surface-mount surface-mount]) จะไม่มีขาโลหะและมีขนาดเล็กกว่ามาก
 
[[Image:eagle-add-2.png|center|300px]]
 
[[Image:eagle-add-2.png|center|300px]]
  
ดังนั้นการเลือกอุปกรณ์ในช่วงแรกจึงควรเลือกจากไดอะล็อกซ์ Add เพื่อให้เห็นถึงรูปร่างตัวถังและคำอธิบายของอุปกรณ์ เมื่อทราบถึงชื่ออุปกรณ์ที่แน่ชัดแล้วเราจึงใช้คำสั่ง Add ตามด้วยชื่ออุปกรณ์ได้ทันทีโดยไม่ต้องเปิดไดอะล็อกซ์
+
ดังนั้นการเลือกอุปกรณ์ในช่วงแรกจึงควรเลือกจากไดอะล็อกซ์ Add เพื่อให้เห็นถึงรูปร่างตัวถังและคำอธิบายของอุปกรณ์ เมื่อทราบถึงชื่ออุปกรณ์ที่แน่ชัดแล้วเราจึงใช้คำสั่ง ADD ตามด้วยชื่ออุปกรณ์ได้ทันทีโดยไม่ต้องเปิดไดอะล็อกซ์
 +
 
 +
=== รายการอุปกรณ์ที่ใช้ในแผงวงจรพ่วง ===
 +
 
 +
{| class="wikitable" style="text-align: center;"
 +
! ชื่ออุปกรณ์ (Name)
 +
! ค่าอุปกรณ์ (Value)
 +
! ชื่ออุปกรณ์ในไลบรารี
 +
! ชื่อไลบรารี
 +
|-
 +
| R1
 +
| 330
 +
| R-US_0207/10
 +
| rcl
 +
|-
 +
| R2
 +
| 330
 +
| R-US_0207/10
 +
| rcl
 +
|-
 +
| R3
 +
| 330
 +
| R-US_0207/10
 +
| rcl
 +
|-
 +
| R4
 +
| 10K
 +
| R-US_0207/10
 +
| rcl
 +
|-
 +
| LED1
 +
| RED
 +
| LED3MM
 +
| led
 +
|-
 +
| LED2
 +
| YELLOW
 +
| LED3MM
 +
| led
 +
|-
 +
| LED3
 +
| GREEN
 +
| LED3MM
 +
| led
 +
|-
 +
| LDR1
 +
| -
 +
| LDR
 +
| practicum
 +
|-
 +
| S1 (สวิตช์กด)
 +
| -
 +
| DTS-6
 +
| practicum
 +
|-
 +
| JP1
 +
| -
 +
| HEADER-2x5
 +
| practicum
 +
|}
  
 
=== การเปลี่ยนคุณสมบัติและการลบอุปกรณ์ ===
 
=== การเปลี่ยนคุณสมบัติและการลบอุปกรณ์ ===
 
[[Image:eagle-handle.png|thumb|สัญลักษณ์ + บนตัวอุปกรณ์แสดงจุด origin หรือ handle]]
 
[[Image:eagle-handle.png|thumb|สัญลักษณ์ + บนตัวอุปกรณ์แสดงจุด origin หรือ handle]]
โปรแกรม EAGLE มีคำสั่งปรับคุณสมบัติ (เช่น move rotate change mirror) และคำสั่งลบ (delete) คำสั่งเหล่านี้สามารถเรียกจากแถบเครื่องมือด้านซ้าย พิมพ์คำสั่งผ่าน CLI หรือคลิ้กเมาส์ขวาที่ตัวอุปกรณ์แล้วเลือกจากป๊อปอัพเมนูก็ได้ แต่ปัญหาที่ผู้เริ่มต้นมักพบคือบ่อยครั้งที่โปรแกรมไม่ทำตามที่สั่งเมื่อเลือกเครื่องมือแล้วคลิ้กเมาส์ลงไปบนตัวอุปกรณ์ สาเหตุที่ทำให้เป็นเช่นนี้คือ EAGLE บังคับว่าการคลิ้กเลือกอุปกรณ์ต้องคลิ้กให้ถูกตำแหน่งที่เรียกว่า ''origin'' หรือ ''handle'' ของอุปกรณ์นั้น ๆ เท่านั้น ตำแหน่งนี้จะมีสัญลักษณ์เป็นรูป + อยู่บริเวณสัญลักษณ์ของอุปกรณ์ ดังแสดงในภาพประกอบ
+
โปรแกรม EAGLE มีคำสั่งปรับคุณสมบัติ (เช่น MOVE ROTATE CHANGE MIRROR) และคำสั่งลบ (DELETE) คำสั่งเหล่านี้สามารถเรียกจากแถบเครื่องมือด้านซ้าย พิมพ์คำสั่งผ่านคอมมานด์ไลน์หรือคลิ้กเมาส์ขวาที่ตัวอุปกรณ์แล้วเลือกจากป๊อปอัพเมนูก็ได้ แต่ปัญหาที่ผู้เริ่มต้นมักพบคือบ่อยครั้งที่โปรแกรมไม่ทำตามที่สั่งเมื่อเลือกเครื่องมือแล้วคลิ้กเมาส์ลงไปบนตัวอุปกรณ์ สาเหตุที่ทำให้เป็นเช่นนี้คือ EAGLE บังคับว่าการคลิ้กเลือกอุปกรณ์ต้องคลิ้กให้ถูกตำแหน่งที่เรียกว่า ''origin'' หรือ ''handle'' ของอุปกรณ์นั้น ๆ เท่านั้น ตำแหน่งนี้จะมีสัญลักษณ์เป็นรูป + อยู่บริเวณสัญลักษณ์ของอุปกรณ์ ดังแสดงในภาพประกอบ
  
 
=== การตั้งค่าและชื่อให้อุปกรณ์ ===
 
=== การตั้งค่าและชื่อให้อุปกรณ์ ===
อุปกรณ์ทุกตัวที่วางลงไปในวงจรควรระบุค่า (เช่น 330 Ohm, 22 pF) และชื่อ (เช่น R1, C2) เพื่อความสะดวกในการอ้างอิงและประกอบอุปกรณ์ลงบนแผ่นวงจรพิมพ์ในภายหลัง เราทำเช่นนี้ได้โดยใช้คำสั่ง name และ value ตามลำดับ ดังแสดง
+
อุปกรณ์ทุกตัวที่วางลงไปในวงจรควรระบุค่า (เช่น 330 Ohm, 22 pF) และชื่อ (เช่น R1, C2) เพื่อความสะดวกในการอ้างอิงและประกอบอุปกรณ์ลงบนแผ่นวงจรพิมพ์ในภายหลัง เราทำเช่นนี้ได้โดยใช้คำสั่ง NAME และ VALUE ตามลำดับ ดังแสดง
 
[[Image:eagle-nameval.png|center|thumb|ตัวอย่างตัวต้านทานชื่อ R1 ที่มีค่า 1.5 เมกะโอห์ม]]
 
[[Image:eagle-nameval.png|center|thumb|ตัวอย่างตัวต้านทานชื่อ R1 ที่มีค่า 1.5 เมกะโอห์ม]]
  
แถว 85: แถว 137:
 
การสร้างเน็ตเพื่อเชื่อมอุปกรณ์เข้าด้วยกันนั้นสามารถทำได้โดยใช้คำสั่ง net เพื่อเดินสายออกมาจากขาของอุปกรณ์หรือจากเน็ตที่ถูกวาดไว้แล้วก่อนหน้านี้
 
การสร้างเน็ตเพื่อเชื่อมอุปกรณ์เข้าด้วยกันนั้นสามารถทำได้โดยใช้คำสั่ง net เพื่อเดินสายออกมาจากขาของอุปกรณ์หรือจากเน็ตที่ถูกวาดไว้แล้วก่อนหน้านี้
 
การทำให้ส่วนของวงจรมีการเชื่อมต่อกันหรือเป็นเน็ตเดียวกันนั้นทำได้สองวิธี ดังนี้
 
การทำให้ส่วนของวงจรมีการเชื่อมต่อกันหรือเป็นเน็ตเดียวกันนั้นทำได้สองวิธี ดังนี้
* โยงเน็ตเหล่านั้นเข้าด้วยกันโดยใช้คำสั่ง net หรือ
+
* โยงเน็ตเหล่านั้นเข้าด้วยกันโดยใช้คำสั่ง NET หรือ
* ใช้คำสั่ง name ตั้งชื่อเน็ตเหล่านั้นให้เป็นชื่อเดียวกัน
+
* ใช้คำสั่ง NAME ตั้งชื่อเน็ตเหล่านั้นให้เป็นชื่อเดียวกัน
นั่นหมายความว่าส่วนของวงจรที่เราไม่เห็นสายเน็ตโยงถึงกันอาจเชื่อมกันอยู่ก็ได้ หากเน็ตมีชื่อเดียวกัน
+
นั่นหมายความว่าส่วนของวงจรที่เราไม่เห็นสายเน็ตโยงถึงกันอาจเชื่อมกันอยู่ก็ได้ '''หากเน็ตมีชื่อเดียวกัน'''
  
เน็ตสองเส้นที่พาดทับกันนั้นจะไม่ถือเป็นเน็ตเดียวกัน การทำให้เป็นเน็ตเดียวกันต้องใช้คำสั่ง junction เพื่อวางจุดเชื่อมต่อทับลงไปบนจุดตัดของเน็ตทั้งคู่ ดังแสดงในรูปด้านล่าง
+
เน็ตสองเส้นที่พาดทับกันนั้นจะไม่ถือเป็นเน็ตเดียวกัน การทำให้เป็นเน็ตเดียวกันต้องใช้คำสั่ง JUNCTION เพื่อวางจุดเชื่อมต่อทับลงไปบนจุดตัดของเน็ตทั้งคู่ ดังแสดงในรูปด้านล่าง
  
 
<gallery>
 
<gallery>
 
Image:eagle-nojunc.png|ต่างเน็ตกัน
 
Image:eagle-nojunc.png|ต่างเน็ตกัน
 
Image:eagle-junc.png|เน็ตเดียวกัน
 
Image:eagle-junc.png|เน็ตเดียวกัน
 +
</gallery>
 +
 +
เราสามารถใช้คำสั่ง SHOW และคลิ้กที่เน็ตใด ๆ (หรือพิมพ์คำสั่ง SHOW <ชื่อเน็ต> ในคอมมานต์ไลน์) เพื่อไฮไลท์เน็ตนั้น ๆ ขึ้นมาได้ เน็ตที่ถูกไฮไลท์จะแสดงทั้งในหน้าต่าง Schematic Editor และ Board Editor
 +
 +
<gallery>
 +
Image:eagle-show-net-sch.png|เน็ตที่ถูกสั่งแสดง (ไฮไลท์) ในหน้าต่าง Schematic Editor
 +
Image:eagle-show-net-brd.png|เน็ตเดียวกันที่ถูกสั่งแสดง (ไฮไลท์) ในหน้าต่าง Board Editor
 
</gallery>
 
</gallery>
  
แถว 104: แถว 163:
 
</gallery>
 
</gallery>
  
=== การติดตั้งไลบรารีอุปกรณ์เพิ่มเติม ===
+
บ่อยครั้งที่เราพบว่ามีอุปกรณ์ที่มีชื่อเดียวกันแต่อยู่ต่างไลบรารีกัน ในการใช้คำสั่ง add เราสามารถระบุทั้งชื่ออุปกรณ์และชื่อไลบรารีพร้อม ๆ กันได้โดยพิมพ์คำสั่ง <code>ADD อุปกรณ์@ไลบรารี</code> ตัวอย่างเช่น
โครงงานที่เราจะออกแบบลายวงจรนั้นอาศัยชุดอุปกรณ์ที่ไม่ได้ให้มากับโปรแกรม EAGLE ตั้งแต่แรกเริ่ม ในที่นี้ทางบริษัท CadSoft เองได้รวบรวม[http://www.cadsoftusa.com/cgi-bin/download.pl?page=/home/cadsoft/html_public/download.htm.en&dir=eagle/userfiles/libraries ไฟล์ไลบรารีเสริม]ให้เราสามารถดาวน์โหลดมาใช้ในวงจรของเราได้ ไลบรารีที่เราต้องดาวน์โหลดเพิ่มเติมจากเว็บของ CadSoft เพื่อนำมาใช้ในโครงงานมีดังนี้
 
* atmega8.lbr สำหรับอุปกรณ์ไมโครคอนโทรลเลอร์ ATMega168
 
* switch-tact.lbr สำหรับอุปกรณ์สวิทช์รีเซ็ต
 
 
 
นอกจากนั้นเรายังต้องการข้อมูลของหัวเชื่อมต่อ USB ซึ่งดาวน์โหลดได้จากลิ้งค์ด้านล่าง
 
* [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|500px]]
 
 
 
บ่อยครั้งที่เราพบว่ามีอุปกรณ์ที่มีชื่อเดียวกันแต่อยู่ต่างไลบรารีกัน ในการใช้คำสั่ง add เราสามารถระบุทั้งชื่ออุปกรณ์และชื่อไลบรารีพร้อม ๆ กันได้โดยพิมพ์คำสั่ง <code>add อุปกรณ์@ไลบรารี</code> ตัวอย่างเช่น
 
 
หากเราต้องการเพิ่มอุปกรณ์ชื่อ R-EU_0207/10 จากไลบรารีชื่อ resistor ก็สามารถพิมพ์คำสั่ง
 
หากเราต้องการเพิ่มอุปกรณ์ชื่อ R-EU_0207/10 จากไลบรารีชื่อ resistor ก็สามารถพิมพ์คำสั่ง
  
  add r-eu_0207/10@resistor
+
  ADD r-eu_0207/10@resistor
  
 
เรายังสามารถใช้ wildcard (*) กับรูปแบบข้างต้นได้เช่นกัน
 
เรายังสามารถใช้ 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|ฉลากระบุชื่อเน็ตที่เชื่อมกับบัส]]
 
  
 
=== การตรวจสอบความถูกต้อง ===
 
=== การตรวจสอบความถูกต้อง ===
แถว 151: แถว 178:
  
  
== การออกแบบบอร์ดโดยใช้ Board Editor ==
+
== การออกแบบแผ่นวงจรพิมพ์โดยใช้ Board Editor ==
<span style="color:red">'''หมายเหตุ:''' เครื่องจักรในกระบวนการผลิตแผ่นวงจรพิมพ์มักรองรับตัวอักษรแบบ Vector เพียงอย่างเดียว เพื่อความปลอดภัยจึงควรปรับตั้งค่าให้โปรแกรม EAGLE ใช้เพียงตัวอักษรแบบ Vector เท่านั้นโดยเปิดไดอะล็อกซ์ User Interface จากเมนู Options -> User Interface และเลือกช่อง Always vector font</span>
+
[[Image:eagle-pcb-tools.png|120px|thumb|กล่องคำสั่งของ Board Editor]]
 +
<span style="color:red">'''หมายเหตุ:''' เครื่องจักรในกระบวนการผลิตแผ่นวงจรพิมพ์บางแห่งรองรับตัวอักษรแบบเวกเตอร์เพียงอย่างเดียว เพื่อความยืดหยุ่นในการสั่งผลิตจึงควรปรับตั้งค่าให้โปรแกรม EAGLE ใช้เพียงตัวอักษรแบบเวกเตอร์เท่านั้นโดยเปิดไดอะล็อกซ์ User Interface จากเมนู Options -> User Interface และเลือกช่อง Always vector font</span>
  
 
ขั้นตอนนี้เป็นการนำเอาอุปกรณ์จากวงจรที่วาดไว้ในผังวงจรมาสร้างเป็นแผ่นวงจรพิมพ์ (printed circuit board - PCB) โดยการวางตำแหน่งอุปกรณ์ให้เหมาะสมบนบอร์ดและเดินลายทองแดงเพื่อเชื่อมอุปกรณ์ต่าง ๆ เข้าด้วยกัน โดยปกติ EAGLE จะเปิดหน้าต่าง Board Editor ค้างไว้โดยอัตโนมัติหลังจากที่เราดับเบิ้ลคลิ้กที่ไฟล์ .sch ในหน้าต่าง Control Panel อย่างไรก็ตามกรณีที่เผลอปิดหน้าต่าง Board Editor ไปก็สามารถเปิดกลับมาใหม่โดยใช้คำสั่ง Board ใน Schematic Editor
 
ขั้นตอนนี้เป็นการนำเอาอุปกรณ์จากวงจรที่วาดไว้ในผังวงจรมาสร้างเป็นแผ่นวงจรพิมพ์ (printed circuit board - PCB) โดยการวางตำแหน่งอุปกรณ์ให้เหมาะสมบนบอร์ดและเดินลายทองแดงเพื่อเชื่อมอุปกรณ์ต่าง ๆ เข้าด้วยกัน โดยปกติ EAGLE จะเปิดหน้าต่าง Board Editor ค้างไว้โดยอัตโนมัติหลังจากที่เราดับเบิ้ลคลิ้กที่ไฟล์ .sch ในหน้าต่าง Control Panel อย่างไรก็ตามกรณีที่เผลอปิดหน้าต่าง Board Editor ไปก็สามารถเปิดกลับมาใหม่โดยใช้คำสั่ง Board ใน Schematic Editor
 +
  
 
=== การกำหนดขนาดบอร์ด ===
 
=== การกำหนดขนาดบอร์ด ===
กรอบที่เห็นในตอนแรกที่เปิดหน้าต่าง Board Editor ขึ้นมาจะเป็นขนาดของบอร์ดตั้งต้น ซึ่งถือเป็นขนาดที่ใหญ่ที่สุดสำหรับโปรแกรม EAGLE ที่เป็นเวอร์ชันแบบฟรีแวร์ (Light Edition) เพื่อความสะดวกในการจัดเตรียมเครื่องกัดลายวงจร ขอให้ทุกกลุ่มปรับบอร์ดให้มีขนาด 3x1.625 นิ้ว (แนวนอน x แนวตั้ง) โดยยึดให้มุมล่างซ้ายอยู่ที่พิกัด (0,0) ตามเดิม
+
กรอบที่เห็นในตอนแรกที่เปิดหน้าต่าง Board Editor ขึ้นมาจะเป็นขนาดของบอร์ดตั้งต้น ซึ่งถือเป็นขนาดที่ใหญ่ที่สุดสำหรับโปรแกรม EAGLE ที่เป็นเวอร์ชันแบบฟรีแวร์ (Light Edition) เพื่อความสะดวกในการจัดเตรียมไฟล์สำหรับส่งผลิต ขอให้ปรับบอร์ดให้มีขนาด 1.5x1.5 นิ้ว โดยยึดให้มุมล่างซ้ายอยู่ที่พิกัด (0,0) ตามเดิม
  
 
การปรับขนาดบอร์ดทำได้โดยการใช้คำสั่ง Move และคลิ้กที่บริเวณมุมต่าง ๆ ของบอร์ด
 
การปรับขนาดบอร์ดทำได้โดยการใช้คำสั่ง Move และคลิ้กที่บริเวณมุมต่าง ๆ ของบอร์ด
  
=== การกำหนดกฏเกณฑ์การออกแบบให้สอดคล้องกับเครื่องกัดลาย ===
+
=== การกำหนดกฏเกณฑ์การออกแบบให้สอดคล้องกับกระบวนการผลิต ===
 +
รายละเอียดในออกแบบลายวงจร อาทิเช่นขนาดเส้นและแป้นทองแดง ขึ้นอยู่กับข้อจำกัดของเทคโนโลยีที่ใช้ในการผลิต จึงต้องศึกษาข้อมูลจากคู่มือเครื่องจักรที่นำมาใช้ ในกรณีนี้บอร์ดพ่วงที่ทำขึ้นจะถูกรวบรวมส่งไปผลิตที่บริษัท [http://www.innotechpcb.com/ InnotechPCB] ย่านรัตนาธิเบศร์ ซึ่งทางร้านได้เตรียมข้อมูลด้านการออกแบบเอาไว้แล้วที่หน้าเว็บ [http://www.innotechpcb.com/index.php/2013-05-31-09-46-23/faqs-design FAQs -> คำถามเกี่ยวกับการออกแบบ]
 +
 
 +
จากข้อมูลที่ระบุในหน้าเว็บข้างต้น (ณ วันที่ 12 กันยายน 2558) ให้ปรับตั้งกฎการออกแบบโดยเปิดเมนู Edit -> Design Rules
 +
* แท็บ Clearance: ปรับระยะห่างระหว่างลายทองแดงสองเส้นใด ๆ ให้ไม่ต่ำกว่า 10 mil (10/1000 นิ้ว)
 +
* แท็บ Sizes: ปรับขนาดลายเส้นต่ำสุด (Minimum Width) ให้ไม่ต่ำกว่า 10 mil
  
=== แอร์ไวร์และเราท์ ===
+
กฎเหล่านี้จะถูกใช้ในขั้นตอนการทำ Design Rule Check (คำสั่ง DRC) เพื่อตรวจสอบว่าแผ่นวงจรพิมพ์ที่ออกแบบมานั้นผ่านเกณฑ์ที่ตั้งไว้หรือไม่
การเชื่อมโยงที่เกิดขึ้นจากเน็ตจะถูกแสดงผลเป็นเส้นบาง ๆ เรียกว่า ''แอร์ไวร์ (airwire)'' ซึ่งแสดงให้เห็นว่าจุดเหล่านี้ต้องเชื่อมต่อกันด้วยลายทองแดง การเดินลายทองแดงสามารถทำได้ทั้งแบบทำด้วยมือโดยใช้คำสั่ง Route หรือทำแบบอัตโนมัติโดยใช้คำสั่ง Auto ซึ่งจะอธิบายต่อไป
+
 
 +
=== แอร์ไวร์และลายทองแดง ===
 +
การเชื่อมโยงที่เกิดขึ้นจากเน็ตจะถูกแสดงผลเป็นเส้นบาง ๆ เรียกว่า''แอร์ไวร์ (airwire)'' ซึ่งแสดงให้เห็นว่าจุดเหล่านี้ต้องเชื่อมต่อกันด้วยลายทองแดง หรือ''เทรซ (trace)'' การเดินลายทองแดงสามารถทำได้ทั้งแบบทำด้วยมือโดยใช้คำสั่ง ROUTE หรือทำแบบอัตโนมัติโดยใช้คำสั่ง AUTO ซึ่งจะอธิบายต่อไป
 
[[Image:eagle-airwire.png|150px|center|thumb|การเชื่อมต่อที่ยังไม่ได้เดินลายทองแดง แสดงในรูปของแอร์ไวร์]]
 
[[Image:eagle-airwire.png|150px|center|thumb|การเชื่อมต่อที่ยังไม่ได้เดินลายทองแดง แสดงในรูปของแอร์ไวร์]]
 
[[Image:eagle-route.png|150px|center|thumb|การเชื่อมต่อที่เดินลายทองแดงแล้ว]]
 
[[Image:eagle-route.png|150px|center|thumb|การเชื่อมต่อที่เดินลายทองแดงแล้ว]]
 
=== รูเจาะสำหรับทำขาตั้ง ===
 
แผ่นวงจรพิมพ์ที่บัดกรีและใช้งานอยู่ควรถูกหนุนด้วยขาตั้งเพื่อป้องกันการลัดวงจรที่อาจเกิดขึ้นจากการนำเอาแผ่นวงจรพิมพ์ไปวางบนพื้นผิวโลหะ ดังนั้นเราจึงต้องเตรียมรูเจาะไว้ที่มุมทั้งสี่ของบอร์ด ให้ใช้คำสั่ง Hole เพื่อเจาะรูขนาด 2.8 mm (0.110236 นิ้ว) ไว้ที่มุมทั้งสี่
 
  
 
=== การวางอุปกรณ์ ===
 
=== การวางอุปกรณ์ ===
 
ก่อนเริ่มต้นเดินลายทองแดง เราควรต้องจัดอุปกรณ์ต่าง ๆ ให้อยู่ในตำแหน่งที่เหมาะสมเสียก่อน การจัดวางอุปกรณ์ควรคำนึงถึงสิ่งต่อไปนี้
 
ก่อนเริ่มต้นเดินลายทองแดง เราควรต้องจัดอุปกรณ์ต่าง ๆ ให้อยู่ในตำแหน่งที่เหมาะสมเสียก่อน การจัดวางอุปกรณ์ควรคำนึงถึงสิ่งต่อไปนี้
* อุปกรณ์ที่มีตำแหน่งเฉพาะที่ ในที่นี้คือหัวเชื่อมต่อ USB ที่ต้องวางให้อยู่บริเวณขอบด้านสั้นด้านใดด้านหนึ่งของบอร์ด โดยวางจุดยึดที่เป็นวงกลมขนาดใหญ่สองวงให้อยู่บริเวณขอบของบอร์ด แต่อย่าชิดขอบมากจนเกินไป สังเกตเส้นแนวตั้งที่ลากพาดสัญลักษณ์ของอุปกรณ์ เป็นส่วนที่แสดงให้เห็นถึงระดับที่ต่างกันของหัวเชื่อมต่อซึ่งต้องจัดให้วางอยู่ในแนวเดียวกันกับขอบของบอร์ด
+
* จุดเชื่อมต่อแบบ 5x2 ขา ควรวางให้อยู่บริเวณขอบด้านซ้ายแต่อย่าชิดขอบมากเกินไปนัก และหันทิศทางของขาให้ตรงกับจุดเชื่อมต่อบนบอร์ดไมโครคอนโทรลเลอร์
[[Image:eagle-usb.png|thumb|ตำแหน่งของหัว USB แสดงการจัดให้เส้นแนวดิ่งพาดไปตามขอบของบอร์ด]]
+
[[Image:eagle-con5x2.png|thumb|ตำแหน่งของจุดเชื่อมต่อแบบ 5x2 ขา แสดงตำแหน่งและสัญลักษณ์ของขา 1 (แป้นสี่เหลี่ยม) ซึ่งต้องปรับทิศให้อยู่ที่มุมล่างขวา]]
* อุปกรณ์ที่ควรเข้าถึงได้สะดวก ได้แก่สวิตช์รีเซ็ต จัมเปอร์ และคอนเน็คเตอร์ 10 ขา ควรวางในตำแหน่งที่ไม่มีอุปกรณ์หนาแน่นนัก และควรวางตัวอยู่บริเวณรอบนอกของบอร์ดเพื่อให้เข้าถึงได้สะดวก
+
* สวิตช์กด ควรวางในตำแหน่งที่ไม่มีอุปกรณ์หนาแน่นนัก และควรวางตัวอยู่บริเวณรอบนอกของบอร์ดเพื่อให้เข้าถึงได้สะดวก
* [http://en.wikipedia.org/wiki/Decoupling_capacitor decoupling capacitor] เป็นตัวเก็บประจุที่วางคร่อมขาไฟเลี้ยง (VCC และ GND) ของไมโครคอนโทรลเลอร์ ตามที่เห็นจากแผนผังวงจร ตัวเก็บประจุนี้ ทำหน้าที่กรองไฟที่อาจเกิดการกระชากจากการเปลี่ยนระดับโลจิกอย่างฉับพลันของไมโครคอนโทรลเลอร์ เพื่อให้การกรองไฟมีประสิทธิภาพสูงสุด ตัว decoupling capacitor นี้ต้องอยู่ใกล้กับขาไฟเลี้ยงของไอซีให้มากที่สุด และลายทองแดงที่เดินจากตัวเก็บประจุนี้ไปยังขาไอซีควรจะทำให้สั้นที่สุดเท่าที่จะทำได้เช่นกัน
+
* ตัวต้านทานวัดแสง ควรวางให้ห่างจาก LED เพื่อป้องกันแสงรบกวน และวางในจุดที่ไม่โดนอุปกรณ์อื่น (เช่นสายแพ) บดบังแสงได้ง่าย
* ตัวเก็บประจุแบบน้ำยา เป็นตัวเก็บประจุขนาดใหญ่ที่วางดักหน้าไฟเลี้ยงที่มาจากพอร์ต USB ซึ่งทำหน้าที่กรองไฟให้เรียบสม่ำเสมอก่อนที่จะถูกนำไปเลี้ยงวงจรทั้งหมด ดังนั้นตัวเก็บประจุนี้จึงควรวางไว้ใกล้กับขาไฟเลี้ยงจากพอร์ต USB และลายทองแดงจากขา USB มายังตัวเก็บประจุก็ไม่ควรยาวมากเช่นกัน
+
* LED ควรวางให้อยู่ในแนวเส้นตรงเดียวกัน และเรียงลำดับสีเป็น แดง-เหลือง-เขียว
* อุปกรณ์ที่เหลือสามารถวางอย่างไรก็ได้ แต่เพื่อความสะดวกในการหาเส้นทางเดินลายทองแดง อุปกรณ์เหล่านี้ควรอยู่ในตำแหน่งและทิศทางที่ทำให้แอร์ไวร์ตัดกันน้อยที่สุดเท่าที่จะทำได้ จงระวังว่า EAGLE จะไม่คำนวณแอร์ไวร์ให้ใหม่ทันทีที่ย้ายหรือหมุนอุปกรณ์ เราต้องหมั่นใช้คำสั่ง Ratsnest เพื่อให้ EAGLE คำนวณเส้นแอร์ไวร์ใหม่
+
* อุปกรณ์ที่เหลือสามารถวางอย่างไรก็ได้ แต่เพื่อความสะดวกในการหาเส้นทางเดินลายทองแดง อุปกรณ์เหล่านี้ควรอยู่ในตำแหน่งและทิศทางที่ทำให้แอร์ไวร์ตัดกันน้อยที่สุดเท่าที่จะทำได้ ระวังว่า EAGLE จะไม่คำนวณแอร์ไวร์ให้ใหม่ทันทีที่ย้ายหรือหมุนอุปกรณ์ เราต้องหมั่นใช้คำสั่ง Ratsnest เพื่อให้ EAGLE คำนวณเส้นแอร์ไวร์ใหม่
 +
 
 +
การย้ายอุปกรณ์ทำได้โดยใช้คำสั่ง MOVE ในระหว่างที่ใช้คำสั่งนี้กับอุปกรณ์ใด ๆ เราสามารถคลิ้กเมาส์ปุ่มขวาเพื่อหมุนอุปกรณ์ไปมาได้ '''แต่ระวังอย่าใช้คำสั่ง MIRROR โดยเด็ดขาด เพราะจะเป็นการสลับอุปกรณ์ลงไปไว้ด้านล่างของบอร์ด'''
 +
 
 +
=== การสลักข้อความด้วยลายทองแดง ===
 +
ใช้คำสั่ง TEXT เพื่อพิมพ์ข้อความแสดงความเป็นเจ้าของชิ้นงาน โดยมีข้อพึงระวังดังนี้
 +
* ข้อความไม่ควรยาวมากไป อย่างน้อยควรเป็นรหัสนิสิต 4 หลักสุดท้ายและชื่อสั้น ๆ
 +
* เลือกวางข้อความลงในเลเยอร์ Bottom ซึ่งหมายถึงลายทองแดงด้านล่าง ซึ่งจะเห็นว่าตัวหนังสือจะกลับทิศทางเมื่อมองจากด้านบน
 +
* เนื่องจากข้อความนั้นจะปรากฏเป็นลายทองแดงในชิ้นงานจริง ควรวางข้อความในพื้นที่ที่ห่างจากอุปกรณ์อื่น ๆ ไม่เช่นนั้นจะทำให้การเดินลายทองแดงส่วนที่เหลือทำได้ลำบาก
 +
* ขนาดตัวอักษรไม่ควรใหญ่หรือเล็กเกินไป ขนาดที่แนะนำคือ 70 mil และ ratio 20%
  
การย้ายอุปกรณ์ทำได้โดยใช้คำสั่ง Move ในระหว่างที่ใช้คำสั่งนี้กับอุปกรณ์ใด ๆ เราสามารถคลิ้กเมาส์ปุ่มขวาเพื่อหมุนอุปกรณ์ไปมาได้
 
 
=== การเดินลายทองแดงด้วยมือ ===
 
=== การเดินลายทองแดงด้วยมือ ===
ใช้คำสั่ง Route เพื่อเริ่มต้นเดินลายทองแดงด้วยมือ โดยมีข้อปฏิบัติดังนี้
+
ใช้คำสั่ง ROUTE เพื่อเริ่มต้นเดินลายทองแดงด้วยมือ โดยมีข้อปฏิบัติดังนี้
* เมื่อเลือกคำสั่ง Route แล้วให้ตั้งความกว้างลายทองแดงให้อยู่ที่ 0.016 นิ้ว
+
* เมื่อเลือกคำสั่ง ROUTE แล้วให้ตั้งความกว้างลายทองแดงให้อยู่ที่ 0.01 นิ้ว
* เดินลายให้กับเน็ตที่เกี่ยวข้องกับไฟเลี้ยงก่อน ซึ่งได้แก่ VCC และ GND โดยในวงจรที่ใช้กระแสสูงควรเพิ่มขนาดของลายทองแดงให้กว้างขึ้น สำหรับโครงงานนี้แล้วความกว้าง 0.016 นิ้วนั้นเพียงพอแล้ว
+
* การเดินลายทองแดงมักนิยมให้หักมุมไม่เกินทีละ 45 องศา แม้การหักมุมที่มากกว่านั้นมักไม่มีผลกระทบมากในงานที่ใช้ความถี่และกำลังไฟไม่สูงนัก แต่ก็ควรยึดเป็นแนวปฏิบัติเพื่อความสวยงาม ในการใช้คำสั่ง ROUTE ครั้งแรก EAGLE จะตั้งการเดินลายเป็นมุมฉาก เราสามารถเปลี่ยนรูปแบบการเดินลายได้โดยคลิ้กเลือกรูปแบบที่แถบเครื่องมือด้านบน หรือคลิ้กเมาส์ขวาเพื่อสลับแบบไปเรื่อย ๆ
* เดินลายให้การเชื่อมต่อระหว่าง decoupling capacitor กับขารับไฟเลี้ยงของไมโครคอนโทรลเลอร์มีระยะสั้นที่สุดเท่าที่จะทำได้ ระยะจาก crystal oscillator ไปยังขา XTAL1 และ XTAL2 ก็ควรให้สั้นเช่นกัน
 
* การเดินลายทองแดงมักนิยมให้หักมุมไม่เกินทีละ 45 องศา แม้การหักมุมที่มากกว่านั้นมักไม่มีผลกระทบมากในงานที่ใช้ความถี่และกำลังไม่สูงนัก แต่ก็ควรยึดเป็นแนวปฏิบัติเพื่อความสวยงาม
 
* ในการใช้คำสั่ง Route ครั้งแรก EAGLE จะตั้งการเดินลายเป็นมุมฉาก เราสามารถเปลี่ยนรูปแบบการเดินลายได้โดยคลิ้กเลือกรูปแบบที่แถบเครื่องมือด้านบน หรือคลิ้กเมาส์ขวาเพื่อสลับแบบไปเรื่อย ๆ
 
 
* การคลิ้กเมาส์ลงไปที่จุดใด ๆ จะเป็นการเริ่มเดินลายทองแดงจากปลายของแอร์ไวร์ที่ใกล้ที่สุด หากต้องการเริ่มเดินลายทองแดงจากบริเวณขาอุปกรณ์หรือจุดกึ่งกลางของเส้นให้กด Ctrl ค้างไว้แล้วจึงคลิ้กเมาส์
 
* การคลิ้กเมาส์ลงไปที่จุดใด ๆ จะเป็นการเริ่มเดินลายทองแดงจากปลายของแอร์ไวร์ที่ใกล้ที่สุด หากต้องการเริ่มเดินลายทองแดงจากบริเวณขาอุปกรณ์หรือจุดกึ่งกลางของเส้นให้กด Ctrl ค้างไว้แล้วจึงคลิ้กเมาส์
* การลบลายทองแดงที่เดินไว้แล้วสามารถทำได้โดยใช้คำสั่ง Ripup
+
* การลบลายทองแดงที่เดินไว้แล้วสามารถทำได้โดยใช้คำสั่ง RIPUP (ไม่ใช่คำสั่ง DELETE)
  
 
=== การเดินลายทองแดงอัตโนมัติ ===
 
=== การเดินลายทองแดงอัตโนมัติ ===
 
หากเราจัดวางอุปกรณ์ในตำแหน่งที่ดีพอ เราสามารถใช้คุณสมบัติการหาเส้นทางอัตโนมัติของ EAGLE ได้ โดยมีขั้นตอนดังนี้
 
หากเราจัดวางอุปกรณ์ในตำแหน่งที่ดีพอ เราสามารถใช้คุณสมบัติการหาเส้นทางอัตโนมัติของ EAGLE ได้ โดยมีขั้นตอนดังนี้
* กำหนดขนาดลายทองแดงโดยใช้เมนู Edit -> Net classes... หรือคำสั่ง Class จากนั้นปรับความกว้างของลายทองแดงสำหรับ default ให้เป็น 0.016 นิ้ว
+
* ใช้คำสั่ง AUTO เพื่อเปิดไดอะล็อกซ์การหาเส้นทางอัตโนมัติ
* ใช้คำสั่ง Auto เพื่อเปิดไดอะล็อกซ์การหาเส้นทางอัตโนมัติ
 
 
* เนื่องจากแผ่นวงจรพิมพ์ที่เราจะสร้างขึ้นเป็นแบบหน้าเดียว ให้กำหนดการเดินลายทองแดงด้านบน (Top) เป็น N/A และการเดินลายทองแดงด้านล่าง (Bottom) เป็น *
 
* เนื่องจากแผ่นวงจรพิมพ์ที่เราจะสร้างขึ้นเป็นแบบหน้าเดียว ให้กำหนดการเดินลายทองแดงด้านบน (Top) เป็น N/A และการเดินลายทองแดงด้านล่าง (Bottom) เป็น *
* ปรับค่า Routing Grid ให้เหมาะสม ค่าที่ยิ่งละเอียดจะทำให้ EAGLE มีทางเลือกมากขึ้น แต่ก็จะใช้เวลามากขึ้นเช่นกัน หากค่าตั้งต้น 50 ที่ EAGLE กำหนดไว้ไม่ให้ผลที่น่าพอใจอาจทดลองปรับลดลงมาเป็น 25 หรือ 12.5
+
* เลือก Effort: High และ Variant with TopRouter
* พิมพ์คำสั่ง <code>ripup *</code> เพื่อลบลายทองแดงทั้งหมดทิ้ง หรือ <code>ripup ชื่อเน็ต</code> เพื่อเลือกลบเฉพาะลายทองแดงของเน็ตที่ระบุ
+
* ปิดการใช้ Auto grid selection และระบุค่า Routing Grid ให้เหมาะสม ค่าที่ยิ่งละเอียดจะทำให้ EAGLE มีทางเลือกมากขึ้น แต่ก็จะใช้เวลามากขึ้นเช่นกัน ณ ตอนนี้ให้ปรับค่าเบื้องต้นไว้เป็น 25 mil ซึ่งหากไม่ได้ผลลัพธ์ที่น่าพอใจอาจกลับมาปรับให้ค่าลดลงเป็น 12.5 หรือน้อยกว่านั้นได้
 +
* กดปุ่ม Continue ตามด้วย Start ซึ่ง EAGLE จะเริ่มวางลายทองแดง โดยพยายามทำหลาย ๆ รูปแบบไปพร้อม ๆ กัน หากวงจรซับซ้อนมากหรือวางอุปกรณ์ไม่ดีพอ การเดินลายทองแดงอาจไม่เสร็จสมบูรณ์ 100% ซึ่งเราสามารถจัดการส่วนที่เหลือต่อเองได้ ในขั้นตอนนี้ให้เลือกผลลัพธ์ที่ถูกใจที่สุดแล้วกดปุ่ม End Job
 +
* หากต้องการเริ่มเดินลายทองแดงใหม่ทั้งหมดให้พิมพ์คำสั่งคอมมานด์ไลน์ <code>RIPUP *</code> เพื่อลบลายทองแดงทั้งหมดทิ้ง หรือ <code>RIPUP <ชื่อเน็ต></code> เพื่อเลือกลบเฉพาะลายทองแดงของเน็ตที่ระบุ (ใช้คำสั่ง RIP แล้วคลิ้กเมาส์ที่ลายทองแดงที่ต้องการได้เช่นกัน)
  
== สร้างไฟล์คำสั่งสำหรับควบคุมเครื่องกัดลายวงจร ==
+
=== ทดสอบเกณฑ์การออกแบบ ===

รุ่นแก้ไขปัจจุบันเมื่อ 02:57, 15 กันยายน 2558

วิกินี้เป็นส่วนหนึ่งของรายวิชา 01204223

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

เนื้อหา

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

  • คีย์ด่วน: การใช้การโปรแกรม 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


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

Eagle-lbr.png

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

  • สร้างไดเรคตอรีชื่อ practicum สำหรับเก็บโปรเจ็ค โดยมีขั้นตอนดังนี้
  • จากหน้าต่าง Control Panel ขยายบรรทัดที่ระบุว่า Projects จะพบไดเรคตอรี eagle อยู่ภายใน
  • คลิ้กเมาส์ขวาที่ eagle และเลือก New Project เปลี่ยนชื่อโปรเจ็คที่สร้างขึ้นเป็น practicum
  • สร้างวงจรชื่อ main โดยมีขั้นตอนดังนี้
  • คลิ้กขวาที่ practicum และเลือก New Schematic จะปรากฏหน้าจอสำหรับการวาดแผนผังวงจรดังรูป
Eagle-sch.png
  • เลือกเมนู File -> Save และตั้งชื่อเป็น peripheral
  • กดปุ่มสร้างบอร์ด 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 อนุญาตให้ผู้ใช้เรียกคำสั่งการทำงานได้ทั้งในรูปแบบกราฟิก (GUI) และคอมมานต์ไลน์ (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 ตามด้วยชื่ออุปกรณ์ได้ทันทีโดยไม่ต้องเปิดไดอะล็อกซ์

รายการอุปกรณ์ที่ใช้ในแผงวงจรพ่วง

ชื่ออุปกรณ์ (Name) ค่าอุปกรณ์ (Value) ชื่ออุปกรณ์ในไลบรารี ชื่อไลบรารี
R1 330 R-US_0207/10 rcl
R2 330 R-US_0207/10 rcl
R3 330 R-US_0207/10 rcl
R4 10K R-US_0207/10 rcl
LED1 RED LED3MM led
LED2 YELLOW LED3MM led
LED3 GREEN LED3MM led
LDR1 - LDR practicum
S1 (สวิตช์กด) - DTS-6 practicum
JP1 - HEADER-2x5 practicum

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

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

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

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

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

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

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

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

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

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

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

เราสามารถใช้คำสั่ง SHOW และคลิ้กที่เน็ตใด ๆ (หรือพิมพ์คำสั่ง SHOW <ชื่อเน็ต> ในคอมมานต์ไลน์) เพื่อไฮไลท์เน็ตนั้น ๆ ขึ้นมาได้ เน็ตที่ถูกไฮไลท์จะแสดงทั้งในหน้าต่าง Schematic Editor และ Board Editor

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

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

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

ADD r-eu_0207/10@resistor

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

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

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

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

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


การออกแบบแผ่นวงจรพิมพ์โดยใช้ Board Editor

กล่องคำสั่งของ Board Editor

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

ขั้นตอนนี้เป็นการนำเอาอุปกรณ์จากวงจรที่วาดไว้ในผังวงจรมาสร้างเป็นแผ่นวงจรพิมพ์ (printed circuit board - PCB) โดยการวางตำแหน่งอุปกรณ์ให้เหมาะสมบนบอร์ดและเดินลายทองแดงเพื่อเชื่อมอุปกรณ์ต่าง ๆ เข้าด้วยกัน โดยปกติ EAGLE จะเปิดหน้าต่าง Board Editor ค้างไว้โดยอัตโนมัติหลังจากที่เราดับเบิ้ลคลิ้กที่ไฟล์ .sch ในหน้าต่าง Control Panel อย่างไรก็ตามกรณีที่เผลอปิดหน้าต่าง Board Editor ไปก็สามารถเปิดกลับมาใหม่โดยใช้คำสั่ง Board ใน Schematic Editor


การกำหนดขนาดบอร์ด

กรอบที่เห็นในตอนแรกที่เปิดหน้าต่าง Board Editor ขึ้นมาจะเป็นขนาดของบอร์ดตั้งต้น ซึ่งถือเป็นขนาดที่ใหญ่ที่สุดสำหรับโปรแกรม EAGLE ที่เป็นเวอร์ชันแบบฟรีแวร์ (Light Edition) เพื่อความสะดวกในการจัดเตรียมไฟล์สำหรับส่งผลิต ขอให้ปรับบอร์ดให้มีขนาด 1.5x1.5 นิ้ว โดยยึดให้มุมล่างซ้ายอยู่ที่พิกัด (0,0) ตามเดิม

การปรับขนาดบอร์ดทำได้โดยการใช้คำสั่ง Move และคลิ้กที่บริเวณมุมต่าง ๆ ของบอร์ด

การกำหนดกฏเกณฑ์การออกแบบให้สอดคล้องกับกระบวนการผลิต

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

จากข้อมูลที่ระบุในหน้าเว็บข้างต้น (ณ วันที่ 12 กันยายน 2558) ให้ปรับตั้งกฎการออกแบบโดยเปิดเมนู Edit -> Design Rules

  • แท็บ Clearance: ปรับระยะห่างระหว่างลายทองแดงสองเส้นใด ๆ ให้ไม่ต่ำกว่า 10 mil (10/1000 นิ้ว)
  • แท็บ Sizes: ปรับขนาดลายเส้นต่ำสุด (Minimum Width) ให้ไม่ต่ำกว่า 10 mil

กฎเหล่านี้จะถูกใช้ในขั้นตอนการทำ Design Rule Check (คำสั่ง DRC) เพื่อตรวจสอบว่าแผ่นวงจรพิมพ์ที่ออกแบบมานั้นผ่านเกณฑ์ที่ตั้งไว้หรือไม่

แอร์ไวร์และลายทองแดง

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

การเชื่อมต่อที่ยังไม่ได้เดินลายทองแดง แสดงในรูปของแอร์ไวร์
การเชื่อมต่อที่เดินลายทองแดงแล้ว

การวางอุปกรณ์

ก่อนเริ่มต้นเดินลายทองแดง เราควรต้องจัดอุปกรณ์ต่าง ๆ ให้อยู่ในตำแหน่งที่เหมาะสมเสียก่อน การจัดวางอุปกรณ์ควรคำนึงถึงสิ่งต่อไปนี้

  • จุดเชื่อมต่อแบบ 5x2 ขา ควรวางให้อยู่บริเวณขอบด้านซ้ายแต่อย่าชิดขอบมากเกินไปนัก และหันทิศทางของขาให้ตรงกับจุดเชื่อมต่อบนบอร์ดไมโครคอนโทรลเลอร์
ตำแหน่งของจุดเชื่อมต่อแบบ 5x2 ขา แสดงตำแหน่งและสัญลักษณ์ของขา 1 (แป้นสี่เหลี่ยม) ซึ่งต้องปรับทิศให้อยู่ที่มุมล่างขวา
  • สวิตช์กด ควรวางในตำแหน่งที่ไม่มีอุปกรณ์หนาแน่นนัก และควรวางตัวอยู่บริเวณรอบนอกของบอร์ดเพื่อให้เข้าถึงได้สะดวก
  • ตัวต้านทานวัดแสง ควรวางให้ห่างจาก LED เพื่อป้องกันแสงรบกวน และวางในจุดที่ไม่โดนอุปกรณ์อื่น (เช่นสายแพ) บดบังแสงได้ง่าย
  • LED ควรวางให้อยู่ในแนวเส้นตรงเดียวกัน และเรียงลำดับสีเป็น แดง-เหลือง-เขียว
  • อุปกรณ์ที่เหลือสามารถวางอย่างไรก็ได้ แต่เพื่อความสะดวกในการหาเส้นทางเดินลายทองแดง อุปกรณ์เหล่านี้ควรอยู่ในตำแหน่งและทิศทางที่ทำให้แอร์ไวร์ตัดกันน้อยที่สุดเท่าที่จะทำได้ ระวังว่า EAGLE จะไม่คำนวณแอร์ไวร์ให้ใหม่ทันทีที่ย้ายหรือหมุนอุปกรณ์ เราต้องหมั่นใช้คำสั่ง Ratsnest เพื่อให้ EAGLE คำนวณเส้นแอร์ไวร์ใหม่

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

การสลักข้อความด้วยลายทองแดง

ใช้คำสั่ง TEXT เพื่อพิมพ์ข้อความแสดงความเป็นเจ้าของชิ้นงาน โดยมีข้อพึงระวังดังนี้

  • ข้อความไม่ควรยาวมากไป อย่างน้อยควรเป็นรหัสนิสิต 4 หลักสุดท้ายและชื่อสั้น ๆ
  • เลือกวางข้อความลงในเลเยอร์ Bottom ซึ่งหมายถึงลายทองแดงด้านล่าง ซึ่งจะเห็นว่าตัวหนังสือจะกลับทิศทางเมื่อมองจากด้านบน
  • เนื่องจากข้อความนั้นจะปรากฏเป็นลายทองแดงในชิ้นงานจริง ควรวางข้อความในพื้นที่ที่ห่างจากอุปกรณ์อื่น ๆ ไม่เช่นนั้นจะทำให้การเดินลายทองแดงส่วนที่เหลือทำได้ลำบาก
  • ขนาดตัวอักษรไม่ควรใหญ่หรือเล็กเกินไป ขนาดที่แนะนำคือ 70 mil และ ratio 20%

การเดินลายทองแดงด้วยมือ

ใช้คำสั่ง ROUTE เพื่อเริ่มต้นเดินลายทองแดงด้วยมือ โดยมีข้อปฏิบัติดังนี้

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

การเดินลายทองแดงอัตโนมัติ

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

  • ใช้คำสั่ง AUTO เพื่อเปิดไดอะล็อกซ์การหาเส้นทางอัตโนมัติ
  • เนื่องจากแผ่นวงจรพิมพ์ที่เราจะสร้างขึ้นเป็นแบบหน้าเดียว ให้กำหนดการเดินลายทองแดงด้านบน (Top) เป็น N/A และการเดินลายทองแดงด้านล่าง (Bottom) เป็น *
  • เลือก Effort: High และ Variant with TopRouter
  • ปิดการใช้ Auto grid selection และระบุค่า Routing Grid ให้เหมาะสม ค่าที่ยิ่งละเอียดจะทำให้ EAGLE มีทางเลือกมากขึ้น แต่ก็จะใช้เวลามากขึ้นเช่นกัน ณ ตอนนี้ให้ปรับค่าเบื้องต้นไว้เป็น 25 mil ซึ่งหากไม่ได้ผลลัพธ์ที่น่าพอใจอาจกลับมาปรับให้ค่าลดลงเป็น 12.5 หรือน้อยกว่านั้นได้
  • กดปุ่ม Continue ตามด้วย Start ซึ่ง EAGLE จะเริ่มวางลายทองแดง โดยพยายามทำหลาย ๆ รูปแบบไปพร้อม ๆ กัน หากวงจรซับซ้อนมากหรือวางอุปกรณ์ไม่ดีพอ การเดินลายทองแดงอาจไม่เสร็จสมบูรณ์ 100% ซึ่งเราสามารถจัดการส่วนที่เหลือต่อเองได้ ในขั้นตอนนี้ให้เลือกผลลัพธ์ที่ถูกใจที่สุดแล้วกดปุ่ม End Job
  • หากต้องการเริ่มเดินลายทองแดงใหม่ทั้งหมดให้พิมพ์คำสั่งคอมมานด์ไลน์ RIPUP * เพื่อลบลายทองแดงทั้งหมดทิ้ง หรือ RIPUP <ชื่อเน็ต> เพื่อเลือกลบเฉพาะลายทองแดงของเน็ตที่ระบุ (ใช้คำสั่ง RIP แล้วคลิ้กเมาส์ที่ลายทองแดงที่ต้องการได้เช่นกัน)

ทดสอบเกณฑ์การออกแบบ