基于AVR微控制器的交流信號(hào)峰值檢測(cè)與校正
摘要:微控制器外圍電路的設(shè)計(jì)已經(jīng)是一個(gè)比較成熟的領(lǐng)域,相比硬件,軟件系統(tǒng)的研發(fā)周期更短,投入更少,在中國(guó)更加具有發(fā)展空間。基于AVR單片機(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)換芯片又會(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í)間很短,具有很好的頻率特性。
評(píng)論