โมดูล 3/5 · สัปดาห์ 7–9 · 27 ชม.

วินิจฉัยข้อบกพร่อง

UAT 321 ปฏิบัติการติดตั้ง การประกอบรวม ตรวจสอบ และบำรุงรักษาระบบอากาศยานไร้คนขับ

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

บทเรียน

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

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

ความรู้พื้นฐานที่ควรมี: UAT 321 โมดูล 2 · UAT 106 (สถิติและการวิเคราะห์ข้อมูล)

ทำไมต้องรู้

“โดรนเอียงไปทางขวา เปลี่ยนมอเตอร์ตัวขวาเลย” เป็นการเดาที่เสียเงินและเวลา และถ้าเดาผิด อาการจะกลับมาในเที่ยวบินถัดไป ช่างที่ดีทำงานเหมือนแพทย์ คือฟังอาการ ตั้งสมมติฐานหลายข้อ แล้วเลือกการตรวจที่แยกสมมติฐานออกจากกันได้ ก่อนตัดสินใจรักษา โมดูลนี้ฝึกวิธีคิดนั้นด้วย log จริงของตัวควบคุมการบิน

ต้นไม้ข้อบกพร่อง

ต้นไม้ข้อบกพร่อง (fault tree) เริ่มจากอาการที่ไม่ต้องการไว้บนสุด แล้วแตกลงไปเป็นสาเหตุที่เป็นไปได้ ประตู OR หมายความว่าสาเหตุข้อใดข้อหนึ่งก็ทำให้เกิดอาการได้ ต้นไม้ช่วยไม่ให้ลืมสาเหตุกลุ่มที่ไม่ได้นึกถึง

อาการบนสุดคือโดรนเอียงและดริฟต์ขณะลอยตัว เชื่อมผ่านประตู OR ไปสี่กลุ่ม: ขับเคลื่อน มีใบพัดเสียหายและมอเตอร์ฝืด เซนเซอร์ มีเข็มทิศถูกรบกวนและ IMU สั่นมาก พลังงาน มีแรงดันตกมากและขั้วต่อหลวม การตั้งค่า มีทิศติดตั้งผิดและ CG เยื้อง
ภาพที่ 1 ต้นไม้ข้อบกพร่องของอาการเอียงและดริฟต์

วงจรการวินิจฉัย

หกขั้นเรียงจากซ้ายไปขวา: อาการที่สังเกตได้ สมมติฐานอย่างน้อยสองข้อ เลือกการตรวจที่แยกได้ เก็บหลักฐานจาก log และโต๊ะทดสอบ สรุปพร้อมระดับความมั่นใจ และแก้ไขแล้วทดสอบซ้ำ ถ้าอาการยังอยู่จะวนกลับไปตั้งสมมติฐานใหม่
ภาพที่ 2 วงจรการวินิจฉัยจากหลักฐาน

หลักสำคัญสามข้อ

  • แยกข้อสังเกตออกจากการตีความ เขียนว่า “เวลา 10:02:15 แรงดันลดจาก 23.6 เป็น 22.7 V ขณะกระแสเพิ่ม” แทน “แบตเสื่อม”
  • เลือกการตรวจที่ผลต่างกันตามสมมติฐาน ถ้าผลการตรวจออกมาเหมือนกันไม่ว่าสมมติฐานใดจริง การตรวจนั้นไม่ช่วยตัดสิน
  • log เป็นหลักฐานของค่าที่ระบบบันทึก ไม่ใช่ความจริงทุกด้าน ค่าที่ผิดปกติอาจมาจากเซนเซอร์ สายเชื่อมต่อ หรือการสื่อสาร ไม่ใช่ชิ้นส่วนที่ค่านั้นอ้างถึงเสมอ

เอกสาร ArduPilot อธิบายการดาวน์โหลดและอ่าน log ด้วย Mission Planner ซึ่งมีข้อความที่ใช้บ่อย เช่น BAT (แบตเตอรี่) RCOU (สัญญาณออกไปยังมอเตอร์) VIBE (การสั่น) และ ATT (ท่าทาง)

หลักฐานจากแรงดันและกระแส

แบตเตอรี่มี ความต้านทานภายใน เหมือนท่อน้ำที่แคบ ยิ่งดึงกระแสมาก แรงดันที่ขั้วยิ่งตก แบตเตอรี่ที่เสื่อมหรือขั้วต่อที่หลวมทำให้ความต้านทานรวมสูงขึ้น ประมาณได้จากสองช่วงที่นิ่งของเที่ยวบินเดียวกัน

