一種以AVR單片機為核心的工頻電壓/頻率儀設計
1.引言
本文引用地址:http://dyxdggzs.com/article/201612/328495.htm在電力生產(chǎn)和電氣測試工作中,經(jīng)常需要測量工頻電壓和頻率。目前市面上工頻電壓表和頻率表種類(lèi)繁多,本設計與其相比具有電路簡(jiǎn)單、體積小、功耗低、性?xún)r(jià)比高等特點(diǎn)。利用低價(jià)位具備AVR高檔單片機性能的ATmega8單片機,設計工頻電壓和頻率兩用測量?jì)x。ATmega8單片機除了有A/D轉換和定時(shí)計數器功能外,其內部的模擬比較器在測量頻率電路中省了測量過(guò)零電路;I/O端口20mA驅動(dòng)能力直接驅動(dòng)LED數碼管,省了驅動(dòng)電路。使整個(gè)硬件電路非常簡(jiǎn)單。
2.硬件設計
基于A(yíng)Tmega8單片機工頻電壓/頻率儀設計硬件電路如圖1所示。以單片機為核心,加上少量的外部元件構成。

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

3.2 中斷程序
本主程設置2個(gè)中斷源。分別是LED顯示掃描定時(shí)中斷和頻率測量計數器中斷。為了保證頻率測量精度,設置計數器中斷優(yōu)先級為最高。LED顯示掃描由定時(shí)器0產(chǎn)生中斷后做顯示掃描標志。頻率測量計數器由模擬比較器產(chǎn)生中斷后,讀取16位定時(shí)器計數值并保存(數據由主程序處理),并設置數據更新標志。程序處理流程如圖3所示。

4.結束語(yǔ)
基于A(yíng)Tmega8單片機工頻電壓/頻率儀硬件電路簡(jiǎn)單、性能穩定可靠、經(jīng)濟適用,能滿(mǎn)足一般的測量精度要求。
評論