《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)在無線自動報(bào)靶系統(tǒng)中的應(yīng)用
AVR單片機(jī)在無線自動報(bào)靶系統(tǒng)中的應(yīng)用
來源:微型機(jī)與應(yīng)用2011年第5期
陳再旺,王 宏
(桂林空軍學(xué)院,廣西 桂林 541003)
摘要: 介紹了Atmel公司生產(chǎn)的AVR單片機(jī)Atmega32在野外無線自動報(bào)靶系統(tǒng)中的應(yīng)用。該系統(tǒng)集輕武器射擊訓(xùn)練所需的各種功能于一身,包括精確和非精確報(bào)靶、射擊成績的自動實(shí)時(shí)顯示、統(tǒng)計(jì)和打印,可滿足多種武器和多種射擊模式的訓(xùn)練需求,解決了實(shí)彈射擊的報(bào)靶問題。
Abstract:
Key words :

摘  要: 介紹了Atmel公司生產(chǎn)的AVR單片機(jī)Atmega32在野外無線自動報(bào)靶系統(tǒng)中的應(yīng)用。該系統(tǒng)集輕武器射擊訓(xùn)練所需的各種功能于一身,包括精確和非精確報(bào)靶、射擊成績的自動實(shí)時(shí)顯示、統(tǒng)計(jì)和打印,可滿足多種武器和多種射擊模式的訓(xùn)練需求,解決了實(shí)彈射擊的報(bào)靶問題。
關(guān)鍵詞: 傳感器;數(shù)據(jù)采集;控制電路;射擊模式

 目前,在野外射擊訓(xùn)練考核中,大部分還是通過人工報(bào)靶的方法,帶有很多人為因素(如報(bào)靶人員的主觀性、情緒等),影響報(bào)靶的結(jié)果,使得射手不能正確了解自己的成績,不利于打靶水平的提高。雖然現(xiàn)在市面上出現(xiàn)了一些自動報(bào)靶產(chǎn)品,但這些產(chǎn)品的成本高、系統(tǒng)比較復(fù)雜,并且占用場地。因此,本文根據(jù)實(shí)際訓(xùn)練需要,研制出了集輕武器射擊訓(xùn)練所需的所有功能于一體的、基于AVR單片機(jī)的一種無線自動報(bào)靶系統(tǒng)。該系統(tǒng)包括精確和非精確報(bào)靶,射擊成績的自動實(shí)時(shí)顯示、統(tǒng)計(jì)和打印,可以滿足多種武器和多種射擊模式的訓(xùn)練需求,對目標(biāo)的隱顯時(shí)機(jī)、次數(shù)、間隔等均按訓(xùn)練大綱要求由電腦自動控制,既可同時(shí)監(jiān)控多個(gè)(25個(gè))靶位的射擊情況,也可單獨(dú)監(jiān)控一個(gè)靶位的射擊情況。
1 系統(tǒng)組成
 無線自動報(bào)靶系統(tǒng)由傳感器(特制頭靶、胸靶、身靶等)、數(shù)據(jù)采集、無線傳輸、數(shù)據(jù)處理、顯示和打印機(jī)等構(gòu)成。報(bào)靶傳感器為特制的靶子,其兩面各有一層導(dǎo)電橡膠(或其他導(dǎo)電軟材料),反面導(dǎo)電橡膠接地線,正面按胸環(huán)靶樣式用絕緣材料分隔成不同環(huán)位和方位區(qū)域,不同區(qū)域分別引出信號線。當(dāng)子彈穿越靶子,射擊目標(biāo)的報(bào)靶可以精確到5~10環(huán)(以胸環(huán)靶為例),彈著點(diǎn)的顯示可以精確到圓周的1/8,即將每一環(huán)分為8個(gè)區(qū)域,報(bào)靶信息即為射擊的環(huán)數(shù)和所處的區(qū)域。圖1為紙上對環(huán)和區(qū)域的劃分情況。
當(dāng)子彈穿過目標(biāo)時(shí),在瞬間會連通其中的一個(gè)環(huán)和一個(gè)區(qū)域,完成數(shù)據(jù)采集,單片機(jī)由此確定報(bào)靶信息,編碼后由收發(fā)模塊調(diào)制發(fā)出,完成射擊成績的報(bào)靶。子彈擊中目標(biāo)的情況如圖2所示。

2 單片機(jī)控制電路設(shè)計(jì)
 在本系統(tǒng)中,單片機(jī)采用Atmel公司的AVR單片機(jī)Atmega32。在如圖3所示的單片機(jī)控制電路圖中,PB端口和PC端口用于檢測靶的環(huán)和區(qū)的信號,當(dāng)有子彈穿過靶時(shí),會將連接在PB和PC端口對應(yīng)的環(huán)和區(qū)引腳導(dǎo)通,通過讀取PB和PC端口的引腳電平狀態(tài),即可分析出子彈擊中了靶中哪個(gè)環(huán)和區(qū)。

 圖3中,PA0引腳的ADC用于將采樣電機(jī)過載電流信號傳送給MCU,PD4~PD7用于驅(qū)動全橋電路的4個(gè)臂端,以保證電機(jī)正常運(yùn)轉(zhuǎn)。K1、K2按鍵的功能是手動啟動電機(jī)將靶拉起或放倒。PD0、PD1引腳是串行通信接口的RXD和TXD,這兩個(gè)引腳與無線發(fā)射/接收模塊的TXD和RXD相連接,當(dāng)ATmega32單片機(jī)檢測到子彈擊中靶子時(shí),將計(jì)算出來的環(huán)和區(qū)的信號通過RXD和TXD引腳發(fā)射出去,傳送到計(jì)算機(jī)軟件系統(tǒng)。
 由于子彈的速度很快(達(dá)到1 000 m/s),靶的內(nèi)部鋁層厚度為5 mm,使穿透鋁層最小時(shí)間只需5 μs。而在這5 μs時(shí)間之內(nèi),Atmega32單片機(jī)必須通過PB和PC端口完成實(shí)時(shí)的采樣,并同時(shí)計(jì)算出子彈是穿透哪個(gè)環(huán)和區(qū)。因此,必須為Atmega32配置高速的時(shí)鐘源。由于Atmega32單片機(jī)頻率最高可以達(dá)到25 MHz,但同時(shí)還要滿足串行通信的波特率要求,因此,Atmega32采用18.432 MHz的時(shí)鐘源,為整個(gè)系統(tǒng)高速運(yùn)算提供保證。
