本章通過對設計需求的分析得到完成此次設計所需要的各個模塊以及各個模塊之間的所需要傳輸的數據。模擬電磁曲射炮的總體設計不僅要滿足基本功能要求,而且要保證在整個設計運行過程中保持良好的可控性和穩定性,保證各個模塊在運行過程中在控制功耗的追求下保持極高的可靠性。
1.1模擬電磁曲射炮功能需求分析電磁炮與環形靶的位置示意如圖1所示。電磁炮放置在定標點處,炮管初始水平方向與中軸線夾角為 0°、垂直方向仰角為 0°。 環形靶水平放置在地面,靶心位置在與定標點距離 200cm≤d≤300cm,與中心軸線夾角a≤±30°的范圍內。

圖1 電磁炮與環形靶的位置示意圖
此次設計有兩種工作模式,分別為手動模式和自動模式。手動模式工作方式為環形靶放置在靶心距離定標點 200~300cm 間,且在中心軸線上的位置, 鍵盤輸入距離值,電磁炮將彈丸發射至環形靶范圍;自動模式工作方式為在指定范圍內任意位置放置環形靶,一鍵啟動后,電磁炮自動搜尋目標并炮擊環形靶。
1.2系統整體設計本文設計的模擬電磁曲射炮總體分為四大模塊,如圖2所示,分別是控制模塊、發射模塊、識別模塊、顯示模塊。