ตัวอย่างที่ 1 ความต้านทานภายในจาก log

v_hover, i_hover = 23.62, 19.8   # ช่วงลอยตัวนิ่ง
v_climb, i_climb = 22.71, 46.5   # ช่วงไต่ระดับนิ่ง ไม่กี่วินาทีต่อมา
r_pack = (v_hover - v_climb) / (i_climb - i_hover)
print(f"pack resistance about {r_pack * 1000:.1f} mΩ (register value when new: 17.0 mΩ)")
pack resistance about 34.1 mΩ (register value when new: 17.0 mΩ)

ความต้านทานรวมสูงเป็นสองเท่าของตอนใหม่ ค่านี้รวมทั้งแบตเตอรี่ ขั้วต่อ และสาย จึงยังแยกไม่ได้ว่าเป็นแบตเตอรี่เสื่อมหรือขั้วต่อหลวม การตรวจที่แยกได้คือ ใช้แบตเตอรี่ก้อนอื่นกับลำเดิม ถ้าค่ากลับเป็นปกติแสดงว่าต้นเหตุอยู่ที่แบตเตอรี่ ถ้ายังสูงให้ตรวจขั้วต่อและสายของลำ

หลักฐานจากสัญญาณสั่งมอเตอร์

ขณะลอยตัวนิ่ง มอเตอร์ทุกตัวควรได้รับสัญญาณใกล้เคียงกัน ถ้ามอเตอร์ตัวหนึ่งได้สัญญาณสูงกว่าตัวอื่นตลอด แปลว่าตัวควบคุมต้องสั่งให้ตัวนั้นทำงานหนักกว่าเพื่อรักษาท่าทาง

ตัวอย่างที่ 2 ความไม่สมดุลของมอเตอร์

rcou = {1: 1542, 2: 1538, 3: 1631, 4: 1529}   # PWM เฉลี่ย (µs) ของแต่ละมอเตอร์ช่วงลอยตัวนิ่ง
mean = sum(rcou.values()) / len(rcou)
for motor, pwm in rcou.items():
    print(f"motor {motor}: {pwm} µs ({pwm - mean:+.0f} from mean)")
motor 1: 1542 µs (-18 from mean)
motor 2: 1538 µs (-22 from mean)
motor 3: 1631 µs (+71 from mean)
motor 4: 1529 µs (-31 from mean)

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

ข้อมูลที่ขาดหาย

log อาจมีช่วงที่ข้อมูลหายไป เช่น เมื่อสัญญาณ telemetry ขาด ช่องว่างไม่ใช่ศูนย์ ถ้าแทนค่าที่หายด้วย 0 จะสร้าง “แรงดันตกเหลือศูนย์” ที่ไม่เคยเกิดขึ้นจริง

import pandas as pd

log = pd.DataFrame({"time_s": [0, 1, 2, 3, 4],
                    "volt": [23.1, 23.0, None, None, 22.9],
                    "link": ["ok", "ok", "lost", "lost", "ok"]})
print("min voltage if gaps are read as 0:", log["volt"].fillna(0).min())
print("min voltage from real samples:   ", log["volt"].min())
gaps = log["volt"].isna()
print("missing samples:", int(gaps.sum()), "| all during link loss:", bool((log.loc[gaps, "link"] == "lost").all()))
min voltage if gaps are read as 0: 0.0
min voltage from real samples:    22.9
missing samples: 2 | all during link loss: True

ข้อมูลที่หายตรงกับช่วงที่สัญญาณขาดพอดี จึงสนับสนุนว่าเป็นปัญหาช่องทางสื่อสาร ไม่ใช่แรงดันตก แต่ยังไม่พิสูจน์ต้นเหตุทางกายภาพของการขาดสัญญาณ ถ้ามี log ที่บันทึกบนบอร์ด (DataFlash) ของช่วงเดียวกัน ให้เปิดดูเพราะไม่ขึ้นกับสัญญาณวิทยุ

เขียนข้อสรุปอย่างซื่อตรง

รายงานวินิจฉัยที่ดีบอก อาการ สมมติฐานทุกข้อ หลักฐานที่สนับสนุนและหักล้าง สิ่งที่ log บอกไม่ได้ ข้อสรุปพร้อม ระดับความมั่นใจ และการตรวจถัดไป ถ้ายังสรุปไม่ได้ ให้เขียนว่ายังสรุปไม่ได้และต้องเก็บข้อมูลอะไรเพิ่ม ไม่เสนอเปลี่ยนชิ้นส่วนจากหลักฐานเดียว

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

