周靜
(西北民族大學,甘肅蘭州,730030)
電磁炮是當代一種極具殺傷力的武器系統,是利用電磁感應原理及拋物原理所構成的實體,隨著電子技術在各個領域的快速發展,人們希望電磁炮擁有更強的打擊力度、更精確的射擊目標定位和更短的攻擊時間。本系統將傳統電磁炮與現代控制系統相結合構成模擬電磁曲射炮,來進一步提高電磁炮的響應速度和攻擊能力。
本系統供電采用12V的格式電池,經多路穩壓將合適的電源輸送至各個模塊,外部控制由4×4的矩陣鍵盤完成,各個模塊的執行情況均會在OLED顯示模塊中體現出。系統總體結構如圖1所示。

圖1 系統總體結構
本系統技術方面分為兩部分,一部分由單片機、舵機、鍵盤實現外部控制,人為計算出所要打擊的位置,另一部分由單片機、舵機、攝像頭實現自動控制,由單片機采集攝像頭圖像自動分析出所要打擊的位置,并且自動炮擊。系統技術路線圖如圖2所示。

圖2 技術路線圖
1.3.1 控制器模塊方案選擇
方案一:采用STM32F407ZGT6為系統的控制器。該控制器擁有ARM Cortex-M內核,具有一流的外設,以及在芯片上集成32-512kb的閃存, 6-64KB的SRAM存儲器,2.0-3.6V的電源供電和I/O接口的驅動電壓。最多高達112個的快速I/O端口、最多多達13個通信接口、最多多達11個定時器;STM32由于有各種外設操作起來簡單,可以處理模擬以及數字信號。
方案二:采用STM32H743VIT6為系統的控制器。OpenMV基于STM32F407ZGT627CPU,集成了OV7725攝像頭芯片。用于OpenMV的 STM32H743VIT6具有豐富的硬件資源。但是由于我們完成的部分,需要用芯片控制舵機的轉動方向,從而控制炮口的發射方向,如果直接使用OpenMV的芯片來實現此功能,則難度過大,且實現度較低。
方案三:采用STC89C51單片機為系統的控制器。51單片機是當前社會相關行業所最廣泛使用的。不但能夠對晶片內某個特定功能寄存器加以管理,還能實現位的邏輯計算。但是對于我們制作的這套系統來說,用51有很大的缺陷,AD、EEPROM等功能需要靠擴充,增加了硬件和軟件負擔;雖然I/O腳使用簡單,但高電平時無輸出能力;運行速度太慢,尤其是雙數據指針;51單片機保護能力很差,容易導致芯片燒毀。
以三者來看,方案一更適合用于我們設計的模擬電磁曲射炮控制電路,該芯片可以很穩定的將控制板和舵機相結合,和攝像頭結合,并且實現我們需要的功能。
1.3.2 電磁炮方案選擇
方案一:線圈炮
線圈炮又稱交流同軸線圈炮,早起的電磁炮即是由加速線圈及彈丸線圈所構成的。它所基于的原理是帶點線圈間磁場相互作用。將加速線圈固定在線圈炮的炮管內部,之后給線圈通入直流電,其會形成變化的電磁,可以在線圈包裹的炮管內部形成反電壓。因而退動線圈電壓的磁性與反應電壓的磁性相互影響,形成洛侖茲力,可以使導磁的彈丸被洛倫茲力帶動而發射出去。
方案二:軌道炮
鋼軌炮的原理是運用兩個鋼軌電流間相互作用的安培力把炮彈發送過去。其由兩個相互平行的長直導軌構成,導軌間安放一個質量較小的滑塊當作炮彈。之后給兩軌接通電源,電壓將從一個軌道流入,經過滑塊之后通過另一個導軌流回,進而在該回路形成強磁場,由于滑塊不是固定在鋼軌上的,收到該回路安培力的作用下,會以很大的速度射出。
以上兩個方案,方案一更加能夠實現的我們的系統,制作方便,操作安全簡便。
SPTS410LV舵機、OLED顯示屏、STM32F407ZGT627開發板、電池、漆包線、按鍵模塊、繼電器、穩壓模塊、升壓模塊、超級電容、可控硅、二極管。
電磁炮加速跑彈的原理是,在磁場中,載流導體或者運動電荷會引起電磁力(即洛倫茲力)效應。
電磁場中,磁感應強度為:

其中:μ0為真空磁導率常數,值為μ0=4π× 10-7N·A-2,n為線圈的匝數,I為流過線圈的電流。因此彈丸在線圈中受到的電磁力:

因為空氣阻力Fr=-kv,由牛頓第二定律的分量式,可知:

則:

對上兩式分別計算,并考慮起始條件,t=0時:

得:

