วันอาทิตย์ที่ 9 พฤษภาคม พ.ศ. 2553

การออกแบบวงจรโดยใช้โปรแกรม Opensource ตอนที่ 2/3

หลังจากที่ได้ทดลอง KiCad ทำงานง่าย ๆ แล้ว ก็ถึงเวลาทดลองใช้ KiCad แบบจริงจัง คือมีชิ้นงานเป็นผลลัพธ์สุดท้ายได้ ความตั้งใจก็คือใช้ Opensouce โปรแกรม ในการออกแบบตั้งแต่ ลายวงจร (Schematic) จำลองวงจร (Simulation) ออกแบบแผ่นวงจรพิมพ์ และประกอบวงจรจริง ๆ โดยตั้งใจว่าจะแบ่งทำเป็น 3 ตอนคือ
ตอนที่ 2 ออกแบบแผ่นวงจรพิมพ์โดยใช้ KiCad
จากลายวงจรและการจำลองวงจรในตอนที่ 1 ในการทำงานจริงเราควรต่อวงจรลงบนโปรโตบอร์ดเพื่อให้มั่นใจเสียก่อนว่าวงจรทำงานได้จริง แต่เนื่องจากวงจรที่กำลังออกแบบอยู่นี้เป็นวงจรแบบง่าย จึงละไว้

เมื่อจะออกแบบแผ่นวงจรพิมพ์ ก็มี 2 - 3 ประเด็นที่ทำให้ต้องไปปรับปรุงแก้ไขวงจรในตอนที่ 1 เสียใหม่ คือ
  • แม้ว่าในอุดมคติ วงจรนี้จะมีศักยภาพที่จะขับกำลังได้ถึง 1.5 วัตต์ ที่โหลด 8 โอห์ม แต่เมื่อทดสอบโดยการจำลองวงจรแล้ว พบว่ากำลังสูงสุดที่จ่ายได้คือ 0.25 วัตต์ ไม่ใช่ 0.5 วัตต์ ซึ่งถือว่าน้อย ปัญหาอาจเกิดจากการตั้งจุดไบแอสของทรานซิสเตอร์แต่ละตัว หรืออาจเกิดจากข้อจำกัดของตัวทรานซิสเตอร์ที่เลือกใช้ อาจปรับปรุงได้ในอนาคต
  • วงจรในตอนที่ 1 ไม่มีแหล่งจ่ายไฟ ก็เติมส่วนของแหล่งจ่ายไฟตรงแบบง่าย ๆ โดยใช้ไอซีเรกกูเลเตอร์เบอร์ยอดนิยม 7812 เนื่องจากกำลังสูงสุดที่จะขับได้ที่โหลด 8 โอหม์ คือ 0.25 วัตต์ หมายความว่ากระแสสูงสุดคือ 0.25 แอมแปร์ ไอซีขนาด 1 แอมแปร์ก็เกินพอ
  • วงจรในตอนที่ 1 มีช่องสัญญาณเดียว หากตั้งใจจะใช้กับเครื่องเล่น MP3 ก็ควรทำให้พร้อมสำหรับสเตอริโอ จึงได้เพิ่มวงจรลงไปอีกหนึ่งช่องสัญญาณซึ่งเหมือนกันทุกประการ
  • เมื่อไปซื้อวัสดุ พบว่าบางรายการไม่มีขาย จึงปรับแก้รายการวัสดุเล็กน้อย ทดสอบจำลองวงจรแล้วไม่มีปัญหา
แก้ไขแล้วได้ลายวงจรดังรูป
ก่อนจะสร้าง Netlist เพื่อนำไปทำแผ่นวงจรพิมพ์ จะต้องทำการ "เรียงเบอร์" (Annotate Schematic) เสียก่อน โปรแกรมจะทำการใส่เลขประจำตัวเช่น C1 C2 ให้กับอุปกรณ์แต่ละตัวโดยอัตโนมัติ เมื่อเรียงเบอร์เสร็จแล้ว ก็สามารถสร้าง Netlist ได้

Netlist ที่สร้างขึ้นจะเป็นแฟ้มข้อความ ระบุการเชื่อมต่อระหว่างโนดต่าง ๆ ในวงจร ขั้นตอนต่อไปคือการระบุ Footprint ของวัสดุแต่ละตัว ตรงนี้ KiCad ระบุว่าเป็นจุดที่แตกต่างจากโปรแกรม EDA อื่น ๆ ตรงที่ วัสดุหนึ่งรายการในลายวงจร เช่น C1 เราสามารถเลือก Footprint ให้ C1 ได้อย่างอิสระ (ข้อดีคือเราไม่ต้องสร้าง Symbol ใหม่ เมื่อมี Footprint ใหม่ ข้อเสียคือเราอาจเลือกผิด) การผูกวัสดุเข้ากับ Footprint ให้ใช้โปรแกรม Cvpcb ซึ่งเรียกใช้ได้จากแถบเครื่องมือของ EESchema หรือจาก Project Manager ของ KiCad ก็ได้
จากรูปหลักแรกคือลำดับที่ หลักที่ 2 คือชื่ออุปกรณ์ หลักที่ 3 คือค่าของอุปกรณ์ และหลักที่ 4 คือ Footprint ของอุปกรณ์ ซึ่งเราจะต้องเลือกเองให้ถูกต้องตรงกับวัสดุที่เรามี

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

