《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 應(yīng)用LPC2131開(kāi)發(fā)PLC調(diào)速器測(cè)頻單元
應(yīng)用LPC2131開(kāi)發(fā)PLC調(diào)速器測(cè)頻單元
張江濱, 劉興福
西安理工大學(xué) 水利水電學(xué)院, 陜西 西安710048
摘要: 針對(duì)PLC調(diào)速器頻率測(cè)量部分存在的不足,開(kāi)發(fā)出一種基于LPC2131微控制器的頻率測(cè)量單元。利用其捕獲功能模塊對(duì)整形后頻率信號(hào)捕獲、計(jì)算得到信號(hào)周期計(jì)數(shù)值,再將該周期計(jì)數(shù)值通過(guò)UART通信口發(fā)送至PLC,在PLC中完成信號(hào)頻率值計(jì)算。測(cè)試結(jié)果表明,由于采用信號(hào)上升沿及下降沿同時(shí)捕獲以及高速串行通信,不但提高了頻率信號(hào)的響應(yīng)速度,而且很好地解決了并行通信存在的數(shù)據(jù)傳輸不同步的問(wèn)題。
中圖分類號(hào): TP216
文獻(xiàn)標(biāo)識(shí)碼: 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

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

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


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

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

LPC2131微控制器定時(shí)器

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

   

式中, Fpclk為VPB時(shí)鐘頻率,在不分頻情況下為11.059 2 MHz。設(shè)機(jī)組頻率為Fg=50 Hz,則周期Tg=0.02 s,測(cè)得的周期數(shù)Ng=0.02×11 059 200=221 184,測(cè)頻系統(tǒng)的理論分辨率為0.002 6 Hz,由此可見(jiàn),此方法具有很高的分辨率。
2.3 測(cè)頻軟件流程
  系統(tǒng)軟件由1個(gè)主程序和2個(gè)中斷子程序組成,如圖4所示。CAPJ0、CAPJ1和CAPJ2依次保存連續(xù)3個(gè)機(jī)組頻率信號(hào)捕獲對(duì)應(yīng)的寄存器值T1CR2,CAPX0、CAPX1和CAPX2依次保存連續(xù)3個(gè)電網(wǎng)頻率信號(hào)捕獲時(shí)對(duì)應(yīng)寄存器值T1CR3,TJ和TX分別表示機(jī)組頻率和電網(wǎng)頻率在1個(gè)周期內(nèi)計(jì)數(shù)器計(jì)數(shù)差值。


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

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

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