金城,周露巖
(中國飛行試驗研究院,陜西西安,710089)
飛機模擬訓練系統是一種利用飛機模擬器開展飛行員培訓的先進智能化虛擬場景系統。在飛行員開展正式的飛行訓練之前,均需要在飛機模擬器環境下開展長時間的模擬訓練。因此,飛機模擬訓練系統的工作穩定性、真實性等,成為影響飛行員飛行基礎的重要條件[1]。傳統的飛機模擬訓練系統主要包括儀表控制系統、運動系統、音響系統等。其中飛機模擬訓練系統中的儀表控制系統,是整個飛行員初期教學與訓練場景中最為重要,同時也是學習時間最長的項目。因此,本文所開展的論述主要圍繞儀表控制系統進行,旨在為我國飛行事業發展以及飛行員教學培訓效率的提升等提供幫助。
總體而言飛機模擬訓練儀表控制系統主要包括圖1所示的四個主要機構。指示機構主要包括儀表、顯示器、燈光等模塊,為飛行員提供飛行數據、指令等;傳動機構則主要為減速器等設備,負責為飛行員的各項操作指令進行機械部的傳遞等;驅動機構則一般采用電機驅動,控制模擬訓練儀表控制系統中的儀表;控制機構則由單片機等微型控制器為核心,對系統進行整體控制。

圖1 飛機模擬訓練儀表控制系統
傳統機構和指示機構均具有固定的項目要求,與飛機的實際操作場景一模一樣,并不具備可操作的結構優化可能性[2]。因此,本文針對飛機模擬訓練儀表控制系統的設計將會主要集中在驅動機構和控制機構方面,利用單片機實現基礎功能完善、結構簡單、累計誤差小、定位精度高的飛機模擬訓練儀表控制系統。
本文設計的基于單片機的飛機模擬訓練儀表控制系統,主要的技術優化在于將步進電機代替了傳統的直流電機驅動;將絕對式編碼器代替了傳統的8098控制器;以STM32F405/41532位M7內核216MB單片機為核心,構建了基于單片機的飛機模擬訓練儀表控制系統。圖2所示的為該系統工作原理示意圖。

圖2 飛機模擬訓練儀表控制系統工作原理示意圖
STM32F405/41532是本次構建的飛機模擬訓練儀表控制系統核心,主要負責接受飛機模擬訓練儀表系統來自塔臺、教練員等通過計算機發來的指令,指令的類型主要包括與飛行和系統本身有關的開關量控制指令、飛行高度、飛行坐標等。單片機對儀表控制計算機數據進行處理后,會將數據進行識別和處理,判斷飛機模擬訓練儀表控制中的指示機構是否處于設計位置,與當前數據顯示是否存在沖突等。絕對式編碼器將根據計算結果進行校正使儀表指示機構的顯示結果與儀表控制計算機數據處理結果一致。
飛機模擬訓練儀表控制系統硬件核心設計方法以功能模塊法為主,通過STM32F405/41532單片機構建核心控制模塊,整體硬件設計架構見圖3。

