บทที่ 1
บทนำ
ไมโครคอนโทรลเลอร์คือคอมพิวเตอร์ขนาดกะทัดรัดที่รวมหน่วยประมวลผล หน่วยความจำ และอุปกรณ์รับ-ส่งข้อมูล (I/O) ไว้ในชิปเพียงตัวเดียว โดยได้รับการออกแบบมาเพื่อควบคุมการทำงานเฉพาะอย่าง ส่วนระบบฝังตัว (Embedded System) คือระบบอิเล็กทรอนิกส์ที่สมบูรณ์และมักมีขนาดเล็ก ซึ่งใช้ไมโครคอนโทรลเลอร์ (หรือไมโครโปรเซสเซอร์) ทำหน้าที่เป็น "สมอง" ในการควบคุมการทำงานเฉพาะเจาะจงภายในอุปกรณ์ที่มีขนาดใหญ่กว่า กล่าวโดยสรุปคือ ไมโครคอนโทรลเลอร์ถือเป็นองค์ประกอบหลักของระบบฝังตัว ซึ่งยังประกอบด้วยส่วนประกอบอื่นๆ เช่น เซ็นเซอร์ อุปกรณ์สั่งการ (Actuators) และซอฟต์แวร์ที่ได้รับการพัฒนาขึ้นมาเพื่อการใช้งานเฉพาะด้านนั้นๆ
ไมโครคอนโทรลเลอร์ (Microcontroller Unit หรือ MCU)
คือ คอมพิวเตอร์ขนาดเล็กที่รวมทุกระบบไว้ในชิปไอซี (Integrated Circuit) เพียงตัวเดียว ออกแบบมาเพื่อควบคุมอุปกรณ์อิเล็กทรอนิกส์และการทำงานเฉพาะทางในระบบฝังตัว (Embedded Systems) แตกต่างจากคอมพิวเตอร์ทั่วไปที่ต้องใช้ชิปหลายตัวทำงานร่วมกัน
ส่วนประกอบหลักภายใน MCU
ชิป MCU ตัวหนึ่งจะประกอบด้วยโครงสร้างภายในที่สำคัญ ดังนี้
-CPU (Central Processing Unit): แกนประมวลผลหลักทำหน้าที่คำนวณและประมวลผลคำสั่งจากโปรแกรม
-ROM / Flash Memory: หน่วยความจำถาวรใช้สำหรับบันทึกซอร์สโค้ดหรือเฟิร์มแวร์ที่ควบคุมชิป
-RAM (Random Access Memory): หน่วยความจำชั่วคราวใช้เก็บข้อมูลระหว่างที่ CPU กำลังประมวลผล
-I/O Ports (Input/Output): ช่องทางรับ-ส่งสัญญาณเพื่อเชื่อมต่อกับอุปกรณ์ภายนอก เช่น เซนเซอร์ ปุ่มกด หรือมอเตอร์
-Peripherals วงจรเสริมอื่นๆ เช่น ADC (Analog-to-Digital Converter): แปลงสัญญาณอนาล็อกจากธรรมชาติให้เป็นดิจิทัล Timers/Counters: วงจรนับเวลาและควบคุมจังหวะการทำงาน Communication Interfaces: ระบบสื่อสารข้อมูล เช่น UART, SPI, และ I2C
ข้อแตกต่างระหว่าง MCU และ MPU (Microprocessor)
การเลือกใช้งานระว่างไมโครคอนโทรลเลอร์ (MCU) และไมโครโพรเซสเซอร์ (MPU) มีความแตกต่างอย่างชัดเจน
ตัวอย่างตระกูล MCU ที่นิยมในตลาด
-8-bit MCU: เช่น AVR (ATmega328P) บนบอร์ด Arduino Uno หรือตระกูล PIC เหมาะกับงานเรียบง่าย ต้นทุนต่ำ
-32-bit MCU: เช่น STM32 (ARM Cortex-M) หรือ ESP32 (มี Wi-Fi/Bluetooth ในตัว) เหมาะกับงานคำนวณซับซ้อน ไอโอที (IoT) และระบบอัตโนมัติ
ประเภทของไมโครคอนโทรลเลอร์
การจัดประเภทของไมโครคอนโทรลเลอร์ (Microcontroller) สามารถจำแนกได้หลายรูปแบบ ขึ้นอยู่กับเกณฑ์ที่นำมาใช้พิจารณาครับ โดยทั่วไปนิยมแบ่งตามเกณฑ์หลัก ๆ 4 ประเภท ดังนี้
1) แบ่งตามขนาดของบัสข้อมูล (Bus Width)
- 8-bit Microcontroller: ประมวลผลได้ทีละ 8 บิต เหมาะกับงานง่าย ๆ กินไฟต่ำ ราคาถูก เช่น ควบคุมมอเตอร์, ของเล่น หรือเซนเซอร์พื้นฐาน ตัวอย่างเช่น Arduino Uno (ATmega328)
- 16-bit Microcontroller: พัฒนาขึ้นมาเพื่อความแม่นยำและการคำนวณที่ซับซ้อนกว่าแบบ 8 บิต มักใช้ในระบบควบคุมรถยนต์ หรือเครื่องมือวัด
- 32-bit Microcontroller: มีความเร็วในการประมวลผลสูงมาก รองรับงานคำนวณที่ซับซ้อน ระบบปฏิบัติการขนาดเล็ก (RTOS) และการเชื่อมต่อเครือข่าย เช่น ESP32, STM32
2)แบ่งตามสถาปัตยกรรมชุดคำสั่ง (Instruction Set Architecture)
- CISC (Complex Instruction Set Computer): มีชุดคำสั่งจำนวนมากและซับซ้อน สามารถทำงานยาก ๆ ได้จบในหนึ่งคำสั่ง แต่ละคำสั่งใช้เวลาประมวลผลไม่เท่ากัน ตัวอย่างเช่น ตระกูล 8051
- RISC (Reduced Instruction Set Computer): ลดทอนชุดคำสั่งให้เหลือเฉพาะคำสั่งที่จำเป็นและเรียบง่าย ทำงานได้เร็วมากเพราะทุกคำสั่งใช้เวลา 1 รอบสัญญาณนาฬิกาเท่ากัน เช่น สถาปัตยกรรม AVR (ใน Arduino) และ ARM Cortex
3)แบ่งตามสถาปัตยกรรมชุดคำสั่ง (Instruction Set Architecture)
- Embedded Memory (แบบมีหน่วยความจำในตัว): มีทั้ง RAM, ROM และ Flash Memory ฝังอยู่ภายในชิปตัวเดียวเสร็จสรรพ เป็นรูปแบบที่นิยมที่สุดในปัจจุบันเพราะใช้งานง่ายและประหยัดพื้นที่
- External Memory (แบบต่อหน่วยความจำภายนอก): บนตัวชิปจะไม่มีหน่วยความจำสำหรับเก็บโปรแกรม ต้องต่อไอซีหน่วยความจำ (เช่น Flash หรือ EEPROM) เพิ่มเติมจากภายนอก เหมาะกับงานที่ต้องการพื้นที่เก็บข้อมูลขนาดใหญ่มาก ๆ
แบ่งตามสถาปัตยกรรมหน่วยความจำ (Memory Architecture)
- Von Neumann Architecture: ใช้บัสข้อมูลและบัสแอดเดรสร่วมกันระหว่างหน่วยความจำโปรแกรม (Code) และหน่วยความจำข้อมูล (Data) ทำให้โครงสร้างชิปไม่ซับซ้อน แต่ทำงานได้ช้ากว่าเพราะต้องรอสลับการรับส่งข้อมูล
- Harvard Architecture: แยกบัสข้อมูลและบัสแอดเดรสออกจากกันอย่างเด็ดขาดระหว่างโปรแกรมและข้อมูล ทำให้สามารถอ่านคำสั่งและอ่านข้อมูลได้พร้อมกันในเวลาเดียว ส่งผลให้ประมวลผลได้รวดเร็วกว่ามาก ซึ่งไมโครคอนโทรลเลอร์สมัยใหม่ส่วนใหญ่นิยมใช้สถาปัตยกรรมนี้
การประยุกต์ใช้งานไมโครคอนโทรลเลอร์
ไมโครคอนโทรลเลอร์เปรียบเสมือน "สมองกลฝังตัว (Embedded System)" ที่ควบคุมอุปกรณ์ต่าง ๆ ในปัจจุบัน โดยสามารถจำแนกกลุ่มการประยุกต์ใช้งานหลัก ๆ ได้ 6 ด้าน ดังนี้
1. อุปกรณ์อิเล็กทรอนิกส์ในบ้านและเครื่องใช้ไฟฟ้า (Home Appliances & Consumer Electronics)
เป็นกลุ่มที่ใกล้ตัวมากที่สุด ไมโครคอนโทรลเลอร์ทำหน้าที่ควบคุมระบบการทำงานอัตโนมัติและรับค่าจากผู้ใช้ เช่น
- เครื่องซักผ้าอัตโนมัติ: ควบคุมระดับน้ำ, วัดน้ำหนักผ้า, ชั่งเวลาการปั่น และสลับทิศทางมอเตอร์
- เครื่องปรับอากาศ: ตรวจจับอุณหภูมิห้องผ่านเซนเซอร์ เพื่อปรับความเร็วรอบของคอมเพรสเซอร์ (ระบบ Inverter) และควบคุมบานสวิง
- ไมโครเวฟ: ควบคุมเวลาการทำงาน, หน้าจอแสดงผล, ปุ่มกดสัมผัส และระบบตัดไฟเพื่อความปลอดภัย
2. ระบบบ้านอัจฉริยะ และสิ่งอินเทอร์เน็ตในทุกสิ่ง (Smart Home & IoT)
การประยุกต์ใช้งานยุคใหม่ที่เน้นการเชื่อมต่อไร้สาย (Wi-Fi / Bluetooth) เพื่อควบคุมและมอนิเตอร์ระยะไกล
- ระบบเปิด-ปิดไฟอัจฉริยะ: สั่งงานผ่านแอปพลิเคชันบนสมาร์ตโฟน หรือตั้งเวลาเปิด-ปิดอัตโนมัติ
- ระบบรดน้ำต้นไม้อัจฉริยะ: ตรวจวัดความชื้นในดิน หากดินแห้งจะสั่งเปิดวาล์วน้ำอิเล็กทรอนิกส์ (Solenoid Valve) เอง
- ระบบรักษาความปลอดภัย: กล้องตรวจจับการเคลื่อนไหว (เช่น ESP32-CAM) ที่สามารถส่งการแจ้งเตือน (Notification) เข้าไลน์หรืออีเมลเมื่อมีผู้บุกรุก
3. อุตสาหกรรมยานยนต์ (Automotive Applications)
ในรถยนต์หนึ่งคันประกอบด้วยไมโครคอนโทรลเลอร์จำนวนมาก (เรียกว่าหน่วย ECU: Electronic Control Unit) เพื่อความปลอดภัยและการขับขี่
- ระบบเบรก ABS (Anti-lock Braking System): ตรวจจับความเร็วของล้อและควบคุมแรงดันน้ำมันเบรกไม่ให้ล้อล็อกตาย
- ระบบถุงลมนิรภัย (Airbag): ประมวลผลจากเซนเซอร์ตรวจจับแรงกระแทก (Accelerometer) อย่างรวดเร็วในเสี้ยววินาทีเพื่อสั่งจุดระเบิดถุงลม
- ระบบควบคุมความเร็วอัตโนมัติ (Cruise Control): ล็อกความเร็วรถให้คงที่โดยคำนวณการเปิด-ปิดวาล์วปีกผีเสื้อ
4. งานอุตสาหกรรมและหุ่นยนต์ (Industrial & Robotics)
เน้นความแม่นยำสูง ความทนทาน และการทำงานแบบเรียลไทม์ (Real-time Processing)
- แขนกลและหุ่นยนต์ในสายการผลิต: ควบคุมมอเตอร์ (Servo/Stepper Motor) ให้เคลื่อนที่ไปยังตำแหน่งที่กำหนดอย่างแม่นยำ
- ระบบสายพานลำเลียงสินค้า: นับจำนวนสินค้าด้วยเซนเซอร์แสง (Photoelectric Sensor) และคัดแยกขนาดสินค้าอัตโนมัติ
- ระบบควบคุมสภาพแวดล้อมในโรงเรือน: ควบคุมอุณหภูมิและความชื้นในโรงงานอุตสาหกรรมเคมีหรืออาหาร
5. อุปกรณ์ทางการแพทย์ (Medical Devices)
เน้นความถูกต้อง แม่นยำ และความเสถียรของระบบสูงมากเพื่อความปลอดภัยของผู้ป่วย
- เครื่องวัดความดันโลหิตแบบดิจิทัล: ควบคุมการปั๊มลมเข้าปลอกแขน วิเคราะห์สัญญาณชีพจร และแสดงผลบนหน้าจอ
- เครื่องตรวจวัดคลื่นไฟฟ้าหัวใจ (ECG): รับสัญญาณไฟฟ้าขนาดเล็กจากร่างกาย ขยายสัญญาณ กรองสัญญาณรบกวน และประมวลผลเป็นกราฟ
- เครื่องควบคุมการให้สารน้ำทางหลอดเลือดดำ (Infusion Pump): ควบคุมอัตราการไหลของยาหรือน้ำเกลือให้ตรงตามแพทย์สั่ง
6. อุปกรณ์สื่อสารและสำนักงาน (Communication & Office Automation)
รื่องพิมพ์ (Printer): ควบคุมการเคลื่อนที่ของหัวพิมพ์, การดึงกระดาษ และรับส่งข้อมูลจากคอมพิวเตอร์
เครื่องทำลายเอกสารอัตโนมัติ: สั่งให้มอเตอร์ทำงานเมื่อมีกระดาษบังเซนเซอร์ และหยุดเมื่อกระดาษหมด