《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于AVR微控制器的交流信號(hào)峰值檢測(cè)與校正
基于AVR微控制器的交流信號(hào)峰值檢測(cè)與校正
摘要: 微控制器外圍電路的設(shè)計(jì)已經(jīng)是一個(gè)比較成熟的領(lǐng)域,,相比硬件,軟件系統(tǒng)的研發(fā)周期更短,,投入更少,,在中國(guó)更加具有發(fā)展空間?;贏VR單片機(jī)的硬件結(jié)構(gòu)和工作原理,,采用一種全新的檢測(cè)交流信號(hào)峰值的算法,并輔以相應(yīng)的自校正算法來(lái)實(shí)現(xiàn)精確的峰值檢測(cè),。通過(guò)硬件上的實(shí)現(xiàn)證明此種算法的速度非??欤雀哌_(dá)0.1%,,在測(cè)控工業(yè)應(yīng)用中具有非常好的前景,。
Abstract:
Key words :

    摘要:微控制器外圍電路的設(shè)計(jì)已經(jīng)是一個(gè)比較成熟的領(lǐng)域,相比硬件,,軟件系統(tǒng)的研發(fā)周期更短,,投入更少,在中國(guó)更加具有發(fā)展空間,?;贏VR單片機(jī)的硬件結(jié)構(gòu)和工作原理,采用一種全新的檢測(cè)交流信號(hào)峰值的算法,,并輔以相應(yīng)的自校正算法來(lái)實(shí)現(xiàn)精確的峰值檢測(cè),。通過(guò)硬件上的實(shí)現(xiàn)證明此種算法的速度非常快,,精度高達(dá)0.1%,,在測(cè)控工業(yè)應(yīng)用中具有非常好的前景。
關(guān)鍵詞:峰值檢測(cè),;自我校正,;算法

0 引言
    單片機(jī)在民用電子產(chǎn)品中的應(yīng)用主要以測(cè)量和控制為主,。一個(gè)完整的單片機(jī)系統(tǒng)除了健全的軟件系統(tǒng)外,往往還需要外圍電路的支持,。而現(xiàn)如今,,對(duì)一些傳統(tǒng)電路的設(shè)計(jì)已經(jīng)非常成熟,因此在硬件上要想有所突破要比在軟件算法的突破難得多,。拿峰值檢波電路來(lái)說(shuō),,理論上,交流電源在正半周的一段時(shí)間內(nèi),,通過(guò)二極管對(duì)電容充電,,使電容上的電壓逐漸趨近于峰值電壓。只要RC足夠大,,可以認(rèn)為其輸出的直流電壓數(shù)值上十分接近于交流電壓的峰值。但是由于泄放電流的影響,,輸出電流很難精確地等于輸入電流的峰值,。盡管有很多改良后的解決方案,但無(wú)論是哪一個(gè)種檢波電路,,它們的一個(gè)相通的缺點(diǎn)就在于電路是非線性的,。非線性的電路使內(nèi)部的軟件系統(tǒng)不能用相對(duì)簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)系統(tǒng)誤差的校正。系統(tǒng)誤差是指在相同的條件下(包括溫度,,電路,,測(cè)量工具等),誤差值隨輸入值按一定規(guī)律變化,,這種變化可以是線性或非線性的,。非線性系統(tǒng)誤差通常采用查表法來(lái)修正,通過(guò)實(shí)際校準(zhǔn)將各校準(zhǔn)點(diǎn)的數(shù)據(jù)存入校準(zhǔn)表中,,在以后的實(shí)際測(cè)量中,,通過(guò)查表求得修正了的測(cè)量結(jié)果,因此需要建立大量的校正點(diǎn)數(shù)據(jù)來(lái)提高計(jì)算結(jié)果的準(zhǔn)確度,,增加算法的計(jì)算量和復(fù)雜程度就不可避免的了,。一個(gè)系統(tǒng)研發(fā)人員追求的是簡(jiǎn)潔度與先進(jìn)性,而不是復(fù)雜度,,因此簡(jiǎn)化外部模擬輸入電路是當(dāng)務(wù)之急,。

