《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 應(yīng)用LPC2131開發(fā)PLC調(diào)速器測頻單元
應(yīng)用LPC2131開發(fā)PLC調(diào)速器測頻單元
張江濱, 劉興福
西安理工大學(xué) 水利水電學(xué)院, 陜西 西安710048
摘要: 針對PLC調(diào)速器頻率測量部分存在的不足,開發(fā)出一種基于LPC2131微控制器的頻率測量單元。利用其捕獲功能模塊對整形后頻率信號捕獲、計算得到信號周期計數(shù)值,再將該周期計數(shù)值通過UART通信口發(fā)送至PLC,在PLC中完成信號頻率值計算。測試結(jié)果表明,由于采用信號上升沿及下降沿同時捕獲以及高速串行通信,不但提高了頻率信號的響應(yīng)速度,而且很好地解決了并行通信存在的數(shù)據(jù)傳輸不同步的問題。
中圖分類號: TP216
文獻標(biāo)識碼: B
Frequency measurement unit exploitation of PLC hydro-turbine governor based on LPC2131
ZHANG Jiang Bin, LIU Xing Fu
Faculty of Water Resources and Hydraulic Power,Xi′an University of Technology, Xi’an 710048, China
Abstract: For the deficiency in the frequency measurement unit of PLC hydro-turbine governor, another frequency measurement unit which was based on LPC2131 was exploitation. By using its function of capture to capture the frequency of the signal after shaping we can get the value of the signal cycle, and then send the value of the cycle to the PLC through the UART interface communication. The frequency of the signal value is calculated in the PLC . Test results showed that it is not only improved the speed of the frequency response signal but also gave a very good solution to the problem of the parallel data communication does not synchronization by using adopting the capture both rising edge and falling edge and serial communication.
Key words : PLC hydro-turbine governor; frequency measurement unit; LPC2131; serial communication

    在水輪機調(diào)速器中,機組頻率的測量直接關(guān)系到調(diào)速器整機性能的優(yōu)劣,而調(diào)速器的品質(zhì)與性能直接影響到電能的品質(zhì)和水電站的安全可靠運行, 故機組頻率的測量是一個非常關(guān)鍵的技術(shù)[1]。目前,基于PLC調(diào)速器的測頻方法主要有單片機測頻和PLC本體高速計數(shù)模塊測頻2種方式[2]。PLC高速計數(shù)模塊的測頻與單片機測頻相比,具有整體性好、可靠性高的優(yōu)點,但對PLC硬件配置有較高要求,如須具備1 MHz以上計數(shù)模塊,這將顯著增加調(diào)速器的硬件成本,中小型調(diào)速器一般不適合采用此方案,大多采用單片機測頻方式。但現(xiàn)有單片機測頻方式一般均采用并行I/O與PLC傳輸頻率值,一方面占用了PLC大量的開關(guān)量輸入點[3],另一方面并行數(shù)據(jù)傳輸存在同步問題,使得數(shù)據(jù)傳輸可靠性較差。為此,本文采用基于ARM7處理器的32位LPC2131微控制器為硬件核心,開發(fā)出高性能的頻率測量單元,很好地解決了PLC調(diào)速器頻率測量中存在的不足問題。
1 頻率測量基本原理
  基于ARM處理器的LPC2131可編程調(diào)速器頻率測量總體框圖如圖1所示。

