โมดูล 4/5 · สัปดาห์ 10–12 · 27 ชม.

ติดตั้ง payload และจุดศูนย์ถ่วง

UAT 302 การติดตั้งและประกอบรวมระบบอากาศยานไร้คนขับ

เวลาเรียนประมาณ 85 นาทีร่าง รอตรวจปรับปรุงล่าสุด 28 กันยายน 2569

บทเรียน

เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ

  1. คำนวณแรงขับที่มอเตอร์แต่ละตัวต้องรับเมื่อจุดศูนย์ถ่วงเลื่อนจากศูนย์กลางแรงขับ
  2. กำหนดขอบเขตจุดศูนย์ถ่วงที่ยอมรับได้จากส่วนเผื่อแรงขับ
  3. ออกแบบการแยกการสั่นของ payload ด้วยตัวหน่วงตามหลักการส่งผ่านการสั่น
  4. ติดตั้งและยึด payload ให้ตรวจสอบได้และปลอดภัย

ความรู้พื้นฐานที่ควรมี: UAT 302 โมดูล 1–3 · UAT 321 โมดูล 1 (บัญชีมวลและ CG)

ทำไมต้องรู้

UAT 321 สอนคำนวณมวลรวมและตำแหน่งจุดศูนย์ถ่วง (CG) แล้ว โมดูลนี้ตอบคำถามถัดไปของคนติดตั้ง: CG เลื่อนได้แค่ไหนโดยยังบินปลอดภัย และ ยึดกล้องอย่างไรไม่ให้ภาพสั่น โดรนสำรวจของกรณีนี้ต้องเปลี่ยนระหว่างกล้องถ่ายภาพกับกล้องความร้อนตามภารกิจ ทุกครั้งที่เปลี่ยน CG และลักษณะการสั่นเปลี่ยนตาม หน่วยความรู้เรื่องน้ำหนักบรรทุกและจุดศูนย์ถ่วงของคลังความรู้โดรนแนะนำให้คำนวณด้วยตัวอย่างที่ตรวจคำตอบได้ แล้วยืนยันด้วยการทดลองแรงขับ ตัวเลขทั้งหมดเป็นข้อมูลสมมติ

CG เลื่อน มอเตอร์รับภาระไม่เท่ากัน

โดรนสี่ใบพัดแบบ X ที่ CG อยู่ตรงศูนย์กลาง มอเตอร์ทั้งสี่รับน้ำหนักเท่ากัน ถ้า CG เลื่อนไปข้างหน้าระยะ มอเตอร์หน้าต้องออกแรงมากขึ้นเพื่อให้โมเมนต์รอบ CG สมดุล (Quan, 2017) เมื่อมอเตอร์หน้าและหลังอยู่ห่างศูนย์กลางตามแนวหน้าหลัง แรงขับของมอเตอร์หน้าแต่ละตัวคือ มอเตอร์ที่ทำงานหนักกว่าเหลือแรงขับสำรองสำหรับควบคุมท่าทางน้อยลง เมื่อมีลมกระโชกหรือต้องเบรก อาจไม่พอ

ตัวอย่างที่ 1 CG เลื่อนเท่าใดจึงเกินเกณฑ์

โดรนหนัก 3.2 kg มอเตอร์ห่างศูนย์กลาง 0.35 m ตามแนวทแยง มอเตอร์แต่ละตัวให้แรงขับสูงสุด 1.8 kgf ทีมกำหนดว่าขณะลอยตัว มอเตอร์ใดต้องไม่ใช้เกิน 50% ของแรงขับสูงสุด เพื่อเหลือส่วนเผื่อสำหรับควบคุม

import math

G = 9.81
W = 3.2 * G                                   # N
A = 0.35 * math.cos(math.radians(45))          # m ระยะหน้าหลังของมอเตอร์จากศูนย์กลาง
T_MAX = 1.8 * G                                # N ต่อมอเตอร์
LIMIT = 0.50

for d_cm in (0, 2, 4, 6):
    d = d_cm / 100
    tf, tr = W * (A + d) / (4 * A), W * (A - d) / (4 * A)
    share = tf / T_MAX
    print(f"CG +{d_cm} cm: front {tf:.2f} N, rear {tr:.2f} N, front motor at {share:.1%} of max -> {'ok' if share <= LIMIT else 'over limit'}")
d_max = A * (4 * LIMIT * T_MAX / W - 1)
print(f"largest CG offset within the limit: {d_max * 100:.1f} cm")
CG +0 cm: front 7.85 N, rear 7.85 N, front motor at 44.4% of max -> ok
CG +2 cm: front 8.48 N, rear 7.21 N, front motor at 48.0% of max -> ok
CG +4 cm: front 9.12 N, rear 6.58 N, front motor at 51.6% of max -> over limit
CG +6 cm: front 9.75 N, rear 5.95 N, front motor at 55.2% of max -> over limit
largest CG offset within the limit: 3.1 cm