1 硬件電路設(shè)計(jì)
    圖1給出的是精密電壓表與精密電流表的模擬輸入部分電路。整個(gè)電路只用到放大器與分壓電路,,設(shè)計(jì)簡(jiǎn)潔,,而且在低頻區(qū)系統(tǒng)誤差是線性的,因此用作AVR內(nèi)部ADC的模擬輸入電路,。


    不足的是,,圖l中的LM324放大器對(duì)高頻信號(hào)的頻率響應(yīng)不理想,。如果用傳統(tǒng)的峰值計(jì)算的算法,利用Nyquist定理,,在采樣頻率不小于信號(hào)頻率的條件下,,對(duì)多個(gè)樣本的幅值進(jìn)行綜合運(yùn)算如下:
   
    這種方法對(duì)采樣頻率有較高的要求,尤其是高頻輸入的時(shí)候,,要求高速的ADC,,而且樣本數(shù)過(guò)大會(huì)造成計(jì)算量加大,所以要想在高頻區(qū)有所應(yīng)用非常困難,。如果使用專(zhuān)用轉(zhuǎn)換芯片又會(huì)增加產(chǎn)品制作的成本,,而且存在系統(tǒng)誤差難測(cè)算的問(wèn)題。因此筆者在硬件設(shè)計(jì)和軟件設(shè)計(jì)上都做出了一些新的嘗試,。


    硬件電路方面,,借助圖2的頻率測(cè)量電路和AVR的輸入捕捉功能(ICP)配合來(lái)測(cè)算輸入信號(hào)的頻率。74HCU04是高速的16進(jìn)制CMOS反相器,,傳輸時(shí)間很短,,具有很好的頻率特性。

2 正弦波峰值測(cè)量理論的建立
    算法上,,通過(guò)測(cè)算出來(lái)的信號(hào)周期值,,在1/4個(gè)周期上任取兩點(diǎn)就可以推導(dǎo)求出信號(hào)的峰值,下面是對(duì)該方法的推導(dǎo)和求證,。
    首先,,利用AVR ATmega64的定時(shí)器1的輸入捕捉功能,在單位圓的1/4周期內(nèi)截取兩個(gè)點(diǎn)yl,,y2,。無(wú)論它的捕捉屬性是上升沿還是下降沿,因?yàn)檠訒r(shí)的關(guān)系不可能絕對(duì)準(zhǔn)確地捕捉到電平翻轉(zhuǎn)的瞬間時(shí)刻,,也就是說(shuō)檢測(cè)的初相不同于真實(shí)的初相,,又因?yàn)槌跸鄷?huì)隨著峰值和頻率發(fā)生變化,因此不能用勾股定理中使用相位相加為90度方法取出兩點(diǎn)再求出峰值,。具體的推導(dǎo)如下,。
    

 

    在公式(17)中,y1和y2的相位是已知的,,幅值可以通過(guò)內(nèi)部ADC采樣得到,。那么,求峰值的問(wèn)題就迎刃而解了,。

3 算法實(shí)現(xiàn)
    前面提到,,通過(guò)AVR內(nèi)部的ICP捕捉到的初相和實(shí)際初相有偏差,但因?yàn)樵谙乱粋€(gè)周期來(lái)臨的時(shí)刻又會(huì)出現(xiàn)相同的偏差,,所以并不影響周期計(jì)算的結(jié)果,。只要利用Timerl的ICP中斷服務(wù)程序,,就可以輕松求得信號(hào)周期,然后再將y1的相位增量(φ1=30所對(duì)應(yīng)的周期分量:周期的1/12)加到輸出比較寄存器上,,以此來(lái)控制ADC的啟動(dòng)并對(duì)y1進(jìn)行采樣,。同時(shí)利用輸出比較中斷服務(wù)程序和y2的相位增量,開(kāi)啟ADC并對(duì)y2進(jìn)行采樣,。
    因?yàn)橥獠康哪M輸入部分是線性電路,,在實(shí)際測(cè)量時(shí),只要取兩點(diǎn)做為校正點(diǎn),,讀取和測(cè)取兩組真實(shí)值和誤差值,,就能求得下面二元二次方程的解Ki和K0:
   

4 總結(jié)
    本文中采用一種新的峰值測(cè)算方法,打破傳統(tǒng)方法中對(duì)硬件的過(guò)度依賴(lài),,不僅方法新穎,,而且大大簡(jiǎn)化了硬件電路的設(shè)計(jì),將測(cè)控功能最大程度地轉(zhuǎn)移到軟件系統(tǒng)中來(lái)實(shí)現(xiàn),,使得校正工作變得十分簡(jiǎn)單而有效,。同時(shí),這種檢測(cè)方法具有超乎尋常的高精度,,可達(dá)O.1%,,為工業(yè)測(cè)控的一些技術(shù)難題提供了很好的解決方案,。

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