基于ARM處理器的LPC2131可編程調(diào)速器頻率測量總體框圖


    取自發(fā)電機端電壓互感器和電網(wǎng)電壓互感器的測頻輸入信號,經(jīng)削波、濾波處理后,變成幅度基本不變的穩(wěn)定波形,再經(jīng)施密特電路放大整形,得到正負(fù)幅值基本相等、占空比約為50%的方波[4];然后,通過光電耦合器將輸出的機組頻率和電網(wǎng)頻率方波信號隔離后分別送入LPC2131微控制器CAP1.3功能捕獲引腳P0.18和CAP1.2功能捕獲引腳P0.19。CAP1.3和CAP1.2捕獲功能設(shè)置為上升沿與下降沿同時捕獲,即這2個功能引腳上的值由0到1跳變和由1到0跳變都會將當(dāng)時計數(shù)器值輸入相應(yīng)的捕獲寄存器中,同時產(chǎn)生中斷。對任一路管腳捕獲,取出2個相間隔的捕獲寄存器值相減,令其差值為N,在計數(shù)器頻率(時鐘頻率,令其為Fpclk)已知情況下,可得出2個相間隔捕獲點對應(yīng)時間值,即頻率信號周期值:
   
  根據(jù)頻率與周期公式f=1/T可求出信號的頻率值。對得到的機組頻率和電網(wǎng)頻率計數(shù)器差值采用去極大極小值進行簡單的判斷濾波后,采用自由口通信協(xié)議通過串口UART0將其發(fā)送至PLC,在PLC控制器內(nèi)完成機組和電網(wǎng)頻率值計算。
2 測頻硬件與軟件
2.1 LPC2131微控制器

  LPC2131是PHILIPS公司基于ARM7TDMI-S核、單電源供電及LQFP64封裝的微控制器,是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S型CPU的微控制器。LPC2131擁有2個符合’550工業(yè)標(biāo)準(zhǔn)的異步串行口UART0和UART1,具有以下特性:16字節(jié)收發(fā)FIFO;寄存器位置符合16C550工業(yè)標(biāo)準(zhǔn);收發(fā)器觸發(fā)點可為1、4、8和14字節(jié);內(nèi)置波特率發(fā)生器;包含使能軟件流控制器。LPC2131還帶有2個32位可編程定時/計數(shù)器,均具有4路捕獲和4路比較匹配與輸出電路。定時器對外設(shè)時鐘(pclk)周期進行計數(shù),可選擇產(chǎn)生中斷或根據(jù)4個匹配寄存器的設(shè)定,在達到指定的定時值設(shè)定時執(zhí)行其他動作。它的4個捕獲輸入,用于在輸入信號發(fā)生跳變時捕獲定時器的瞬時值,并可選擇使捕獲事件產(chǎn)生中斷[5]。
2.2 LPC2131微控制器定時器模塊
  LPC2131微控制器定時器方框圖如圖2所示。定時器控制寄存器TCR用來使能或者復(fù)位計數(shù)器操作;預(yù)分頻寄存器PR用來分頻時鐘計數(shù)頻率;VPB時鐘頻率Fpclk為計數(shù)提供時鐘頻率;預(yù)分頻計數(shù)器PC是當(dāng)TCR使能后,在每個pclk周期加1,當(dāng)其達到預(yù)分頻寄存器PR中保存的值時,定時器計數(shù)器TC值加1,預(yù)分頻計數(shù)器在下一個周期復(fù)位;當(dāng)預(yù)分頻計數(shù)器達到上限時,定時器計數(shù)器TC值加1,當(dāng)達到計數(shù)上限0xFFFFFFFF后將翻轉(zhuǎn)到0x00000000;捕獲寄存器與1個對應(yīng)的器件引腳相關(guān)聯(lián),當(dāng)引腳發(fā)生特定事件時,可將定時器計數(shù)的值裝入該寄存器;捕獲控制寄存器CCR用于當(dāng)捕獲事件發(fā)生時,確定是否裝入4個捕獲寄存器中的1個,以及是否產(chǎn)生中斷。

LPC2131微控制器定時器

    本文選用定時器1作為兩路脈沖輸入捕獲計數(shù)器,利用它的兩路脈沖捕獲功能CAP1.2和CAP1.3捕獲經(jīng)整形后機組頻率和電網(wǎng)頻率的上升沿和下降沿信號,以CAP1.2為例,如圖3所示。通過CAP1.2捕獲功能,可以將每次上升沿和下降沿到來時對應(yīng)的計數(shù)器值裝載到T1CR2寄存器中,將連續(xù)3次捕獲時計數(shù)器值依次保存到CAPJ 0、CAPJ 1和CAPJ 2 3個定義存儲單元中,儲存單元對應(yīng)值為CAPJ 0、CAPJ 1和CAPJ 2,每完成1次T1CR2裝載即可求得1次相鄰上升沿或下降沿計數(shù)器差值TJ=CAPJ 0-CAPJ 2。本文設(shè)定計數(shù)時鐘不分頻,根據(jù)測周法原理,機組頻率值Fg為:

   

