應用LPC2131開發(fā)PLC調速器測頻單元
2.2 LPC2131微控制器定時器模塊
LPC2131微控制器定時器方框圖如圖2所示。定時器控制寄存器TCR用來使能或者復位計數(shù)器操作;預分頻寄存器PR用來分頻時鐘計數(shù)頻率;VPB時鐘頻率Fpclk為計數(shù)提供時鐘頻率;預分頻計數(shù)器PC是當TCR使能后,在每個pclk周期加1,當其達到預分頻寄存器PR中保存的值時,定時器計數(shù)器TC值加1,預分頻計數(shù)器在下一個周期復位;當預分頻計數(shù)器達到上限時,定時器計數(shù)器TC值加1,當達到計數(shù)上限0xFFFFFFFF后將翻轉到0x00000000;捕獲寄存器與1個對應的器件引腳相關聯(lián),當引腳發(fā)生特定事件時,可將定時器計數(shù)的值裝入該寄存器;捕獲控制寄存器CCR用于當捕獲事件發(fā)生時,確定是否裝入4個捕獲寄存器中的1個,以及是否產生中斷。本文引用地址:http://www.ex-cimer.com/article/195412.htm
本文選用定時器1作為兩路脈沖輸入捕獲計數(shù)器,利用它的兩路脈沖捕獲功能CAP1.2和CAP1.3捕獲經整形后機組頻率和電網頻率的上升沿和下降沿信號,以CAP1.2為例,如圖3所示。通過CAP1.2捕獲功能,可以將每次上升沿和下降沿到來時對應的計數(shù)器值裝載到T1CR2寄存器中,將連續(xù)3次捕獲時計數(shù)器值依次保存到CAPJ 0、CAPJ 1和CAPJ 2 3個定義存儲單元中,儲存單元對應值為CAPJ 0、CAPJ 1和CAPJ 2,每完成1次T1CR2裝載即可求得1次相鄰上升沿或下降沿計數(shù)器差值TJ=CAPJ 0-CAPJ 2。本文設定計數(shù)時鐘不分頻,根據測周法原理,機組頻率值Fg為:
式中, Fpclk為VPB時鐘頻率,在不分頻情況下為11.059 2 MHz。設機組頻率為Fg=50 Hz,則周期Tg=0.02 s,測得的周期數(shù)Ng=0.02×11 059 200=221 184,測頻系統(tǒng)的理論分辨率為0.002 6 Hz,由此可見,此方法具有很高的分辨率。
2.3 測頻軟件流程
系統(tǒng)軟件由1個主程序和2個中斷子程序組成,如圖4所示。CAPJ0、CAPJ1和CAPJ2依次保存連續(xù)3個機組頻率信號捕獲對應的寄存器值T1CR2,CAPX0、CAPX1和CAPX2依次保存連續(xù)3個電網頻率信號捕獲時對應寄存器值T1CR3,TJ和TX分別表示機組頻率和電網頻率在1個周期內計數(shù)器計數(shù)差值。
在系統(tǒng)軟件中,主程序完成各種設定功能初始化。捕獲中斷子程序完成對整形后的機組頻率和電網頻率信號捕獲,計算出信號在1個周期內對應的計數(shù)器計數(shù)值,并對其進行簡單判斷和濾波處理。在信號捕獲中采用同時捕獲上升沿和下降沿,計算計數(shù)器差值時上升沿和下降沿分開計算的方法,使得每半個周期就可獲得1次頻率值,相對1個周期或幾個周期才能求得1次頻率值的計算策略,它能夠更快反映機組頻率的波動情況,提高了調速器頻率響應性,縮短了調速器不運轉的時間。
在數(shù)據發(fā)送程序中,將1個周期內計數(shù)器差值通過UART0口采用串口通信方式發(fā)送到PLC控制器中,在PLC中完成信號頻率值計算。此處采用發(fā)送頻率信號計數(shù)器差值而不是計算后頻率值或周期值,一方面是整數(shù)比小數(shù)傳送方便,通信更加簡單;另一方面是頻率值或周期值具有多位小數(shù),傳送時將丟失精度,不能保證頻率值的原始性。頻率值在PLC中計算完成后直接使用進行調速器控制PID計算,將使調速器控制過程更加精確。在數(shù)據發(fā)送程序中,完成喂狗操作,防止程序“跑飛”,同時對機組頻率和電網頻率信號是否消失進行判斷,增加控制過程可靠性。
評論