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

บารอมิเตอร์ airspeed และ rangefinder

UAT 205 เซนเซอร์และระบบเครื่องมือวัด

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

บทเรียน

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

  1. คำนวณความสูงจากความดันด้วยบรรยากาศมาตรฐาน และอธิบายผลของความดันที่เปลี่ยนตามสภาพอากาศ
  2. คำนวณความเร็วอากาศจากความดันผลต่างของท่อ pitot และแปลง IAS เป็น TAS
  3. คำนวณระยะจากเวลาเดินทางของคลื่น และชดเชยอุณหภูมิกับมุมเอียง
  4. สอบเทียบเซนเซอร์ airspeed ตามคู่มือ ArduPilot หรือ PX4

ความรู้พื้นฐานที่ควรมี: UAT 205 โมดูล 1–2

ทำไมต้องรู้

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

บารอมิเตอร์และบรรยากาศมาตรฐาน

ความดันอากาศลดลงเมื่อสูงขึ้น บรรยากาศมาตรฐานสหรัฐฯ ปี 1976 ซึ่งตรงกับบรรยากาศมาตรฐานของ ICAO ในชั้นล่าง กำหนดค่าที่ระดับทะเลไว้ที่ Pa และ K และให้อุณหภูมิลดลง 6.5 K ต่อกิโลเมตร จากค่าเหล่านี้ได้สูตรความสูงตามความดันในกล่องสรุปสูตร ใกล้ระดับทะเล ความดันเปลี่ยน 1 hPa เท่ากับความสูงราว 8.3 m

ตัวควบคุมการบินใช้ ความสูงสัมพัทธ์ เทียบกับจุดขึ้นบิน ไม่ใช่ความสูงจากระดับทะเล แต่ความดันอากาศเปลี่ยนตามสภาพอากาศได้หลาย hPa ในไม่กี่ชั่วโมง บารอมิเตอร์จึงลอยได้เมื่อบินนาน เซนเซอร์ความละเอียดสูงอย่าง BMP390 ของ Bosch ระบุความแม่นสัมพัทธ์ ±3 Pa หรือราว ±0.25 m แต่ตัวเลขนี้ไม่รวมการเปลี่ยนของอากาศ ลมที่พัดเข้าช่องเซนเซอร์ และแสงแดดที่ทำให้บอร์ดร้อน ผู้ประกอบจึงนิยมหุ้มบารอมิเตอร์ด้วยฟองน้ำและบังแสง

กราฟความสูงเป็นเมตรเทียบความดันจาก 1013 ถึง 700 เฮกโตปาสกาล เส้นสีฟ้าโค้งขึ้นจาก 0 เมตรที่ 1013 เฮกโตปาสกาลถึงราว 3000 เมตรที่ 700 เฮกโตปาสกาล ความชันเพิ่มขึ้นเล็กน้อยเมื่อความดันต่ำลง
ภาพที่ 1 ความสูงกับความดันตามบรรยากาศมาตรฐาน

ตัวอย่างที่ 1 ความสูงจากบารอมิเตอร์และการลอยตามสภาพอากาศ

ขึ้นบินที่ความดัน 1,008.0 hPa ระหว่างภารกิจอ่านได้ 1,001.2 hPa และสมมติว่าความดันอากาศลดลง 1.5 hPa ในหนึ่งชั่วโมงของการบิน

P0, T0, LAPSE, EXPO = 101325.0, 288.15, 0.0065, 0.190263

def altitude(p_pa):
    return T0 / LAPSE * (1 - (p_pa / P0) ** EXPO)

p_takeoff, p_flight = 100800.0, 100120.0        # Pa
rel = altitude(p_flight) - altitude(p_takeoff)
per_pa = altitude(p_takeoff - 1) - altitude(p_takeoff)
print(f"height above takeoff {rel:.1f} m")
print(f"sensitivity near takeoff {per_pa * 100:.2f} m per hPa")
print(f"weather drop of 1.5 hPa looks like a climb of {per_pa * 150:.1f} m")
print(f"BMP390 relative accuracy of 3 Pa is about {per_pa * 3:.2f} m")
height above takeoff 57.0 m
sensitivity near takeoff 8.36 m per hPa
weather drop of 1.5 hPa looks like a climb of 12.5 m
BMP390 relative accuracy of 3 Pa is about 0.25 m

