基于PIC16C72的電力三相不對負載無功補償算法的實現
為了能夠準確地測量相位,我們采用數字鑒相法。所謂數字鑒相是指通過將兩路信號比相,在鑒相輸出信號的正脈沖內填入高速脈沖,通過記錄填入的脈沖數來測相位差。
PIC16C72單片機自身會產生高速的數字時鐘脈沖,這就可以直接利用該單片機的時鐘脈沖進行相位的測量。電壓與電流的波形關系如圖1所示。
圖1中A相電壓UA,A相電流iA與比較器Ull,U12的輸出電壓波形U1,U4的關系,顯然△t與U4,iA之間的相位差φA成正比,△又與u1,u4正跳變時定時器T1計數值之差△n成正比,這樣只要得到△n就可得出φA的值。該系統中,PICl6C72采用12MHz晶振,定時器l每隔2/μs計1個數。定時器1是16位計數器,他從0~65 536不停的循環增1計數運行;定時器2是8位計數器,他從0~256循環計數,預、后分頻各16倍,An的計算式:
△n=(B一A ×256)+65 53× N
其中:A為u1發生正跳變時定時器的值;B為u4發生正跳變時的定時器的值;N為2個事件發生的間隔期間定時器的溢出次數。
因此△n為:
△t=△n ×2 ×10-6(s)
因為△n的最小值小于5ms(工作信號的1/4周期),而T1從0~65 536計數的時間是:
65 536 ×2 × 10-6 (s)=131.072(ms)
因而在u1發生正跳變到u4發生正跳變之間T1溢出的次數最多為1,即N只有2個取值:0和1,電壓uA與電流iA的相位差φA為:
根據保持寄存器和時間寄存器記錄的8次事件可得出4個φA值,經過數據中值濾波、平均值濾波即可得到較準確的φA值。再通過查表法得到A相功率因數COSφA。同理控制多路模擬開關可測出B相,C相的相位差和功率因數。
評論