回路硬件仿真技術(shù)在直升機(jī)控制系統(tǒng)中的應(yīng)用
(作者未知) 2009/5/2
(接上頁(yè))
自動(dòng)駕駛模式:
在這種模式下,由操縱桿產(chǎn)生控制器所需的上升和水平行進(jìn)命令。通過(guò)操縱桿的前后動(dòng)作控制上升位置,通過(guò)左右動(dòng)作來(lái)控制水平位置?刂破魍ㄟ^(guò)移動(dòng)直升機(jī)來(lái)跟隨命令所指定位置。
手動(dòng)模式:
在手動(dòng)模式下,操縱桿直接產(chǎn)生馬達(dá)驅(qū)動(dòng)用的電壓和與電壓差。操縱桿前后動(dòng)作控制兩個(gè)馬達(dá)電壓的和,左右運(yùn)動(dòng)控制兩個(gè)馬達(dá)電壓的差。在這種模式下系統(tǒng)特別難以控制,如果任何軸的運(yùn)動(dòng)超過(guò)了某個(gè)位置限制,控制器就會(huì)自動(dòng)切換到空模式。通常,在進(jìn)入該模式后的幾秒鐘內(nèi)可能產(chǎn)生違反限制的問(wèn)題。
在確定系統(tǒng)功能和性能要求后,可以進(jìn)行控制器軟件的開(kāi)發(fā)和測(cè)試。而仿真技術(shù)的應(yīng)用可以加快直升機(jī)控制器軟件的開(kāi)發(fā)和測(cè)試速度。
項(xiàng)目規(guī)范
為了對(duì)嵌入式軟件進(jìn)行HIL仿真測(cè)試,需要使用嵌入式處理器及其附屬I(mǎi)/O器件。對(duì)于許多嵌入式系統(tǒng)來(lái)說(shuō),這只是整個(gè)系統(tǒng)的一小部分,可以在早期開(kāi)發(fā)階段實(shí)現(xiàn)組合。可以創(chuàng)建一個(gè)直升機(jī)硬件及其與外部環(huán)境交互的仿真,并通過(guò)控制器的I/O接口把這個(gè)仿真與嵌入式控制器連接起來(lái)。嵌入式控制器和直升機(jī)仿真就如同實(shí)際系統(tǒng)一樣工作。
在復(fù)雜的嵌入式產(chǎn)品開(kāi)發(fā)早期,經(jīng)常需要仿真一個(gè)完整系統(tǒng)在預(yù)期環(huán)境中的運(yùn)行。這種利用動(dòng)態(tài)系統(tǒng)仿真工具,如Simulink開(kāi)發(fā)的仿真系統(tǒng)通常不是實(shí)時(shí)的,但可以作為HIL仿真的基礎(chǔ)。某些時(shí)候需要對(duì)這些仿真系統(tǒng)中包含的模型進(jìn)行簡(jiǎn)化和優(yōu)化,使之適合實(shí)時(shí)仿真使用。不過(guò)在本項(xiàng)目中不需要修改這些模型。
復(fù)雜系統(tǒng)仿真需要用到許多高級(jí)的數(shù)學(xué)算法,但可以采用專(zhuān)門(mén)的軟件工具來(lái)簡(jiǎn)化任務(wù):Simulink是MATLAB的一個(gè)附件,它可以用來(lái)提供以框圖為主的圖形環(huán)境下的動(dòng)態(tài)系統(tǒng)仿真。用Simulink進(jìn)行仿真的方法是先把“調(diào)色板”上的模塊拖到繪畫(huà)區(qū)域,然后用代表信號(hào)流向的直線把這些模塊連接起來(lái)。圖4就是直升機(jī)項(xiàng)目中采用的位置編碼模型的Simulink框圖,該模型把以弧度表示的角度位置作為其輸入信號(hào),并產(chǎn)生Phase A和Phase B信號(hào)作為其輸出。另外,它還輸出指示信號(hào),用來(lái)指示相應(yīng)軸到達(dá)零位置的時(shí)刻。直升機(jī)位置編碼器不會(huì)產(chǎn)生指示信號(hào)輸出,因此不使用該Simulink模型的輸出。
Stateflow是Simulink的一個(gè)附件,用以實(shí)現(xiàn)有限狀態(tài)機(jī)模型。在這個(gè)直升機(jī)項(xiàng)目中,Stateflow模型用來(lái)實(shí)現(xiàn)直升機(jī)模式選擇邏輯。
Real-Time Workshop根據(jù)Simulink框圖產(chǎn)生C代碼,其它工具需要使用這些代碼來(lái)達(dá)成編譯與執(zhí)行目標(biāo)。在本項(xiàng)目中,其它工具包括Real-Time Windows Target和xPC Target。
Real-Time Windows Target允許仿真的編譯與執(zhí)行作為PC機(jī)Windows系統(tǒng)中的一個(gè)實(shí)時(shí)進(jìn)程,能與Windows操作系統(tǒng)同時(shí)運(yùn)行。在本項(xiàng)目中,Real-Time Windows Target執(zhí)行的是HIL系統(tǒng)仿真,所用主機(jī)正是開(kāi)發(fā)和控制直升機(jī)軟件的計(jì)算機(jī)。align=RIGHT VSPACE=12 HSPACE=12 ALT="圖5:直升機(jī)和控制器模型。"﹥
xPC Target允許在PC機(jī)上執(zhí)行仿真,此時(shí)PC機(jī)的功能如同專(zhuān)門(mén)的實(shí)時(shí)控制器。xPC Target還提供實(shí)時(shí)的多任務(wù)內(nèi)核供只有有限硬件資源的嵌入式處理器使用。xPC Target在本項(xiàng)目中用來(lái)在一臺(tái)獨(dú)立PC上產(chǎn)生和執(zhí)行直升機(jī)控制器用的實(shí)時(shí)代碼,此時(shí)該P(yáng)C機(jī)就用作“嵌入式”控制器。
仿真開(kāi)發(fā)
控制器軟件開(kāi)發(fā)的第一步是實(shí)現(xiàn)對(duì)整個(gè)直升機(jī)控制器系統(tǒng)的仿真,圖5給出了仿真的頂層框圖。其中兩個(gè)較大的方框分別表示直升機(jī)系統(tǒng)本身和數(shù)字控制器,兩個(gè)較小的帶有“操縱桿”和“模式命令”標(biāo)簽的方框向控制器提供用戶(hù)輸入信號(hào)。圖5中的“直升機(jī)”框圖包含有直升機(jī)動(dòng)態(tài)行為的Simulink模型,如圖6所示。從圖6可以看到,該模型采用了轉(zhuǎn)移函數(shù)、求和函數(shù)和積分器等多個(gè)Simulink模塊。帶“有限運(yùn)動(dòng)”標(biāo)簽的模塊包含有一個(gè)受限于向下靠近桌面方向的上升軸運(yùn)動(dòng)模型。當(dāng)被仿真的直升機(jī)碰到桌面時(shí),所有3個(gè)運(yùn)動(dòng)軸的速度都被置為零,因此非常接近實(shí)際直升機(jī)的行為。從靠近右邊的3個(gè)量化器可以看出位置編碼器的量化效果。
“有限運(yùn)動(dòng)”模塊代表一個(gè)子系統(tǒng)。子系統(tǒng)模塊允許在仿真開(kāi)發(fā)期間通過(guò)分層圖集(hierarchical sets of diagrams)來(lái)控制復(fù)雜性。子系統(tǒng)間可以進(jìn)行任意多層的嵌套,類(lèi)似于函數(shù)的嵌套調(diào)用!翱刂破鳌弊酉到y(tǒng)的詳細(xì)內(nèi)容見(jiàn)圖7。對(duì)3個(gè)軸角度測(cè)量值的量化結(jié)果成為控制器的3個(gè)基本輸入信號(hào),控制器輸出的是兩個(gè)馬達(dá)的驅(qū)動(dòng)電壓。(未完,下一頁(yè))
|