ความดันที่เปลี่ยนตามอากาศเพียง 1.5 hPa ทำให้ความสูงคลาดกว่า 12 m ถ้าไม่มีแหล่งอื่นช่วย การบินภารกิจยาวจึงต้องหลอมรวมบารอมิเตอร์กับ GNSS และตรวจความดันที่จุดลงจอดก่อนลงเสมอ

ความเร็วอากาศจากท่อ pitot

ท่อ pitot-static มีรูหันหน้ารับลมวัด ความดันรวม และรูด้านข้างวัด ความดันสถิต ผลต่างของสองค่าคือ ความดันพลวัต (คู่มือ FAA Pilot’s Handbook of Aeronautical Knowledge บทเครื่องวัดการบิน) ถ้าคำนวณด้วยความหนาแน่นมาตรฐาน kg/m³ จะได้ ความเร็วที่ระบุ (IAS) ส่วน ความเร็วจริงเทียบอากาศ (TAS) ต้องใช้ความหนาแน่นจริง ในวันร้อนของไทย อากาศบางลง TAS จึงสูงกว่า IAS

ท่อยาวแนวนอน ลมเข้าจากซ้ายสู่รูความดันรวมที่ปลายท่อ รูความดันสถิตสองรูอยู่ด้านบนของท่อ ท่อสีฟ้าจากรูความดันรวมและท่อสีทองจากรูความดันสถิตต่อไปยังเซนเซอร์ความดันผลต่างทางขวา
ภาพที่ 2 ท่อ pitot-static กับเซนเซอร์ความดันผลต่าง

คู่มือ ArduPilot กำหนดให้ ปิดท่อ pitot ตอนเปิดเครื่อง เพราะระบบวัดค่าศูนย์ (offset) ขณะนั้น มีพารามิเตอร์ ARSPD_RATIO ปรับอัตราส่วนระหว่างความดันกับความเร็ว และมีการสอบเทียบระหว่างบินด้วย ARSPD_AUTOCAL ส่วน PX4 ให้บังลมไม่ให้เข้าเซนเซอร์ เริ่มสอบเทียบใน QGroundControl แล้วเป่าลมเข้าปลายท่อเพื่อจบขั้นตอน

Rangefinder

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

ตัวอย่างที่ 2 airspeed วันร้อน และระยะจากคลื่น

เซนเซอร์อ่านความดันผลต่าง 245 Pa ขณะความดันอากาศ 1,008 hPa และอุณหภูมิ 35 °C

import math

R, GAMMA, RHO0 = 287.05287, 1.4, 1.225

dp = 245.0                                   # Pa ความดันผลต่างจาก pitot
p, t_c = 100800.0, 35.0                      # Pa, °C สภาพอากาศวันร้อน
ias = math.sqrt(2 * dp / RHO0)
rho = p / (R * (t_c + 273.15))
tas = ias * math.sqrt(RHO0 / rho)
print(f"IAS {ias:.2f} m/s, air density {rho:.4f} kg/m^3, TAS {tas:.2f} m/s")

echo = 0.00583                               # s เวลาไปกลับของคลื่นเสียง
a20 = math.sqrt(GAMMA * R * 293.15)
a35 = math.sqrt(GAMMA * R * 308.15)
print(f"ultrasonic: assuming 20 C gives {a20 * echo / 2:.3f} m, at 35 C it is {a35 * echo / 2:.3f} m")

rng, roll = 12.0, 15                         # m ระยะเลเซอร์, องศาเอียง
print(f"laser range {rng} m at {roll} deg roll -> height {rng * math.cos(math.radians(roll)):.2f} m")
IAS 20.00 m/s, air density 1.1396 kg/m^3, TAS 20.74 m/s
ultrasonic: assuming 20 C gives 1.001 m, at 35 C it is 1.026 m
laser range 12.0 m at 15 deg roll -> height 11.59 m

ในวันร้อน TAS สูงกว่า IAS ราว 4% ซึ่งกระทบการคำนวณเวลาบินและพลังงาน ส่วนอัลตราโซนิกที่สมมติอุณหภูมิผิด 15 °C คลาดราว 2.5% และเลเซอร์ที่ไม่ชดเชยมุมเอียง 15° คลาดเกือบครึ่งเมตรที่ความสูง 12 m

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