在實(shí)際測試中,Atmega32單片機(jī)從檢測到子彈開始發(fā)射到子彈穿透鋁層,并確定子彈穿透的是哪個(gè)環(huán)和區(qū),不到2 μs就可以完成采樣。
3 單片機(jī)軟件設(shè)計(jì)
 單片機(jī)軟件主要功能:(1)實(shí)時(shí)檢測是否有子彈穿透訓(xùn)練靶,若檢測到有子彈穿過,程序獲取靶被擊中的環(huán)和區(qū),并將該靶的環(huán)和區(qū)信息通過串口發(fā)送出去。由于這部分程序?qū)r(shí)間要求極為苛刻,因此將這部分內(nèi)容由INT0外部中斷服務(wù)程序來完成。(2)單片機(jī)串口實(shí)時(shí)監(jiān)測是否有控制中心發(fā)來的數(shù)據(jù)幀,若有,則讀取數(shù)據(jù)幀內(nèi)容,并分析是否為合法數(shù)據(jù)幀,若是非法幀,則丟棄該幀;若是合法數(shù)據(jù)幀,則分析該幀的內(nèi)容,并置接收幀成功標(biāo)志。由于控制中心可能隨時(shí)會發(fā)送數(shù)據(jù)幀過來,這部分內(nèi)容交給串口的中斷服務(wù)程序來完成。(3)主程序中,除了完成相關(guān)初始化內(nèi)容之外,主要判斷按鍵K1和K2是否按下,若有則執(zhí)行電機(jī)驅(qū)動的拉起和放倒動作;同時(shí),還檢測接收到的數(shù)據(jù)幀標(biāo)志是否成功,若成功,則根據(jù)數(shù)據(jù)幀的命令字來分析夜間指示燈的開或關(guān)閉、啟動電機(jī)作拉起或放倒動作等。
 主程序流程圖如圖4所示。

 信號采集檢測直接利用AVR單片機(jī)芯片內(nèi)置的10 bitA/D轉(zhuǎn)換器,采樣PA0端口的輸入模擬電壓。將該模擬電壓轉(zhuǎn)換成數(shù)字電壓,首先要對A/D轉(zhuǎn)換器進(jìn)行初始化,具體程序如下:
 void AVR_ADC_Init(void)
 {
   ADMUX = 0x00; //選擇參考電壓源為+5 V,
 //左對齊方式,并選擇模擬通道ADC0
   ADCSRA = 0xCF;//使能ADC模塊,
 //并啟動ADC轉(zhuǎn)換開始,配置預(yù)分頻比1:128
 }
 為了提高實(shí)時(shí)采樣保護(hù)電機(jī),過流檢測分析程序段放在A/D轉(zhuǎn)換的中斷服務(wù)程序中完成。A/D轉(zhuǎn)換中斷服務(wù)程序如下:
 #pragma vector=ADC_INT
 __interrupt void ADC_vect_isr(void)
 {
   if(ADCH>200)MotorBreak();   //若檢測到電流
 //超過20 A,則讓電機(jī)停止
 }
 在進(jìn)行電機(jī)驅(qū)動程序設(shè)計(jì)時(shí),利用AVR單片機(jī)內(nèi)置的PWM模塊來實(shí)現(xiàn)。該模塊具有如下特征:(1)支持快速PWM產(chǎn)生模式;(2)支持相位修正的PWM產(chǎn)生模式;(3)支持相位與頻率修正的PWM產(chǎn)生模式。這些模式都能夠很好地產(chǎn)生所需的PWM信號,利用PWM信號可很容易實(shí)現(xiàn)對電機(jī)速度的調(diào)節(jié)。利用PWM模塊的特點(diǎn),設(shè)計(jì)的電機(jī)驅(qū)動函數(shù)為MotorStartRun(unsigned char direction,unsigned int speed)。在該函數(shù)中,參數(shù)direction用于控制電機(jī)轉(zhuǎn)換方向,參數(shù)speed用于調(diào)節(jié)電機(jī)運(yùn)行速度。電機(jī)驅(qū)動程序流程圖如圖5所示。

 該報(bào)靶系統(tǒng)實(shí)現(xiàn)了射擊環(huán)數(shù)和方位在靶區(qū)域的實(shí)時(shí)顯示以及PC機(jī)監(jiān)控終端的實(shí)時(shí)監(jiān)控,射擊中可統(tǒng)計(jì)個(gè)人及單位的單發(fā)成績和總體成績。經(jīng)大量實(shí)驗(yàn)證明,其分析原理正確、設(shè)計(jì)指標(biāo)先進(jìn)、攜帶方便、報(bào)靶準(zhǔn)確,適用于各式槍械的報(bào)靶;抗干擾強(qiáng),適合野外使用?,F(xiàn)已在現(xiàn)場使用,并取得了良好的效益。
參考文獻(xiàn)
[1] 黃勝.自動報(bào)靶機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].毅據(jù)采集與處理,1997,12(2):155-156.
[2] Atmel Corporation. ATmega32(L)datasheet. 200l.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。