AVR單片機(jī)在無(wú)線自動(dòng)報(bào)靶系統(tǒng)中的應(yīng)用
主程序流程圖如圖4所示。
信號(hào)采集檢測(cè)直接利用AVR單片機(jī)芯片內(nèi)置的10 bitA/D轉(zhuǎn)換器,采樣PA0端口的輸入模擬電壓。將該模擬電壓轉(zhuǎn)換成數(shù)字電壓,首先要對(duì)A/D轉(zhuǎn)換器進(jìn)行初始化,具體程序如下:
void AVR_ADC_Init(void)
{
ADMUX = 0x00; //選擇參考電壓源為+5 V,
//左對(duì)齊方式,并選擇模擬通道ADC0
ADCSRA = 0xCF;//使能ADC模塊,
//并啟動(dòng)ADC轉(zhuǎn)換開(kāi)始,配置預(yù)分頻比1:128
}
為了提高實(shí)時(shí)采樣保護(hù)電機(jī),過(guò)流檢測(cè)分析程序段放在A/D轉(zhuǎn)換的中斷服務(wù)程序中完成。A/D轉(zhuǎn)換中斷服務(wù)程序如下:
#pragma vector=ADC_INT
__interrupt void ADC_vect_isr(void)
{
if(ADCH>200)MotorBreak(); //若檢測(cè)到電流
//超過(guò)20 A,則讓電機(jī)停止
}
在進(jìn)行電機(jī)驅(qū)動(dòng)程序設(shè)計(jì)時(shí),利用AVR單片機(jī)內(nèi)置的PWM模塊來(lái)實(shí)現(xiàn)。該模塊具有如下特征:(1)支持快速PWM產(chǎn)生模式;(2)支持相位修正的PWM產(chǎn)生模式;(3)支持相位與頻率修正的PWM產(chǎn)生模式。這些模式都能夠很好地產(chǎn)生所需的PWM信號(hào),利用PWM信號(hào)可很容易實(shí)現(xiàn)對(duì)電機(jī)速度的調(diào)節(jié)。利用PWM模塊的特點(diǎn),設(shè)計(jì)的電機(jī)驅(qū)動(dòng)函數(shù)為MotorStartRun(unsigned char direction,unsigned int speed)。在該函數(shù)中,參數(shù)direction用于控制電機(jī)轉(zhuǎn)換方向,參數(shù)speed用于調(diào)節(jié)電機(jī)運(yùn)行速度。電機(jī)驅(qū)動(dòng)程序流程圖如圖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ī)和總體成績(jī)。經(jīng)大量實(shí)驗(yàn)證明,其分析原理正確、設(shè)計(jì)指標(biāo)先進(jìn)、攜帶方便、報(bào)靶準(zhǔn)確,適用于各式槍械的報(bào)靶;抗干擾強(qiáng),適合野外使用?,F(xiàn)已在現(xiàn)場(chǎng)使用,并取得了良好的效益。
參考文獻(xiàn)
[1] 黃勝.自動(dòng)報(bào)靶機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].毅據(jù)采集與處理,1997,12(2):155-156.
[2] Atmel Corporation. ATmega32(L)datasheet. 200l.
評(píng)論