圖2 系統結構圖
(1)控制模塊:實現對模擬電磁曲射炮系統整體控制,輸入鍵盤用于鍵入標靶物與定標點之間的距離及角度。
(2)識別模塊:掃描定標點前方一定區域,確定標靶物相對于定標點的距離及角度并回傳相應數據到主控芯片。
(3)發射模塊:控制電磁炮的充能和發射,根據定標點與標靶物的距離來調整電磁炮炮管的抬起角度。
(4)顯示模塊:顯示當前工作模式以及標靶物與定標點的角度和距離。
1.3模擬電磁曲射炮整體設計方案論證外部組件的選擇決定了模擬電磁曲射炮的實現難度和功能的完整性。因此,需要合理選擇硬件,在滿足需求的條件下最大限度地提高系統工作的可靠性和可靠性。
1.3.1主控板選型ATMega328P屬于AVR系列單片機。ATMega328P單片機配有數字端口和模擬端口兩種類型的,其中14個數字端口組可以進行脈寬調制,因此端口將連接到許多外圍模塊和設備,例如傳感器、無線傳輸模塊和執行器等外接設備。ATMega328P操作簡易、接口豐富且處理速度快,可以與大量外圍設備連接,直接使用USB口與電腦對接下載程序,所以本設計選擇ATMega328P作為此次設計的主控芯片。
1.3.2激光距離模塊論證TFmini激光測距模塊可以實現實時、非接觸式測距功能,其測量結果準確、穩定。TFmini激光測距模塊的工作原理是使用周期性紅外調制波,當調制波在空間傳播過程中撞擊物體后,物體反射調制波。反射時間一定的情況下得到定標點與標靶物之間的距離。TFmini激光測距模塊的測距范圍是0.3m-12m, 在 0.3m-2m 內由于測距檔位切換, 會產生個別點誤差在±6cm,6m-12m之間測量結果與實際距離之間的誤差小于實際距離的±1%。采用光路和算法優化來減少因外部不可抗力對測量結果的影響。由于其使用光的反射時間來確定測量的距離,所以仍會受到黃江光和物體表面材料的影響。
TFmini激光測距模塊的有效距離邊長度只有在要測量的目標長度大于或等于有效距離邊長度時,數據才穩定,安全可靠。一定探測距離內可測量物體的邊長由該激光測距的視場角決定,計算公式為
其中, Distance表示有效測距邊長,D 表示探測距離,β為TFmini激光測距模塊的接收半角1.15°,一般的有效測距邊長與探測距離的對應關系,見表1 TFmini激光測距模塊有效測距邊長與探測距離的對應關系。
表1 TFmini激光測距模塊有效測距邊長與探測距離的對應關系
綜上所述,TFmini激光測距模塊具有分辨率高、抗干擾能力強、測量精度高等特點,滿足本設計的所有的需求,本設計采用TFmini激光測距模塊作為本設計的距離傳感器模塊。
1.3.3顯示模塊論證顯示模塊對于模擬電磁曲射炮系統十分必要,可以通過顯示模塊得知鍵入值、當前工作模式以及標靶物與定標點的角度和距離。主控板與液晶顯示模塊使用IIC通信協議進行通信,極大的節約了主控板引腳資源,降低了系統整體功耗。
1.3.4云臺模塊論證發射模塊主要有舵機云臺組成。由于要滿足水平方向移動和垂直方向移動的需求,所以采用雙自由度舵機云臺。實現了水平方向移動和垂直方向移動電磁曲射炮炮管,KS-3518舵機支持0-180°旋轉,滿足此次設計的需求。
1.3.5電磁發射電路論證線圈炮電路設計原理一般是指用脈沖或交變電流產生磁行波來驅動帶有線圈的或磁性材料的發射體的發射裝置。最基本的線圈型電磁變送器是兩個線圈,一個是稱為驅動線圈的定子,另一個是由稱為傳輸線圈的驅動線圈的電磁炮的驅動電樞。而此次設計所采用的電磁炮僅使用一個線圈,在線圈中輸入脈沖電流,使線圈產生洛倫茲力,線圈中防止磁性材料彈丸。采用磁阻型線圈式發射方式,感應線圈炮原理使用脈沖或者交變電流產生磁行波來驅動彈丸,此次設計中使用大容量電解電容提供脈沖電流來達到發射彈丸的目的。
1.4模擬電磁曲射炮的整體原理主控芯片負責對整個系統進行信息的控制。TFmini 是一款小型激光雷達模組。主要實現實時、無接觸式的距離測量功能,具有測量準確、穩定、高速的特點。TFmini周期性的向外發出近紅外光調制波,調制波遇物體后反射,通過反射時間計算定標點與被測目標之間的相對距離。鍵盤可以進行模式的選擇與發射角度的控制。IIC LCD1602實時顯示當前工作模式及當前定標點與標靶物之間的距離。
2模擬電磁曲射炮硬件電路設計各個模塊的硬件電路連接的穩定性決定了整個設計的穩定性,各個模塊之間的通信方式的選擇決定著整個設計的資源分配和各模塊之間的通信效率。模擬電磁曲射炮的硬件設計包括核心主控板電路設計、按鍵控制模塊設計、顯示模塊設計、發射模塊電路設計、激光測距模塊設計。本章通過結合基本理論和現有經驗選擇合適的電路連接方式,完成電磁曲射炮硬件電路設計。模擬電磁曲射炮硬件電路整體設計如圖3所示。
2.1 ATmega328P主控芯片電路設計ATmega328P屬于高性能、低功耗微控制器。選擇此款控制芯片是因為本系統設計并非追求更低的成本或更小的功耗,而是在實現本設計功能的前提下能夠提供更豐富的接口和功能以便于設計實驗系統各項實驗項目所需的外圍擴展電路。ATMega328P主控芯片的電路圖如圖4所示。
2.2激光測距電路設計激光測距模塊使用標準輸出模式。標準數據輸出數據幀長度為9個字節。其輸出的數據類型是十六進制,包括距離信息、信號強度信息、溫度、數據校驗字節等。
TFmini和ATMega328P之間的連接方式是串行端口連接。TFmini激光測距模塊與ATMega328P電路之間的連接如圖5所示。
2.3按鍵電路設計此次設計的按鍵模塊使用輕觸按鍵,與ATMega328P的D6、D7、D8和D9引腳線連接,下拉電阻可以將一個不確定的信號,通過一個電阻與GND相連保證當輕觸按鍵按下時其輸入固定在低電平,保證按鍵信號的穩定輸入。按鍵電路設計如圖6所示。
圖3 模擬電磁曲射炮硬件電路整體設計