式中, Fpclk為VPB時鐘頻率,在不分頻情況下為11.059 2 MHz。設(shè)機組頻率為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個機組頻率信號捕獲對應(yīng)的寄存器值T1CR2,CAPX0、CAPX1和CAPX2依次保存連續(xù)3個電網(wǎng)頻率信號捕獲時對應(yīng)寄存器值T1CR3,TJ和TX分別表示機組頻率和電網(wǎng)頻率在1個周期內(nèi)計數(shù)器計數(shù)差值。


  在系統(tǒng)軟件中,主程序完成各種設(shè)定功能初始化。捕獲中斷子程序完成對整形后的機組頻率和電網(wǎng)頻率信號捕獲,計算出信號在1個周期內(nèi)對應(yīng)的計數(shù)器計數(shù)值,并對其進行簡單判斷和濾波處理。在信號捕獲中采用同時捕獲上升沿和下降沿,計算計數(shù)器差值時上升沿和下降沿分開計算的方法,使得每半個周期就可獲得1次頻率值,相對1個周期或幾個周期才能求得1次頻率值的計算策略,它能夠更快反映機組頻率的波動情況,提高了調(diào)速器頻率響應(yīng)性,縮短了調(diào)速器不運轉(zhuǎn)的時間。
  在數(shù)據(jù)發(fā)送程序中,將1個周期內(nèi)計數(shù)器差值通過UART0口采用串口通信方式發(fā)送到PLC控制器中,在PLC中完成信號頻率值計算。此處采用發(fā)送頻率信號計數(shù)器差值而不是計算后頻率值或周期值,一方面是整數(shù)比小數(shù)傳送方便,通信更加簡單;另一方面是頻率值或周期值具有多位小數(shù),傳送時將丟失精度,不能保證頻率值的原始性。頻率值在PLC中計算完成后直接使用進行調(diào)速器控制PID計算,將使調(diào)速器控制過程更加精確。在數(shù)據(jù)發(fā)送程序中,完成喂狗操作,防止程序“跑飛”,同時對機組頻率和電網(wǎng)頻率信號是否消失進行判斷,增加控制過程可靠性。
2.4 容錯處理
  在頻率測量中由于干擾影響,將造成頻率測量值誤差,如何濾除誤差保證控制的準(zhǔn)確性在頻率測量過程中也是一個重要環(huán)節(jié)。本文采用的是去極大極小值濾波法,即對連續(xù)三個頻率值,取中間值為正確值,去掉最大和最小值,大于100 Hz的頻率值作為錯誤值直接舍去,小于1 Hz的頻率值作為頻率信號消失處理。容錯處理流程圖如5所示,此處只以機組頻率為例進行分析,電網(wǎng)頻率與此相同。

