一種以AVR單片機(jī)為核心的工頻電壓/頻率儀設(shè)計(jì)
1.引言
本文引用地址:http://m.butianyuan.cn/article/201612/328495.htm在電力生產(chǎn)和電氣測(cè)試工作中,經(jīng)常需要測(cè)量工頻電壓和頻率。目前市面上工頻電壓表和頻率表種類繁多,本設(shè)計(jì)與其相比具有電路簡(jiǎn)單、體積小、功耗低、性價(jià)比高等特點(diǎn)。利用低價(jià)位具備AVR高檔單片機(jī)性能的ATmega8單片機(jī),設(shè)計(jì)工頻電壓和頻率兩用測(cè)量?jī)x。ATmega8單片機(jī)除了有A/D轉(zhuǎn)換和定時(shí)計(jì)數(shù)器功能外,其內(nèi)部的模擬比較器在測(cè)量頻率電路中省了測(cè)量過(guò)零電路;I/O端口20mA驅(qū)動(dòng)能力直接驅(qū)動(dòng)LED數(shù)碼管,省了驅(qū)動(dòng)電路。使整個(gè)硬件電路非常簡(jiǎn)單。
2.硬件設(shè)計(jì)
基于ATmega8單片機(jī)工頻電壓/頻率儀設(shè)計(jì)硬件電路如圖1所示。以單片機(jī)為核心,加上少量的外部元件構(gòu)成。
圖1中:T1是電源變壓器和電壓互感器兩用器件(電壓互感器有變比精度要求),提供測(cè)量?jī)x運(yùn)行電源,并兼做為被測(cè)輸入源使用;AD1、C1是電源整流濾波電路元件;U1是三端穩(wěn)壓器件;C2、C6是+5V電源濾波電容;L1、C4、C5是測(cè)量電壓用基準(zhǔn)電壓和模擬端電源解耦電路元件;DS是大尺寸低功耗LED數(shù)碼管,與Rd1-Rd8構(gòu)成測(cè)量結(jié)果顯示電路;D1、D2、R1是測(cè)量頻率輸入波形整形電路元件;R2、R3、R4、C3是測(cè)量電壓取樣輸入電路元件;R6、R7、LED2、LED3是測(cè)量頻率或電壓狀態(tài)指示電路元件;R8、LED1是電源指示電路元件;E1(8MHz)晶體和兩個(gè)20p的電容組成單片機(jī)運(yùn)行所必須的時(shí)鐘(保證測(cè)量頻率的精度)。S1是測(cè)量電壓/頻率選擇開(kāi)關(guān)。
ATmega8單片機(jī):
ATmega8是ATMEL公司AVR系列單片機(jī)。
采用低功耗CMOS工藝生產(chǎn)的基于AVR RISC結(jié)構(gòu)的8位單片機(jī),大多數(shù)指令執(zhí)行時(shí)間為單個(gè)周期。
1)內(nèi)有10位精度的逐次逼近型ADC
ADC與一個(gè)8通道的模擬多路復(fù)用器連接,能對(duì)來(lái)自端口C的8路單端輸入電壓進(jìn)行采樣。單端電壓輸入以0V(GND)為基準(zhǔn)。ADC包括一個(gè)采樣保持電路,以確保在轉(zhuǎn)換過(guò)程中輸入到ADC的電壓保持恒定。ADC由AVCC引腳單獨(dú)提供電源。AVCC與VCC之間的偏差不能超過(guò)±0.3V.器件之內(nèi)有標(biāo)稱值為2.56V和AVCC基準(zhǔn)電壓?;鶞?zhǔn)電壓可以通過(guò)在AREF引腳上加一個(gè)電容進(jìn)行解耦,以更好地抑制噪聲。
2)16位定時(shí)器/計(jì)數(shù)器
16位的T/C可以實(shí)現(xiàn)精確的程序定時(shí)(事件管理)、波形產(chǎn)生和信號(hào)測(cè)量。其主要特點(diǎn)如下:真正的16位設(shè)計(jì);2個(gè)獨(dú)立的輸出比較單元;雙緩沖的輸出比較寄存器;一個(gè)輸入捕捉單元;輸入捕捉噪聲抑制器;比較匹配發(fā)生時(shí)清除寄存器(自動(dòng)重載);無(wú)干擾脈沖,相位正確的PWM;可變的PWM周期;頻率發(fā)生器;外部事件計(jì)數(shù)器。
3)片內(nèi)模擬比較器
模擬比較器對(duì)正極AIN0的值與負(fù)極AIN1的值進(jìn)行比較。當(dāng)AIN0上的電壓比負(fù)極AIN1上的電壓要高時(shí),模擬比較器的輸出ACO即置位。比較器的輸出可用來(lái)觸發(fā)定時(shí)器/計(jì)數(shù)器1的輸入捕捉功能。此外,比較器還可觸發(fā)自己專有的、獨(dú)立的中斷。
AVR單片機(jī)的系統(tǒng)內(nèi)可編程特性,無(wú)需購(gòu)買昂貴的仿真器和編程器也可進(jìn)行單片機(jī)嵌入式系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā);同時(shí)也為單片機(jī)的初學(xué)者提供了非常方便和簡(jiǎn)捷的學(xué)習(xí)開(kāi)發(fā)環(huán)境。而且在省電性能、穩(wěn)定性、抗干擾性以及靈活性方面考慮得更加周全和完善。
ATmega8單片機(jī)與其它單片機(jī)比較而言,簡(jiǎn)便易用、費(fèi)用低,相對(duì)進(jìn)入AVR系列單片機(jī)開(kāi)發(fā)的門檻也低,軟件資源豐富,程序容易開(kāi)發(fā)。由于Atmega8單片機(jī)是常用芯片,本文對(duì)其特性、內(nèi)部結(jié)構(gòu)、引腳說(shuō)明等不做介紹。
3.ATmega8程序的設(shè)計(jì)
ATmega8芯片是ATMEL(愛(ài)特梅爾)公司的AVR系列單片機(jī)。ATMEL公司網(wǎng)站提供AVRStudio集成環(huán)境(IDE)開(kāi)發(fā)軟件免費(fèi)下載。
本固件程序采用開(kāi)發(fā)軟件匯編編譯并燒寫。3.1 主程序
程序主要由初始化程序、數(shù)據(jù)處理程序(包括各種計(jì)算子程序)、LED位顯示程序(包括LED顯示刷新和字形碼查表)、中斷處理程序等模塊組成。
主程序流程如圖2所示。程序首先對(duì)系統(tǒng)初始化。初始化程序流程為:設(shè)置堆棧地址--初始化定時(shí)器(含顯示和測(cè)頻率計(jì)數(shù)器)--A/D轉(zhuǎn)換初始化--存儲(chǔ)器及寄存器初始化。接下來(lái)進(jìn)入主程序閉合循環(huán)體,在循環(huán)體中不斷檢查電壓/頻率選擇開(kāi)關(guān)狀態(tài)。如開(kāi)關(guān)為合的狀態(tài),程序檢查A/D轉(zhuǎn)換是否完成。并對(duì)A/D轉(zhuǎn)換做相應(yīng)操作。如開(kāi)關(guān)為斷的狀態(tài),程序啟動(dòng)測(cè)量頻率計(jì)數(shù)器工作,并允許計(jì)數(shù)器中斷產(chǎn)生。然后無(wú)論電壓/頻率選擇開(kāi)關(guān)狀態(tài),都進(jìn)入顯示數(shù)據(jù)更新檢查,并對(duì)LED顯示做相應(yīng)操作。程序最后對(duì)LED顯示(4位輪流)進(jìn)行刷新。完成后循環(huán)重新開(kāi)始。
3.2 中斷程序
本主程設(shè)置2個(gè)中斷源。分別是LED顯示掃描定時(shí)中斷和頻率測(cè)量計(jì)數(shù)器中斷。為了保證頻率測(cè)量精度,設(shè)置計(jì)數(shù)器中斷優(yōu)先級(jí)為最高。LED顯示掃描由定時(shí)器0產(chǎn)生中斷后做顯示掃描標(biāo)志。頻率測(cè)量計(jì)數(shù)器由模擬比較器產(chǎn)生中斷后,讀取16位定時(shí)器計(jì)數(shù)值并保存(數(shù)據(jù)由主程序處理),并設(shè)置數(shù)據(jù)更新標(biāo)志。程序處理流程如圖3所示。
4.結(jié)束語(yǔ)
基于ATmega8單片機(jī)工頻電壓/頻率儀硬件電路簡(jiǎn)單、性能穩(wěn)定可靠、經(jīng)濟(jì)適用,能滿足一般的測(cè)量精度要求。
評(píng)論