Micro Controller ถ้าแปลความหมายแบบตรงๆตัว
ก็คือระบบคอนโทรลขนาดเล็ก เรียกอีกอย่างหนึ่งคือเป็นระบบคอมพิวเตอร์ขนาดเล็กๆ
ที่เราสามารถนำเอามันมาประยุคใช้งานได้หลากหลาย
โดยผ่านการออกแบบวงจรให้เหมาะกับงานนั้นๆ และยังสามารถโปรแกรมคำสั่งเพื่อควบคุมขา Input
/ Output เพื่อสั่งงานให้มันไปควบคุมอุปกรณ์ต่างๆ ได้อีกด้วย
ซึ่งก็นับว่าเป็นระบบที่สามารถนำมาประยุคใช้งานได้หลากหลายครับ ทั้งทางด้าน Digital
และ Analog ยกตัวอย่างเช่น
ระบบสัญญาณตอบรับอัตโนมัต, ระบบบัตรคิว,
ระบบตอกบัตรพนักงาน และอื่นๆ ยิ่งระบบ Micro Controller ในยุคปัจจุบันนั้นสามารถทำการเชื่อต่อกับระบบ Network ของคอมพิวเตอร์ทั่วไปได้อีกด้วย ดังนั้นการสั่งงานจึงไม่ใช่แค่หน้าแผงวงจร
แต่อาจจะเป็นการสั่งงานอยู่คนละซีกโลกผ่านเครือข่ายอินเตอร์เน็ตก็ได้ครับ
เห็นมั๊ยละ ว่ามันน่าทึ่งขนาดไหน…
บางคนตั้งคำถามต่อว่า อ้าวว มันทำงานเหมือนเครื่องคอมพิวเตอร์
แล้วเราใช้ คอมพิวเตอร์รันงานไปเลยไม่ดีกว่าเหรอ? คำตอบก็คือ
ได้ครับ แต่ลองคิดดู Micro Controller มีขนาดเท่ากล่องเทปคลาสเซ็ท
กับ คอมพิวเตอร์ขนาดเท่าตู้บริจากปัจจัยตามวัด แบบไหนจะสะดวกกว่า
นี่ยังไม่นับถึงเรื่องของราคาและค่า maintenance ต่างๆ นาๆ
ย้อนอดีตนึกถึงเรื่องราวของ Micro Controller ในยุคเก่าๆ
Z-80
ถ้าจะย้อนไปในอดึต พวก Micro
Controller ที่นิยมใช้กันก็มีอยู่ไม่กี่ตัว
เริ่มตั้งแต่ตัวแรกที่เป็นลักษณะของ CPU ไม่ถึงขั้นเรียกว่า Micro
Controller ก็คือ ตระกูล Z80 เป็นลักษณะของ CPU เล็กๆ
ที่ต้องอาศัย IO ต่างๆ เพิ่มเติมมาก
จึงทำให้บอร์ดมีขนาดค่อนข้างใหญ่ ก็จัดได้ว่าเป็นการเริ่มต้นการเรียนรู้ที่ดีของยุคสมัยนั้น
โดยชุดคำสั่งที่เป็น op code
MCS-51
หลังจากนั้นก็จะมีตระกูล MCS-51 ซึ่งการเรียนรู้และใช้งานค่อนข้างง่ายกว่า
Z-80 ไม่ว่าจะเป็นการเขียนโปรแกรมในลักษณะของ Assembly
Code แล้วโหลดลงบอร์ดเพื่อใช้งาน ตลอดจนสถาปัตยกรรมในการออกแบบ Micro
Controller รุ่นนี้จะช่วยลดอุปกรณ์รอบๆข้างลงไปได้มาก
ตัวอย่างการต่อใช้งาน MCS-51 บนบอร์ดทดลองจริงๆ
อุปกรณ์รอบๆข้างจะน้อยกว่า Z-80 มาก
ทำให้ออกแบบวงจรได้ง่ายขึ้นมาก
Micro Controller ยุคปัจจุบัน
PIC
PIC เป็นไมโครคอนโทรลเลอร์ยุคหลังๆ
ที่ตัดปัญหาเรื่องอุปกรณ์ต่อพ่วงต่อพ่วงที่มีความซับซ้อนให้เหลือจำนวนน้อยเอามากๆ
ประกอบกับมีหน่วยความจำ EEPROM ในตัว
จึงทำให้ง่ายต่อการบันทึกและจัดเก็บข้อมูล และ PORT ต่างๆ
ได้มีการ latch ในตัว IC อยู่แล้ว
จึงสามารถต่ออกมาใช้งานภายนอกได้เลยโดยตรงโดยมีกระแสและแรงดันที่เพียงพอ และอีกความสามารถหนึ่งที่โดดเด่น
คือสามารถโปรแกรมตัว boot loader เข้าไปในตัว Micro
Controller ได้เลย จึงทำให้ง่ายเวลาโหลดโปรแกรมเข้าไป
จากคอมพิวเตอร์โดยผ่านทาง Serial port และกดปุ่ม reset
เพียงอย่างเดียว ไม่ต้องการเครื่องโปรแกรม IC เพิ่มเติมอย่างที่ต้องมีกับระบบ Micro
Controller รุ่นเก่าๆอย่าง MCS 51
ตัวอย่างการต่อใช้งาน PIC กับบอร์ดทดลองจริงๆ
ก็ง่าย ฟังก์ชั่นการใช้งานค่อนข้างครบ และโปรแกรมง่ายด้วย CCS
AVR
AVR เป็น Micro Controller รุ่นหลังๆ ที่มีการพัฒนาต่อมาจาก MCS-51 โดยบริษัท ATMEL อันเนื่องมาจากว่า MCS-51 ยุคหลังๆ
นี้ไม่ค่อยมีคนเล่นกันแล้วในการใช้งานจริง คงมีแต่เฉพาะในสถาบันการศึกษา
ที่เป็นเช่นนี้ก็อาจจะเป็นเรื่องการออกออกแบบวงจรที่ค่อนข้างยุ่งยาก
และต้องอาศัยการต่ออุปกรณ์ร่วมเยอะนั้นเองครับ ดังนั้น AVR จึงเข้ามาเป็นพระเอกในการช่วยงานในด้านนี้
โดยคุณสมบัติหลักที่น่าทึ่งก็คือ สามารถ Interface ผ่าน USB
ได้โดยตรง ซึ่ง Micro Controller ยุคเก่าๆ
ทำได้อย่างเก่งก็ต่อผ่านพอร์ต RS-232 แต่เนื่องด้วยคอมพิวเตอร์ยุคใหม่ๆ
พอร์ต RS-232 มันเริ่มหายากแล้ว ดังนั้น AVR จึงเป็นคำตอบสุดท้าย ดังนั้นการต่อ AVR ใช้งานบนเบอร์ด
จะคล้ายๆ เครื่องไมโครคอมพิวเตอร์มากๆ
Arduino
Arduino เป็น Micro Controller บอร์ดแบบสำเร็จรูป สำหรับยุคนี้ ซึ่งถูกสร้างมาจาก Controller ตระกูล ARM ของ ATMEL ซึ่งข้อดีของ
Micro Controller Board รุ่นนี้ก็คือเรื่องของ Opensource
ที่สามารถนำไปพัฒนาต่อเป็นอุปกรณ์ต่างๆ ได้
(ความจริงบอร์ดของรุ่นต่างๆ ก็ทำได้เช่นกัน) และความสามารถในการเพิ่ม boot
loader เข้าไปที่ตัว ARM จึงทำให้การ upload
code เข้าตัวบอร์ดสามารถทำได้ง่ายขึ้น
และยังไม่หมด การพัฒนา software ที่จะใช้ในการควบคุมตัวบอร์ดของ
Arduino ก็จะเป็นในลักษณะของ C++ ที่หลายๆคนคุ้นเคยกันดี
และตัวบอร์ดยังสามารถนำโมดูลมาต่อเพิ่ม (ซึ่งทาง Ardunio จะเรียกว่าเป็น
shield) เพื่อเพิ่มความสามารถต่างๆ ได้ อย่างเช่นต้องการให้
สามารถเชื่อมต่อ wifi ก็ไปหาซื้อ shield ที่เป็น wifi มาต่อเพิ่ม หรือต้องการควบคุมระบบ motor
ด้วย ก็เพิ่ม shield ควบคุมมอเตอร์เข้าไปครับ
ตัวอย่างตามรูป
หรือถ้าจะสร้างวงจรเพิ่มเติมเองแล้วนำมาประกอบเป็น
Shield ให้กับ Arduni ตัวโปรด ก็ยังสามารถทำได้อีกเช่นกัน
Raspberry Pi
เช่นกัน ที่น่าสนใจสำหรับบอร์ด Raspberry Pi ก็คือการจำลองตัวมันเองให้เป็นระบบคอมพิวเตอร์เครื่องเล็กๆ เครื่องหนึ่ง
ที่สามารถรันระบบ Linux ได้ในตัว
นั้นก็หมายถึงการดึงระบบต่างๆเพื่อมาใช้งานใน board ย่อมจะสะดวกมากเพราะมี
OS Linux ทำงานให้แทนอยู่แล้ว อย่างเช่นการติดต่อกับระบบ Network
การติดต่อกับระบบจอภาพ การติดต่อระบบเสียง
ตลอดจนการติดต่อกับระบบการเก็บข้อมูลผ่าน SD Card ซึ่งสามารถทำได้ครบเลยครับด้วยระบบปฏิบัติการ
Linux ที่รันอยู่บนตัวบอร์ด Raspberry Pi
ตัวอย่างการประยุคใช้
Raspberry
Pi เป็น Smart TV
และทั้งหมดนี้ก็คือวิวัฒนาการของระบบ Micro Controller จากอดีต จนถึงปัจจุบัน จริงๆแล้วยังมีอีกหลายรุ่น
แต่เลือกเอาเฉพาะที่นิยมและรู้จักกันเป็นวงกว้างในปัจจุบันมาแนะนำเท่านั้นครับ
ขอบคุณข้อมูลจาก http://www.chokelive.com/blog/2013/07/micro-controller-application.html