การออกแบบวงจรสำหรับบอร์ดไมโครคอนโทรลเลอร์

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

วิกินี้อธิบายกระบวนการออกแบบลายวงจรพิมพ์สำหรับสร้างแผ่นวงจรพิมพ์ให้กับวงจรไมโครคอนโทรลเลอร์ เครื่องมือหลักที่จะนำมาใช้ในกระบวนการนี้ได้แก่โปรแกรม 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

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

  • สร้างไดเรคตอรีชื่อ 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

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

หมายเหตุ: เครื่องจักรในกระบวนการผลิตแผ่นวงจรพิมพ์มักรองรับตัวอักษรแบบ Vector เพียงอย่างเดียว เพื่อความปลอดภัยจึงควรปรับตั้งค่าให้โปรแกรม EAGLE ใช้เพียงตัวอักษรแบบ Vector เท่านั้นโดยเปิดไดอะล็อกซ์ 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) เพื่อความสะดวกในการจัดเตรียมเครื่องกัดลายวงจร ขอให้ทุกกลุ่มปรับบอร์ดให้มีขนาด 3x1.625 นิ้ว (แนวนอน x แนวตั้ง) โดยยึดให้มุมล่างซ้ายอยู่ที่พิกัด (0,0) ตามเดิม

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

การกำหนดกฏเกณฑ์การออกแบบให้สอดคล้องกับเครื่องกัดลาย

ใช้ไดอะล็อกซ์ Design Rules (เมนู Edit -> Design Rules) เพื่อปรับตั้งค่าดังนี้

  • ในหน้า Clearance ปรับระยะห่างระหว่างลายทองแดงสองเส้นใด ๆ ให้ไม่ต่ำกว่า 8 mil (8/1000 นิ้ว)
  • ในหน้า Restring กำหนดความกว้างของแพดให้เป็น 25% ของรูเจาะ

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

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

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

รูเจาะสำหรับทำขาตั้ง

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

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

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

  • อุปกรณ์ที่มีตำแหน่งเฉพาะที่ ในที่นี้คือหัวเชื่อมต่อ USB ที่ต้องวางให้อยู่บริเวณขอบด้านสั้นด้านใดด้านหนึ่งของบอร์ด โดยวางจุดยึดที่เป็นวงกลมขนาดใหญ่สองวงให้อยู่บริเวณขอบของบอร์ด แต่อย่าชิดขอบมากจนเกินไป สังเกตเส้นแนวตั้งที่ลากพาดสัญลักษณ์ของอุปกรณ์ เป็นส่วนที่แสดงให้เห็นถึงระดับที่ต่างกันของหัวเชื่อมต่อซึ่งต้องจัดให้วางอยู่ในแนวเดียวกันกับขอบของบอร์ด
ตำแหน่งของหัว USB แสดงการจัดให้เส้นแนวดิ่งพาดไปตามขอบของบอร์ด
  • อุปกรณ์ที่ควรเข้าถึงได้สะดวก ได้แก่สวิตช์รีเซ็ต จัมเปอร์ และคอนเน็คเตอร์ 10 ขา ควรวางในตำแหน่งที่ไม่มีอุปกรณ์หนาแน่นนัก และควรวางตัวอยู่บริเวณรอบนอกของบอร์ดเพื่อให้เข้าถึงได้สะดวก
  • decoupling capacitor เป็นตัวเก็บประจุที่วางคร่อมขาไฟเลี้ยง (VCC และ GND) ของไมโครคอนโทรลเลอร์ ตามที่เห็นจากแผนผังวงจร ตัวเก็บประจุนี้ ทำหน้าที่กรองไฟที่อาจเกิดการกระชากจากการเปลี่ยนระดับโลจิกอย่างฉับพลันของไมโครคอนโทรลเลอร์ เพื่อให้การกรองไฟมีประสิทธิภาพสูงสุด ตัว decoupling capacitor นี้ต้องอยู่ใกล้กับขาไฟเลี้ยงของไอซีให้มากที่สุด และลายทองแดงที่เดินจากตัวเก็บประจุนี้ไปยังขาไอซีควรจะทำให้สั้นที่สุดเท่าที่จะทำได้เช่นกัน
  • 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
  • พิมพ์คำสั่ง ripup * เพื่อลบลายทองแดงทั้งหมดทิ้ง หรือ ripup ชื่อเน็ต เพื่อเลือกลบเฉพาะลายทองแดงของเน็ตที่ระบุ

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

อยู่ระหว่างการแก้ไข