ขอบเขต CG ของโดรนนี้จึงอยู่ในวงราว 3 cm จากศูนย์กลางแรงขับ กล้องความร้อนที่ติดยื่นไปข้างหน้าอาจดัน CG ออกนอกขอบเขตได้ง่าย ทีมต้องย้ายแบตเตอรี่ไปด้านหลังเพื่อถ่วง แล้วชั่งหาตำแหน่ง CG จริง และดูค่าคันเร่งของมอเตอร์แต่ละตัวจาก log หลังบินทดสอบ

แผนภูมิแท่งแรงขับของมอเตอร์หน้าเป็นเปอร์เซ็นต์ของแรงขับสูงสุด ที่ CG เลื่อน 0 2 4 และ 6 เซนติเมตร ค่า 44.4 48.0 51.6 และ 55.2 เปอร์เซ็นต์ เส้นประสีชมพูที่ 50 เปอร์เซ็นต์ แท่งที่ 4 และ 6 เซนติเมตรเกินเส้น
ภาพที่ 1 ภาระของมอเตอร์หน้าเมื่อ CG เลื่อนไปข้างหน้า

แยกการสั่นของ payload

มอเตอร์และใบพัดสร้างการสั่นที่ความถี่การหมุนของมอเตอร์ และความถี่ที่ใบพัดผ่าน (ความถี่การหมุนคูณจำนวนใบ) กล้องที่ยึดแข็งกับโครงจะสั่นตาม ภาพเบลอและ gimbal ทำงานหนัก เอกสาร ArduPilot และ PX4 แนะนำให้แก้ที่ต้นเหตุก่อน เช่น ถ่วงใบพัดและทำโครงให้แข็ง แล้วจึงใช้ฐานยึดแยกการสั่น วิธีแยกการสั่นคือวาง payload บน ตัวหน่วงยาง ซึ่งทำให้ระบบมีความถี่ธรรมชาติ ตามหลักการสั่นแบบหนึ่งองศาอิสระ (Gavin, 2026; Delli Carri) อัตราส่วนการส่งผ่านการสั่นเมื่อไม่มีความหน่วงคือ โดย การสั่นจะลดลงเมื่อ และถ้า ใกล้ 1 การสั่นจะ ขยาย แทนที่จะลด

ตัวอย่างที่ 2 เลือกความแข็งของตัวหน่วง

gimbal กับกล้องหนัก 0.9 kg วางบนตัวหน่วง 4 ตัว มอเตอร์หมุน 5,000 rpm ใบพัด 2 ใบ เทียบตัวหน่วงนิ่มกับแข็ง

import math

M = 0.9                                        # kg
RPM, BLADES = 5000, 2
f_motor = RPM / 60
f_blade = f_motor * BLADES
print(f"excitation: motor {f_motor:.1f} Hz, blade pass {f_blade:.1f} Hz")

for name, k_each in (("soft", 2_000), ("stiff", 50_000)):   # N/m ต่อตัวหน่วง
    fn = math.sqrt(4 * k_each / M) / (2 * math.pi)
    parts = []
    for f in (f_motor, f_blade):
        r = f / fn
        t = 1 / abs(1 - r * r)
        parts.append(f"{f:.0f} Hz: r {r:.2f}, T {t:.3f}")
    print(f"{name:<5} fn {fn:.1f} Hz | " + " | ".join(parts))
excitation: motor 83.3 Hz, blade pass 166.7 Hz
soft  fn 15.0 Hz | 83 Hz: r 5.55, T 0.034 | 167 Hz: r 11.11, T 0.008
stiff fn 75.0 Hz | 83 Hz: r 1.11, T 4.279 | 167 Hz: r 2.22, T 0.254

ตัวหน่วงนิ่มลดการสั่นที่ความถี่มอเตอร์เหลือไม่ถึง 4% ส่วนตัวหน่วงแข็งมีความถี่ธรรมชาติใกล้ความถี่มอเตอร์ จึงขยายการสั่นหลายเท่า ซึ่งแย่กว่ายึดแข็งเสียอีก แต่ตัวหน่วงที่นิ่มเกินไปทำให้กล้องแกว่งตามการเคลื่อนที่ช้า ๆ ของอากาศยาน และกล้องอาจยุบจนชนโครง จึงต้องมีตัวกันระยะและสายนิรภัยยึดกล้องไว้เสมอ

กราฟอัตราส่วนการส่งผ่านการสั่น T ตามอัตราส่วนความถี่ r จาก 0 ถึง 6 เส้นสีฟ้าเริ่มที่ 1 ขึ้นสูงมากใกล้ r เท่ากับ 1 แล้วลดลงต่ำกว่า 1 หลัง r เท่ากับรากที่สองของ 2 จุดสีเขียวตัวหน่วงนิ่มที่ r 5.55 และจุดสีชมพูตัวหน่วงแข็งที่ r 1.11
ภาพที่ 2 การส่งผ่านการสั่นตามอัตราส่วนความถี่

