林娟,王永靖
(蘭州工業學院電氣工程學院,甘肅蘭州,730050)
關鍵字:STM32F103ZET6單片機;線圈電磁炮;舵機;超聲波傳感器
采用單片機為控制核心,超聲波模塊檢測引導標識的位置,并以脈沖電信號的形式反饋給單片機,經單片機計算處理后用來調整云臺的位置。系統包括單片機、舵機、繼電器模塊、儲能式電容、電源模塊組成。由舵機來控制炮筒轉動精確的角度,利用超聲波模塊測出電磁炮與靶之間的距離。
系統方案如圖1所示,單片機STM32F103資源豐富,32位的單片機使PWM信號的脈沖寬度實現微秒級的變化,從而提高電機的轉角精度單片機完成控制算法,再將計算結果轉化為PWM信號輸出到電機,由于單片機系統是一個數字系統,其控制信號的變化完全依靠硬件計數,所以受外界干擾較小,整個系統工作可以通過直流電機來帶動旋轉臂,從而帶動擺桿。

圖1 系統方案
根據電磁感應定律,模擬電磁炮利用強脈沖電磁能來發射子彈。電磁炮采用線圈式推進,儲能式電容放電,從而產生較強電流作用。電流通過線圈后產生瞬間的強磁場,作用在金屬子彈上產生渦流,子彈受到安培力作用后加速。電磁炮將電源的電能轉化為子彈的動能和內能。線圈將電能轉變為磁場能,通過電磁相互作用,最終實現能量的轉換:
其質點外彈道運動方程組如下:

式中v為彈丸存速(m/s),t為彈丸飛行時間(s),ρ為空氣密度(kg/m3),m為彈丸質量(kg),S為彈丸最大橫截面積(m2),Cx為阻力系數,g為重力加速度(m/s2),θ為彈道傾角(rad),x為彈道上任意點水平距離(m),y為彈道上任意點高度(m),其中:t=0,v=v0,θ=θ0,x=y=0。
彈道系數的計算公式為

中,C為彈道系數,i為彈形系數,d為彈徑,G為彈丸重量。
采用STM32F103單片機,它是一款增強型32位單片機,該單片機采用Cortex-M3內核內核,可運行在72MHz總線頻率上。擁有256KB FLASH;48KB RAM;18通道A/D模數轉換器;30通道PWM輸出。
電機驅動模塊電路如圖2所示。

圖2 電機驅動模塊電路
本模塊使用方法簡單,一個控制口發一個10μS以上的高電平,就可以在接收口等待高電平輸出。一有輸出就可以開定時器計時,當此口變為低電平時就可以讀定時器的值,此時就為此次測距的時間,方可算出距離。如此不斷的周期測,即可以達到移動測量的值。
電源整流電路如圖3所示。

圖3 電源整流電路
舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對應的控制關系是這樣的:0.5ms--0度;1.0ms--45度;1.5ms--90度;2.0ms--135度;2.5ms--180度。整體硬件接線圖如圖4所示。

圖4 硬件接線圖
模擬電磁炮軟件流程如圖5所示,由手動模式和自動模式組成,超聲波檢測,仰角計算等組成。

圖5 模擬電磁炮軟件流程如圖
實物測試如圖5所示,對系統的硬件進行測試,測試結果如表1所示。

表1 電磁炮能夠將彈丸射出炮口
對硬件手動進行測試,在彈道內放入子彈,經測試,系統的相應時間為2s左右,基本滿足設計要求。

圖6 實物測試圖
手動調節電磁炮的角度,并在不同的距離處采集數據,為后期算法處理提供原始數據,采集的數據如表2所示。

表2 電磁炮將彈丸發射至環形靶的位置
以電磁炮為圓心,將目標靶放置不同的距離處,讓系統自動進行掃描打靶,測試的數據如下表3所示。

表3 跟隨標識移動
本系統通過按鍵電路選擇自動或者手動模式,在手動模式下,用戶可以手動輸入靶心與系統的距離以及水平偏差角度,在自動模式下,用戶一鍵啟動之后,系統自動掃描,在外界干擾不大的情況下,利用超聲波檢測的數據,自主計算出需要旋轉的仰角角度,并且驅動繼電器將儲能電容的能量作用于線圈,在線圈產生的強磁場下,安培力作用子彈加速運動,擊中目標,經測試系統功能良好。