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


在公式(17)中,y1和y2的相位是已知的,幅值可以通過(guò)內部ADC采樣得到。那么,求峰值的問(wèn)題就迎刃而解了。
3 算法實(shí)現
前面提到,通過(guò)AVR內部的ICP捕捉到的初相和實(shí)際初相有偏差,但因為在下一個(gè)周期來(lái)臨的時(shí)刻又會(huì )出現相同的偏差,所以并不影響周期計算的結果。只要利用Timerl的ICP中斷服務(wù)程序,就可以輕松求得信號周期,然后再將y1的相位增量(φ1=30所對應的周期分量:周期的1/12)加到輸出比較寄存器上,以此來(lái)控制ADC的啟動(dòng)并對y1進(jìn)行采樣。同時(shí)利用輸出比較中斷服務(wù)程序和y2的相位增量,開(kāi)啟ADC并對y2進(jìn)行采樣。
因為外部的模擬輸入部分是線(xiàn)性電路,在實(shí)際測量時(shí),只要取兩點(diǎn)做為校正點(diǎn),讀取和測取兩組真實(shí)值和誤差值,就能求得下面二元二次方程的解Ki和K0:
4 總結
本文中采用一種新的峰值測算方法,打破傳統方法中對硬件的過(guò)度依賴(lài),不僅方法新穎,而且大大簡(jiǎn)化了硬件電路的設計,將測控功能最大程度地轉移到軟件系統中來(lái)實(shí)現,使得校正工作變得十分簡(jiǎn)單而有效。同時(shí),這種檢測方法具有超乎尋常的高精度,可達O.1%,為工業(yè)測控的一些技術(shù)難題提供了很好的解決方案。
評論