圖3 硬件架構及工作原理
其中,單片機核心控制模塊主要由串口通信模塊等構成,各模塊功能及構成如下。
2.1.1 串口通信通信模塊
串口通信通信模塊的主要功能,適用于系統作業時的串行數據傳輸[3]。串口通信通信模塊在獲取儀表控制計算機數據以后,會將信號數據傳輸至STM32F405/41532單片機,由單片機進行后續的數據操作。
2.1.2 步進電機驅動模塊
由于本次構建系統主要側重于簡潔化、可重復使用、高精度等需求,因此采用更加適合中小型系統的HCPL-316J驅動電路,采用四相混合式步進電機,最高響應頻率為100KHz。STM32F405/41532單片機將處理后的數據傳輸至步進電機驅動模塊,該模塊根據數據信號操控步進電機、減速機構以及指示機構進行工作,最終由指示機構將數據傳送至編碼器。
2.1.3 解碼模塊
編碼器在接受到指示機構傳輸的數據信號之后,將會在進行編碼以后將數據經過解碼模塊進行轉換,得到32為并行數據。之后解碼模塊將并行數據經過緩沖通過P0將數據傳輸至STM32F405/41532單片機。
2.1.4 開關量控制模塊
該模塊主要用于對模擬訓練儀表控制系統中的各開關進行隔離和控制等。在接受STM32F405/41532單片機傳遞的數據信號后,開關量控制模塊的P3模塊將會與控制系統中的光耦芯片進行連接,光耦芯片的輸出可以通過直接驅動控制系統開關的繼電器進行工作。
基于單片機的飛機模擬訓練儀表控制系統軟件設計,主要包括:①儀表控制端軟件設計,主要負責對飛機模擬訓練儀表控制端的界面、交互功能等進行編譯;②單片機端軟件設計,主要負責對單片機運行主程序、串口通信子程序等進行編譯。
2.2.1 儀表控制端
儀表控制端軟件功能實現要求編寫簡單、生成界面友好、語言可讀性強等。因此,本文采用VC語言用于設計飛機模擬訓練儀表控制端系統軟件。由于飛機模擬訓練儀表控制端的工作環境需要滿足大量初級飛行員的模擬飛行。因此,系統工作中需要經常進行初始化,已滿足不同飛行學員需求。因此,系統的初始設置至關重要。如下所示為本次編寫儀表控制端軟件初始設置的部分關鍵代碼。


2.2.2 單片機端
單片機端的代碼編寫通常采用匯編語言進行編譯,但采用該方法編譯出的單片機端代碼整體復雜程度較高,不利于后續維護和系統優化人員進行閱讀,優點是資源利用率高,能夠為飛機模擬訓練儀表控制系統提供較好的可控制性,比較適合進行結構簡單、模塊化的產品控制程序編寫。本文所編寫的單片機端控制軟件共包含主程序、串口通信子程序等。
2.2.2.1 主程序
單片機端主程序設計,是在儀表控制端完成系統初始化以后的一個查詢程序。該程序能夠對系統中是否存在數據的傳輸進行篩查。在發現系統中存在數據傳輸以后主程序將會對該數據傳輸進行相應,根據傳入的數據類型、具體指令等進行發出相應的控制指令。使系統數據傳輸和指令傳遞不需等待。
2.2.2.2 串口通信子程序
串口通信子程序主要通過握手信號對系統接收數據信號的字節、長度等進行檢測。系統工作時,串口通信子程序首先撤銷數據傳輸中斷標志,檢測所接收信號是否為字節E,若所得結果為否則檢測信號接收長度是否為0;若信號長度不為0則對數據進行寄存,再對信號長度減1之后是否為0進行檢測;若減1之后的系統信號長度是0則恢復現場,退出中斷服務子程序;若不為0則進入第一步進行重新檢測。
2.2.2.3 校正子程序
由于本文所設計的飛機模擬訓練儀表控制系統采用了單片機、步進電機等硬件設備,因此系統的精度高、保持力矩大,具有較為理想的起停性能。因此,本文所設計的系統校正子程序主要用于判斷步進電機驅動下的指示機構位置并對機構位置進行校正。系統工作時,首先調用編碼器數碼讀取子程序,通過對指示機構當前位置的判斷與預定的位置進行對比,若相等則退出子程序,若不等則調用計算子程序計算二者差距,再將差值傳輸至調用步進電機運動自動程序進行校正,校正后重新進行數據讀取直至指示機構顯示結果與預定位置相同。
對本次開發的基于單片機的飛機模擬訓練儀表控制系統進行功能測試,主要針對系統的排氣溫度表等的指示速度、精度、誤差以及跟隨性能等進行檢測,具體檢測結果見表1。

表1 排氣溫度指示機構檢測結果
可見,系統的實測值與輸入值之間的誤差在-1至1℃之間,連續性較強,且系統不存在抖動現象,噪音的表現為微小,幾乎被會被人耳獲取。因此,綜合而言系統的工作狀態較為理想,已經達到了系統的設計需求。
文章基于單片機構建了一種結構簡單、可重復利用性強、指令精度高的飛機模擬訓練儀表控制系統。經過檢測分析表明,該系統的溫度指令等工作穩定性強、噪音小,形成指令的誤差小,能夠滿足一般飛行員的模擬飛行教學場景,是一種值得推廣的飛機模擬訓練儀表控制系統。