圖4 ATmega328P芯片電路示意圖
2.4顯示單元電路設計顯示模塊采用帶有PCF8574芯片的LCD1602液晶顯示屏,LCD1602進行角度和距離數據的顯示,IIC LCD1602與ATMega328P的電路連接如圖7所示。
2.5電磁炮發射電路設計電磁發射電路采用磁阻型線圈式發射方式,感應線圈炮原理使用脈沖或者交變電流產生磁行波來驅動彈丸,此次設計中使用大容量電解電容C1(35V 10000uf)提供脈沖電流來達到發射彈丸的目的?傮w電路如圖8所示。
升壓模塊通過將低壓轉換為高壓給電解電容C1充電。本設計采用的升壓模塊可以將輸入到VIN+的3~5V電壓生壓為OUT+輸出的25~28V,達到給電解電容C1充電的效果。

圖5 TFmini激光測距模塊與ATMega328P電路連接
電磁繼電器采用高電平觸發模式。VIN為低電平時,COM口與NC1接通,此時電磁發射電路處于充電狀態;當VIN輸入為高電平時,COM口與NO1接通,此時電磁發射電路處于放電狀態,電容C1儲存的電量轉換為脈沖電流,脈沖電流用過線圈L1產生磁場達到發射電磁炮的效果。

圖6 按鍵電路設計

圖7 IIC LCD1602與ATMega328P的電路連接

圖8 電磁發射電路
2.6云臺模塊電路設計瞄準模塊主要由舵機和云臺組成,實現水平方向移動和垂直方向移動電磁曲射炮炮管。舵機與單片機連接電路如圖9所示。

