แผงควบคุม Avionics Glass Cockpit: แผง LCD Arduino สำหรับ FS2020
ภาพรวมโครงการ
"Sky-Link Avionics Interface" เป็น Human-Machine Interface (HMI) ที่ซับซ้อน ออกแบบมาเพื่อเชื่อมช่องว่างระหว่างการบินเสมือนจริงและฮาร์ดแวร์จริง แผงควบคุมนี้ใช้ Arduino Nano 33 IoT เพื่อให้ข้อมูล telemetry แบบเรียลไทม์และการจัดการวิทยุสำหรับ Microsoft Flight Simulator 2020 การส่งข้อมูลการบินที่สำคัญ เช่น Indicated Air Speed (IAS), Altitude และ Course Deviation (CDI) ไปยังจอแสดงผลทางกายภาพ ช่วยให้นักบินลดความยุ่งเหยิงบนหน้าจอและบรรลุระดับความดื่มด่ำในห้องนักบินที่สูงขึ้น
เจาะลึกทางเทคนิค
- SimConnect Data Pipeline:
- การซิงโครไนซ์ข้อมูลภายนอก: โปรเจกต์นี้อาศัย FS2020TA ซึ่งเป็น middleware ที่เชื่อมต่อกับ SimConnect API ของ Flight Simulator แอปพลิเคชันบน PC จะตรวจสอบสถานะภายในของ Simulator (เช่น ความถี่ NAV, pitch/roll, vertical speed) และแปลงข้อมูลนี้เป็น UART Packet Stream แบบกำหนดเองที่ส่งไปยัง Arduino ด้วยความถี่สูง (30Hz+)
- ตรรกะการทำให้เป็นอนุกรม: เฟิร์มแวร์ Arduino จะแยกวิเคราะห์แพ็กเก็ตที่เข้ามาเหล่านี้ ระบุ header ของข้อมูล (เช่น
$NAV1Active) และอัปเดตบัฟเฟอร์หน่วยความจำภายในก่อนการรีเฟรชหน้าจอ
- การใช้งาน Digital CDI:
- การแมปค่า Deviation: ตัวบ่งชี้ Course Deviation (CDI) จะแสดงผลผ่าน LED bar graphs แบบ 10 ส่วน สองชุด เฟิร์มแวร์จะคำนวณค่า deviation จากรัศมีที่เลือก (OBS) และแมปค่า floating-point กับส่วน LED
- ความแม่นยำแบบ "Green-Center": LED ขนาด 3mm ตรงกลางจะส่งสัญญาณสถานะ "Null Deviation" ซึ่งบ่งชี้ว่าเครื่องบินอยู่บนเส้นทางอย่างสมบูรณ์ เป็นคุณสมบัติที่สำคัญสำหรับการฝึก Instrument Flight Rules (IFR)
- Frequency Management HMI:
- สถาปัตยกรรม Dual-LCD Split:
- LCD 1 (Radio Stack): จัดการความถี่ NAV1/NAV2 และ ADF
- LCD 2 (Glass Cockpit): แสดงพารามิเตอร์การบินหลัก ได้แก่ Airspeed (knots), QNH/QFE Altitudes และ Vertical Speed Indicator (VSI)
- การปรับความถี่ด้วย Rotary Encoder: การปรับความถี่ทำได้โดยใช้ incremental encoder เฟิร์มแวร์จัดการ Accelerated Tuning—การหมุนปุ่มเร็วขึ้นจะเพิ่มขนาดของขั้นความถี่ ทำให้สามารถเปลี่ยนระหว่างความถี่ ground, tower และ center ได้อย่างรวดเร็ว
- สถาปัตยกรรม Dual-LCD Split:
วิศวกรรมและการปฏิบัติงาน
- การจัดการพลังงานของ Nano 33 IoT: แม้ว่า Nano 33 IoT จะรองรับ WiFi แต่โปรเจกต์นี้ใช้โปรเซสเซอร์ ARM Cortex-M0+ ขนาด 48MHz เป็นหลักในการจัดการ serial interrupts ความเร็วสูง และการขับเคลื่อน LCD สองจอและ LED bar สองชุดพร้อมกันโดยไม่มีอาการ refresh flickering
- ความสมบูรณ์ของสัญญาณและการเดินสาย:
- ข้อควรพิจารณาในการมัลติเพล็กซ์: การขับเคลื่อน LED แต่ละดวงมากกว่า 20 ดวงสำหรับ bar graphs ต้องมีการจัดการขา (pin) ที่มีประสิทธิภาพ การใช้งานใช้วิธีขับเคลื่อน GPIO โดยตรงพร้อมตัวต้านทานจำกัดกระแส (current-limiting resistors) เพื่อให้มั่นใจว่ากระแสรวมที่ใช้จะไม่เกินขีดจำกัดของ thermal regulator ของ Nano
- ตรรกะ User Interface:
- การสลับ Active/Standby: เลียนแบบวิทยุเครื่องบินจริง ระบบช่วยให้นักบินสามารถปรับความถี่ "Standby" ได้ในขณะที่ตรวจสอบความถี่ "Active" การกดสวิตช์ rotary encoder จะเรียกใช้ Flip-Flop routine ในเฟิร์มแวร์ ซึ่งจะสลับค่าตัวแปรสองค่าในหน่วยความจำและอัปเดต registers ของ FS2020 ผ่าน return serial path
- ความยืดหยุ่นในอนาคต: สถาปัตยกรรมนี้ออกแบบมาให้สามารถขยายได้ ด้วยการเพิ่ม encoders หรือ multi-line graphic OLED แผงควบคุมนี้สามารถขยายเพื่อรองรับการทำงานของ G1000 glass cockpit ได้อย่างเต็มรูปแบบ รวมถึงการตรวจสอบเครื่องยนต์และข้อมูลเส้นทาง GPS