ปฏิบัติการ: วินิจฉัยจากอาการที่อาจารย์จัดไว้

  1. อาจารย์สร้างข้อบกพร่องหนึ่งอย่างในโดรนฝึกโดยไม่บอกกลุ่ม เช่น ใบพัดที่ไม่สมดุล หรือเข็มทิศที่ถูกรบกวน
  2. บินทดสอบภายใต้การควบคุม บันทึกอาการที่เห็น แล้วสร้างต้นไม้ข้อบกพร่องของกลุ่ม
  3. ตั้งสมมติฐานอย่างน้อยสองข้อ และออกแบบการตรวจที่แยกได้ เช่น สลับใบพัด เปลี่ยนแบตเตอรี่ หรือดูค่าการสั่น
  4. วิเคราะห์ log ด้วยโค้ดในบทนี้ (ความต้านทาน ความไม่สมดุลของมอเตอร์ และช่องว่างข้อมูล)
  5. เขียนรายงานวินิจฉัยพร้อมระดับความมั่นใจ แล้วให้อาจารย์เฉลยและเปรียบเทียบ

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

ระวัง

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

สรุป

  • ต้นไม้ข้อบกพร่องช่วยไล่สาเหตุให้ครบก่อนลงมือแก้
  • วินิจฉัยด้วยสมมติฐานหลายข้อ และเลือกการตรวจที่ให้ผลต่างกันตามสมมติฐาน
  • ความต้านทานภายในประมาณจากแรงดันที่ตกหารกระแสที่เพิ่ม และค่านั้นรวมขั้วต่อกับสายด้วย
  • สัญญาณสั่งมอเตอร์ที่ไม่สมดุลชี้ว่ามอเตอร์ตัวใดทำงานหนัก แต่ต้องตรวจต่อว่าทำไม
  • ข้อมูลที่หายต้องคงไว้เป็นช่องว่าง และข้อสรุปต้องบอกระดับความมั่นใจ

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

  1. แรงดันลดจาก 24.0 เป็น 23.4 V เมื่อกระแสเพิ่มจาก 10 เป็น 40 A ความต้านทานรวมประมาณเท่าใด
  2. PWM ของมอเตอร์สี่ตัวคือ 1500, 1500, 1500 และ 1580 µs มอเตอร์ตัวสุดท้ายต่างจากค่าเฉลี่ยเท่าใด
  3. ประตู OR ในต้นไม้ข้อบกพร่องหมายความว่าอะไร
  4. ทำไมจึงไม่ควรแทนข้อมูลแรงดันที่หายด้วยศูนย์
  5. ความต้านทานรวมสูงผิดปกติ การตรวจใดช่วยแยกว่าต้นเหตุอยู่ที่แบตเตอรี่หรือขั้วต่อของลำ
เฉลย
  1. หรือ 20 mΩ
  2. ค่าเฉลี่ย 1520 µs มอเตอร์ตัวสุดท้ายสูงกว่า 60 µs
  3. สาเหตุข้อใดข้อหนึ่งด้านล่างก็ทำให้เกิดเหตุด้านบนได้
  4. จะสร้างเหตุการณ์แรงดันตกที่ไม่เคยเกิดขึ้นจริง และทำให้ข้อสรุปผิด
  5. ใช้แบตเตอรี่ก้อนอื่นกับลำเดิม หรือใช้แบตเตอรี่ก้อนเดิมกับลำอื่น แล้วดูว่าค่าผิดปกติย้ายตามแบตเตอรี่หรือไม่

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

ความต้านทานภายในโดยประมาณ
ส่วนต่างจากค่าเฉลี่ยของมอเตอร์

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

  1. ArduPilot Dev Team. Downloading and analyzing data logs in Mission Planner. ArduPilot Copter documentation. link
  2. ArduPilot Dev Team. Measuring vibration. ArduPilot Copter documentation. link
  3. ArduPilot Dev Team. Battery failsafe. ArduPilot Copter documentation. link
  4. Federal Aviation Administration. (2023). Aviation maintenance technician handbook – General (FAA-H-8083-30B). link
  5. ASTM International. (2019). Standard specification for continued airworthiness of lightweight unmanned aircraft systems (ASTM F2909-19). link

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

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

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

ปฏิบัติการเข้มข้นในแล็บและภาคสนาม บันทึกผลลงสมุดปฏิบัติการ

หลักฐานการเรียนรู้: สมุดปฏิบัติการที่อาจารย์ลงนาม

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

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

โดเมนความรู้: การติดตั้ง บำรุงรักษา และการทดสอบ · การควบคุม ออโตไพลอต และการนำทาง