สร้างบอร์ดต้นแบบระบบสมองกลฝังตัวโดย Eagle

featured

คงปฏิเสธไม่ได้ว่างานวิจัยหรือโครงงานในหลากหลายสาขาปัจจุบันมักจะต้องเกี่ยวข้องกับอิเล็กทรอนิกส์หรือคอมพิวเตอร์ โดยอาจต้องมีการสร้างฮาร์ดแวร์ต้นแบบเพื่อทดสอบ เทคโนโลยีสมัยใหม่ทำให้สามารถสร้างบอร์ดไมโครคอนโทรลเลอร์และวงจรสนับสนุนขนาดเล็กที่เรียกว่า ระบบสมองกลฝังตัว (embedded systems) เพื่อประยุกต์ใช้ในงานประเภทต่าง ๆ ในภาคอุตสาหกรรม การแพทย์ วิศวกรรม เช่น หุ่นยนต์ขนาดเล็กสำหรับแข่งขัน โดรนสำรวจ ได้ในงบประมาณที่จำกัด ปัจจัยหนึ่งที่เอื้ออำนวยต่อการพัฒนาฮาร์ดแวร์คอมพิวเตอร์และอิเล็กทรอนิกส์คือซอฟต์แวร์ช่วยออกแบบแผ่นวงจรพิมพ์ ซึ่งมีตั้งแต่ระดับพื้นฐานจนถึงขั้นสูง โดยราคาก็จะสูงตามไปด้วย Eagle จากบริษัท CadSoft เป็นหนึ่งในซอฟต์แวร์ออกแบบ PCB ที่ได้รับความนิยมอย่างมากทั่วโลกรวมถึงประเทศไทย เหตุผลหนึ่งคือมีเวอร์ชัน Freeware ที่อนุญาตให้ดาวน์โหลดฟรีเพื่อใช้งานในลักษณะที่ไม่เป็นเชิงพาณิชย์ โดยมีข้อจำกัดบางประการเช่นขนาดของ PCB จำนวนเลเยอร์ หรือจำนวนแผ่นของผังวงจร แต่นอกเหนือจากนั้นมีคุณสมบัติเหมือนรุ่น Professional ทุกประการ จึงเหมาะสำหรับใช้สร้างต้นแบบงานวิจัย หรือโครงงานในสถาบันการศึกษา สำหรับผู้ที่ต้องการสร้างบอร์ดเพื่อวัตถุประสงค์ทางการค้า Eagle มีหลายเวอร์ชันให้เลือก บริษัทที่มีงบประมาณจำกัดอาจเลือกเวอร์ชัน … Continue reading →

การตั้งค่าให้ PIC24E ทำงานที่ 70 MIPS

นับตั้งแต่ Microchip นำเสนอไมโครคอนโทรลเลอร์ตระกูล PIC24EPจนกระทั่งเริ่มหาซื้อได้ในประเทศไทย มีจุดเด่นคือสมรรถนะในการทำงานสูงสุด 70 MIPS แต่ว่าไม่ใช่นำมาต่อเป็นวงจรแล้วจะได้ความเร็วการทำงานสูงสุดเลย แต่จะต้องมีการตั้งค่าและสวิทซ์คล็อกโดยซอฟต์แวร์ ดังนั้นในบทความนี้จะยกตัวอย่างการตั้งค่า PIC24EP ใทำงานที่ 70 MIPS โดยชิพที่ใช้เป็นเบอร์ PIC24EP256MC202 และแสดงการตั้งค่า 2 กรณี คือ 1.) ใช้ตัวกำเนิดความถี่ภายในชิพ คือ 7.37 MHz FRC (Internal Fast RC) และ 2.) ใช้คริสตัลความถี่ 8 MHz ต่อภายนอก … Continue reading →

ระบบควบคุมฝังตัว การทดลอง 1: พื้นฐานไทเมอร์

ระดับ: เบื้องต้น จุดสำคัญสำหรับการศึกษา: การควบคุมแบบเรียลไทม์, ไทเมอร์ อินเตอร์รัพท์ การโปรแกรมภาษา C วัตถุประสงค์ของการทดลองนี้เพื่อเรียนรู้เกี่ยวกับพื้นฐานของการควบคุมหลายงานแบบเรียลไทม์ โดยอาศัยโมดูลไทเมอร์ที่มีอยู่ในไมโครคอนโทรลเลอร์ทั่วไป เชื่อว่าผู้อ่านส่วนใหญ่คงเคยมีประสบการณ์ในการใช้ไทเมอร์ใน MCU เบอร์ที่ท่านถนัดอยู่แล้ว อย่างไรก็ตาม ฮาร์ดแวร์ส่วนนี้มีความสำคัญในการอิมพลิเมนต์ระบบควบคุมแบบดิจิทัล ดังนั้นจึงมีประโยชน์ในการทบทวนเสริมความรู้เพื่อเป็นพื้นสำหรับเนื้อหาขั้นสูงขึ้นในภายหลัง อัลกอริธึมควบคุมโดยทั่วไปสามารถกล่าวโดยกว้างๆว่าประกอบด้วย 3 ส่วนหลัก คือ (1) อ่านอินพุตจากตัวตรวจรู้ (2) ประมวลผล หรือคำนวน (3) ส่งเอาต์พุตที่ได้จากการคำนวนไปยังตัวขับเร้า โดยการทำงานทั้งสามส่วนนี้จะถูกทำซ้ำเรื่อยๆ โดยไม่มีที่สิ้นสุด ดังนั้นจะต้องถูกใส่ไว้ในลูปที่ทำงานตลอดเวลานับแต่เปิดเครื่อง ความคิดแบบง่ายๆ ที่สุดคือใส่โครงสร้างการควบคุมนี้ไว้ในลูปของฟังก์ชัน main( ) ดังโค้ดที่แสดงด้านล่างนี้ main( ) { // initialization … Continue reading →