高貝貝,郭寶軍,崔金龍
滄州交通學(xué)院,河北 滄州 061100
電磁炮是利用電磁力把物體加速到擊中目標(biāo)所需超高速的裝置,與傳統(tǒng)的火炮和火箭武器相比,電磁炮具有發(fā)射速度快、射程遠(yuǎn)、精準(zhǔn)度高、殺傷破壞力大等優(yōu)點(diǎn)[1]。根據(jù)電磁發(fā)射器原理的不同,電磁發(fā)射器可分為軌道型、線圈型、電熱型[2]。文章設(shè)計(jì)的電磁炮為單線圈炮,主要研究標(biāo)靶自動(dòng)識(shí)別與電磁發(fā)射系統(tǒng)。
模擬電磁曲線炮系統(tǒng)由微控制器最小系統(tǒng)、標(biāo)靶自動(dòng)識(shí)別系統(tǒng)、二自由度炮擊平臺(tái)系統(tǒng)、儲(chǔ)能系統(tǒng)和人機(jī)交互系統(tǒng)構(gòu)成,總體設(shè)計(jì)結(jié)構(gòu)框圖如圖1所示。選用意法半導(dǎo)體公司的STM32F103芯片作電磁炮系統(tǒng)的微控制器,通過二自由度平臺(tái)上的OpenMV機(jī)器視覺模塊自動(dòng)識(shí)別環(huán)形標(biāo)靶,OpenMV模塊與STM32微控制器之間通過串口通信實(shí)現(xiàn)數(shù)據(jù)的傳輸。電磁炮非發(fā)射狀態(tài)時(shí),由直流穩(wěn)壓電路通過BOOST升壓電路給超級(jí)電容充電[3],電磁炮發(fā)射指令下達(dá)時(shí),由繼電器控制電容的瞬間放電。利用4枚機(jī)械按鍵錄入發(fā)射前的參數(shù)數(shù)據(jù),使用OLED屏顯示彈丸設(shè)定彈射距離、電容充電電壓狀態(tài)、二自由度平臺(tái)偏轉(zhuǎn)角度等信息。
圖1 總體設(shè)計(jì)結(jié)構(gòu)框圖
使用7.2 V 2 000 mA的鎳鎘電池為系統(tǒng)設(shè)備提供電源,經(jīng)過DC-DC降壓模塊輸出兩路5 V和3.3 V的直流源為電磁炮的微控制系統(tǒng)及系統(tǒng)外圍電路供電。二自由度平臺(tái)由2個(gè)MG995 7.2 V舵機(jī)驅(qū)動(dòng),OpenMV模塊架設(shè)在平臺(tái)上并通過2根串行通信線將數(shù)據(jù)傳回給STM32微處理器。利用BOOST升壓電路給超級(jí)電容充電,當(dāng)電磁炮發(fā)射指令下達(dá)時(shí),由繼電器控制電容的瞬間放電,使電磁線圈生磁。電磁炮發(fā)射系統(tǒng)的關(guān)鍵電路為儲(chǔ)能系統(tǒng)電路,下面僅對(duì)電容充電電路和電容放電電路進(jìn)行介紹。
升壓電路原理圖設(shè)計(jì)如圖2所示。U2-A處的LM358為過壓檢測(cè)保護(hù)電路,根據(jù)R10與R13串聯(lián)分壓監(jiān)測(cè)JP4輸出高于400 V時(shí),LM358的同相輸入端5引腳電壓高于反向輸入端6引腳電壓,U2-A輸出高電平,同時(shí)UC3843的2引腳電壓升高,從而降低輸出電壓。U2-B處的LM358為過流檢測(cè)電路,在MOS管限流電阻R15電流大于4.63 A時(shí),U2-B的3引腳電壓大于2腳2.5 V分壓后獲得的0.1852 V,U2-B輸出高電平,通過Q2三極管拉低UC3843的1引腳電壓到0,導(dǎo)致UC3843的6引腳停止PWM輸出,實(shí)現(xiàn)過流保護(hù)。
圖2 升壓電路原理圖
電容放電時(shí)需要用到大功率電子開關(guān),采用單向可控硅70TPS12作為放電開關(guān)。通過由三極管構(gòu)成的圖騰柱驅(qū)動(dòng)電路驅(qū)動(dòng)70TPS12單向可控硅導(dǎo)通,當(dāng)三極管的基極接收到高電平脈沖后,圖騰柱的上管Q1導(dǎo)通觸發(fā)可控硅,隨后輸出低電平使Q3導(dǎo)通,繼電器接成常閉端;通過控制三極管Q4導(dǎo)通的信號(hào),使繼電器的常閉端斷開。為了防止線圈電流反向擊穿可控硅,在其兩端并聯(lián)二極管D1,為線圈提供釋放能量的通路,同理,繼電器兩端也需并聯(lián)二極管D2。放電電路原理圖設(shè)計(jì)如圖3所示。
圖3 電容放電電路原理圖
(1)模擬電磁炮系統(tǒng)的軟件設(shè)計(jì)采用模塊化編程方法,軟件源程序主要包括OpenMV模塊與STM32微控制器之間的串行通信子程序設(shè)計(jì)、二自由度平臺(tái)的X-Y軸舵機(jī)角度旋轉(zhuǎn)控制子程序設(shè)計(jì)、人家交互信息采集輸出子程序設(shè)計(jì)、儲(chǔ)能系統(tǒng)充放電控制子程序設(shè)計(jì)等。
(2)采用OLED屏顯示電磁炮的相關(guān)參數(shù),如發(fā)射模式、電容監(jiān)測(cè)電壓值、X-Y軸舵機(jī)旋轉(zhuǎn)角度值等。
(3)電磁炮的射程與電容的充電電壓值、炮管垂直傾角有關(guān),因此可以通過設(shè)置Y軸舵機(jī)的傾角調(diào)整射擊距離,也可以控制超級(jí)電容的充電電壓值來調(diào)整射擊距離[4]。
(4)自動(dòng)搜尋目標(biāo)則利用OpenMV模塊識(shí)別彩色圖像,獲取標(biāo)識(shí)在鏡頭中的相對(duì)坐標(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)定性[5]。
主控程序主要負(fù)責(zé)對(duì)外圍設(shè)備進(jìn)行初始化,處理按鍵錄入的鍵值和OLED屏顯示的數(shù)據(jù)信息,接收OpenMV模塊傳送的標(biāo)靶坐標(biāo)信號(hào),控制二自由度平臺(tái)的X-Y軸使炮管瞄準(zhǔn)標(biāo)靶,監(jiān)測(cè)超級(jí)電容充電狀態(tài),驅(qū)動(dòng)儲(chǔ)能系統(tǒng)充放電繼電器。具體主程序設(shè)計(jì)流程圖如圖4所示。
圖4 主程序流程圖
文章設(shè)計(jì)了一款基于機(jī)器視覺技術(shù)自動(dòng)識(shí)別標(biāo)靶的模擬電磁炮,選用意法半導(dǎo)體公司的STM32F103系列芯片作為電磁炮系統(tǒng)的微控制器,運(yùn)用OpenMV模塊視覺算法識(shí)別環(huán)形標(biāo)靶并引導(dǎo)炮臺(tái)射擊的目標(biāo),順應(yīng)了人工智能時(shí)代的發(fā)展趨勢(shì)。對(duì)于提高目標(biāo)跟蹤速度、縮小遠(yuǎn)距離射擊誤差范圍,有待進(jìn)一步研究改進(jìn)。文章對(duì)電磁炮系統(tǒng)引入機(jī)器視覺技術(shù)進(jìn)行了有益嘗試,希望能對(duì)未來產(chǎn)生應(yīng)用價(jià)值。