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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(PgFBnnuTFjhECx)
แถว 1: แถว 1:
ในปฏิบัติการนี้ เราจะออกแบบลายวงจรพิมพ์สำหรับสร้างแผ่นวงจรพิมพ์ให้กับวงจร[http://en.wikipedia.org/wiki/Microcontroller ไมโครคอนโทรลเลอร์]
+
You saved me a lot of hsasle just now.
เครื่องมือหลักที่จะนำมาใช้ในกระบวนการนี้ได้แก่โปรแกรม
 
[http://www.cadsoftusa.com/info.htm EAGLE] ของบริษัท [http://www.cadsoftusa.com/ CadSoft Computer Inc.]
 
 
 
Shoot, so that's that one supopses.
 
 
 
== การตั้งค่าเบื้องต้น ==
 
* '''คีย์ด่วน:''' การใช้การโปรแกรม 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 จะปรากฏหน้าจอสำหรับการวาดแผนผังวงจรดังรูป
 
[[Image:eagle-sch.png|center|300px]]
 
:* เลือกเมนู File -> Save และตั้งชื่อเป็น ''main''
 
:* กดปุ่มสร้างบอร์ด [[Image:eagle-button-board.png]] ซึ่ง EAGLE จะร้องเรียนว่าไม่พบไฟล์บอร์ดและเสนอให้สร้างไฟล์นี้ขึ้น หลังจากตอบตกลงจะปรากฏหน้าต่างสำหรับแก้ไขบอร์ด ดังรูป
 
[[Image:eagle-pcb.png|center|300px]]
 
:* เลือกเมนู File -> Save
 
 
 
== วาดแผนผังวงจรด้วย Schematic Editor ==
 
เลือกหน้าต่าง Schematic (หรือดับเบิ้ลคลิ้กที่ไฟล์ main.sch ใน EAGLE Control Panel) เพื่อเริ่มต้นการแก้ไขแผนผังวงจร
 
 
 
<span style="color:red">'''หมายเหตุ:''' เพื่อให้ EAGLE สามารถติดตามการแก้ไขวงจรของทั้งบนแผนผังวงจรและบนบอร์ดให้สอดคล้องกัน ไฟล์แผนผังวงจร (.sch) และไฟล์บอร์ด (.brd) ต้องถูกเปิดไว้พร้อมกันเสมอ หากมีการแก้ไขไฟล์ใดไฟล์หนึ่งโดยไม่ได้เปิดอีกไฟล์ค้างไว้จะทำให้ EAGLE สูญเสียความสามารถในการรักษาความสอดคล้องกันของไฟล์ทั้งคู่ทันที</span>
 
 
 
=== ส่วนประกอบของหน้าต่าง ===
 
โปรแกรมแก้ไขแผนผังวงจรของ 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
 
 
 
=== แถบคำสั่ง ===
 
ด้านซ้ายมือของหน้าจอแสดงรายการของเครื่องมือที่มีให้ใน Schematic Editor [[Image:eagle-sch-toolbar.png|150px|thumb|กล่องคำสั่งของ Schematic Editor]]
 
* '''คำสั่ง copy:''' เพิ่มอุปกรณ์ใหม่ลงไปในวงจรโดยคัดลอกมาจากอุปกรณ์ที่มีอยู่ในวงจรอยู่แล้ว
 
* '''คำสั่ง group:''' รวมอุปกรณ์และส่วนประกอบอื่น ๆ เข้าไว้เป็นกลุ่มชั่วคราว ซึ่งหลังจากนั้นเราสามารถใช้คำสั่งอื่น ๆ อาทิเช่น คำสั่ง move rotate delete กับส่วนประกอบทั้งหมดในกลุ่มพร้อม ๆ กันได้
 
* '''คำสั่ง change:''' อนุญาตให้เราปรับคุณสมบัติของส่วนประกอบในวงจร ซึ่งการเลือกคำสั่งนี้จะมีผลให้เราเลือกคุณสมบัติและค่าต่าง ๆ ที่ต้องการปรับเสียก่อน แล้วจึงค่อยนำเมาส์ไปคลิ้กเลือกอุปกรณ์ที่ต้องการปรับค่า
 
 
 
=== การขอความช่วยเหลือ ===
 
ดังเช่นโปรแกรมทั่วไป เราสามารถเปิดคู่มือการใช้งานจากเมนู Help นอกจากนั้นเรายังสามารถแสดงการใช้งานของคำสั่งใด ๆ โดยพิมพ์ <code>help ชื่อคำสั่ง</code> ลงไปในกล่องรับคำสั่ง
 
 
 
=== การวางกรอบให้พื้นที่งาน ===
 
แม้เราจะสามารถเริ่มต้นวางอุปกรณ์ลงในพื้นที่ทำงานได้ทันที เราควรวาดเฟรมให้กับงานของเราก่อนเพื่อความเรียบร้อยและสะดวกในการอ้างอิงภายหลัง การวางเฟรมสามารถทำได้โดยการพิมพ์คำสั่งต่อไปนี้ (ตัวเล็กหรือตัวใหญ่ก็ได้) ลงในกล่องรับคำสั่ง
 
 
 
ADD DINA4_L
 
 
 
จะปรากฏเฟรมแบบแนวนอน (landscape) ขนาด A4 ที่เคลื่อนที่ตามเมาส์ ปรับตำแหน่งของเฟรมให้มุมล่างซ้ายวางอยู่ที่พิกัด (0,0) ซึ่งเป็นจุดที่มีสัญลักษณ์ + กำกับอยู่ จากนั้นกดปุ่ม ESC สองครั้งเพื่อสิ้นสุดการใช้คำสั่ง Add
 
 
 
ตามที่ได้กล่าวไปแล้วข้างต้น เราสามารถสั่งงาน EAGLE ให้เพิ่มเฟรมได้โดยคลิ้กเมาส์ที่ปุ่มเครื่องมือ Add จากนั้นจึงป้อนคำว่า DINA4_L ลงในกล่องค้นหาด้านล่างสุดของไดอะล็อกซ์ Add ที่ถูกเปิดขึ้นมา เมื่อกด Enter จะปรากฏรายการอุปกรณ์ที่มีชื่อตรงกับที่ป้อนซึ่งเราสามารถดูรูปและคำอธิบายคร่าว ๆ ได้ กด OK เพื่อเริ่มวางเฟรมลงบนพื้นที่ทำงาน และกด ESC สองครั้งเพื่อยุติการใช้งานคำสั่ง Add
 
 
 
=== การเพิ่มอุปกรณ์ลงในวงจร ===
 
เช่นเดียวกับการเพิ่มเฟรม เราสามารถเพิ่มอุปกรณ์อื่น ๆ ลงไปในแผนผังวงจรได้โดยใช้คำสั่ง Add ซึ่งรองรับการใช้งาน wildcard (*) ในการค้นหาชื่ออุปกรณ์ที่ต้องการได้ อย่างไรก็ตามชื่ออุปกรณ์ส่วนใหญ่จะอยู่ในรูปคำย่อหรือคำอื่น ๆ ที่เราอาจคาดไม่ถึง อีกทั้งอาจเป็นอุปกรณ์ที่มีตัวถังที่ไม่เหมาะสมกับงานของเรา รูปด้านล่างแสดงอุปกรณ์ตัวต้านทานที่มีตัวถังเป็นแบบขาโลหะเจาะทะลุแผ่นวงจร ([http://en.wikipedia.org/wiki/Through-hole_technology thru-hole])
 
[[Image:eagle-add-1.png|center|300px]]
 
ส่วนรูปนี้แสดงอุปกรณ์ตัวต้านทานเช่นเดียวกัน แม้จะมีสัญลักษณ์ที่ใช้ในผังวงจรเหมือนกันทุกประการ แต่ตัวถังเป็นแบบวางบนผิวแผ่นวงจร ([http://en.wikipedia.org/wiki/Surface-mount surface-mount]) จะไม่มีขาโลหะและมีขนาดเล็กกว่ามาก
 
[[Image:eagle-add-2.png|center|300px]]
 
 
 
ดังนั้นการเลือกอุปกรณ์ในช่วงแรกจึงควรเลือกจากไดอะล็อกซ์ Add เพื่อให้เห็นถึงรูปร่างตัวถังและคำอธิบายของอุปกรณ์ เมื่อทราบถึงชื่ออุปกรณ์ที่แน่ชัดแล้วเราจึงใช้คำสั่ง Add ตามด้วยชื่ออุปกรณ์ได้ทันทีโดยไม่ต้องเปิดไดอะล็อกซ์
 
 
 
=== การเปลี่ยนคุณสมบัติและการลบอุปกรณ์ ===
 
[[Image:eagle-handle.png|thumb|สัญลักษณ์ + บนตัวอุปกรณ์แสดงจุด origin หรือ handle]]
 
โปรแกรม EAGLE มีคำสั่งปรับคุณสมบัติ (เช่น move rotate change mirror) และคำสั่งลบ (delete) คำสั่งเหล่านี้สามารถเรียกจากแถบเครื่องมือด้านซ้าย พิมพ์คำสั่งผ่าน CLI หรือคลิ้กเมาส์ขวาที่ตัวอุปกรณ์แล้วเลือกจากป๊อปอัพเมนูก็ได้ แต่ปัญหาที่ผู้เริ่มต้นมักพบคือบ่อยครั้งที่โปรแกรมไม่ทำตามที่สั่งเมื่อเลือกเครื่องมือแล้วคลิ้กเมาส์ลงไปบนตัวอุปกรณ์ สาเหตุที่ทำให้เป็นเช่นนี้คือ EAGLE บังคับว่าการคลิ้กเลือกอุปกรณ์ต้องคลิ้กให้ถูกตำแหน่งที่เรียกว่า ''origin'' หรือ ''handle'' ของอุปกรณ์นั้น ๆ เท่านั้น ตำแหน่งนี้จะมีสัญลักษณ์เป็นรูป + อยู่บริเวณสัญลักษณ์ของอุปกรณ์ ดังแสดงในภาพประกอบ
 
 
 
=== การตั้งค่าและชื่อให้อุปกรณ์ ===
 
อุปกรณ์ทุกตัวที่วางลงไปในวงจรควรระบุค่า (เช่น 330 Ohm, 22 pF) และชื่อ (เช่น R1, C2) เพื่อความสะดวกในการอ้างอิงและประกอบอุปกรณ์ลงบนแผ่นวงจรพิมพ์ในภายหลัง เราทำเช่นนี้ได้โดยใช้คำสั่ง name และ value ตามลำดับ ดังแสดง
 
[[Image:eagle-nameval.png|center|thumb|ตัวอย่างตัวต้านทานชื่อ R1 ที่มีค่า 1.5 เมกะโอห์ม]]
 
 
 
=== การสร้างการเชื่อมต่อ (เน็ต) ===
 
ในโปรแกรม EAGLE รวมถึงโปรแกรมออกแบบผังวงจรอื่น ๆ ส่วนของวงจรที่มีการเชื่อมต่อกันทางไฟฟ้าจะถือว่าอยู่บน''เน็ต (net)'' เดียวกัน
 
การสร้างเน็ตเพื่อเชื่อมอุปกรณ์เข้าด้วยกันนั้นสามารถทำได้โดยใช้คำสั่ง net เพื่อเดินสายออกมาจากขาของอุปกรณ์หรือจากเน็ตที่ถูกวาดไว้แล้วก่อนหน้านี้
 
การทำให้ส่วนของวงจรมีการเชื่อมต่อกันหรือเป็นเน็ตเดียวกันนั้นทำได้สองวิธี ดังนี้
 
* โยงเน็ตเหล่านั้นเข้าด้วยกันโดยใช้คำสั่ง net หรือ
 
* ใช้คำสั่ง name ตั้งชื่อเน็ตเหล่านั้นให้เป็นชื่อเดียวกัน
 
นั่นหมายความว่าส่วนของวงจรที่เราไม่เห็นสายเน็ตโยงถึงกันอาจเชื่อมกันอยู่ก็ได้ หากเน็ตมีชื่อเดียวกัน
 
 
 
เน็ตสองเส้นที่พาดทับกันนั้นจะไม่ถือเป็นเน็ตเดียวกัน การทำให้เป็นเน็ตเดียวกันต้องใช้คำสั่ง junction เพื่อวางจุดเชื่อมต่อทับลงไปบนจุดตัดของเน็ตทั้งคู่ ดังแสดงในรูปด้านล่าง
 
 
 
<gallery>
 
Image:eagle-nojunc.png|ต่างเน็ตกัน
 
Image:eagle-junc.png|เน็ตเดียวกัน
 
</gallery>
 
 
 
=== การกำหนดไฟเลี้ยงให้วงจร ===
 
การระบุว่าเน็ตใดเชื่อมต่อกับส่วนที่เป็นไฟเลี้ยงของวงจรทำได้โดยการเชื่อมเน็ตที่ต้องการเข้ากับอุปกรณ์ VCC ซึ่งแทนไฟจากขั้วบวก และอุปกรณ์ GND ซึ่งแทนกราวนด์ (หรือไฟจากขั้วลบ) เน็ตที่เชื่อมต่อกับอุปกรณ์พิเศษเหล่านี้จะถูกกำหนดชื่อให้เป็น GND และ VCC โดยอัตโนมัติ ตามลำดับ เราจึงสามารถวาง GND และ VCC ไว้ได้ทั่ววงจรโดยไม่ต้องเชื่อมสายเข้าด้วยกัน การทำเช่นนี้จะทำให้ผังวงจรดูเป็นระเบียบ ไม่มีเส้นตัดกันไปมามากจนรกรุงรัง วงจรตัวอย่างด้านล่างทั้งคู่มีความหมายเดียวกัน
 
 
 
<gallery widths="200px" heights="200px">
 
Image:eagle-power-1.png
 
Image:eagle-power-2.png
 
</gallery>
 
 
 
=== การติดตั้งไลบรารีอุปกรณ์เพิ่มเติม ===
 
โครงงานที่เราจะออกแบบลายวงจรนั้นอาศัยชุดอุปกรณ์ที่ไม่ได้ให้มากับโปรแกรม 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 ก็สามารถพิมพ์คำสั่ง
 
 
 
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 ==
 
[[Image:eagle-pcb-tools.png|120px|thumb|กล่องคำสั่งของ Board Editor]]
 
<span style="color:red">'''หมายเหตุ:''' เครื่องจักรในกระบวนการผลิตแผ่นวงจรพิมพ์มักรองรับตัวอักษรแบบ Vector เพียงอย่างเดียว เพื่อความปลอดภัยจึงควรปรับตั้งค่าให้โปรแกรม EAGLE ใช้เพียงตัวอักษรแบบ Vector เท่านั้นโดยเปิดไดอะล็อกซ์ User Interface จากเมนู Options -> User Interface และเลือกช่อง Always vector font</span>
 
 
 
ขั้นตอนนี้เป็นการนำเอาอุปกรณ์จากวงจรที่วาดไว้ในผังวงจรมาสร้างเป็นแผ่นวงจรพิมพ์ (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) ตามเดิม
 
 
 
การปรับขนาดบอร์ดทำได้โดยการใช้คำสั่ง Move และคลิ้กที่บริเวณมุมต่าง ๆ ของบอร์ด
 
 
 
=== การกำหนดกฏเกณฑ์การออกแบบให้สอดคล้องกับเครื่องกัดลาย ===
 
ใช้ไดอะล็อกซ์ Design Rules (เมนู Edit -> Design Rules) เพื่อปรับตั้งค่าดังนี้
 
* ในหน้า Clearance ปรับระยะห่างระหว่างลายทองแดงสองเส้นใด ๆ ให้ไม่ต่ำกว่า 8 mil (8/1000 นิ้ว)
 
* ในหน้า Restring กำหนดความกว้างของแพดให้เป็น 25% ของรูเจาะ
 
 
 
=== แอร์ไวร์และลายทองแดง ===
 
การเชื่อมโยงที่เกิดขึ้นจากเน็ตจะถูกแสดงผลเป็นเส้นบาง ๆ เรียกว่า''แอร์ไวร์ (airwire)'' ซึ่งแสดงให้เห็นว่าจุดเหล่านี้ต้องเชื่อมต่อกันด้วยลายทองแดง หรือ''เทรซ (trace)'' การเดินลายทองแดงสามารถทำได้ทั้งแบบทำด้วยมือโดยใช้คำสั่ง Route หรือทำแบบอัตโนมัติโดยใช้คำสั่ง Auto ซึ่งจะอธิบายต่อไป
 
[[Image:eagle-airwire.png|150px|center|thumb|การเชื่อมต่อที่ยังไม่ได้เดินลายทองแดง แสดงในรูปของแอร์ไวร์]]
 
[[Image:eagle-route.png|150px|center|thumb|การเชื่อมต่อที่เดินลายทองแดงแล้ว]]
 
 
 
=== รูเจาะสำหรับทำขาตั้ง ===
 
แผ่นวงจรพิมพ์ที่บัดกรีและใช้งานอยู่ควรถูกหนุนด้วยขาตั้งเพื่อป้องกันการลัดวงจรที่อาจเกิดขึ้นจากการนำเอาแผ่นวงจรพิมพ์ไปวางบนพื้นผิวโลหะ ดังนั้นเราจึงต้องเตรียมรูเจาะไว้ที่มุมทั้งสี่ของบอร์ด ให้ใช้คำสั่ง Hole เพื่อเจาะรูขนาด 2.8 mm (0.110236 นิ้ว) ไว้ที่มุมทั้งสี่
 
 
 
=== การวางอุปกรณ์ ===
 
ก่อนเริ่มต้นเดินลายทองแดง เราควรต้องจัดอุปกรณ์ต่าง ๆ ให้อยู่ในตำแหน่งที่เหมาะสมเสียก่อน การจัดวางอุปกรณ์ควรคำนึงถึงสิ่งต่อไปนี้
 
* อุปกรณ์ที่มีตำแหน่งเฉพาะที่ ในที่นี้คือหัวเชื่อมต่อ USB ที่ต้องวางให้อยู่บริเวณขอบด้านสั้นด้านใดด้านหนึ่งของบอร์ด โดยวางจุดยึดที่เป็นวงกลมขนาดใหญ่สองวงให้อยู่บริเวณขอบของบอร์ด แต่อย่าชิดขอบมากจนเกินไป สังเกตเส้นแนวตั้งที่ลากพาดสัญลักษณ์ของอุปกรณ์ เป็นส่วนที่แสดงให้เห็นถึงระดับที่ต่างกันของหัวเชื่อมต่อซึ่งต้องจัดให้วางอยู่ในแนวเดียวกันกับขอบของบอร์ด
 
[[Image:eagle-usb.png|thumb|ตำแหน่งของหัว USB แสดงการจัดให้เส้นแนวดิ่งพาดไปตามขอบของบอร์ด]]
 
* อุปกรณ์ที่ควรเข้าถึงได้สะดวก ได้แก่สวิตช์รีเซ็ต จัมเปอร์ และคอนเน็คเตอร์ 10 ขา ควรวางในตำแหน่งที่ไม่มีอุปกรณ์หนาแน่นนัก และควรวางตัวอยู่บริเวณรอบนอกของบอร์ดเพื่อให้เข้าถึงได้สะดวก
 
* [http://en.wikipedia.org/wiki/Decoupling_capacitor decoupling capacitor] เป็นตัวเก็บประจุที่วางคร่อมขาไฟเลี้ยง (VCC และ GND) ของไมโครคอนโทรลเลอร์ ตามที่เห็นจากแผนผังวงจร ตัวเก็บประจุนี้ ทำหน้าที่กรองไฟที่อาจเกิดการกระชากจากการเปลี่ยนระดับโลจิกอย่างฉับพลันของไมโครคอนโทรลเลอร์ เพื่อให้การกรองไฟมีประสิทธิภาพสูงสุด ตัว decoupling capacitor นี้ต้องอยู่ใกล้กับขาไฟเลี้ยงของไอซีให้มากที่สุด และลายทองแดงที่เดินจากตัวเก็บประจุนี้ไปยังขาไอซีควรจะทำให้สั้นที่สุดเท่าที่จะทำได้เช่นกัน
 
* [http://en.wikipedia.org/wiki/Crystal_oscillator crystal oscillator] เป็นตัวกำเนิดสัญญาณนาฬิกาให้กับไมโครคอนโทรลเลอร์ ควรวางให้ใกล้กับขา XTAL1 และ XTAL2 ของไมโครคอนโทรลเลอร์
 
* ตัวเก็บประจุแบบน้ำยา เป็นตัวเก็บประจุขนาดใหญ่ที่วางดักหน้าไฟเลี้ยงที่มาจากพอร์ต USB ซึ่งทำหน้าที่กรองไฟให้เรียบสม่ำเสมอก่อนที่จะถูกนำไปเลี้ยงวงจรทั้งหมด ดังนั้นตัวเก็บประจุนี้จึงควรวางไว้ใกล้กับขาไฟเลี้ยงจากพอร์ต USB และลายทองแดงจากขา USB มายังตัวเก็บประจุก็ไม่ควรยาวมากเช่นกัน
 
* อุปกรณ์ที่เหลือสามารถวางอย่างไรก็ได้ แต่เพื่อความสะดวกในการหาเส้นทางเดินลายทองแดง อุปกรณ์เหล่านี้ควรอยู่ในตำแหน่งและทิศทางที่ทำให้แอร์ไวร์ตัดกันน้อยที่สุดเท่าที่จะทำได้ จงระวังว่า EAGLE จะไม่คำนวณแอร์ไวร์ให้ใหม่ทันทีที่ย้ายหรือหมุนอุปกรณ์ เราต้องหมั่นใช้คำสั่ง Ratsnest เพื่อให้ EAGLE คำนวณเส้นแอร์ไวร์ใหม่
 
 
 
การย้ายอุปกรณ์ทำได้โดยใช้คำสั่ง Move ในระหว่างที่ใช้คำสั่งนี้กับอุปกรณ์ใด ๆ เราสามารถคลิ้กเมาส์ปุ่มขวาเพื่อหมุนอุปกรณ์ไปมาได้
 
 
 
=== การเดินลายทองแดงด้วยมือ ===
 
ใช้คำสั่ง Route เพื่อเริ่มต้นเดินลายทองแดงด้วยมือ โดยมีข้อปฏิบัติดังนี้
 
* เมื่อเลือกคำสั่ง Route แล้วให้ตั้งความกว้างลายทองแดงให้อยู่ที่ 0.016 นิ้ว
 
* เดินลายให้กับเน็ตที่เกี่ยวข้องกับไฟเลี้ยงก่อน ซึ่งได้แก่ VCC และ GND โดยในวงจรที่ใช้กระแสสูงควรเพิ่มขนาดของลายทองแดงให้กว้างขึ้น สำหรับโครงงานนี้แล้วความกว้าง 0.016 นิ้วนั้นเพียงพอแล้ว
 
* เดินลายให้การเชื่อมต่อระหว่าง decoupling capacitor กับขารับไฟเลี้ยงของไมโครคอนโทรลเลอร์มีระยะสั้นที่สุดเท่าที่จะทำได้ ระยะจาก crystal oscillator ไปยังขา XTAL1 และ XTAL2 ก็ควรให้สั้นเช่นกัน
 
* การเดินลายทองแดงมักนิยมให้หักมุมไม่เกินทีละ 45 องศา แม้การหักมุมที่มากกว่านั้นมักไม่มีผลกระทบมากในงานที่ใช้ความถี่และกำลังไม่สูงนัก แต่ก็ควรยึดเป็นแนวปฏิบัติเพื่อความสวยงาม ในการใช้คำสั่ง Route ครั้งแรก EAGLE จะตั้งการเดินลายเป็นมุมฉาก เราสามารถเปลี่ยนรูปแบบการเดินลายได้โดยคลิ้กเลือกรูปแบบที่แถบเครื่องมือด้านบน หรือคลิ้กเมาส์ขวาเพื่อสลับแบบไปเรื่อย ๆ
 
* การคลิ้กเมาส์ลงไปที่จุดใด ๆ จะเป็นการเริ่มเดินลายทองแดงจากปลายของแอร์ไวร์ที่ใกล้ที่สุด หากต้องการเริ่มเดินลายทองแดงจากบริเวณขาอุปกรณ์หรือจุดกึ่งกลางของเส้นให้กด Ctrl ค้างไว้แล้วจึงคลิ้กเมาส์
 
* การลบลายทองแดงที่เดินไว้แล้วสามารถทำได้โดยใช้คำสั่ง Ripup (ไม่ใช่คำสั่ง Delete)
 
 
 
=== การเดินลายทองแดงอัตโนมัติ ===
 
หากเราจัดวางอุปกรณ์ในตำแหน่งที่ดีพอ เราสามารถใช้คุณสมบัติการหาเส้นทางอัตโนมัติของ EAGLE ได้ โดยมีขั้นตอนดังนี้
 
* กำหนดขนาดลายทองแดงโดยใช้เมนู Edit -> Net classes... หรือคำสั่ง Class จากนั้นปรับความกว้างของลายทองแดงสำหรับ default ให้เป็น 0.016 นิ้ว
 
* ใช้คำสั่ง Auto เพื่อเปิดไดอะล็อกซ์การหาเส้นทางอัตโนมัติ
 
* เนื่องจากแผ่นวงจรพิมพ์ที่เราจะสร้างขึ้นเป็นแบบหน้าเดียว ให้กำหนดการเดินลายทองแดงด้านบน (Top) เป็น N/A และการเดินลายทองแดงด้านล่าง (Bottom) เป็น *
 
* ปรับค่า Routing Grid ให้เหมาะสม ค่าที่ยิ่งละเอียดจะทำให้ EAGLE มีทางเลือกมากขึ้น แต่ก็จะใช้เวลามากขึ้นเช่นกัน หากค่าตั้งต้น 50 ที่ EAGLE กำหนดไว้ไม่ให้ผลที่น่าพอใจอาจทดลองปรับลดลงมาเป็น 25 หรือ 12.5
 
* พิมพ์คำสั่ง <code>ripup *</code> เพื่อลบลายทองแดงทั้งหมดทิ้ง หรือ <code>ripup ชื่อเน็ต</code> เพื่อเลือกลบเฉพาะลายทองแดงของเน็ตที่ระบุ
 
 
 
== สร้างไฟล์คำสั่งสำหรับควบคุมเครื่องกัดลายวงจร ==
 
''อยู่ระหว่างการแก้ไข''
 

รุ่นแก้ไขเมื่อ 18:12, 14 กุมภาพันธ์ 2555

You saved me a lot of hsasle just now.