ปฏิบัติการ: บารอมิเตอร์ airspeed และ rangefinder

  1. วางบอร์ดนิ่งบนโต๊ะสองชั่วโมง บันทึกความสูงจากบารอมิเตอร์ เทียบกับความดันจากสถานีอุตุนิยมวิทยาใกล้เคียง
  2. เป่าพัดลมเข้าบอร์ดที่ไม่หุ้มและหุ้มฟองน้ำ เทียบความสูงที่เปลี่ยน
  3. สอบเทียบ airspeed ตามคู่มือ ArduPilot หรือ PX4 แล้วใช้ตัวอย่างที่ 2 แปลงค่าที่ได้เป็น TAS
  4. วัดระยะถึงผนังด้วย rangefinder อัลตราโซนิกที่อุณหภูมิห้องและกลางแดด เทียบกับตลับเมตร
  5. เอียงบอร์ดที่มีเลเซอร์วัดระยะหลายมุม ตรวจการชดเชยด้วย

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

ระวัง

  • ใช้ความสูงบารอมิเตอร์นาน ๆ โดยไม่คิดถึงความดันที่เปลี่ยนตามอากาศ
  • ปล่อยให้ลมหรือแดดโดนบารอมิเตอร์โดยตรง
  • ไม่ปิดท่อ pitot ตอนเปิดเครื่อง
  • สับสน IAS กับ TAS
  • ไม่ชดเชยอุณหภูมิของอัลตราโซนิกหรือมุมเอียงของเลเซอร์

สรุป

  • บารอมิเตอร์ใช้บรรยากาศมาตรฐานแปลงความดันเป็นความสูง ใกล้ระดับทะเล 1 hPa ≈ 8.3 m
  • ความดันที่เปลี่ยนตามอากาศทำให้ความสูงลอย ต้องหลอมรวมกับแหล่งอื่น
  • pitot วัดความดันพลวัต ½ρv² ได้ IAS ต้องแก้ความหนาแน่นเพื่อได้ TAS
  • rangefinder ใช้ d = ct/2 ต้องชดเชยอุณหภูมิ (อัลตราโซนิก) และมุมเอียง

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

  1. ความดันลดลง 2 hPa ใกล้ระดับทะเล ความสูงเปลี่ยนราวเท่าใด
  2. ความดันพลวัต 122.5 Pa ที่ความหนาแน่น 1.225 kg/m³ IAS เท่าใด
  3. IAS 20 m/s ความหนาแน่นจริง 1.10 kg/m³ TAS เท่าใด
  4. คลื่นเลเซอร์ไปกลับใช้เวลา 100 ns ระยะเท่าใด
  5. ทำไม ArduPilot ให้ปิดท่อ pitot ตอนเปิดเครื่อง
เฉลย
  1. ราว m
  2. m/s
  3. m/s
  4. m
  5. ระบบวัดค่าศูนย์ของความดันผลต่างขณะเปิดเครื่อง ถ้ามีลมเข้าค่าศูนย์จะผิด

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

ความสูงจากความดัน (บรรยากาศมาตรฐาน ชั้นโทรโพสเฟียร์)
ความดันพลวัตและความเร็วอากาศ
ระยะจากเวลาเดินทางไปกลับ

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

  1. COESA. (1976). U.S. standard atmosphere, 1976 (NOAA-S/T 76-1562). NOAA, NASA, & U.S. Air Force. link
  2. International Civil Aviation Organization. (1993). Manual of the ICAO standard atmosphere: Extended to 80 kilometres (262 500 feet) (Doc 7488, 3rd ed.). link
  3. Bosch Sensortec. (2021). BMP390 digital pressure sensor datasheet (BST-BMP390-DS002-07, Rev. 1.7). link
  4. Federal Aviation Administration. (2023). Pilot's handbook of aeronautical knowledge (FAA-H-8083-25C). link
  5. ArduPilot Dev Team. Calibrating an airspeed sensor. ArduPilot Plane documentation. link
  6. PX4 Autopilot. Airspeed calibration. PX4 user guide (main). link
  7. NASA Glenn Research Center. Speed of sound. Beginner's guide to aeronautics. link

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

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

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

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

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

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

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

โดเมนความรู้: เซนเซอร์และระบบสมองกลฝังตัว