圖9 舵機與ATMega328P主控芯片連接電路
舵機采用KS-3518數字舵機,該舵機可轉動范圍0~180°,符合本此設計的設計需求。此次設計的垂直方向控制舵機與ATMega328P的D9引腳線連接,水平方向控制舵機與ATMega328P的D10引腳線連接。
3模擬電磁曲射炮軟件設計此設計總共分為手動模式和自動模式兩種模式。系統整體流程圖如圖10所示。在程序啟動時選擇手動模式,測量標靶物相對于定標點的角度和距離,使用按鍵輸入標靶物相對于定標點的角度,將測量得到的標靶物與定標點的距離通過查詢彈道表的方式轉換為模擬電磁曲射炮炮管的抬起角度,將角度值輸入后云臺轉動到指定角度,點擊確認發射即可。自動模式通過云臺水平舵機的轉動以及激光測距模塊實時采集距離值,當采集到的距離值大于200cm且小于300cm厘米時,停止轉動水平舵機,根據距離值調整云臺垂直舵機角度隨后發射電磁炮。模擬電磁曲射炮的軟件設計包括核心控制器程序設計、顯示模塊程序設計、距離識別模塊程序設計、發射控制模塊程序設計。
3.1激光測距模塊程序設計激光測距模塊采用串口通信方式與控制器連接。首先定義串口RXD和TXD,接著定義串口通信波特率及數據包幀頭,數據包幀頭設置為0x59, 數據包幀頭主要用于判斷是否將接下來激光測距模塊傳來的數據存入數組。將激光測距模塊傳來的數據進行奇偶校驗,若校驗結果不正確,則需要重新開始判斷接口是否有數據輸入,若校驗結果正確,通過計算激光測距模塊傳回的數據得到距離值以及信號強度。激光測距模塊程序設計框圖如圖11所示。
3.2顯示模塊程序設計根據IIC LCD1602的時序圖,對IIC LCD1602進行操縱,IIC LCD1602的程序原理圖如下圖12所示,其軟件實現分為以下4個部分:
(1) 使用函數LiquidCrystal_I2C lcd(0x27,16,2)確定LCD1602通信地址;
(2) 初始化LCD1602.lcd.init()顯示屏幕初始化,lcd.backlight()打開屏幕背光;
(3) 通過lcd.setCursor(0,0)設置顯示位置;
(4) 利用lcd.print("XXX")函數設置要顯示的數據內容。
3.3電磁炮發射程序設計電磁炮發射控制開關為電磁繼電器,通過改變輸入電磁繼電器的信號來控制電磁炮的充電和發射過程。電磁繼電器通過與控制器引腳連接,充電時控制器引腳輸出為低電平,發射時控制器引腳輸出為高電平。電磁炮發射程序原理圖如圖13所示。
4模擬電磁曲射炮系統調試與測試利用驅動程序對各種外設進行控制,同時協調各個硬件模塊實現自動識別以及電磁炮自動發射的功能,提高電磁炮在0-3m范圍內的命中概率。
4.1按鍵、手動模式和自動模式的切換測試首先調試了按鍵輸入模塊,在測試過程中,當整體系統重新啟動后會出現引腳懸空的狀態,這種狀態下,如果使用控制器去讀該引腳的值,會出現高電平狀態或者低電平狀態,導致整體系統混亂。在后續的調試過程中,使用下拉電阻,將不確定的信號通過一個電阻嵌位在低電平,這樣就解決了程序運行過程中因按鍵引起的程序混亂。
系統啟動后,IIC LCD1602顯示通過選擇按鍵選擇一種模式,如圖14所示。此時按下KEY_3進入手動模式,按下KEY_4進入自動模式。
4.2電磁炮充電發射測試與彈道表繪制4.2.1電磁炮充電發射測試電磁炮主要使用升壓模塊將低壓轉換為高壓給電解電容C1充電。由于電磁炮要擊中200cm以外的目標,此時對電磁炮發射系統穩定性較高,所以每次控制電磁炮的充電電壓為28V,通過控制穩定的充電電壓,達到穩定電磁炮發射系統的目的。
在控制每次發射電壓都為28V的前提下,經過多次測試,得到了云臺垂直舵機角度與射程的測量數據,測量數據如表2所示。
表2 云臺垂直舵機角度與射程的測量數據
4.2.2彈道表繪制在電磁炮發射測試過程中得到了多組關于云臺垂直舵機角度與射程的數據,這些數據為散點,可以通過擬合的方法將散點擬合成一條直線或者曲線,Matlab有一個功能強大的曲線擬合工具箱cftool,使用方便,能實現多種類型的線性、非線性曲線擬合。下面將使用兩種擬合方式對散點圖進行擬合,并求出擬合后的曲線或者直線的表達式。
(1)Polynomial(多項式形式)方式擬合散點
使用Polynomial方式擬合得到的曲線如圖15所示,所得到的距離
關于云臺垂直舵機轉動角度
的函數關系式為:
,其中p1=0.5261,p2=8.0555,則關系式為:
。
(2)Exponential(指數形式)方式擬合散點
使用Exponential方式擬合得到的曲線如圖16所示,所得到的距離
關于云臺垂直舵機轉動角度
的函數關系式為:
,其中a=49,b=0.0042,則關系式為:
通過觀察上述方法擬合出來的兩條曲線,Polynomial和Exponential方式擬合得到的曲線相差很小,綜合考慮ATMega328P計算能力有限,所以選擇Polynomial方式得到的曲線方程作為此次設計電磁炮的射程距離
關于云臺垂直舵機轉動角度
的函數關系式。

圖10 系統整體流程圖

圖11 激光測距模塊程序框圖

圖12 LCD1602的程序原理圖

圖13 電磁炮發射程序原理圖

圖14 兩種模式的選擇界面

圖15 使用Polynomial方式擬合得到的曲線

圖16 使用Exponential方式擬合得到的曲線
5結束語此次設計是基于ATMega328P的電磁曲射炮系統,該系統主要分為硬件子系統和軟件子系統。本設計通過測量標靶物相對于定標點的角度和距離實現手動控制電磁炮發射和自動尋找目標并自動發射的兩個功能,實現電磁炮的小型化和智能化。利用驅動程序對各種外設進行控制,同時協調各個硬件模塊實現自動識別以及電磁炮自動發射的功能。經多次調試測試,所設計的電磁曲射炮實現了0-3m范圍內對目標的高命中率。此次設計的手動控制電磁炮發射和自動尋找目標并自動控制電磁炮發射的功能,都是本次設計中的亮點,各功能模塊工作穩定,射中目標概率較高,基本實現了電磁炮的小型化和智能化。
不喜勿噴,有想法可以發送郵件到