3 與PLC通信
  與PLC傳遞數(shù)據(jù)通信中,使用定時器0進行20 ms定時發(fā)送,PLC通過接收模塊接收數(shù)據(jù)。如圖2所示,匹配控制寄存器MCR用于設(shè)定當(dāng)發(fā)生匹配控制寄存器值與定時器計數(shù)值匹配時所執(zhí)行的操作(產(chǎn)生中斷、復(fù)位定時器計數(shù)器或停止定時器);匹配控制寄存器值連續(xù)與定時器計數(shù)值相比較,當(dāng)兩值相等時自動觸發(fā)相應(yīng)動作;使用定時器0通過匹配控制器,就可完成20 ms的定時中斷。在與PLC的通信中,采用自由口通信協(xié)議的串行口通信[6],改變了以往并口I/O傳送模式,簡化了通信的復(fù)雜度,提高了準(zhǔn)確率。
  在頻率測量中,儲存器可存儲最大計數(shù)器值為0xFFFFFFFF,在理論上可測得的頻率最小值為0.002 7 Hz,根據(jù)實際情況設(shè)定頻率的測量范圍為1~100 Hz,對應(yīng)的周期計數(shù)值范圍為0xABC000~0x1B000,如果周期計數(shù)值大于0xABC000,即頻率小于1 Hz時作為頻率信號消失處理;如果周期計數(shù)值小于0x1B000,即頻率大于100 Hz時作為頻率信號干擾處理。在與PLC通信中,PLC接收模塊為字節(jié)接收,故每次最多傳送1個字節(jié),對周期計數(shù)值完成一次傳送需要用3個字節(jié)分開發(fā)送;為了保證傳送準(zhǔn)確性,需要在每1次傳送的信息上增加起始字符和結(jié)束字符進行信息接收啟動和信息接收結(jié)束判斷,起始字符和結(jié)束字符為規(guī)定的某個唯一的標(biāo)志字符,此處選用0x53和0x4F。為避免傳送周期計數(shù)值某個字節(jié)與開始或結(jié)束判斷字符相同導(dǎo)致傳送錯誤,每次傳送的數(shù)據(jù)只能占用4位即1個字節(jié)的后4位,這樣才能保證其值始終不大于0x0F。根據(jù)上面分析,則每傳送1個周期計數(shù)值就需要分6次按6個字節(jié)傳送,機組周期計數(shù)值、電網(wǎng)周期計數(shù)值和開始、結(jié)束字符完成1次傳送總共需要14個字節(jié)。傳送波特率設(shè)定為115 200 b/s,則每完成1次傳送需要的時間t=14×8÷115 200=0.972 ms。由此可知數(shù)據(jù)傳輸延遲時間極短,完全可以彌補外設(shè)測量模塊與內(nèi)部測量模塊對數(shù)據(jù)采集及時性的差異,達到測量的數(shù)據(jù)即為通信方式測量頻率,基本不影響PLC控制操作,同時其傳遞準(zhǔn)確性得到充分保障。
  LPC2131微控制器擁有16 B的FIFO(保持寄存器),在發(fā)送過程中,只需將所要發(fā)送字節(jié)保存到FIFO中即可,發(fā)送模塊自動完成發(fā)送操作,使得數(shù)據(jù)的發(fā)送和接收變得簡單,與51系列單片機相比也是一個很大的改進。
4 性能分析
  該測頻裝置的主要技術(shù)指標(biāo)為:(1)理論上可測量最低頻率Fmin=0.002 7 Hz(規(guī)定為1 Hz);(2)最高可測量頻率規(guī)定為Fmax=100 Hz;(3)測量分辨率為0.002 26 Hz;(4)得到頻率值的時間為 0.5T(信號周期); (5)信號傳輸時間為0.97 ms;(6)信號整形電路最低動作電壓0.2 V,最高允許輸入電壓150 V。
     基于ARM處理器的LPC2131可編程調(diào)速器測頻單元彌補了51系列單片機作為測頻單元與PLC配合使用中的不足,測頻單元編程系統(tǒng)簡單、頻率信號響應(yīng)速度快、數(shù)據(jù)傳輸方便、傳輸時間短,測頻系統(tǒng)可靠性高、抗干擾能力強。對此調(diào)速器測頻單元進行了測試,從運行情況,該測頻單元具有很好的穩(wěn)定性與準(zhǔn)確性,非常適合于中小型調(diào)速器。
參考文獻
[1]     郭玉琥.水輪機調(diào)速器設(shè)計、選型若干問題探討[J].水電自動化與大壩監(jiān)測,2007,31(4):20-22.
[2]     向家安,胡乙進.PLC微機調(diào)速器頻率測量方法綜述[J].水電站機電技術(shù),2005,28(4):17-20.
[3]     魏守平.水輪機控制工程[M].武漢:華中科技大學(xué)出版社,2005.
[4]     張江濱,王德意,王濤,等.水輪發(fā)電機組頻率測量系統(tǒng)[J].西安理工大學(xué)學(xué)報,1999,15(4):61-65.
[5]     周立功,張華.深入淺出ARM7[M].北京:北京航空航天大學(xué)出版社,2005.
[6]     施光林,劉利.可編程控制器通信與網(wǎng)絡(luò)[M].北京:機械工業(yè)出版社,2006.

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