江蘇師范大學(xué)物理與電子工程學(xué)院 袁 波 朱士虎
本文設(shè)計一種高精度自動化電磁炮發(fā)射裝置。以STM32單片機(jī)作為核心控制器件,應(yīng)用電磁感應(yīng)、光電檢測和自動控制等技術(shù);電磁炮采用OpenMV攝像頭模塊實(shí)現(xiàn)對目標(biāo)的鎖定與距離識別;由STM32單片機(jī)給予云臺舵機(jī)控制信號,實(shí)現(xiàn)炮臺水平角度和垂直仰角的自動調(diào)節(jié);采用增量式PID算法實(shí)現(xiàn)快速響應(yīng)、無靜差的云臺自動控制;通過控制大容量、高耐壓電解電容的自動充電、放電,實(shí)現(xiàn)大電容瞬態(tài)強(qiáng)放電,電磁線圈產(chǎn)生瞬態(tài)強(qiáng)力磁場驅(qū)動鐵球,實(shí)現(xiàn)鐵球的精確發(fā)射。實(shí)驗(yàn)結(jié)果表明,該設(shè)計電路簡單,軟硬件結(jié)合,控制方法靈活,達(dá)到預(yù)期的設(shè)計要求。
電磁炮作為一種新型武器,是未來國防科技發(fā)展的一個方向。電磁軌道炮通過洛倫茲力加速彈丸,相較于傳統(tǒng)火炮依靠化學(xué)能實(shí)現(xiàn)發(fā)射方式,具有初速快和精確可控等優(yōu)點(diǎn)。在未來武器的發(fā)展上,電磁炮技術(shù)具有巨大的應(yīng)用價值,在軍事上起著越來越重要的作用。經(jīng)過30余年的發(fā)展,電磁炮技術(shù)已獲得巨大發(fā)展。但現(xiàn)有的設(shè)計方案制造出的電磁炮雖然已完成了基礎(chǔ)功能,但距離將其轉(zhuǎn)化為實(shí)用,成為可靠的武器系統(tǒng)還存在諸多問題?,F(xiàn)階段的電磁炮存在著能量損耗率高、精確度低、炮管易損等問題。當(dāng)然,電磁炮不僅運(yùn)用于軍事領(lǐng)域,在民用領(lǐng)域中也有廣泛應(yīng)用,大量應(yīng)用于實(shí)驗(yàn)室、課堂教學(xué)中作為教具。通過對電磁炮的研究可對電磁感應(yīng)、楞次定律等理論,有更加深刻的理解。本文旨在為實(shí)驗(yàn)室、課堂教學(xué)等領(lǐng)域設(shè)計一種小型化,便攜式,且價格便宜的線圈式電磁炮。
設(shè)計并制作線圈式電磁炮。使用直徑為1.5cm的鐵質(zhì)球形炮彈,用電磁炮將炮彈射出。設(shè)計的電磁炮系統(tǒng)將實(shí)現(xiàn)以下兩個目標(biāo):
(1)設(shè)定電磁炮的發(fā)射距離發(fā)射炮彈,要求炮彈的實(shí)際發(fā)射距離與設(shè)定的距離之間誤差在2cm內(nèi)。要求通過鍵盤設(shè)定具體距離,完成設(shè)定后按下啟動鍵,電磁炮自動充能并發(fā)射炮彈。
(2)將目標(biāo)物放置在電磁炮前方-60°到60°,且距離在3m范圍內(nèi),電磁炮自動搜尋目標(biāo)并發(fā)射炮彈擊中紅色目標(biāo)物。要求不可通過按鍵調(diào)節(jié)距離及角度,按下啟動鍵后電磁炮能自動搜尋目標(biāo),并發(fā)射炮彈擊中目標(biāo),電磁炮系統(tǒng)如圖1所示。
電磁炮是利用電磁力(洛倫茲力)沿導(dǎo)軌發(fā)射炮彈的武器。其原理是利用電磁的相互作用力將物體加速,隨后發(fā)射出去。電磁炮主要由能源、加速器、開關(guān)三部分組成?,F(xiàn)階段,實(shí)驗(yàn)室常用的有電容儲能式脈沖發(fā)生器、單極發(fā)電機(jī)和磁通壓縮裝置,其中單極發(fā)電機(jī)是發(fā)展?jié)摿^大的能源裝置。加速器能夠使電磁力轉(zhuǎn)化為動能,給物體加速。開關(guān)是用來控制系統(tǒng)充能與發(fā)射。線圈式電磁炮是通過將電磁線圈做成中空,將鐵質(zhì)小球放在線圈底部。當(dāng)炮管上線圈產(chǎn)生感應(yīng)電流,磁場與電流相互作用后推動炮彈并進(jìn)行加速,最后射出并擊中目標(biāo)。
圖1 電磁炮系統(tǒng)示意圖
PID算法是控制行業(yè)中最簡單、最經(jīng)典、也是最重要的算法之一。設(shè)計和實(shí)現(xiàn)PID算法是完成設(shè)備自動化控制的基本要求。PID算法的中心思想是非常簡單的,就是利用反饋來檢測實(shí)際參量與目標(biāo)參量的偏差,并通過比例、積分、微分三個環(huán)節(jié)合成控制量,實(shí)現(xiàn)系統(tǒng)的自動化控制。而增量式PID是PID算法中的一種,它通過對控制量的增量進(jìn)行PID運(yùn)算的方法。相比于其他PID算法,增量式PID算法具有很高的穩(wěn)定性,即便偶爾有誤差或精度不足時,仍能保持正常運(yùn)轉(zhuǎn)。
STM32F407采用Cortex-M4內(nèi)核,現(xiàn)為目前最主流的單片機(jī)之一。它的時鐘頻率可達(dá)到168MHZ,芯片擁有多個定時器、串口等外設(shè);可對系統(tǒng)實(shí)現(xiàn)精準(zhǔn)、快速的控制。且有大量資料提供參考學(xué)習(xí),所以采用STM32F407作為系統(tǒng)的主控芯片對系統(tǒng)進(jìn)行控制。
OpenMV攝像頭模塊可以實(shí)現(xiàn)彩色識別功能,模塊集成了ST公司目前較高級的處理器芯片STM32H7。在IDE平臺使用Python語言編寫代碼,實(shí)現(xiàn)調(diào)用底層的圖像處理算法及AI算法,采用串口通信將目標(biāo)位置信息傳送給控制處理器。OpenMV攝像頭模塊圖像數(shù)據(jù)處理和存儲都在模塊集成的芯片上實(shí)現(xiàn),不占用主控芯片的運(yùn)算及存儲資源,極大地節(jié)省了主控芯片的工作量,且OpenMV內(nèi)置測距程序,可快速測出與目標(biāo)物的距離。
電磁炮要實(shí)現(xiàn)炮彈的發(fā)射,就必須設(shè)計相應(yīng)電路,實(shí)現(xiàn)能量的存儲以及能量的瞬間釋放。能量的存儲速度越快,炮彈發(fā)射的準(zhǔn)備時間越短;釋放的能量越大,炮彈發(fā)射的距離越遠(yuǎn)。電解電容的充放電速度是各種類電容中較好的,所以采用電解電容作為能量容器。當(dāng)前教學(xué)用電磁炮對發(fā)射能量的控制,僅僅只是對充電時間進(jìn)行控制,并不能完全準(zhǔn)確地控制能量的存儲量,精度也不太高。本文設(shè)計中采用對電容電壓進(jìn)行準(zhǔn)確采樣,來控制炮彈的發(fā)射距離。這種方法不僅準(zhǔn)確控制炮彈的發(fā)射距離、提高了射擊精度,而且,還能夠防止僅僅只控制充電時間,而導(dǎo)致充電不足或過度充電引發(fā)意外狀況的出現(xiàn)。
設(shè)計一硬件電路實(shí)現(xiàn)將直流電轉(zhuǎn)換為交流電,再經(jīng)過變壓器升壓后對一個8800UF 450V的大容量高壓電解電容進(jìn)行充電。采用STM32的12位ADC轉(zhuǎn)換功能采集充電時電容兩端電壓值,由單片機(jī)設(shè)置并控制電容充放電,實(shí)現(xiàn)發(fā)射動能的存儲控制。用一組線圈纏繞在炮管底部,在線圈稍低處裝入鐵球作為炮彈。當(dāng)電容能量充滿且滿足開炮條件時,設(shè)計的開關(guān)電路將使電容對線圈進(jìn)行一次大電流的快速放電,使線圈產(chǎn)生瞬時強(qiáng)磁場。磁場將炮彈向線圈中心吸引,由于放電電流只持續(xù)一瞬間,炮彈的吸引力很快就會消失。產(chǎn)生的動能將會帶動小球射出炮口做出斜拋運(yùn)動,從而實(shí)現(xiàn)炮彈的發(fā)射。
電磁炮能自動擊中目標(biāo)的關(guān)鍵在于能夠快速搜尋并鎖定目標(biāo)物,從啟動到搜尋到目標(biāo)的時間越短越好,鎖定目標(biāo)的精度越高越好。將炮臺置于可水平且垂直轉(zhuǎn)動的云臺上,配以O(shè)penMV作為尋找目標(biāo)的重要傳感器,OpenMV中心與電磁炮炮管處于同一垂直線上。使用閉環(huán)控制,將目標(biāo)物的特征輸入到程序中。若在攝像頭可探測的范圍內(nèi)無目標(biāo)物,則將無目標(biāo)信號反饋給單片機(jī)。單片機(jī)再將相關(guān)信號傳送給云臺,云臺則按預(yù)設(shè)方向繼續(xù)轉(zhuǎn)動;若目標(biāo)進(jìn)入探測范圍,OpenMV則發(fā)送具體坐標(biāo)給單片機(jī),直至目標(biāo)物到達(dá)坐標(biāo)中心點(diǎn)。使用增量式PID算法作為云臺控制量,與開環(huán)控制相比,更加精確快速,增量式PID算法公式為:
將攝像頭捕捉到的圖像水平分為180個像素點(diǎn),由左向右按照0-159排列,由上向下以0-119排列。若目標(biāo)物出現(xiàn)在圖像上,則將物體的位置以坐標(biāo)(x, y)的形式傳輸給單片機(jī)。將此坐標(biāo)與中心坐標(biāo)的偏差值作為反饋量代入增量式PID算法公式,即為e[n],而上一次偏差值為e[n-1],且在前一次的偏差值為e[n-2],根據(jù)實(shí)際情況調(diào)整kp、ki、kd完善具體算法。因此,能夠快速且精確地捕捉到目標(biāo)的具體位置。當(dāng)鎖定目標(biāo)后由MPU6050傳感器測出目標(biāo)的角度,利用OpenMV測出與目標(biāo)的距離,將相關(guān)數(shù)據(jù)傳輸給系統(tǒng)進(jìn)行比對,快速進(jìn)行參數(shù)修正,使電磁炮射擊更加準(zhǔn)確穩(wěn)定。
電磁炮系統(tǒng)電路設(shè)計,以STM32單片機(jī)為核心,輔以用戶鍵盤、MPU6050、OpenMV和舵機(jī)云臺,外加全橋逆變升壓、炮彈充能發(fā)射和電容電壓反饋電路,系統(tǒng)總體設(shè)計如圖2所示。
圖2 系統(tǒng)總體框圖
IR2104是半橋驅(qū)動器,當(dāng)SD=1時,即允許使能IR2104,當(dāng)HO腳的輸出波形與IN腳的輸入波形相同時,LO腳的輸出波形與IN腳的輸入波形則相反。如若IN輸入高電平,則HO輸出高電平,LO輸出低電平,可以輸出一組相反信號來驅(qū)動兩個MOS管。單片機(jī)給出一組呈周期變化的相反信號分別輸入兩個IR2104,故對角的兩個MOS管會同時導(dǎo)通而另一組對角MOS管則不通,以此往復(fù)變化則會在輸出端得到連續(xù)的交流電。因此,全橋逆變升壓電路能將12伏的直流輸入電壓進(jìn)行全橋逆變后升壓到220伏。再將220伏的交流電進(jìn)行整流濾波,給電解電容充電。全橋逆變電路如圖3所示。
全橋逆變輸出的交流電經(jīng)由5:200的變壓器升壓,再經(jīng)橋式整流濾波,變方波交流電為脈沖直流電,給大電容充電。由于電壓高、功率大故選用IGBT來控制電容的充放電,因?yàn)镮GBT驅(qū)動功率小而飽和壓降低;由于IGBT的驅(qū)動電壓較大,單片機(jī)引腳無法有效驅(qū)動,故采用一繼電器來幫助單片機(jī)控制IGBT的開關(guān)。當(dāng)大電容達(dá)到預(yù)設(shè)電壓值時,由單片機(jī)輸出控制信號,啟動IGBT開關(guān),大電容迅速放電為線圈充能使之能夠發(fā)射炮彈。電容充能電路如圖4所示。
TIL11光耦能將電信號轉(zhuǎn)為光信號,再次轉(zhuǎn)為電信號。將大電容兩端電壓進(jìn)行分壓后串聯(lián)一個電阻將電壓信號轉(zhuǎn)變?yōu)殡娏餍盘?。為防止電流過大燒壞單片機(jī)引腳,于是使用TIL117將電流信號隔離并使之工作在線性區(qū)。因輸出信號電壓較小,輸出信號經(jīng)過LM358同相比例放大,再傳給單片機(jī)ADC進(jìn)行采樣,從而實(shí)現(xiàn)充電反饋。最后將反饋的電壓傳輸給控制系統(tǒng),以此控制炮彈的發(fā)射距離。電壓反饋電路如圖5所示。
圖3 全橋逆變電路
圖4 電容充能電路
圖5 電壓反饋電路
(1)采用TFT液晶屏顯示電磁炮的相關(guān)數(shù)據(jù),包括電磁炮發(fā)射模式選擇、炮彈發(fā)射距離、電容電壓反饋電壓,以及電磁炮炮管當(dāng)前的角度,OpenMV攝像頭的搜尋狀態(tài),目標(biāo)的跟蹤測量距離等。
(2)電磁炮的發(fā)射模式,炮彈發(fā)射的距離通過矩陣鍵盤輸入。
(3)電磁炮的射擊距離,與電容的充電電壓值有關(guān),具體距離大小與電容電壓反饋電路的電壓值一一對應(yīng)。按下啟動鍵,電容開始充能,達(dá)到預(yù)設(shè)的電壓值以后,電磁炮充能結(jié)束,就可以發(fā)射炮彈。
(4)自動搜尋目標(biāo)則利用OpenMV攝像頭識別彩色圖像獲取標(biāo)識在鏡頭中的相對坐標(biāo),若目標(biāo)不在鏡頭的正中,則調(diào)節(jié)炮管的角度,一直到炮管完全指向目標(biāo)為止。為了快速且準(zhǔn)確的命中目標(biāo),此過程運(yùn)用增量式PID算法,調(diào)節(jié)炮管角度,形成閉環(huán)系統(tǒng),大大增加系統(tǒng)的穩(wěn)定性。
基于以上的程序設(shè)計思路,依照圖6所示的流程圖,在MDK平臺使用C語言對STM32單片機(jī)進(jìn)行具體的程序編寫實(shí)現(xiàn)設(shè)定功能。
圖6 程序流程圖
通過使用STM32單片機(jī)系統(tǒng)控制,在保持相同電壓前提下,多次發(fā)射電磁炮,測量炮彈射擊距離。經(jīng)過多次試驗(yàn),記錄測試數(shù)據(jù),可見炮彈發(fā)射距離誤差能夠控制在1cm以內(nèi),達(dá)到預(yù)期目標(biāo)。表1所示為仰角為30°時,設(shè)定目標(biāo)距離與實(shí)際發(fā)射距離的對比數(shù)據(jù)。
表1 目標(biāo)距離與實(shí)際距離對應(yīng)表
將目標(biāo)物放在電磁炮前方-60°到+60°角度范圍內(nèi)的任意地點(diǎn),讓電磁炮自動搜尋目標(biāo),并發(fā)射炮彈射擊。經(jīng)過多次測試,炮彈的射擊角度誤差為2°、距離誤差2cm??梢娡ㄟ^相關(guān)傳感器與增量式PID的結(jié)合,大大提高了系統(tǒng)搜尋目標(biāo)的準(zhǔn)度與精度,具體測試數(shù)據(jù)如表2所示。
表2 不同角度與距離對應(yīng)表
通過對比以上表格數(shù)據(jù),結(jié)合電磁炮的整體操作、發(fā)射穩(wěn)定性進(jìn)行綜合評定,設(shè)計的電磁炮已滿足預(yù)定設(shè)計目標(biāo)。但是,為了進(jìn)一步提高電磁炮射擊精度,對誤差產(chǎn)生的可能原因進(jìn)行了分析:首先,由于是手工纏繞電磁炮線圈,線圈密度不夠均勻;其次,使用了塑料管作為炮管,摩擦阻力較大,當(dāng)搜尋射擊目標(biāo)時,會出現(xiàn)角度的偏差,控制炮管角度的增量式PID算法的值并沒有達(dá)到最優(yōu)解;最后,還發(fā)現(xiàn)當(dāng)電磁炮充能射擊以后,電磁炮線圈會有不同程度的發(fā)熱現(xiàn)象,在連續(xù)射擊多次,線圈的溫度上升到一定程度后,發(fā)射精度會有較大影響,待線圈溫度冷卻以后,射擊精度又會再次向好。就誤差產(chǎn)生的可能原因,擬進(jìn)行如下的改進(jìn)措施:改進(jìn)線圈繞制工藝,改善線圈的電磁性能;擬采用塑鋼等材料制作炮管,改進(jìn)炮管連接方式,減小跟蹤角度偏差;加設(shè)風(fēng)扇,做好電磁炮線圈的排風(fēng)降溫工作,改善線圈工作環(huán)境。當(dāng)然,改進(jìn)后效果如何,還有待于實(shí)踐的進(jìn)一步檢驗(yàn)和驗(yàn)證。
現(xiàn)階段電磁軌道炮制導(dǎo)控制技術(shù)存在許多重大科學(xué)問題,關(guān)鍵技術(shù)面臨巨大挑戰(zhàn)。相信隨著對電磁炮技術(shù)的不斷研究與突破,必將對現(xiàn)代武器發(fā)展產(chǎn)生顛覆性作用。本文設(shè)計的基于STM32的高精度電磁炮系統(tǒng),經(jīng)過電路調(diào)整和軟件優(yōu)化,多次實(shí)驗(yàn)測試表明,在一定距離內(nèi)射擊誤差能夠控制在2cm以內(nèi),達(dá)到了預(yù)期設(shè)計目標(biāo)。但是在遠(yuǎn)距離射擊情況下,誤差會有所增大。接下來的改進(jìn)目標(biāo),提高目標(biāo)跟蹤速度,力爭在遠(yuǎn)距離射擊情況下也能將誤差減小到合適范圍,本設(shè)計對電磁炮技術(shù)進(jìn)行了有益嘗試,希望能對未來產(chǎn)生應(yīng)用價值。