ยึด payload ให้ตรวจสอบได้

  • ใช้ตัวยึดที่ออกแบบให้รับแรงตามทิศทางบิน และล็อกสกรูด้วยน้ำยากันคลายหรือแหวนล็อก
  • เดินสายสัญญาณของ payload แยกจากสายกำลัง และเผื่อความยาวให้ gimbal หมุนได้สุดทุกแกนโดยไม่ดึงสาย
  • ทำเครื่องหมายแนวตรวจการคลายบนสกรูสำคัญ เพื่อให้ตรวจก่อนบินด้วยตาได้
  • บันทึกมวล ตำแหน่ง และชนิดตัวหน่วงของ payload แต่ละแบบในบัญชี configuration (โมดูล 5)

ปฏิบัติการประจำโมดูล

ปฏิบัติการ: เปลี่ยน payload อย่างปลอดภัย

  1. ชั่งหาตำแหน่ง CG จริงของโดรนฝึกกับ payload สองแบบ ด้วยวิธีแขวนหรือวางบนตาชั่งสองจุด
  2. คำนวณภาระของมอเตอร์หน้าด้วยตัวอย่างที่ 1 และปรับตำแหน่งแบตเตอรี่จนอยู่ในขอบเขต
  3. บินลอยตัวทดสอบ แล้วอ่านค่าเอาต์พุตของมอเตอร์แต่ละตัวจาก log เทียบกับการคำนวณ
  4. วัดการสั่นของ payload ด้วยตัวหน่วงสองแบบ เทียบกับตัวอย่างที่ 2
  5. เขียนขั้นตอนเปลี่ยน payload หนึ่งหน้าให้ทีมภาคสนามใช้

ข้อผิดพลาดที่พบบ่อย

ระวัง

  • คิดว่าโดรนที่ลอยได้แปลว่า CG ถูกต้อง
  • ใช้ตัวหน่วงที่แข็งหรือนิ่มโดยไม่คำนวณความถี่ธรรมชาติ
  • ไม่มีสายนิรภัยยึด payload เมื่อยึดบนตัวหน่วง
  • เดินสาย payload ตึงจน gimbal หมุนไม่สุด
  • เปลี่ยน payload โดยไม่บันทึก configuration

สรุป

  • CG เลื่อน ทำให้มอเตอร์ด้านนั้นรับแรง ส่วนเผื่อแรงขับกำหนดขอบเขต CG
  • ตัวหน่วงแยกการสั่นเมื่อความถี่กระตุ้นสูงกว่า เท่าของความถี่ธรรมชาติ
  • ถ้าความถี่ธรรมชาติใกล้ความถี่มอเตอร์ การสั่นจะขยาย
  • ยึด payload ให้ตรวจสอบได้ มีสายนิรภัย และบันทึกใน configuration

แบบฝึกตรวจความเข้าใจ

  1. 30 N, 0.25 m, CG เลื่อน 0.05 m มอเตอร์หน้าแต่ละตัวรับแรงเท่าใด
  2. มวล 1 kg ความแข็งรวม 4,000 N/m ความถี่ธรรมชาติเท่าใด
  3. อัตราส่วนการส่งผ่านเท่าใด
  4. มอเตอร์ 6,000 rpm ใบพัด 3 ใบ ความถี่ใบพัดผ่านเท่าใด
  5. ทำไมตัวหน่วงที่แข็งเกินไปจึงอาจแย่กว่ายึดแข็ง
เฉลย
  1. N
  2. Hz
  3. Hz
  4. ความถี่ธรรมชาติอาจใกล้ความถี่มอเตอร์ ทำให้เกิดการสั่นพ้องที่ขยายการสั่น

สรุปสูตรสำคัญ

แรงขับมอเตอร์หน้าและหลังเมื่อ CG เลื่อน d
ความถี่ธรรมชาติ
การส่งผ่านการสั่น (ไม่มีความหน่วง)

แหล่งอ้างอิงหลัก

  1. Gavin, H. P. (2026). Dynamics of simple oscillators (CEE 541 course notes). Duke University. link
  2. Delli Carri, A. Base excitation & isolation: Explorable explanations. Coventry University. link
  3. ArduPilot Dev Team. Vibration damping. ArduPilot Copter documentation. link
  4. PX4 Autopilot. Vibration isolation. PX4 user guide (main). link
  5. Quan, Q. (2017). Introduction to multicopter design and control. Springer Singapore. link
  6. Fahlstrom, P. G., Gleason, T. J., & Sadraey, M. H. (2022). Introduction to UAV systems (5th ed.). Wiley. link

อ่านเพิ่มเติม

ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล

ในชั้นเรียน / ภาคสนาม

ปฏิบัติการในห้องแล็บหรือภาคสนามตามใบงาน พร้อม checklist ความปลอดภัย

หลักฐานการเรียนรู้: ใบงานที่ผ่านการตรวจและผล quiz

แบบทดสอบประจำโมดูล

แบบทดสอบนี้ใช้ตรวจความเข้าใจ (formative) ไม่ใช่การสอบเก็บคะแนน

โดเมนความรู้: ระบบอัตโนมัติ หุ่นยนต์ และฝูงโดรน · อากาศยาน โครงสร้าง และการออกแบบ · การสำรวจ ทำแผนที่ และภูมิสารสนเทศ · การตรวจสอบ อุตสาหกรรม และการเฝ้าระวัง · เซนเซอร์และระบบสมองกลฝังตัว