由于dx=vxdt,dy=vydt,將上兩式代入后取積分,得:

最終可得拋物體的軌跡方程為:

已知電容儲存能量 E_1=1/2 CU2,電磁炮炮彈所具有的能量(動能)為E_2=1/2 mv2,則電磁炮的能量轉換效率為η=E_2/E_1。
3.1.1 電磁炮電路設計
本系統電路采用20V升壓模塊對12V電源進行升壓,以滿足電磁線圈的磁力要求,而升壓電路的開斷由可控硅及繼電器進行控制。電磁炮電路如圖3所示。

圖3 電磁炮電路
3.1.2 升壓模塊電路設計
本系統升壓模塊采用模擬電子技術原理,采用電阻、電容、電感、三極管等原件,構成多組運算放大電路,對電源進行升壓。升壓模塊電路如圖4所示。

圖4 升壓模塊電路
本系統軟件設計方面,在單片機初始化之后,會等待外部鍵盤輸入參數,并且將單片機接收參數之后進入的工作模式通過OLED進行顯示,之后單片機向IO發送PWM信號,使舵機位置根據輸入參數進行調整,繼而發送炮彈,在完成發射之后,單片機控制舵機復位,等待下一次參數的輸入。本模擬電磁曲射炮的程序流程圖如圖5所示。

圖5 軟件設計流程圖
4.1.1 電磁炮發射功能測試
主控制器可以根據參數自動給超級電容充電,當超級電容器的電壓達到預設時間之后自動停止充電;再按下發射按鍵,測試電磁炮能否發射彈丸并測量彈丸落地位置距離定標點的距離。
4.1.2 由鍵盤輸入數據控制電磁炮發射測試
首先,給電磁炮的儲能電容器充電,當儲能電容器的電壓達到一定數值后(40V)停止充電;然后,通過外部鍵盤鍵入環形靶中心和定標點之間的間距d與和中心軸的偏離角度到主控制器中;之后,按下電磁炮啟動按鍵,單片機控制的操舵裝置自行調節炮管水平方向與垂直仰角方位;最后,主控制器根據鍵入參數調整舵機位置到預定姿態,并且控制電容充放電電路,發射炮彈到預定位置,根據炮彈第一次落地時所在靶環數計分。
4.1.3 炮擊測試和環形靶的自動搜索
首先,環形靶將根據規則要求被放置在隨機位置;然后,按下電磁炮的啟動按鍵,單片機給電磁炮的儲能電容器充電,當儲能電容器的電壓達到一定數值后(40V)停止充電;再次,單片機根據舵機上的攝像頭模塊對引導標識的自動搜索來驅動舵機以調整炮管水平方位及垂直仰角方向,從而實現自動瞄準;最后,主控制器對電容進行充放電操作,射出炮彈,所得分數按炮彈第一次落地擊中位置計分。

充電800ms:(按鍵次數) 0123456 PWM占空比 2620260025802560254025202500150148160170190248265射程148150165180220260290140140170195228260300平均射程 146146165181.7212.7256285
本系統在測試階段共進行多組數據采樣,其中選取了七組最具代表性的數據,以此為素材進行函數擬合,得到一組線性函數,將其寫入單片機,實現目標距離、目標角度到舵機轉動角度值之間的轉換。
經過軟件對所得數據進行線性擬合,得到一條平滑曲線,對其進行直線投射得到一組函數方程。如圖6所示,x軸為PWM波占空比,y軸為平均射程。

圖6
(1)電磁炮能夠成功將彈丸射出。
(2)環形靶被放置在定標點前方的0.2m~0.3m之間,并且處在中心位置。
(3)當靶在炮管的同一條軸線上時。由鍵盤鍵入靶心到炮管的距離值,電磁炮即可自動充電,將炮彈射擊到靶心的位置,且誤差值的絕對值小于等于50厘米。
(4)由鍵盤向主控制器外部鍵入所需打擊的距離以及角度,按下啟動按鍵后,電磁炮可以根據鍵入參數自動調整到舵機相應的位置,得分由實際擊中的環形靶計分,脫靶則無分數。
(5)在規定區域內任何地方安放環形靶(有導向標志),按下啟動按鍵后,主控制器控制舵機按照一定規則自動尋找紅色目標靶心并進行炮擊,可以打中環形靶,而且結束時限≤30s。
本文詳細介紹了曲射電磁炮系統控制方案。該系統STM32F407ZGT6作為系統控制處理器,采用基于攝像頭圖像采集目標信息,并得到系統與目標之間的偏移量,單片機得到信息后控制云臺瞄準、發射。本系統對于電能消耗較大,且電路元件負載較大。若改用多級線圈加速,可使加在線圈上的電壓減小,使電路更穩定,能耗小。