GlobalByte / Drone / Robotics / Control
โดรนใบพัดเดียวบินได้อย่างไร? เจาะ Single Propeller Drone
Quadcopter ใช้มอเตอร์หลายตัวเพื่อสร้างแรงและควบคุมทิศทาง แต่ถ้าตัดทุกอย่างออกจนเหลือมอเตอร์และใบพัดเพียงชุดเดียว เราจะควบคุม Pitch กับ Roll ได้อย่างไร? นี่คือโจทย์ที่ Joshua Bird พยายามแก้ด้วย Single Propeller Drone ขนาดเล็ก
แนวคิดดูเหมือนจะง่าย: มอเตอร์หนึ่งตัว หมุนใบพัดหนึ่งชุด แล้วสร้างแรงยกให้พอ แต่ปัญหาจริงไม่ได้อยู่แค่ว่า “ยกตัวขึ้นได้หรือไม่” มันอยู่ที่การทำให้ยานบินรักษาทิศทาง และสร้างแรงควบคุมในแกนที่ต้องการด้วย Rotor เพียงชุดเดียว
Joshua Bird จึงพัฒนา Hinged Propeller Hub ที่เปลี่ยนลักษณะการทำงานของใบพัดตามตำแหน่งการหมุน พร้อมระบบควบคุม Motor ที่ต้องรู้สถานะ Rotor อย่างรวดเร็ว และต่อมาถึงขั้นเพิ่ม IR Beacon เพื่อให้ระบบมี Reference สำหรับการควบคุมทิศทาง
- โปรเจกต์ใช้มอเตอร์หนึ่งตัวและ Propeller หนึ่งชุด
- หัวใจของระบบคือ Hinged Propeller Hub สำหรับสร้างการควบคุม Pitch และ Roll
- ระบบต้องตอบสนองให้สัมพันธ์กับตำแหน่งของ Rotor อย่างรวดเร็ว
- ESC ทั่วไปที่อาศัย Back EMF ไม่ให้ข้อมูลตำแหน่ง Rotor โดยตรงในรูปแบบที่โปรเจกต์นี้ต้องการ
- Prototype จึงใช้ Motor Controller และ Firmware ที่ปรับแต่งเฉพาะ
- Official Project ใช้ ArduPilot Fork ร่วมกับ moteus Fork
- IR Beacon ถูกเพิ่มเข้ามาเพื่อให้ระบบมี Absolute Yaw Reference
- Repository เปิด CAD Files ทั้ง Fusion 360 และ STEP สำหรับหลายชิ้นส่วน
Single Propeller Drone คืออะไร?
Official GitHub อธิบายโปรเจกต์นี้แบบตรงไปตรงมาว่า เป็นโดรนที่บินด้วย Propeller เพียงชุดเดียว ติดตั้งอยู่ด้านบนของตัวถังแบบมี Fin
ความท้าทายคือ การมี Motor และ Propeller เพียงชุดเดียว ทำให้ไม่สามารถใช้วิธีเพิ่มหรือลดแรงของ Motor หลายตัว แบบ Multirotor ทั่วไป เพื่อสร้าง Moment ควบคุม Pitch และ Roll ได้
โปรเจกต์จึงต้องหาวิธีสร้าง Control Authority จาก Rotor ชุดเดียว และนั่นคือจุดที่กลไกของ Propeller Hub กับระบบควบคุม Motor เข้ามามีบทบาท
ทำไม Rotor เดียวถึงควบคุมยาก?
Hackaday อธิบายว่า แม้ในทางหลักการ Motor และ Propeller เพียงชุดเดียว สามารถสร้างแรงยกได้ แต่การทำให้ยานควบคุมได้จริงกลับยากกว่ามาก
ในระบบอย่าง Helicopter จึงมักมี Rotor หรือระบบอื่นเพิ่มเข้ามา เพื่อช่วยจัดการผลจาก Rotor หลัก และสร้างความสามารถในการควบคุมทิศทาง
Joshua Bird ตั้งโจทย์ต่างออกไป: เขาต้องการให้ Drone มีขนาดเล็ก และยังคงใช้ Propeller เพียงชุดเดียว แทนการแก้ปัญหาด้วยการเพิ่ม Rotor เพิ่มอีกชุด
Single Propeller Drone ต้องสร้างทั้งแรงยก และแรงควบคุมทิศทางจาก Rotor ชุดเดียว โดยระบบ Mechanical และ Control ต้องทำงานสัมพันธ์กัน
หัวใจของโปรเจกต์คือ Hinged Propeller Hub
Hackaday ระบุว่า Key Mechanism ของระบบคือ Hinged Propeller Hub ที่สามารถเปลี่ยนลักษณะมุมของใบพัด ให้เกิดผลต่างกันตามตำแหน่งที่ Rotor กำลังหมุนอยู่
การเปลี่ยนผลของ Blade ในแต่ละช่วงของการหมุน ช่วยให้ระบบสร้างแรงควบคุมสำหรับ Pitch และ Roll ได้ แม้จะมี Rotor เพียงชุดเดียว
↓
รู้ตำแหน่ง Rotor
↓
ปรับการตอบสนองของ Blade ตามตำแหน่ง
↓
สร้าง Pitch / Roll Control
จุดสำคัญคือ การควบคุมต้องเกิดเร็วพอ และต้องสัมพันธ์กับตำแหน่งการหมุนจริง ไม่ใช่เพียงปรับกำลัง Motor แบบช้า ๆ
ทำไมต้องรู้ตำแหน่งของ Rotor?
ถ้าต้องการให้ Rotor สร้างแรงควบคุมไปในทิศหนึ่ง ระบบจำเป็นต้องรู้ว่า Blade กำลังอยู่ตรงส่วนใดของวงรอบการหมุน ในขณะที่สั่งปรับการทำงาน
นี่ทำให้โจทย์ไม่ได้มีเพียง “Motor หมุนเร็วเท่าไร” แต่รวมถึง “Rotor อยู่ตรงตำแหน่งใดในขณะนั้น” ด้วย
Main Source ระบุว่า Prototype ขั้นสุดท้ายต้องวัดรายละเอียดเหล่านี้โดยตรง เพื่อให้สามารถปรับ Motor ได้เร็วพอสำหรับระบบควบคุม
ไม่มี Control Loop Frequency, Rotor Position Resolution, Motor RPM หรือ Response Time ที่เพียงพอให้คำนวณ Timing ของระบบ ดังนั้นบทความนี้จะไม่สร้างตัวเลขดังกล่าวขึ้นเอง
ทำไม Standard ESC ถึงไม่พอสำหรับโจทย์นี้?
Hackaday ระบุว่า Standard Motor ESC ที่ใช้ในการทดลองก่อนหน้า ไม่ได้วัด Motor Speed และ Position โดยตรง แต่พึ่งข้อมูลจาก Back EMF
สำหรับ Drone ทั่วไป วิธีควบคุม Motor ลักษณะนี้อาจเพียงพอตาม Architecture ของระบบนั้น แต่ใน Single Propeller Drone Joshua Bird ต้องการข้อมูลและการตอบสนอง ที่สัมพันธ์กับ Rotor Position อย่างมาก
ไม่ควรตีความว่า ESC ทั่วไป “ไม่รู้ความเร็ว Motor เลย” แต่ในบริบทของโปรเจกต์นี้ มันไม่ได้ให้ Direct Rotor Position Feedback ในรูปแบบที่ Control Architecture ต้องการ
ผลคือ Prototype ต้องใช้ Custom Controller Code และระบบ Motor Control ที่ถูกปรับให้เหมาะกับ Vehicle แบบนี้โดยเฉพาะ
Control Architecture ของ Prototype ไม่ได้จบแค่ Flight Controller
Official Repository ของ Single Propeller Drone แยก Firmware ที่เกี่ยวข้องออกเป็นสองโครงการหลัก: ArduPilot Fork สำหรับ Flight Controller และ moteus Fork สำหรับ Motor Controller
รับผิดชอบส่วน Flight Control และเพิ่ม Motor Control Output หรือ MCOUT สำหรับ Vehicle แบบหมุนและควบคุมภายนอก
รับคำสั่ง MCOUT และจัดการ Motor Controller รวมถึงการควบคุมที่สัมพันธ์กับมุมการหมุนของ Rotor
ArduPilot MCOUT
README ของ Official ArduPilot Fork ระบุว่าเพิ่ม Serial Motor Control Output (MCOUT) สำหรับ Custom Spinning และ Externally Controlled Vehicles
ความสามารถที่ Fork ระบุรวมถึง:
- Stabilized Commands
- Transmitter-adjustable Trim
- Direct Pilot Passthrough
- IR-beacon Absolute Yaw Source สำหรับ EKF3
moteus และ Angle-synchronous Cyclic Torque
Official moteus Fork ระบุการเพิ่ม Direct ArduPilot MCOUT Control ผ่าน AUX UART สำหรับ Underactuated Propellers
README ระบุความสามารถ เช่น:
- Velocity-based Throttle
- Scheduled Angle-synchronous Cyclic Torque
- Safety Gating
- Telemetry
- Axis Inversion
- Zero-angle AUX Trigger
↓
MCOUT
↓
moteus Motor Control
↓
Angle-synchronous Rotor Control
โปรเจกต์มี Firmware และ Configuration เฉพาะจำนวนมาก แต่บทความนี้ไม่สร้าง Wiring, UART Pinout, Controller Settings หรือ Parameter Values เพิ่มขึ้นเอง ควรอ่าน Documentation ใน Firmware Fork โดยตรงก่อนทดลอง
IR Beacon ช่วยแก้ปัญหาการหลง Reference อย่างไร?
ถึงแม้ระบบ Motor Control จะพัฒนาจน Drone สามารถบินได้ Hackaday ระบุว่า Prototype ยังมีปัญหาสูญเสีย Reference ของตัวเอง จนบางครั้งควบคุมต่อไม่ได้และ Crash
แนวทางที่เพิ่มเข้ามาคือ ติดตั้ง Infrared Beacon ในห้อง และมี Sensor บน Drone เพื่อให้ระบบมี Fixed Reference
Official ArduPilot Fork ให้รายละเอียดชัดขึ้นอีกขั้นว่า มีระบบ IR-beacon Absolute Yaw Source สำหรับ EKF3
ไม่ควรตีความจาก Source ว่าเป็นระบบบอกตำแหน่ง X/Y/Z ครบแบบ Motion Capture หรือ Indoor GPS เพราะ Official Firmware ระบุบทบาทหลักในฐานะ Absolute Yaw Source
จาก Test Stand สู่การบินจริง ต้องผ่านการทดลองซ้ำหลายรอบ
Main Source เล่าว่า Prototype ผ่าน Trial and Error จำนวนมาก ก่อนจะควบคุมได้ดีพอ และแม้หลังจากนั้นก็ยังมีช่วงที่ระบบสูญเสีย Reference แล้ว Crash
การมี Test Stand จึงเป็นภาพที่ช่วยให้เห็น Workflow ของโปรเจกต์: ระบบ Rotor และ Motor Control ไม่ได้ถูกนำขึ้นบินเต็มรูปแบบทันที แต่มีการทดลองกับ Hardware ก่อน
Rotor ความเร็วสูงสามารถก่อให้เกิดอันตรายได้ การทดสอบ Motor และ Propeller ควรทำในพื้นที่ควบคุม รักษาระยะจากแนวใบพัด และใช้อุปกรณ์ยึดหรือ Test Setup ที่เหมาะสม
บทความนี้ไม่ใช่คู่มือ Safety, Motor Wiring หรือ Battery Wiring สำหรับการสร้าง Drone
โปรเจกต์เปิด CAD Files ให้ศึกษาต่อบน GitHub
Official Repository มี CAD ของชิ้นส่วนหลักหลายรายการ ทั้งในรูปแบบ Fusion 360 และ STEP ทำให้คนที่สนใจ Mechanical Design สามารถเข้าไปศึกษารูปทรงของ Prototype ต่อได้
| ชิ้นส่วน | Fusion 360 | STEP |
|---|---|---|
| Body | body.f3z | body.step |
| Prop Plate | prop plate.f3d | prop plate.step |
| Propeller v1 | prop_v1.f3d | prop_v1.step |
| Propeller v2 | prop_v2.f3d | prop_v2.step |
เปิด Project Files และ Firmware
Source ไม่ได้ระบุ Layer Height, Infill, Support, Nozzle, Material หรือ Printing Temperature จึงไม่ควรสร้าง 3D Printing Settings ขึ้นเองจากไฟล์เหล่านี้
แผนต่อไปคือให้ Drone ใช้สภาพแวดล้อมเป็น Reference
IR Beacon ช่วยให้ Prototype มี Fixed Reference ภายในห้อง แต่ข้อจำกัดคือ ต้องมี Infrastructure ภายนอกช่วย
Hackaday ระบุว่า การเปลี่ยนแปลงที่วางแผนไว้ใน Drone Design รวมถึงการเพิ่ม Scanner เพื่อให้ Drone สามารถใช้ Feature ที่อยู่ใน Environment เป็น Fixed Reference ได้ด้วยตัวเอง
IR Beacon ในห้อง
↓
Fixed Reference
Future Direction
Scanner + Environmental Features
↓
Reference จากสภาพแวดล้อม
แนวคิดนี้อาจช่วยให้ระบบ ไม่ต้องพึ่ง IR Beacon แบบเดิม และ Main Source มองว่า อาจเปิดทางให้ Drone สามารถทดลองบินภายนอกได้ในอนาคต
Source ไม่ได้ยืนยันว่า Scanner-based Navigation ทำงานสำเร็จแล้ว หรือว่า Drone สามารถบิน Outdoor ได้แล้ว จึงไม่ควรเขียน Feature นี้ในฐานะความสามารถปัจจุบัน
ดู Joshua Bird ทดลองสร้าง Drone ด้วย Motor เดียว
วิดีโอต้นฉบับช่วยให้เห็นทั้ง Prototype, การทดลอง, ปัญหาด้าน Control และวิวัฒนาการของระบบได้ชัดกว่าภาพนิ่ง
สิ่งที่ Maker เรียนรู้ได้จาก Single Propeller Drone
โปรเจกต์นี้น่าสนใจตรงที่ ปัญหาไม่ได้ถูกแก้ด้วย Hardware, Mechanical หรือ Software อย่างใดอย่างหนึ่ง แต่ต้องพัฒนาหลายส่วนพร้อมกัน
- Mechanical Design: Hinged Propeller Hub ต้องสร้างความสามารถในการควบคุมจาก Rotor ชุดเดียว
- Rotor Feedback: ระบบต้องรู้สถานะการหมุนเร็วพอสำหรับการควบคุมที่สัมพันธ์กับมุม Rotor
- Motor Control: Motor Controller ต้องตอบสนองกับ Command ที่เฉพาะกว่า ESC ทั่วไปในบริบทของโปรเจกต์นี้
- Flight Control: ArduPilot Fork ถูกปรับให้ส่ง MCOUT สำหรับ Vehicle รูปแบบพิเศษ
- State Estimation: IR Beacon ถูกเพิ่มเป็น Absolute Yaw Reference สำหรับ EKF3
- Iteration: การบินได้ครั้งหนึ่งไม่ได้แปลว่าระบบเสถียรแล้ว Prototype ยังต้องผ่าน Test, Crash และการแก้ไขหลายรอบ
โปรเจกต์นี้เป็นตัวอย่างที่ดีว่า Sensor, Control Algorithm, Motor Controller และ Mechanical Design ต้องถูกออกแบบให้ทำงานเป็นระบบเดียวกัน ไม่ใช่เลือกอุปกรณ์แต่ละชิ้นแยกจากกัน
FAQ — คำถามที่พบบ่อยเกี่ยวกับ Single Propeller Drone
1. Single Propeller Drone ใช้มอเตอร์กี่ตัว?
โปรเจกต์นี้ใช้มอเตอร์หนึ่งตัวและ Propeller หนึ่งชุดตาม Official Project
2. Drone ควบคุม Pitch และ Roll ด้วยอะไร?
Main Source ระบุว่าใช้ Hinged Propeller Hub เพื่อปรับผลของ Blade ตามตำแหน่งการหมุน และสร้างการควบคุม Pitch กับ Roll
3. Motor หมุนกี่ RPM?
Main Source ระบุเพียงว่าใช้ Very High RPM แต่ไม่ได้ให้ค่าตัวเลข
4. ใช้ Motor รุ่นอะไร?
Source ที่ใช้ในบทความนี้ไม่ได้ระบุ Motor Model
5. ทำไมใช้ ESC ทั่วไปไม่ได้?
Hackaday ระบุว่า Standard ESC ที่ทดลอง พึ่ง Back EMF และไม่ได้วัด Motor Speed/Position โดยตรง ในรูปแบบที่ระบบ Control นี้ต้องการ
6. Flight Controller ใช้อะไร?
Official Repository เชื่อมไปยัง ArduPilot Fork ของผู้สร้าง ในฐานะ Flight Controller Firmware แต่ Source หลักไม่ได้ระบุ Hardware Flight Controller Model ในข้อมูลที่ใช้บทความนี้
7. Motor Controller ใช้อะไร?
Official Repository เชื่อมไปยัง moteus Fork สำหรับ Motor Controller Firmware แต่ Source ที่ใช้บทความนี้ไม่ได้ระบุว่า Hardware Revision ใดเป็นตัวที่ติดตั้งใน Prototype ทุกช่วง
8. MCOUT คืออะไร?
ใน ArduPilot Fork ของโปรเจกต์ MCOUT คือ Serial Motor Control Output ที่เพิ่มสำหรับ Custom Spinning และ Externally Controlled Vehicles
9. IR Beacon ใช้บอกตำแหน่ง Drone หรือไม่?
Main Source อธิบายว่าใช้เป็น Fixed Reference และ Official ArduPilot Fork ระบุชัดว่า Integration นี้ใช้เป็น Absolute Yaw Source สำหรับ EKF3 ไม่ควรตีความว่าให้ตำแหน่ง X/Y/Z ครบโดยอัตโนมัติ
10. Drone นี้บินกลางแจ้งได้แล้วหรือยัง?
Source ไม่ได้ยืนยันว่าระบบปัจจุบันบิน Outdoor ได้แล้ว การใช้ Scanner และ Environmental Features ยังถูกกล่าวถึงในฐานะแผนพัฒนาต่อ
11. Repository มีไฟล์ CAD หรือไม่?
มี ทั้ง Fusion 360 และ STEP สำหรับ Body, Prop Plate และ Propeller หลายเวอร์ชัน
12. สามารถพิมพ์ชิ้นส่วนด้วย 3D Printer ได้เลยหรือไม่?
Repository มี CAD Files แต่ Source ไม่ได้ให้ Printing Settings เช่น Material, Layer Height, Infill หรือ Support จึงควรตรวจและเตรียมไฟล์ให้เหมาะกับกระบวนการผลิตของตนเอง
13. Drone มีน้ำหนักเท่าไร?
Source ที่ใช้บทความนี้ไม่ได้ระบุน้ำหนักตัว Drone
14. บินได้นานเท่าไร?
Source ไม่ได้ระบุ Battery Capacity หรือ Flight Time
15. Single Propeller Drone ง่ายกว่า Quadcopter หรือไม่?
Source ไม่รองรับข้อสรุปนี้ แม้จำนวน Motor จะน้อยกว่า แต่โปรเจกต์แสดงให้เห็นว่า Control System ของ Rotor เดียวมีความท้าทายสูงและต้องใช้ Hardware กับ Firmware เฉพาะ
สรุป: ใบพัดน้อยลง แต่โจทย์ Control กลับยากขึ้น
Single Propeller Drone ของ Joshua Bird เป็นตัวอย่างที่ดีของ Engineering Project ที่เริ่มจากข้อจำกัดง่าย ๆ: “ถ้าเหลือ Rotor แค่ชุดเดียว จะยังบินได้หรือไม่?”
คำตอบคือ การสร้างแรงยกอาจไม่ใช่ส่วนที่ยากที่สุด แต่การสร้าง Pitch/Roll Control, รู้ตำแหน่ง Rotor, ควบคุม Motor ให้ตอบสนองสัมพันธ์กับมุมการหมุน และรักษา Reference ของ Vehicle คือโจทย์ที่ทำให้ระบบซับซ้อนขึ้นอย่างมาก
Hinged Propeller Hub, Custom Motor Control, ArduPilot MCOUT, moteus Cyclic Torque และ IR Beacon จึงไม่ได้เป็นชิ้นส่วนแยกกัน แต่เป็นองค์ประกอบที่ช่วยให้ Vehicle รูปแบบพิเศษนี้ เข้าใกล้การบินแบบควบคุมได้จริง
และโปรเจกต์ก็ยังไม่จบ เพราะแผนต่อไปคือการทำให้ Drone ใช้ Feature จาก Environment เป็น Reference ได้เอง แทนการพึ่ง IR Beacon ภายในห้องเพียงอย่างเดียว
References / แหล่งข้อมูลต้นฉบับ
สนใจ Robotics, Control และ Embedded Project?
โปรเจกต์แบบนี้แสดงให้เห็นว่า Motor Controller, Sensor, Development Board และ Mechanical Design ต้องเลือกให้สัมพันธ์กับ Control Architecture ของระบบ หากกำลังทำ Robot, Drone หรือ Embedded Project สามารถสอบถามทีม GlobalByte เรื่องบอร์ด Sensor หรืออุปกรณ์ที่เหมาะกับโปรเจกต์ได้ โดยไม่จำเป็นต้องเริ่มจากการเลือกอุปกรณ์แบบเดาสเปก
บทความนี้เป็นการสรุปและเรียบเรียงจากแหล่งข้อมูลภาษาอังกฤษ อาจมีความคลาดเคลื่อน กรุณาตรวจสอบ Source ต้นฉบับก่อนลงมือทำ
ข้อมูลในบทความมาจาก Hackaday, Official Single Propeller Drone Repository และ Firmware Fork ของผู้สร้าง โดยรายละเอียดใน Firmware Repository อาจมีการเปลี่ยนแปลงตามการพัฒนาของโปรเจกต์
Source ที่ใช้ไม่ได้ระบุ Motor KV, RPM แบบตัวเลข, Battery Voltage, Battery Capacity, Flight Time, Thrust, Drone Weight, Propeller Dimension, Blade Angle, Control Loop Frequency, IMU Model หรือ Wiring สำหรับ Prototype ครบทุกส่วน จึงไม่มีการสร้างค่าดังกล่าวขึ้นเอง
IR Beacon ถูกอธิบายใน Official ArduPilot Fork ในฐานะ Absolute Yaw Source สำหรับ EKF3 ไม่ควรตีความว่าระบบนี้ให้ข้อมูลตำแหน่งสามมิติครบทุกแกนโดยอัตโนมัติ
Scanner และการใช้ Environmental Features เป็น Reference เป็นแนวทางพัฒนาที่ Main Source กล่าวถึง ไม่ได้หมายความว่า Feature นี้เสร็จสมบูรณ์ หรือว่า Prototype ปัจจุบันสามารถบิน Outdoor ได้แล้ว
การทดลองกับ Motor และ Propeller ความเร็วสูง มีความเสี่ยงต่อการบาดเจ็บและความเสียหายของอุปกรณ์ ควรใช้อุปกรณ์ยึด Test Stand, พื้นที่ควบคุม และมาตรการความปลอดภัยที่เหมาะสม บทความนี้ไม่ใช่คู่มือสร้างหรือคู่มือความปลอดภัยสำหรับอากาศยาน
CAD Files ที่ Repository เปิดเผย ไม่ได้มาพร้อม 3D Printing Settings แบบตายตัวใน Source ที่ใช้ จึงไม่มีการกำหนด Material, Layer Height, Infill, Support, Nozzle หรือ Temperature ในบทความนี้