金城,周露巖
(中國飛行試驗研究院,陜西西安,710089)
飛機模擬訓(xùn)練系統(tǒng)是一種利用飛機模擬器開展飛行員培訓(xùn)的先進智能化虛擬場景系統(tǒng)。在飛行員開展正式的飛行訓(xùn)練之前,均需要在飛機模擬器環(huán)境下開展長時間的模擬訓(xùn)練。因此,飛機模擬訓(xùn)練系統(tǒng)的工作穩(wěn)定性、真實性等,成為影響飛行員飛行基礎(chǔ)的重要條件[1]。傳統(tǒng)的飛機模擬訓(xùn)練系統(tǒng)主要包括儀表控制系統(tǒng)、運動系統(tǒng)、音響系統(tǒng)等。其中飛機模擬訓(xùn)練系統(tǒng)中的儀表控制系統(tǒng),是整個飛行員初期教學(xué)與訓(xùn)練場景中最為重要,同時也是學(xué)習(xí)時間最長的項目。因此,本文所開展的論述主要圍繞儀表控制系統(tǒng)進行,旨在為我國飛行事業(yè)發(fā)展以及飛行員教學(xué)培訓(xùn)效率的提升等提供幫助。
總體而言飛機模擬訓(xùn)練儀表控制系統(tǒng)主要包括圖1所示的四個主要機構(gòu)。指示機構(gòu)主要包括儀表、顯示器、燈光等模塊,為飛行員提供飛行數(shù)據(jù)、指令等;傳動機構(gòu)則主要為減速器等設(shè)備,負責(zé)為飛行員的各項操作指令進行機械部的傳遞等;驅(qū)動機構(gòu)則一般采用電機驅(qū)動,控制模擬訓(xùn)練儀表控制系統(tǒng)中的儀表;控制機構(gòu)則由單片機等微型控制器為核心,對系統(tǒng)進行整體控制。
圖1 飛機模擬訓(xùn)練儀表控制系統(tǒng)
傳統(tǒng)機構(gòu)和指示機構(gòu)均具有固定的項目要求,與飛機的實際操作場景一模一樣,并不具備可操作的結(jié)構(gòu)優(yōu)化可能性[2]。因此,本文針對飛機模擬訓(xùn)練儀表控制系統(tǒng)的設(shè)計將會主要集中在驅(qū)動機構(gòu)和控制機構(gòu)方面,利用單片機實現(xiàn)基礎(chǔ)功能完善、結(jié)構(gòu)簡單、累計誤差小、定位精度高的飛機模擬訓(xùn)練儀表控制系統(tǒng)。
本文設(shè)計的基于單片機的飛機模擬訓(xùn)練儀表控制系統(tǒng),主要的技術(shù)優(yōu)化在于將步進電機代替了傳統(tǒng)的直流電機驅(qū)動;將絕對式編碼器代替了傳統(tǒng)的8098控制器;以STM32F405/41532位M7內(nèi)核216MB單片機為核心,構(gòu)建了基于單片機的飛機模擬訓(xùn)練儀表控制系統(tǒng)。圖2所示的為該系統(tǒng)工作原理示意圖。
圖2 飛機模擬訓(xùn)練儀表控制系統(tǒng)工作原理示意圖
STM32F405/41532是本次構(gòu)建的飛機模擬訓(xùn)練儀表控制系統(tǒng)核心,主要負責(zé)接受飛機模擬訓(xùn)練儀表系統(tǒng)來自塔臺、教練員等通過計算機發(fā)來的指令,指令的類型主要包括與飛行和系統(tǒng)本身有關(guān)的開關(guān)量控制指令、飛行高度、飛行坐標(biāo)等。單片機對儀表控制計算機數(shù)據(jù)進行處理后,會將數(shù)據(jù)進行識別和處理,判斷飛機模擬訓(xùn)練儀表控制中的指示機構(gòu)是否處于設(shè)計位置,與當(dāng)前數(shù)據(jù)顯示是否存在沖突等。絕對式編碼器將根據(jù)計算結(jié)果進行校正使儀表指示機構(gòu)的顯示結(jié)果與儀表控制計算機數(shù)據(jù)處理結(jié)果一致。
飛機模擬訓(xùn)練儀表控制系統(tǒng)硬件核心設(shè)計方法以功能模塊法為主,通過STM32F405/41532單片機構(gòu)建核心控制模塊,整體硬件設(shè)計架構(gòu)見圖3。
圖3 硬件架構(gòu)及工作原理
其中,單片機核心控制模塊主要由串口通信模塊等構(gòu)成,各模塊功能及構(gòu)成如下。
2.1.1 串口通信通信模塊
串口通信通信模塊的主要功能,適用于系統(tǒng)作業(yè)時的串行數(shù)據(jù)傳輸[3]。串口通信通信模塊在獲取儀表控制計算機數(shù)據(jù)以后,會將信號數(shù)據(jù)傳輸至STM32F405/41532單片機,由單片機進行后續(xù)的數(shù)據(jù)操作。
2.1.2 步進電機驅(qū)動模塊
由于本次構(gòu)建系統(tǒng)主要側(cè)重于簡潔化、可重復(fù)使用、高精度等需求,因此采用更加適合中小型系統(tǒng)的HCPL-316J驅(qū)動電路,采用四相混合式步進電機,最高響應(yīng)頻率為100KHz。STM32F405/41532單片機將處理后的數(shù)據(jù)傳輸至步進電機驅(qū)動模塊,該模塊根據(jù)數(shù)據(jù)信號操控步進電機、減速機構(gòu)以及指示機構(gòu)進行工作,最終由指示機構(gòu)將數(shù)據(jù)傳送至編碼器。
2.1.3 解碼模塊
編碼器在接受到指示機構(gòu)傳輸?shù)臄?shù)據(jù)信號之后,將會在進行編碼以后將數(shù)據(jù)經(jīng)過解碼模塊進行轉(zhuǎn)換,得到32為并行數(shù)據(jù)。之后解碼模塊將并行數(shù)據(jù)經(jīng)過緩沖通過P0將數(shù)據(jù)傳輸至STM32F405/41532單片機。
2.1.4 開關(guān)量控制模塊
該模塊主要用于對模擬訓(xùn)練儀表控制系統(tǒng)中的各開關(guān)進行隔離和控制等。在接受STM32F405/41532單片機傳遞的數(shù)據(jù)信號后,開關(guān)量控制模塊的P3模塊將會與控制系統(tǒng)中的光耦芯片進行連接,光耦芯片的輸出可以通過直接驅(qū)動控制系統(tǒng)開關(guān)的繼電器進行工作。
基于單片機的飛機模擬訓(xùn)練儀表控制系統(tǒng)軟件設(shè)計,主要包括:①儀表控制端軟件設(shè)計,主要負責(zé)對飛機模擬訓(xùn)練儀表控制端的界面、交互功能等進行編譯;②單片機端軟件設(shè)計,主要負責(zé)對單片機運行主程序、串口通信子程序等進行編譯。
2.2.1 儀表控制端
儀表控制端軟件功能實現(xiàn)要求編寫簡單、生成界面友好、語言可讀性強等。因此,本文采用VC語言用于設(shè)計飛機模擬訓(xùn)練儀表控制端系統(tǒng)軟件。由于飛機模擬訓(xùn)練儀表控制端的工作環(huán)境需要滿足大量初級飛行員的模擬飛行。因此,系統(tǒng)工作中需要經(jīng)常進行初始化,已滿足不同飛行學(xué)員需求。因此,系統(tǒng)的初始設(shè)置至關(guān)重要。如下所示為本次編寫儀表控制端軟件初始設(shè)置的部分關(guān)鍵代碼。
2.2.2 單片機端
單片機端的代碼編寫通常采用匯編語言進行編譯,但采用該方法編譯出的單片機端代碼整體復(fù)雜程度較高,不利于后續(xù)維護和系統(tǒng)優(yōu)化人員進行閱讀,優(yōu)點是資源利用率高,能夠為飛機模擬訓(xùn)練儀表控制系統(tǒng)提供較好的可控制性,比較適合進行結(jié)構(gòu)簡單、模塊化的產(chǎn)品控制程序編寫。本文所編寫的單片機端控制軟件共包含主程序、串口通信子程序等。
2.2.2.1 主程序
單片機端主程序設(shè)計,是在儀表控制端完成系統(tǒng)初始化以后的一個查詢程序。該程序能夠?qū)ο到y(tǒng)中是否存在數(shù)據(jù)的傳輸進行篩查。在發(fā)現(xiàn)系統(tǒng)中存在數(shù)據(jù)傳輸以后主程序?qū)υ摂?shù)據(jù)傳輸進行相應(yīng),根據(jù)傳入的數(shù)據(jù)類型、具體指令等進行發(fā)出相應(yīng)的控制指令。使系統(tǒng)數(shù)據(jù)傳輸和指令傳遞不需等待。
2.2.2.2 串口通信子程序
串口通信子程序主要通過握手信號對系統(tǒng)接收數(shù)據(jù)信號的字節(jié)、長度等進行檢測。系統(tǒng)工作時,串口通信子程序首先撤銷數(shù)據(jù)傳輸中斷標(biāo)志,檢測所接收信號是否為字節(jié)E,若所得結(jié)果為否則檢測信號接收長度是否為0;若信號長度不為0則對數(shù)據(jù)進行寄存,再對信號長度減1之后是否為0進行檢測;若減1之后的系統(tǒng)信號長度是0則恢復(fù)現(xiàn)場,退出中斷服務(wù)子程序;若不為0則進入第一步進行重新檢測。
2.2.2.3 校正子程序
由于本文所設(shè)計的飛機模擬訓(xùn)練儀表控制系統(tǒng)采用了單片機、步進電機等硬件設(shè)備,因此系統(tǒng)的精度高、保持力矩大,具有較為理想的起停性能。因此,本文所設(shè)計的系統(tǒng)校正子程序主要用于判斷步進電機驅(qū)動下的指示機構(gòu)位置并對機構(gòu)位置進行校正。系統(tǒng)工作時,首先調(diào)用編碼器數(shù)碼讀取子程序,通過對指示機構(gòu)當(dāng)前位置的判斷與預(yù)定的位置進行對比,若相等則退出子程序,若不等則調(diào)用計算子程序計算二者差距,再將差值傳輸至調(diào)用步進電機運動自動程序進行校正,校正后重新進行數(shù)據(jù)讀取直至指示機構(gòu)顯示結(jié)果與預(yù)定位置相同。
對本次開發(fā)的基于單片機的飛機模擬訓(xùn)練儀表控制系統(tǒng)進行功能測試,主要針對系統(tǒng)的排氣溫度表等的指示速度、精度、誤差以及跟隨性能等進行檢測,具體檢測結(jié)果見表1。
表1 排氣溫度指示機構(gòu)檢測結(jié)果
可見,系統(tǒng)的實測值與輸入值之間的誤差在-1至1℃之間,連續(xù)性較強,且系統(tǒng)不存在抖動現(xiàn)象,噪音的表現(xiàn)為微小,幾乎被會被人耳獲取。因此,綜合而言系統(tǒng)的工作狀態(tài)較為理想,已經(jīng)達到了系統(tǒng)的設(shè)計需求。
文章基于單片機構(gòu)建了一種結(jié)構(gòu)簡單、可重復(fù)利用性強、指令精度高的飛機模擬訓(xùn)練儀表控制系統(tǒng)。經(jīng)過檢測分析表明,該系統(tǒng)的溫度指令等工作穩(wěn)定性強、噪音小,形成指令的誤差小,能夠滿足一般飛行員的模擬飛行教學(xué)場景,是一種值得推廣的飛機模擬訓(xùn)練儀表控制系統(tǒng)。