回路硬件仿真技術(shù)在直升機(jī)控制系統(tǒng)中的應(yīng)用
(作者未知) 2009/5/2
(接上頁)圖7中的主要模塊有:驅(qū)動(dòng)直升機(jī)到指定位置的“自動(dòng)駕駛”模塊,在不同操作模式下產(chǎn)生前進(jìn)和上升位移命令的“命令發(fā)生器”模塊,實(shí)現(xiàn)用于選擇不同直升機(jī)操作模式的有限狀態(tài)機(jī)的“模式控制”模塊。
“模式控制”模塊內(nèi)所含的狀態(tài)流程框圖如圖8所示。該框圖包含了系統(tǒng)啟動(dòng)時(shí)對(duì)操縱桿進(jìn)行校正的邏輯、用戶控制下的模式改變、當(dāng)違反位置限值時(shí)自動(dòng)切換到空模式,以及系統(tǒng)關(guān)閉的控制。
圖5所示的“控制器”模塊內(nèi)部提供了嵌入式軟件的完整實(shí)現(xiàn)方法。常見的方法是將嵌入式軟件開發(fā)當(dāng)作一個(gè)獨(dú)立過程,該過程將仿真作為可執(zhí)行的軟件要求描述來使用。然而,更有效的方法是將仿真中的控制器實(shí)現(xiàn)作為“源代碼”,供嵌入式軟件使用。
在本項(xiàng)目中,可以把圖5的“控制器”模塊挎貝到新的Simulink項(xiàng)目中,并向框圖中添加相應(yīng)的I/O器件模塊。然后,再調(diào)用Real-Time Workshop創(chuàng)建C代碼,經(jīng)過編譯后下載到"嵌入式”PC控制器。到此就完成了嵌入式軟件的開發(fā)工作。
回路硬件
有了直升機(jī)和控制器的非實(shí)時(shí)性Simulink仿真基礎(chǔ)后可以著手HIL仿真開發(fā)了。首先需要?jiǎng)?chuàng)建一個(gè)新的Simulink項(xiàng)目,再把圖5中帶“直升機(jī)”標(biāo)簽的模塊挎貝進(jìn)來。這種仿真建立了直升機(jī)動(dòng)態(tài)模型,并包括了相應(yīng)的I/O器件接口。Real-Time Windows Target支持多種I/O器件。HIL仿真所需的I/O要求包括兩個(gè)ADC輸入(用于接收控制器發(fā)出的馬達(dá)命令電壓)和6個(gè)TTL數(shù)字輸出(為3個(gè)仿真位置編碼器分別提供Phase A和Phase B信號(hào))。
本項(xiàng)目中將運(yùn)行Windows的臺(tái)式PC作為主機(jī)系統(tǒng),因此需要使用滿足上述條件并且具有PCMCIA接口形式的I/O器件。National Instruments公司的DAQCard-1200能夠滿足這些要求,并提供一根帶狀電纜用于連接計(jì)算機(jī)內(nèi)的接口卡和獨(dú)立的連接器模塊。
直升機(jī)仿真以固定的幀速率運(yùn)行,其仿真Phase A和Phase B信號(hào)的TTL輸出則一個(gè)仿真幀更新一次。由于位置編碼器信號(hào)的脈沖速率正比于運(yùn)動(dòng)軸的角速度,因此仿真幀速率可以限制能準(zhǔn)確再現(xiàn)的最大角速度。
如果采用這種方法對(duì)位置編碼器信號(hào)進(jìn)行建模,那么當(dāng)Phase A和Phase B信號(hào)隔幀交替時(shí)就能產(chǎn)生最高的仿真角速度。這時(shí)根據(jù)等式1就能得出仿真更新間隔h(秒)條件下最大的角速度值wmax(度/秒):
等式1
從直升機(jī)行為的數(shù)字仿真結(jié)果可以明顯看出,傾斜軸具有最大的峰值角速度,但很少出現(xiàn)超過100°/秒的情況。理想情況下h應(yīng)不小于一定值,這樣HIL仿真就不會(huì)占用計(jì)算機(jī)太大的計(jì)算資源。綜合考慮這些要求,h的最佳值應(yīng)是500us,此時(shí)更新速度是每秒2000幀,最大的仿真角速度是175.8°/秒,該速度已經(jīng)遠(yuǎn)遠(yuǎn)超過最大的角速度期望值。
每秒2000幀的直升機(jī)仿真更新速度已經(jīng)大大超出對(duì)直升機(jī)進(jìn)行動(dòng)態(tài)精確建模的速度要求,因此沒有必要再用高階積分算法來獲取更精確的結(jié)果。相對(duì)簡(jiǎn)單的二階積分算法可以獲得較好的精度,此次仿真選用的就是Simulink“ode-2”梯形積分算法。與采用更加復(fù)雜的高階積分算法相比,這種算法能使仿真具有更高的效率。
為了在目標(biāo)PC上下載并運(yùn)行嵌入式軟件,需要用串行電纜連接主機(jī)與目標(biāo)計(jì)算機(jī),并從軟盤啟動(dòng)目標(biāo)系統(tǒng)內(nèi)核。根據(jù)控制器的Simulink框圖,接下來就可以下載運(yùn)行嵌入式控制器用的軟件。在將目標(biāo)系統(tǒng)的I/O器件與DAQCard-1200的相應(yīng)端子連接起來后,可以在主機(jī)的Real-Time Windows Target中運(yùn)行直升機(jī)的Simulink仿真。最后根據(jù)Simulink框圖將命令發(fā)送給嵌入式控制器,從而啟動(dòng)控制器工作,完成仿真直升機(jī)的“飛行”。
在HIL仿真工作模式下可以詳細(xì)檢查嵌入式軟件的各個(gè)方面,從而可以發(fā)現(xiàn)并解決設(shè)計(jì)與實(shí)現(xiàn)中的很多問題。所有這些檢測(cè)工作期間無需變動(dòng)任何實(shí)際的硬件。在這輪HIL仿真測(cè)試結(jié)束后,我們就可以得到經(jīng)過全面測(cè)試的嵌入式應(yīng)用軟件,接下來與實(shí)際硬件的快速整合成功的可能性就非常大。
系統(tǒng)整合
在嵌入式軟件完成HIL測(cè)試前我們有意避免嵌入式軟件與實(shí)際直升機(jī)硬件一起運(yùn)行,主要原因是為了體現(xiàn)HIL仿真的意義,以及減少硬件損壞的風(fēng)險(xiǎn)。在完成HIL測(cè)試后,可以把電纜從DAQCard-1200上拔下來并連接到直升機(jī)硬件上,接著給系統(tǒng)上電并把直升機(jī)控制到“空模式”位置,然后使之進(jìn)入隨機(jī)模式,此時(shí)直升機(jī)會(huì)每隔10秒飛到隨機(jī)產(chǎn)生的前進(jìn)和上升位置。雖然在響應(yīng)命令時(shí)的擺動(dòng)和過沖要比HIL仿真時(shí)大一些,不過就這第一次試驗(yàn)來說還是相當(dāng)成功的。 (未完,下一頁)
|