บารอมิเตอร์ airspeed และ rangefinder
UAT 205 เซนเซอร์และระบบเครื่องมือวัด
บทเรียน
เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ
- คำนวณความสูงจากความดันด้วยบรรยากาศมาตรฐาน และอธิบายผลของความดันที่เปลี่ยนตามสภาพอากาศ
- คำนวณความเร็วอากาศจากความดันผลต่างของท่อ pitot และแปลง IAS เป็น TAS
- คำนวณระยะจากเวลาเดินทางของคลื่น และชดเชยอุณหภูมิกับมุมเอียง
- สอบเทียบเซนเซอร์ airspeed ตามคู่มือ ArduPilot หรือ PX4
ทำไมต้องรู้
GNSS บอกความสูงได้ไม่ดีเท่าแนวราบ โดรนจึงใช้ บารอมิเตอร์ วัดความสูงจากความดันอากาศ โดรนปีกตรึงต้องรู้ ความเร็วอากาศ เพื่อไม่ให้ร่วงเพราะบินช้าเกิน และการลงจอดหรือบินเรี่ยพืชต้องใช้ rangefinder วัดระยะจากพื้นตรง ๆ เซนเซอร์ทั้งสามชนิดอาศัยฟิสิกส์ของอากาศ จึงได้รับผลจากอุณหภูมิและสภาพอากาศที่ต้องเข้าใจ
บารอมิเตอร์และบรรยากาศมาตรฐาน
ความดันอากาศลดลงเมื่อสูงขึ้น บรรยากาศมาตรฐานสหรัฐฯ ปี 1976 ซึ่งตรงกับบรรยากาศมาตรฐานของ ICAO ในชั้นล่าง กำหนดค่าที่ระดับทะเลไว้ที่ Pa และ K และให้อุณหภูมิลดลง 6.5 K ต่อกิโลเมตร จากค่าเหล่านี้ได้สูตรความสูงตามความดันในกล่องสรุปสูตร ใกล้ระดับทะเล ความดันเปลี่ยน 1 hPa เท่ากับความสูงราว 8.3 m
ตัวควบคุมการบินใช้ ความสูงสัมพัทธ์ เทียบกับจุดขึ้นบิน ไม่ใช่ความสูงจากระดับทะเล แต่ความดันอากาศเปลี่ยนตามสภาพอากาศได้หลาย hPa ในไม่กี่ชั่วโมง บารอมิเตอร์จึงลอยได้เมื่อบินนาน เซนเซอร์ความละเอียดสูงอย่าง BMP390 ของ Bosch ระบุความแม่นสัมพัทธ์ ±3 Pa หรือราว ±0.25 m แต่ตัวเลขนี้ไม่รวมการเปลี่ยนของอากาศ ลมที่พัดเข้าช่องเซนเซอร์ และแสงแดดที่ทำให้บอร์ดร้อน ผู้ประกอบจึงนิยมหุ้มบารอมิเตอร์ด้วยฟองน้ำและบังแสง
ตัวอย่างที่ 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
คู่มือ 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
- วางบอร์ดนิ่งบนโต๊ะสองชั่วโมง บันทึกความสูงจากบารอมิเตอร์ เทียบกับความดันจากสถานีอุตุนิยมวิทยาใกล้เคียง
- เป่าพัดลมเข้าบอร์ดที่ไม่หุ้มและหุ้มฟองน้ำ เทียบความสูงที่เปลี่ยน
- สอบเทียบ airspeed ตามคู่มือ ArduPilot หรือ PX4 แล้วใช้ตัวอย่างที่ 2 แปลงค่าที่ได้เป็น TAS
- วัดระยะถึงผนังด้วย rangefinder อัลตราโซนิกที่อุณหภูมิห้องและกลางแดด เทียบกับตลับเมตร
- เอียงบอร์ดที่มีเลเซอร์วัดระยะหลายมุม ตรวจการชดเชยด้วย
ข้อผิดพลาดที่พบบ่อย
ระวัง
- ใช้ความสูงบารอมิเตอร์นาน ๆ โดยไม่คิดถึงความดันที่เปลี่ยนตามอากาศ
- ปล่อยให้ลมหรือแดดโดนบารอมิเตอร์โดยตรง
- ไม่ปิดท่อ pitot ตอนเปิดเครื่อง
- สับสน IAS กับ TAS
- ไม่ชดเชยอุณหภูมิของอัลตราโซนิกหรือมุมเอียงของเลเซอร์
สรุป
- บารอมิเตอร์ใช้บรรยากาศมาตรฐานแปลงความดันเป็นความสูง ใกล้ระดับทะเล 1 hPa ≈ 8.3 m
- ความดันที่เปลี่ยนตามอากาศทำให้ความสูงลอย ต้องหลอมรวมกับแหล่งอื่น
- pitot วัดความดันพลวัต ½ρv² ได้ IAS ต้องแก้ความหนาแน่นเพื่อได้ TAS
- rangefinder ใช้ d = ct/2 ต้องชดเชยอุณหภูมิ (อัลตราโซนิก) และมุมเอียง
แบบฝึกตรวจความเข้าใจ
- ความดันลดลง 2 hPa ใกล้ระดับทะเล ความสูงเปลี่ยนราวเท่าใด
- ความดันพลวัต 122.5 Pa ที่ความหนาแน่น 1.225 kg/m³ IAS เท่าใด
- IAS 20 m/s ความหนาแน่นจริง 1.10 kg/m³ TAS เท่าใด
- คลื่นเลเซอร์ไปกลับใช้เวลา 100 ns ระยะเท่าใด
- ทำไม ArduPilot ให้ปิดท่อ pitot ตอนเปิดเครื่อง
เฉลย
- ราว m
- m/s
- m/s
- m
- ระบบวัดค่าศูนย์ของความดันผลต่างขณะเปิดเครื่อง ถ้ามีลมเข้าค่าศูนย์จะผิด
สรุปสูตรสำคัญ
| ความสูงจากความดัน (บรรยากาศมาตรฐาน ชั้นโทรโพสเฟียร์) | |
| ความดันพลวัตและความเร็วอากาศ | |
| ระยะจากเวลาเดินทางไปกลับ |
แหล่งอ้างอิงหลัก
- COESA. (1976). U.S. standard atmosphere, 1976 (NOAA-S/T 76-1562). NOAA, NASA, & U.S. Air Force. link
- International Civil Aviation Organization. (1993). Manual of the ICAO standard atmosphere: Extended to 80 kilometres (262 500 feet) (Doc 7488, 3rd ed.). link
- Bosch Sensortec. (2021). BMP390 digital pressure sensor datasheet (BST-BMP390-DS002-07, Rev. 1.7). link
- Federal Aviation Administration. (2023). Pilot's handbook of aeronautical knowledge (FAA-H-8083-25C). link
- ArduPilot Dev Team. Calibrating an airspeed sensor. ArduPilot Plane documentation. link
- PX4 Autopilot. Airspeed calibration. PX4 user guide (main). link
- NASA Glenn Research Center. Speed of sound. Beginner's guide to aeronautics. link
อ่านเพิ่มเติม
ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล
ในชั้นเรียน / ภาคสนาม
ปฏิบัติการในห้องแล็บหรือภาคสนามตามใบงาน พร้อม checklist ความปลอดภัย
หลักฐานการเรียนรู้: ใบงานที่ผ่านการตรวจและผล quiz