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

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

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

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

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

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

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

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

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