與活塞發動機相比,渦輪噴氣發動機(以下簡稱渦噴發動機)在推重比方面的優勢無可爭議。如果將之微型化,將使小型無人飛行器獲取較高的速度和載荷能力。因此,研制微型渦噴發動機在軍用和民用領域都有深遠的意義。目前,美、德、丹麥等國家都有相當成熟的微型渦噴發動機產品,已成功應用到航模和無人機上。但在國內,無論是發動機本身還是其控制系統,都屬于較新領域。 本文針結國產某系統發動機,設計了基于C8051F021和MicroStar RTOS的微型渦噴發動機通用控制系統。它以處理器為核心,集傳感器、伺服機構、人機接口為一體、體積小、重量,提供了與主控系統的指令接口和與地面測試設備的檢測接口,功能完善。 微型渦噴發動機計算機控制系統的整體結構如圖1所示。 控制器接收遙控接收機(或主控計算機)發出的PCM(Pulse Coding Modulation,脈沖編碼調制)形式的推力和起停指令,驅動油泵、油閥、點火器等伺服機構,實時測量發動機的溫度和轉速,完成自動點火、加速、減速、轉速穩定、超溫超速保護等控制功能,并將狀態參數通過RS232總線實時發送到PC機。通過手持終端,可修改系統參數。 為了便于系統調試和測試發動機性能,還開發了運行于Windows平臺的實時檢測軟件ECU1.0(Engine Control Unit,Version1.0)。 1 硬件設計 C8051F021單片機是美國Cygnal公司推出的一款高性能8位SOC單片機。主要有以下優點: (1)采用了流水線技術,峰值處理速度可達25MIPS,遠遠高于其它51單片機。 (2)具有12位8通道逐次比較式ADC,數據轉換速率可達100ksps。 (3)具有4K字節的片上RAM和64K字節的Flash程序存儲器。在本應用系統中,無需擴展存儲器。 (4)可提供五路可編程的PWM控制信號。 (5)豐富的定時器資源,具有五個硬件定時器。 (6)提供I2C總線控制模塊和兩個UART口。 (7)片內FLASH支持IAP(在應用可編程)。因此,不常修改的數據如配置參數、查詢表等可直接存放于片內的FLASH內,而不需外擴非易性存儲體。 C8051F021單片機具有豐富的片上硬件資源及高運算速度,對本控制系統,幾乎不需擴展即可滿足控制系統對硬件資源的需求并有較大裕量。圖2為系統硬件結構圖。 1.1 轉速測量模塊 發動機的轉速采用紅外對管來測量。發動機軸上鉆有一通孔,安裝時使發送-接收管的連線通過該孔。發動機每轉一周,紅外接收管會導通兩次。由于通、斷狀態是漸變的,再加上普通紅外管開關速度較低,在發動機高速運轉(可達120000RPM)時,接收管輸出的脈沖信號幅值很小,而且上升沿/下降沿較為平緩,單片機無法準確識別,必須加以整形。整形電路如圖3所示。 信號通過電容C6耦合至運放AR1的同相輸入端,(以2.5V為參考點)進行高倍數放大,以保證即使在高轉速下,脈沖的峰-峰幅值也接近5V供電電壓。運放AR3用于實現回滯比較器,提高抗干擾能力,其輸出信號至單片機T4EX腳。利用定時器4的邊沿捕捉功能可方便地測出相鄰脈沖間的時間間隔,從而換算出速度。 1.2 溫度測量模塊 發動機體內的溫度是發動機安全、可靠工作的重要指標。由于發動機較小,考慮到裝配的方便,以尾噴管的溫度表征發動機的工作溫度。 試驗表明,尾噴管的溫度最高可達900℃。出于測溫范圍、成本等方面的考慮,選用鎳鉻-鎳硅(Ni,Cr,Si)熱電偶作為測溫元件。鎳鉻-鎳硅熱電偶具有良好的線性度,測溫范圍為0~1000℃。由于發動機對溫度測量精度的要求并不苛刻,采用熱敏電阻進行溫度補償。 1.3 PWM驅動模塊 系統中氣閥和點火器、啟動電機和油泵電機等伺服機構采用PWM方式控制。啟動電機、齒輪泵的工作電流較大,可達14A.宜選用過流大且導通電阻小的MOS管或壓降小的肖特基二極管。本系統選用過流為120A、導通電阻7.5mΩ的MOS管。但試驗表明,MOS管工作溫度仍然較高,故采用兩片并聯驅動方式。一路PWM控制單元的原理圖如圖4所示。 電阻R6的主要作用是當無控制輸入信號時(如線路故障、單片機復位過程中),MOS管保持關閉,伺服機構不動作。MOS管開通時,通過Q4對MOS管輸入電容快速充電;關斷時,MOS管的輸入電容通過D3和Q3快速放電。采用上述具有較高開關速度的電路,可有效減少MOS管的發熱量。 1.4 系統通訊總線 I2C總線成本低廉,連線簡單,并有一定的抗干擾能力,同時可連結多個器件,故選用I2C總線用為系統通訊總線。手持終端、信號燈均通過I2C總線與系統板連接,并由串轉并芯片PCF8574驅動。 2 系統軟件 本系統主要完成發動機控制任務與人機接口任務。直接采用處理器開發軟件時,由于時間上的并存,這兩個任務處理將嚴重耦合。此外,與人機接口相關的函數調用必須設計為非阻塞模式,否則,當出現諸如I2C總線等故障時,控制流程無法繼續向下執行。 PTOS能合理地分配處理器資源,使多個任務在宏觀上達到并行運行的效果,可大大降低任務間的耦合,提高系統的可靠性。即使某個任務長時間被阻塞,也不會影響到其它任務。因此,采用RTOS進行軟件開發更為簡單和可靠。本系統采用MicroStar RTOS V1.0。MicroStar RTOS是針對中低檔單片機而設計的嵌入式實時操作系統內核。它同時支持按時間片輪轉、按優先級搶占、二者結合共三種調度策略,具有完善的任務管理功能可提供定時、延時服務,支持消息、信號(Signal)通訊機制,支持臨界代碼段保護,提供二進制、計數型信號量(Semaphore)同步對象等,支持Bottom-half中斷管理機制。 本控制器選用按優先級搶占調度策略,系統時鐘周期設定為2ms。共創建了三個用戶任務:人機接口主任務、控制任務以及與PC機通訊任務。 2.1 MicroStar RTOS在51單片機上的移植 由于51單片機內核上的原因,為了代碼優化,Keil C51編譯器采用一些獨特的方法,與ANSI C編譯器相比,有較大的差異。因而相對于其它硬件平臺,在51單片機上移值MicroStar RTOS時修改較多,主要包括以下幾類: (1)Keil C51不僅有數據類型,還有存儲類型,因此為系統變量添加了存儲類型修飾符。 (2)默認情況下Keil C51對未能在寄存器中分配的臨時變量采用靜態分配策略,許多系統函數因此而不可重入,必須對這些函數添reentrant函數來強迫編譯器在模擬棧中分配臨時變量。 (3)除了硬件堆棧外,Keil C51編譯器在軟件上實現了模擬棧,因此在堆棧保護中需加入對模擬棧的保護。 (4)修改os_cpu.h文件中的INITIAL_STACK任務堆合適初始化宏、改寫os_Schedule調度函數等。這一點與其它平臺無異。 2.2 人機接口主任務 人機接口主任務主要負責系統自檢、鍵盤掃描、液晶顯示、指令解析等,其流程圖如圖5所示。 主任務有測試和正常兩種運行模式。在開機按特定鍵或系統自檢失敗時,將進入測試模式。測試模式中擁有系統參數設定、脈寬指令學習、測試各路伺服機構的權限,但不具備運行發動機的權限。正常模式下僅具備運行發動機的權限,但不能修改任何參數,以降低對系統參數意外改寫的風險。在激活控制任務之前,主任務將進行包括程序代碼校驗、配置參數校驗、溫度傳感器檢查等的軟硬件模塊檢查。這些措施均能提高系統的可靠性。 MicroStar RTOS提供周期性定時服務。主任務通過os_SetTimer設定一個50ms的鍵盤掃描定時器、一個100ms的LCD顯示刷新定時器。當定時時間到時,定時器會給任務發送消息。調用os_GetMessage獲取消息后,調用鍵盤處理函數和顯示函數來分別處理與之對應的消息。 2.3 控制任務 一次完整的發動機運行可分為如圖6所示的幾個階段。控制任務按這些階段循環進行,任一階段內出現異常狀況,任務都進入停車狀態。具體階段為: (1)待命階段。發動機的狀態滿足運行要求,等待以PCM碼方式輸入的啟動命令。規定以大車指令對應的脈寬為啟動命令。 (2)點火階段。電機轉速在設定的上下限內波動,助然丁烷氣閥打開,向發動機體內注入易燃氣,同時開啟點火器對氣體加熱,當氣體點燃使尾噴管溫度升高到設定值時,認為點火成功。 (3)著車階段。油泵開始工作,供油量逐漸增大,點火器、氣閥、啟動電機先后關閉,發動機轉速開始加速。當轉速和溫度均超過設定值時,認為著車成功。 (4)熱車階段。發動機成功著車之后,不宜立即投入工作,需在慢車(怠速)狀態下持續運行一段時間。 (5)正常運行階段。PID控制算法投入運行。 (6)停車階段。油泵停止運行,啟動電機會根據溫度間歇性地開啟,在有利于發動機散熱的條件下,盡可能地節省電能。 3 控制律設計 按控制內容劃分,微型渦噴發動機的控制項目分為以下幾類: (1)過程控制。使發動機迅速、穩定、可靠地完成過渡工作狀態、包括啟動控制、加速控制、減速控制。啟動控制保證發動機正常點火和順利啟動。加速控制的目的是在發動機不超溫的前提下,改變供油量,使加速時間盡可能縮短。減速控制使收油門時減油不致過猛,防止燃燒室貧油熄火。 (2)推力控制。目的是給發動機提供所需的推力。飛行器空中飛行時發動機推力不易直接測量,但發動機轉速能夠表征發動機的推力,故通過轉速控制實現推力控制。 (3)安全控制。目的是保證發動機安全、可靠地工作。包括超溫保護、超速保護、電池電壓欠壓保護等。 3.1 啟動控制 啟動時間越短越好,因而發動機增速要快。簡單地提高供油量雖然可以提高發動機的增速,但容易因過度“富油”而超溫。“富油”現象是指當供油量增速過快時,由于發動機的慣性大于油泵的慣性,使發動機轉速增量相對落后,吸入空氣相對油量不足,以致燃油燃燒不充分,嚴重時,發動機體內的溫度會急劇上升,尾氣中會出現火苗,這種現象對發動機極為有害。為減輕“富油”現象,在著車邊程控制中引入溫度和升溫速度反饋。當溫度超過警戒值或者升溫速度超過警戒值時,供油量將停止增加。 3.2 轉速控制 轉速控制采用工程上常用的位置式數字PID控制算法。對本系統而言,控制量為油泵的PWM占空比。占空比為負值是沒有物理意義的,需在PID的輸出之上加入工作點,使輸出在工作點上下調整。轉速控制框圖如圖7所示。 其中,F(N0)為工作點產生函數,表示指令轉速N對應的占空比參考值,即工作點,通過試驗來獲取,軟件實現時采用查表法和線性插值法。限幅環節保證油泵占空比既不會小于怠速時的占空比,以避免熄火;也不會大于設定的最大值,以避免過速危險。油門加速度限幅環節一方面限制了加油速度,防止因加油過快而超溫;另一方面限制了收油速度,防止因收油過快而貧油熄火。油門加速度限幅簡單地實現了加速控制和減速控制。 由于油泵占空比與發動機轉速間的非線性關系(如圖8所示),采用了分段PID方法,即不同階段采用不同的PID參數。單就Kp而言,由圖可看出:在低轉速段,曲線的斜率陡,轉速對占空比的變化敏感,Kp取值較小,避免了超調過大和振蕩;而在高轉速段,曲線上升非常平緩,Kp取較大值,以提高響應速度。同樣地,為取得較好的性能,Ki、Kd在不同的轉速段也應取不同的值。在本系統中共分為三段。 4 系統測試 本系統已進行了多次臺架試驗。試驗中,被控對象選用國產500牛推力的某型渦噴發動機,原始數據利用運行于PC機平臺上的ECU V1.0通過串行口獲得。 4.1 檢測軟件ECU V1.0 為便于系統調試和測試,自行開發了軟件ECU V1.0。它能將發動機各種參數實時記錄下來,以曲線方式動態地顯示出來,以便分析各個參量間的相關性,并具有發送控制命令、報警等輔助功能。圖8、圖9均由該軟件生成。 4.2 測試結果 試驗表明,在控制系統的作用下,發動機能很好地跟蹤轉速遙控指令。圖9給出一次由18000RPM至23000RPM的推桿操作中指令和轉速的曲線,圖中虛線為指令,實線為速度,兩條曲線基本吻合。 微型渦噴發動機控制系統在我國還是一個較新的領域,筆者在此方面作了較為深入的探索。試驗中控制系統能可靠穩定地工作,達到了工程樣機的水平。 |