肖 雨,杜忠華,劉仁杰,馬瑞雪,魏遠(yuǎn)旺
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇 南京 210094)
二維彈道修正技術(shù)是常規(guī)彈藥發(fā)展的主要方向,目前其正朝著射程更遠(yuǎn)、精度更高的方向發(fā)展[1]。彈箭精確化以普通火炮為發(fā)射平臺,將其改造成體積小、抗過載能力強(qiáng)的新型智能彈藥,在戰(zhàn)場上形成壓制火力。智能彈藥與普通導(dǎo)彈相比,在信息含量和技術(shù)含量上有很大提高,對于我國防空反導(dǎo)裝備和技術(shù)的發(fā)展具有極其重要的現(xiàn)實(shí)意義。
作為修正彈藥的核心,控制系統(tǒng)對接收到的信息進(jìn)行處理,并控制各模塊協(xié)同工作完成彈道修正,其性能影響重大,對二維修正彈控制系統(tǒng)的研究具有重大意義。
二維修正控制系統(tǒng)對實(shí)時性有較高要求,基于DSP或單片機(jī)的單核控制系統(tǒng)難以滿足實(shí)時性要求。本文設(shè)計了一種基于DSP+STM32的雙核控制器,并對其進(jìn)行軟硬件設(shè)計和實(shí)驗(yàn)仿真驗(yàn)證。
二維修正是在一維修正的基礎(chǔ)上加入橫向修正,提升精度的同時也增加了控制難度[2]。本方案選用連續(xù)修正閥作為修正執(zhí)行機(jī)構(gòu),如圖1所示,閥芯上有多個扇形出氣槽,在外壁上有4個互為90°的噴射孔,閥芯上有凹槽與電機(jī)輸出軸相連。電機(jī)轉(zhuǎn)動時,帶動閥芯旋轉(zhuǎn),通過驅(qū)動器調(diào)節(jié)電機(jī)轉(zhuǎn)至不同角度,可使不同位置噴射孔噴氣,以此來達(dá)到修正目的。
在發(fā)射前先將標(biāo)準(zhǔn)彈道存儲在非易失性的FRAM鐵電存儲器中,系統(tǒng)上電初始化,通過GPS和地磁傳感器探測到彈體實(shí)時位置與狀態(tài)信息,然后DSP對接收到的數(shù)據(jù)處理,解算出彈體實(shí)際運(yùn)行軌跡。將實(shí)際彈道與預(yù)先裝訂的標(biāo)準(zhǔn)彈道進(jìn)行比較獲得偏差值,再根據(jù)偏差值計算出所需的修正量[3-4]。同時根據(jù)計算得到的修正量形成控制指令,與STM32進(jìn)行通信,STM32設(shè)置定時器,待定時器時間到,起爆電路引爆火工品,電機(jī)帶動修正閥芯旋轉(zhuǎn),可使不同位置噴射孔噴氣,實(shí)現(xiàn)彈道修正。
圖1 修正機(jī)構(gòu)示意
本文設(shè)計的基于DSP和STM32的雙核控制器,具有高實(shí)時性。DSP控制器選用具備32位浮點(diǎn)處理單元的TMS320FF28335[5],外設(shè)集成度高,能實(shí)時快速地實(shí)現(xiàn)各種數(shù)字信號處理算法,抗干擾能力強(qiáng),此外,由于其具備高速處理能力,可用于數(shù)值運(yùn)算密集的彈道信息處理等。而單片機(jī)的控制芯片選用STM32F427ZGT6,該芯片集成了單周期DSP指令和FPU(浮點(diǎn)單元)??刂破飨到y(tǒng)結(jié)構(gòu)如圖2所示。該系統(tǒng)主要由5個主要模塊組成,分別是電源模塊、DSP與STM32最小系統(tǒng)模塊、升壓起爆模塊、存儲和通信模塊、修正機(jī)構(gòu)驅(qū)動模塊??刂破飨到y(tǒng)各模塊主要功能如下:
a.DSP負(fù)責(zé)GPS和地磁信號處理,獲得彈體實(shí)時坐標(biāo)和姿態(tài),輸出火控參數(shù)給STM32,并輸出PWM波控制電機(jī)啟停及正反轉(zhuǎn),以實(shí)現(xiàn)彈道修正功能。
b.STM32與DSP通信,在接收到控制信號后實(shí)時控制升壓起爆電路工作。
c.電源模塊作為控制器的核心部分,用于向其他模塊提供穩(wěn)定工作電壓[6],使電路兩端電位差維持在恒定狀態(tài)。
d.電機(jī)驅(qū)動模塊驅(qū)動電機(jī)正反轉(zhuǎn),以此帶動修正執(zhí)行機(jī)構(gòu)精準(zhǔn)動作,實(shí)現(xiàn)修正功能。
e.升壓起爆模塊負(fù)責(zé)引爆火工品。
f.FRAM作為數(shù)據(jù)存儲載體,掉電不丟失。
g.GPS模塊和地磁模塊可用于測量彈體實(shí)時坐標(biāo)和姿態(tài)。
圖2 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)外部輸入24 V直流電源供各模塊使用,利用 LM2596 降壓型電源管理芯片將24 V電壓分別降壓至5 V、3.3 V、1.9V。采用LM2577芯片輸出15 V電壓供電機(jī)驅(qū)動芯片工作。芯片內(nèi)核工作電壓為1.9 V, GPIO 口工作電壓為3.3 V,5 V電壓則作為IR2130等其他芯片的工作電壓。電源模塊設(shè)計框架如圖3所示。
圖3 電源模塊設(shè)計
存儲模塊用于存儲GPS數(shù)據(jù)和彈道解算參數(shù),以便對后續(xù)的控制算法進(jìn)行改進(jìn)。本文選用FM24CL64作為系統(tǒng)隨機(jī)存儲器,其寫數(shù)據(jù)無延時、掉電數(shù)據(jù)保持10年的特性,保證了系統(tǒng)的可靠性。
通信模塊主要用于DSP芯片與STM32芯片的通信,當(dāng)DSP彈道解算完成,輸出控制信號給STM32,控制升壓起爆電路工作。
要控制修正機(jī)構(gòu)動作,需要DSP發(fā)出PWM信號來控制開關(guān)器件的導(dǎo)通和關(guān)閉,使功率器件為電機(jī)的繞組提供良好的諧波電壓和電流,提升電機(jī)輸出轉(zhuǎn)矩的同時避免電磁擾動的產(chǎn)生。電機(jī)驅(qū)動電路如圖4所示。
圖4 修正機(jī)構(gòu)驅(qū)動電路
為能給電機(jī)提供具有較大驅(qū)動能力的正弦波信號,本系統(tǒng)電機(jī)驅(qū)動模塊選用IR2130高壓驅(qū)動芯片,可以輸出6路驅(qū)動脈沖。其中3路輸出信號具有電平轉(zhuǎn)換功能。為提升控制精度,在電機(jī)的轉(zhuǎn)軸端配置增量式光電編碼器,能有效檢測轉(zhuǎn)子的位置。
在圖4所示驅(qū)動電路中,共包含3個P型場效應(yīng)管和3個N型場效應(yīng)管。P型場效應(yīng)管放置在上臂,選用型號為IRFR1205,當(dāng)A+端為高電平時,場效應(yīng)管IRFR1205的柵極被拉低,故IRFR1205的柵極和源極之間會形成一個負(fù)電壓,場效應(yīng)管NA+導(dǎo)通。R1與電源相連,作為NA+場效應(yīng)管的上拉電阻,可上拉NA+的柵極,R1的電阻值選取應(yīng)適當(dāng),若過小會導(dǎo)致三極管導(dǎo)通時電流過大,反之,若阻值選取過大會導(dǎo)致MOSFET柵極電壓上升速度緩慢,影響開關(guān)性能。R2的作用是作為基極電阻使三極管正常工作在放大區(qū)。R3的作用是下拉型抗干擾電阻。R4的作用主要是減少振蕩的同時減小柵極充電峰值電流,以及保護(hù)NA-型MOSFET不被擊穿。
本系統(tǒng)升壓模塊選用MAX8570系列升壓轉(zhuǎn)換器,其采用內(nèi)部n溝道開關(guān)和p溝道輸出隔離開關(guān),電源電壓2.7~5.5 V,輸出可達(dá)28 V。起爆電路如圖5所示。Vout_FIRE端用于為起爆模塊提供25 V工作電壓,火工品一端接FIRE,另一端與陰極連接。當(dāng)接收到控制信號時,CTRL_OUT端變?yōu)楦唠娖?,可控硅?dǎo)通,火工品起爆。同時為屏蔽方波信號的影響,選用SN74AHC86D四路2輸入異或門,STM32中2個IO引腳信號經(jīng)過異或門作為升壓起爆模塊的控制信號,以免上電復(fù)位時IO口電平不定導(dǎo)致誤觸發(fā)。
圖5 起爆電路
本系統(tǒng)DSP與STM32開發(fā)環(huán)境分別基于CCS6.0和Keil5。控制系統(tǒng)工作流程如圖6所示。
圖6 控制系統(tǒng)工作流程
為節(jié)省GPS定位時間,在發(fā)射前先將衛(wèi)星軌道參數(shù)存入GPS接收機(jī),并將目標(biāo)和環(huán)境信息存儲在非易失性的FRAM鐵電存儲器中[7],作為彈道解算的參考依據(jù)。彈丸發(fā)射后系統(tǒng)上電初始化,GPS接收機(jī)迅速定位確定發(fā)射點(diǎn),并結(jié)合地磁傳感器接收彈體實(shí)時位置與狀態(tài)信息,然后DSP對接收到的數(shù)據(jù)處理,解算出彈體實(shí)際運(yùn)行軌跡。將實(shí)際彈道與預(yù)先裝訂的標(biāo)準(zhǔn)彈道進(jìn)行比較獲得偏差值,再根據(jù)偏差值計算出所需的修正量。同時根據(jù)計算得到的修正量形成控制指令,與STM32進(jìn)行通信,STM32設(shè)置定時器,待定時器時間到,起爆電路引爆火工品,電機(jī)帶動修正閥芯旋轉(zhuǎn),可使不同位置噴射孔噴氣,實(shí)現(xiàn)彈道修正。
GPS數(shù)據(jù)幀共10位,包括1個起始位、1個停止位、1~8位數(shù)據(jù)位、不設(shè)置奇偶校驗(yàn)位[8]。當(dāng)DSP接收到1幀有效數(shù)據(jù),將其放入接收緩存寄存器,接收緩沖就緒標(biāo)志位被置位,數(shù)據(jù)無效則重新接收。數(shù)據(jù)接收完畢,DSP對接收到的有效數(shù)據(jù)進(jìn)行預(yù)處理和濾波,并將處理后的數(shù)據(jù)寫入臨時存儲器FRAM。
為提升系統(tǒng)定位精度,避免隨機(jī)因素干擾,本系統(tǒng)采用無跡卡爾曼濾波(UKF)算法對接收到的彈道數(shù)據(jù)進(jìn)行處理[9]。UKF算法基于線性濾波框架,通過使用無跡變換來處理非線性傳遞問題,對精度和穩(wěn)定性有保障。非線性彈道觀測方程組為
(1)
X為狀態(tài)量;W為過程噪聲;V為觀測噪聲;k為時間序列;f為非線性狀態(tài)方程函數(shù);h為觀測方程函數(shù)。
UKF算法處理過程主要分為以下幾個步驟:
a.根據(jù)式(2)和式(3),計算出2n+1個采樣點(diǎn)及相應(yīng)權(quán)值,也稱為(無跡)UT變換。
(2)
(3)
b.計算Sigma點(diǎn)集的一步預(yù)測和協(xié)方差矩陣,并根據(jù)得到的預(yù)測值進(jìn)行UT變換,產(chǎn)生新的Sigma點(diǎn)集。
c.將最新得到的Sigma點(diǎn)集代入式(1),計算出預(yù)測觀測量,并通過加權(quán)求和得到系統(tǒng)預(yù)測的均值及協(xié)方差。
d.計算增益矩陣,并進(jìn)行狀態(tài)和協(xié)方差更新。
本系統(tǒng)采用增量式光電編碼器結(jié)合DSP的eQEP模塊,用于檢測電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向以及電機(jī)的絕對位置信息和相對位置增量。
為提升修正機(jī)構(gòu)動作精度,加快控制系統(tǒng)響應(yīng)速度,采用基于神經(jīng)網(wǎng)絡(luò)的位置-速度雙閉環(huán)PID控制算法[10]對脈沖修正機(jī)構(gòu)進(jìn)行精準(zhǔn)控制。將PID控制規(guī)律與神經(jīng)元網(wǎng)絡(luò)相結(jié)合,根據(jù)控制效果進(jìn)行在線學(xué)習(xí)和調(diào)整,加快收斂速度,提升控制系統(tǒng)性能。
PID控制由比例、積分、微分3個環(huán)節(jié)組成,并形成統(tǒng)一標(biāo)準(zhǔn)信號控制修正執(zhí)行機(jī)構(gòu)動作。將PID和神經(jīng)網(wǎng)絡(luò)相結(jié)合主要有2步:首先定義具有比例、積分、微分功能的神經(jīng)元,構(gòu)成PID神經(jīng)元;接著根據(jù)PID神經(jīng)元控制規(guī)律使基本神經(jīng)元構(gòu)成新的神經(jīng)網(wǎng)絡(luò),并找到合理有效的計算學(xué)習(xí)方法。作為對傳統(tǒng)PID控制的改進(jìn)型控制算法,單神經(jīng)元構(gòu)造PID控制器網(wǎng)絡(luò)輸入為
(4)
PID控制器網(wǎng)絡(luò)輸出為
u(k)=W1X1(k)+W2X2(k)+W3X3(k)
(5)
Wi為PID控制器中的參數(shù)KP、KI、KD,可以通過在線調(diào)整PID的3個參數(shù)使之達(dá)到最優(yōu)值,進(jìn)而達(dá)到改善控制系統(tǒng)性能的目的。
利用CCS對DSP與STM32通信過程進(jìn)行仿真觀察,當(dāng)DSP與STM32開始通信前,標(biāo)志位均為初始值0;DSP向STM32發(fā)送數(shù)據(jù)后,tx_flag標(biāo)志位置位,STM32正確接收后,其LED全部點(diǎn)亮,DSP接收到0xAA,置sci_tx_success標(biāo)志位,并點(diǎn)亮其2個LED,最終2個芯片的LED均全部點(diǎn)亮,驗(yàn)證了該模塊通信較為可靠,滿足設(shè)計功能要求。
要驗(yàn)證電路板的升壓起爆模塊。首先在上電前將代碼燒寫入電路板,接著將火工品兩端分別連接FIRE和GND線,系統(tǒng)上電初始化后等待數(shù)秒,點(diǎn)火頭被引爆。同時通過示波器觀察起爆瞬間火工品兩端電流變化,在起爆瞬間火工品兩端電壓高達(dá)25 V,且只有當(dāng)FIRE和CTRL控制信號同時作用才能起爆成功,起爆波形如圖7所示。由圖7可看出升壓起爆模塊功能正常,滿足設(shè)計要求。
圖7 起爆放電波形圖
發(fā)射2 s后開始接收測量數(shù)據(jù),并對二維修正彈全彈道進(jìn)行UKF濾波。首先設(shè)置過程噪聲和量測噪聲協(xié)方差矩陣、彈丸自身參數(shù)等產(chǎn)生初始彈道數(shù)據(jù)的初始條件。x-z平面彈道軌跡如圖8所示。
圖8 x-z平面彈道軌跡
仿真表明對彈道數(shù)據(jù)進(jìn)行UKF濾波處理可以降低測量數(shù)據(jù)帶來的誤差,提升控制系統(tǒng)精度。
要驗(yàn)證電機(jī)驅(qū)動模塊功能是否符合設(shè)計要求,首先需要搭建實(shí)驗(yàn)設(shè)備,編寫代碼控制電機(jī)正反轉(zhuǎn),先穩(wěn)定加速到最大設(shè)定值,后勻減速直到電機(jī)轉(zhuǎn)速為0,再控制電機(jī)按設(shè)定規(guī)律進(jìn)行反轉(zhuǎn)。通過示波器觀察電機(jī)空載時運(yùn)行過程的PWM波形圖,驗(yàn)證表明電機(jī)驅(qū)動模塊功能正常。
為驗(yàn)證脈沖修正機(jī)構(gòu)功能特性,搭建直流電機(jī)控制平臺,采用增量式光電編碼器配合DSP的eQEP模塊,用于檢測電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向以及電機(jī)的絕對位置信息和相對位置增量。對脈沖修正電機(jī)控制模塊進(jìn)行系統(tǒng)建模,并采用PID神經(jīng)網(wǎng)絡(luò)控制算法進(jìn)行仿真試驗(yàn),驗(yàn)證脈沖修正機(jī)構(gòu)的實(shí)時性與可靠性。選取恰當(dāng)?shù)碾姍C(jī)階躍信號幅值,修正機(jī)構(gòu)的電機(jī)響應(yīng)特性曲線和控制誤差曲線分別如圖9和圖10所示。
圖9 修正機(jī)構(gòu)電機(jī)響應(yīng)曲線
圖10 控制誤差曲線
由圖9和圖10可知,修正執(zhí)行機(jī)構(gòu)控制量能迅速響應(yīng),趨近目標(biāo)值,且控制誤差會在起控初期急劇下降,最后將誤差限定在極小的范圍內(nèi),表明采用神經(jīng)網(wǎng)絡(luò)對修正執(zhí)行機(jī)構(gòu)電機(jī)進(jìn)行控制效果較好,能保證修正機(jī)構(gòu)控制精度和實(shí)時性。
為驗(yàn)證該控制系統(tǒng)工作性能,采用蒙特卡洛打靶法對修正控制效果進(jìn)行分析,忽略隨機(jī)誤差的影響,圖11為給出的二維修正彈算例在修正前和修正后的彈道落點(diǎn)散布圖(模擬打靶100次),由圖11可知,修正后彈道落點(diǎn)散布密集度得到較大提升,滿足設(shè)計要求。
圖11 落點(diǎn)散布對比圖
為提升二維彈道修正控制系統(tǒng)精度和實(shí)時性,本文采用連續(xù)修正閥作為修正執(zhí)行機(jī)構(gòu),設(shè)計了一種基于DSP和STM32的雙核控制器,完成了控制系統(tǒng)總體結(jié)構(gòu)設(shè)計,并對主要功能模塊展開詳細(xì)的軟硬件設(shè)計,采用無跡卡爾曼濾波對彈道數(shù)據(jù)進(jìn)行處理,并對修正機(jī)構(gòu)進(jìn)行神經(jīng)網(wǎng)絡(luò)PID控制,通過實(shí)驗(yàn)與仿真,驗(yàn)證了控制系統(tǒng)的實(shí)時性與可靠性,為類似控制系統(tǒng)設(shè)計提供參考。