ข้อสังเกตสำคัญที่พบตอนที่ออกแบบก็คือ ค่าพารามิเตอร์ของลายเส้นของลายวงจรหรือแทร็ค (Track) จะไม่อยู่ในส่วนของ Preferences แต่จะอยู่ในส่วนของ Design Rule กว่าจะหาเจอก็งงไปนานเหมือนกัน การตั้งค่าความกว้างของแทร็ค และ Design Rule อื่น ๆ สามารถตั้งได้เองทั้งหมด ซึ่งน่าจะเป็นปัญหาสำหรับมือใหม่ หรือมือสมัครเล่น (เช่นผมเอง) เนื่องจากไม่ทราบเกณฑ์ต่าง ๆ ในการสร้างแผ่นวงจรพิมพ์ แต่ถ้าเราจะจ้างบริษัทให้กัดแผ่นวงจรพิมพ์ให้เรา ผมว่าบริษัทอาจมีเกณฑ์ Design Rule ที่เราขอทราบข้อมูลได้

วงจรเล็กนิดเดียว พอรู้วิธีทำก็สามารถทำเสร็จได้ภายในเวลา 2 คืน หน้าตาเป็นดังรูป
น่าเสียดายว่าไม่สามารถแสดงรูป 3 มิติของแผ่นวงจรพิมพ์นี้ได้ เข้าใจว่าเป็น Bug ของ KiCad เอง แต่ว่าไม่รู้ว่าจะรายงาน Bug อย่างไร เนื่องจากหน้าจอมันจะมืดไปเฉย ๆ ไม่มีข้อมูล เลยไม่แน่ใจว่าเป็น Bug ของ KiCad หรือของ Mesa หรือว่าของ X ไม่งั้นคงมีภาพ 3 มิติสวย ๆ มาอวดกัน


หลังจากอัพเกรดและอัพเดต sid ล่าสุดพบว่ามีการอัพเกรด X หลายโมดูล เลยทดลองสร้างภาพสามมิติของ KiCad ดูอีกครั้งปรากฏว่าไม่มืดแล้วครับ แล้วก็ได้ภาพมาด้วย เลยขอเอามาอวดกันสักหน่อย
ตอนนี้กัดปริ้นได้แล้วครับ แต่ยังเจาะไม่ครบเลยยังไม่ได้ลองประกอบดู หากประกอบเสร็จก็จะเอามาลง Blog เหมือนเคย อันที่จริง วงจรแค่นี้มันก็ถือว่าจิ๊บจ๊อยมากเมื่อเทียบกับงานของอีกหลาย ๆ ท่าน แต่ก็อยากเอามาลงไว้ในฐานะที่เป็นวงจรที่ (ตั้งใจจะ) ใช้ KiCad ในการสร้างจนใช้งานได้จริงเป็นชิ้นแรก หากผลงานออกมาดีจะเอาไว้ใช้ช่วยสอนในวิชาอิเล็กทรอนิกส์ด้วยเสียเลย

3 ความคิดเห็น:

Unknown กล่าวว่า...

สุดยอดมากครับ ผมจะลองเล่นบ้างครับ

แล้วเวลาลอกลายปลิ้น จะลอกและกัดลายอย่างไรครับถึงจะได้สวยเหมือนจากโรงงานครับ

jark กล่าวว่า...

ลอกลายปริ้นที่ผมลองทำเอง ผมใช้กระดาษปริ้นรูปของเครื่องพริ้นเลเซอร์ครับ เอาแบบบางที่สุดเอามารีด

ดั้งเดิมที่ทราบมาเขาใช้แผ่นใสนี่แหละ แต่ผมลองแล้วผมทำไม่ได้ จากที่ลองดูผมรู้สึกว่าใช้กระดาษปริ้นรูปนั้นง่ายกว่า

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

jark กล่าวว่า...

ต่อวงจรแล้ว ทรานซิสเตอร์ร้อนมาก สงสัยจะเลือก Footprint ผิด สลับขา C กับขา E ถ้าเสร็จงานต่าง ๆ แล้วจะย้อนกลับมาดูเรื่องนี้อีกทีครับ