Drone ตัวนี้ไม่มี Frame เพราะ PCB คือโครงทั้งลำ
ปกติ Quadcopter จะมี Frame สำหรับยึดมอเตอร์ แล้วค่อยวาง Flight Controller, Sensor และวงจรอื่น ๆ ไว้ด้านใน แต่ ANU Electronics เลือกทำตรงกันข้าม: ตัด Frame แยกออกไป แล้วให้แผงวงจร PCB ทำหน้าที่เป็นโครงของ Drone ไปพร้อมกัน
ผลลัพธ์คือ Quadcopter ขนาดประมาณฝ่ามือที่มองเห็น Electronics ได้แทบทั้งหมด มอเตอร์ติดเข้ากับ Board โดยตรง มี ESP32-S3 และ MPU6050 อยู่ตรงกลางระบบ พร้อม Control Loop ที่ใช้ Sensor Data, PID และ PWM เพื่อพยายามรักษาท่าทางของ Drone ระหว่างบิน
- Drone ไม่มี Frame แยก เพราะ Custom PCB ทำหน้าที่เป็นโครงของตัวเครื่อง
- Hardware Section ของ Project ระบุ ESP32-S3 แบบ Dual-core เป็น Microcontroller
- IMU ที่ระบุคือ MPU6050
- ใช้มอเตอร์ 720 Coreless จำนวน 4 ตัว พร้อม Propeller 2× CW และ 2× CCW
- Project อธิบาย Control Loop เป็น Sense → Think → PID Correct → PWM → Motor
- MOSFET Driver ใช้ขับมอเตอร์ตามคำสั่ง PWM
- ผู้ใช้ควบคุม Drone จาก Smartphone แต่หน้า Project ยังมี Placeholder เกี่ยวกับ Wireless Protocol
- Drone ถูกออกแบบให้เป็น Platform สำหรับเรียน Sensor Fusion, PID, PWM, Wireless และ PCB Design
The Circuit Board That Learned to Fly คืออะไร?
Project นี้เริ่มจากแนวคิดง่าย ๆ ว่า ถ้าอยากให้คนเรียน Embedded System เข้าใจ Real-time Control จริง แค่ทดลอง Blink LED อาจยังไม่พอ
Drone ทำให้ผลของ Software และ Control Algorithm กลายเป็นสิ่งที่มองเห็นได้ทันที: ถ้าควบคุมไม่ดี ตัวเครื่องสั่นหรือ Drift แต่เมื่อระบบ Sensor และ Control ทำงานเข้ากันได้ Drone จึงสามารถรักษาท่าทางได้ดีขึ้น
ทำไมต้องให้ PCB เป็น Frame?
Project ระบุชัดว่า Drone ไม่มี Plastic Shell และไม่มี Separate Frame มอเตอร์ถูกติดเข้ากับ Board และ Flight Controller อยู่บน PCB เดียวกัน
ในมุมการเรียนรู้ วิธีนี้ทำให้ Trace, Sensor, Driver และ Controller ไม่ถูกซ่อนอยู่ภายใน Body คนเรียนจึงสามารถเชื่อมโยงชิ้นส่วนบนวงจรกับพฤติกรรมของ Drone ได้โดยตรงมากขึ้น
นอกจากนี้ยังทำให้ PCB Design ไม่ใช่เพียงโจทย์ Routing Signal แต่เชื่อมโยงกับการจัดวาง Component และโครงสร้างของระบบจริงด้วย
Hardware หลักมีอะไรบ้าง?
| ส่วนประกอบ | ข้อมูลจาก Source | บทบาทในระบบ |
|---|---|---|
| Frame + Flight Controller | ANU Custom Single-board PCB | PCB เป็นทั้งโครงและฐานของวงจรควบคุม |
| Microcontroller | ESP32-S3, Dual-core | ประมวลผล Control Loop และระบบควบคุม |
| IMU | MPU6050 | ให้ข้อมูลการหมุนและความเร่ง |
| Motors | 4× 720 Coreless Motor | สร้างแรงขับของ Quadcopter |
| Propellers | 2× CW + 2× CCW | ใช้กับมอเตอร์ที่หมุนคนละทิศตาม Layout ของ Drone |
| Motor Drive | MOSFET Drivers + PWM ตามคำอธิบาย Project | ปรับการขับ Motor ตาม Correction จาก Control Loop |
| Control | Smartphone | ส่ง Throttle และ Direction Command |
| Battery | Things Used ระบุ Li-Ion Battery 1000mAh | แหล่งพลังงานของระบบ |
Drone รักษาสมดุลได้อย่างไร?
ผู้สร้างอธิบาย Control Loop ของ Drone เป็นกระบวนการที่ทำซ้ำอย่างต่อเนื่อง เพื่อวัดการเคลื่อนไหว ประเมินท่าทาง และปรับ Motor
IMU อ่านข้อมูล Rotation และ Acceleration
Microcontroller ใช้ข้อมูล Sensor เพื่อประเมินท่าทางของ Drone เช่น Roll, Pitch และ Yaw
Project ระบุ PID Controller 3 ชุดสำหรับคำนวณ Correction
MOSFET Driver ส่งการควบคุมแบบ PWM ไปยัง Motor ทั้ง 4 ตัว
Drone รับ Throttle และ Direction Command จาก Smartphone
ระบบวนกลับไปอ่าน Sensor และแก้ท่าทางใหม่อย่างต่อเนื่อง
PID ทำให้ Control Theory จับต้องได้อย่างไร?
เหตุผลสำคัญที่ผู้สร้างเลือก Drone มาใช้สอน Embedded System คือผลของการ Tune Control Loop สามารถมองเห็นได้ทันที
หน้า Project ยกตัวอย่างว่า หาก PID Gain ไม่เหมาะ Drone อาจ Wobble และหากการประเมินจาก Sensor Fusion มีปัญหา ก็อาจเกิด Drift
นี่ต่างจากการเรียน PID ผ่านกราฟเพียงอย่างเดียว เพราะ Output ของ Algorithm กลายเป็นการเคลื่อนที่ของวัตถุจริง
MPU6050 ทำหน้าที่อะไร?
Hardware Section ระบุ IMU เป็น MPU6050 และคำอธิบายระบบระบุว่า IMU ใช้ข้อมูล Rotation และ Acceleration เพื่อช่วยให้ Flight Controller เข้าใจการเคลื่อนไหวของ Drone
จากนั้นข้อมูลดังกล่าวถูกนำไปใช้ในขั้นตอนที่ Project เรียกว่า Sensor Fusion เพื่อสร้าง Attitude Estimate สำหรับ Roll, Pitch และ Yaw ก่อนนำไปให้ PID Controller คำนวณ Correction
Motor 4 ตัวถูกควบคุมอย่างไร?
Quadcopter ใช้ 4× 720 Coreless Motor และ Propeller ถูกแบ่งเป็น 2 ตัวแบบ CW กับ 2 ตัวแบบ CCW
Project อธิบายว่า PID Controller คำนวณว่ามอเตอร์แต่ละตัวควรเร่งขึ้นหรือลดลงเท่าไร จากนั้น MOSFET Driver ใช้ PWM เพื่อควบคุม Motor
แนวคิดนี้ทำให้ Motor ทั้งสี่ไม่ได้ถูกขับด้วยค่าเดียวกันตลอดเวลา แต่สามารถถูกปรับเพื่อสร้าง Correction ตามท่าทางของ Drone
Smartphone Control ทำงานอย่างไร?
Source ยืนยันว่า Drone ถูกควบคุมจาก Smartphone และโทรศัพท์ส่ง Throttle กับ Direction Command ไปยังตัว Drone
แต่หน้า Project ยังมีข้อมูล Wireless ที่ไม่ลงตัว: ใน Control Loop เขียนไว้เป็น Placeholder ว่า [Wi-Fi / BLE] ขณะที่ Hardware Section แสดง Smartphone app via [Wi-Fi] ซึ่งยังมีวงเล็บ Placeholder อยู่
ก่อนให้ Drone ลอยขึ้น Source แนะนำอะไร?
หน้า Project ให้ขั้นตอนระดับ High-level สำหรับนำ Drone ขึ้นบินไว้ดังนี้
- Mount Motor เข้ากับตำแหน่งบน PCB ตาม Layout ของ CW/CCW
- ติด Propeller ให้สัมพันธ์กับทิศทางหมุนที่กำหนด
- เปิดระบบบนพื้นผิวเรียบเพื่อให้ IMU Calibration
- Pair Smartphone กับ Drone
- เริ่มจาก Low Hover
- หากเกิด Drift หรือ Oscillation ให้ปรับ PID ตามแนวทางของ Project
Firmware ใช้อะไร?
หน้า Hackster ระบุ Software ว่าเป็น esp-drone และให้ Code ตัวอย่างจาก ESP-Drone Firmware ซึ่งมี Entry Point app_main()
Code ที่แสดงบนหน้า Project เป็นส่วนเริ่มต้นของ Firmware โดยจัดการ NVS, ตรวจ Platform และ Launch System ไม่ใช่ Source Code ของ PID, Sensor Fusion หรือ Motor Mixer ทั้งหมด
esp_err_t ret = nvs_flash_init();
ESP_ERROR_CHECK(ret);
if (platformInit() == false) {
while (1);
}
systemLaunch();
Snippet ด้านบนแสดงเฉพาะ Flow ที่ปรากฏใน Code ต้นฉบับ และถูกย่อเพื่ออธิบายโครงสร้าง ไม่ใช่ Firmware สำหรับ Flight Control แบบ Standalone
PCB Design คือบทเรียนอีกชั้น
เมื่อ PCB ไม่ได้เป็นเพียงวงจร แต่ทำหน้าที่เป็น Frame ของ Drone ด้วย การออกแบบ Board จึงเชื่อม Electronics เข้ากับ Mechanical Layout โดยตรง
Motor ต้องอยู่ในตำแหน่งที่สัมพันธ์กัน Flight Controller และ Sensor อยู่บน Board และวงจรขับ Motor ต้องถูกวางร่วมกับระบบควบคุม
Hackster ระบุ KiCad เป็นเครื่องมือด้าน Fabrication / PCB ที่ใช้ใน Project
จาก Blink LED ไปถึง Flight Control
ผู้สร้างอธิบายแรงจูงใจว่า นักเรียนจำนวนมากเริ่ม Embedded System จากงานพื้นฐานอย่าง Blink LED แต่ Concept อย่าง Real-time Control, PID และ Sensor Fusion มักยังดูเป็นทฤษฎี
PCB Drone ถูกใช้เป็น Project ที่รวมหลาย Skill เข้าด้วยกัน:
| Skill | เห็นใน Project อย่างไร? |
|---|---|
| Sensor Fusion | นำข้อมูล IMU มาใช้สร้าง Attitude Estimate |
| PID Control | คำนวณ Correction เพื่อช่วยรักษาท่าทาง Drone |
| PWM Motor Control | ปรับ Motor 4 ตัวผ่าน Motor Driver |
| Wireless Communication | รับ Command แบบ Real-time จาก Smartphone |
| PCB Design | Board ทำหน้าที่เป็นทั้ง Circuit และ Structure |
จุดสำคัญคือ Skill เหล่านี้ไม่ได้ถูกเรียนแยกเป็นบท แต่ต้องทำงานร่วมกันในระบบเดียวจึงจะทำให้ Drone บินได้ตามที่ Project ตั้งใจ
CoreStack Engineer's Kit คืออะไร?
หน้า Project ระบุว่า Drone เป็นส่วนท้ายของ CoreStack Engineer's Kit ซึ่งออกแบบแนวคิดไว้ว่า “One Kit. One Journey. Every Skill.”
Source ระบุ Development Board ใน Journey ได้แก่:
- Arduino Uno R4 WiFi
- Raspberry Pi Pico 2
- CYD ESP32
- ESP32-CAM
- STM32 Nucleo-F446RE
แล้วนำ Skill จาก Board ต่าง ๆ มารวมกันใน ANU PCB Drone เพื่อเข้าสู่หัวข้อ Flight Control
โปรเจกต์นี้มีหลายส่วน แนะนำอ่านต้นฉบับควบคู่กัน
เนื่องจากหน้า Project ยังมี Placeholder บางตำแหน่ง และ Code ที่แสดงเป็นเพียงส่วนหนึ่งของ ESP-Drone Firmware ผู้ที่ต้องการสร้างหรือศึกษาระบบจริงควรเปิด Source ต้นฉบับควบคู่กับบทความนี้
FAQ: คำถามที่พบบ่อย
1. PCB Drone คืออะไร?
ใน Project นี้คือ Quadcopter ที่ใช้ Custom PCB เป็นทั้งแผงวงจรและโครงของ Drone โดยไม่มี Separate Frame
2. Drone ใช้ Microcontroller อะไร?
Hardware Section ระบุ ESP32-S3 แบบ Dual-core
3. IMU ใช้รุ่นอะไร?
Source ระบุ MPU6050
4. ใช้มอเตอร์กี่ตัว?
Hardware Section ระบุ 4× 720 Coreless Motor
5. Propeller ใช้แบบไหน?
Source ระบุ 2× CW และ 2× CCW แต่ไม่ได้ระบุขนาด Propeller
6. Drone ใช้ PID หรือไม่?
ใช่ หน้า Project ระบุ Three PID Controllers สำหรับคำนวณ Correction ของ Motor
7. PID Gain เท่าไร?
Source ไม่ได้ระบุค่าของ P, I และ D จึงไม่ควรสร้างค่าขึ้นเอง
8. Motor ถูกขับอย่างไร?
Project ระบุ MOSFET Drivers และการควบคุมแบบ PWM แต่ไม่ได้ให้ Motor Driver Schematic หรือ Electrical Specification แบบครบถ้วนในเนื้อหาที่ใช้
9. Drone ควบคุมจากโทรศัพท์ได้หรือไม่?
ได้ Source ระบุว่าเป็น Smartphone-controlled และโทรศัพท์ใช้ส่ง Throttle กับ Direction Command
10. ใช้ Wi-Fi หรือ BLE?
หน้า Project ยังมี Placeholder "[Wi-Fi / BLE]" และอีกจุดใช้ "[Wi-Fi]" จึงยังไม่ควรฟันธง Protocol สำหรับ Hardware Revision นี้จาก Article เพียงอย่างเดียว
11. ใช้แบตเตอรี่แบบไหน?
Things Used ระบุ Li-Ion Battery 1000mAh แต่ Hardware Story ยังมี Placeholder เกี่ยวกับ Battery Source จึงไม่ได้ให้ข้อมูล Cell Count และ Voltage ที่ชัดพอสำหรับบทความนี้
12. Flight Time เท่าไร?
Source ไม่ได้ระบุ Flight Time
13. Drone หนักเท่าไร?
Source ไม่ได้ระบุน้ำหนักของ Drone
14. Sensor Fusion ใช้ Algorithm อะไร?
Source กล่าวถึง Sensor Fusion แต่ไม่ได้ระบุ Algorithm เช่น Complementary Filter หรือ Kalman Filter
15. มี Source Code หรือไม่?
หน้า Hackster มี Code ที่อ้างอิง ESP-Drone Firmware และมีไฟล์ให้ดาวน์โหลด แต่ Code ที่แสดงบนหน้า Project ไม่ใช่ Flight Control Source ทั้งระบบ
16. Project นี้เหมาะเรียนเรื่องอะไร?
Source ระบุ Sensor Fusion, PID Control, PWM Motor Control, Wireless Communication และ PCB Design
References / แหล่งข้อมูลต้นฉบับ
จาก Sensor และ PID สู่ระบบที่ขยับได้จริง
PCB Drone ทำให้เห็นว่า ESP32, IMU, Motor Control และ Control Algorithm สามารถรวมกันเป็น Project ที่ตอบสนองต่อโลกจริงแบบทันทีได้อย่างไร
หากกำลังเริ่ม Project Robotics, ESP32 หรือ Embedded Control สามารถสอบถามทีม Globalbyte เรื่อง Development Board, Sensor, Module และ Maker Accessories ที่เหมาะกับ Project ได้