文獻(xiàn)標(biāo)識(shí)碼: B
在水輪機(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大量的開關(guān)量輸入點(diǎn)[3],另一方面并行數(shù)據(jù)傳輸存在同步問題,使得數(shù)據(jù)傳輸可靠性較差。為此,本文采用基于ARM7處理器的32位LPC2131微控制器為硬件核心,開發(fā)出高性能的頻率測(cè)量單元,很好地解決了PLC調(diào)速器頻率測(cè)量中存在的不足問題。
1 頻率測(cè)量基本原理
基于ARM處理器的LPC2131可編程調(diào)速器頻率測(cè)量總體框圖如圖1所示。
取自發(fā)電機(jī)端電壓互感器和電網(wǎng)電壓互感器的測(cè)頻輸入信號(hào),經(jīng)削波、濾波處理后,變成幅度基本不變的穩(wěn)定波形,再經(jīng)施密特電路放大整形,得到正負(fù)幅值基本相等、占空比約為50%的方波[4];然后,通過光電耦合器將輸出的機(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é)議通過串口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用來使能或者復(fù)位計(jì)數(shù)器操作;預(yù)分頻寄存器PR用來分頻時(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)生中斷。
本文選用定時(shí)器1作為兩路脈沖輸入捕獲計(jì)數(shù)器,利用它的兩路脈沖捕獲功能CAP1.2和CAP1.3捕獲經(jīng)整形后機(jī)組頻率和電網(wǎng)頻率的上升沿和下降沿信號(hào),以CAP1.2為例,如圖3所示。通過CAP1.2捕獲功能,可以將每次上升沿和下降沿到來時(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,由此可見,此方法具有很高的分辨率。
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í)上升沿和下降沿分開計(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ù)器差值通過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)速器控制過程更加精確。在數(shù)據(jù)發(fā)送程序中,完成喂狗操作,防止程序“跑飛”,同時(shí)對(duì)機(jī)組頻率和電網(wǎng)頻率信號(hào)是否消失進(jìn)行判斷,增加控制過程可靠性。
2.4 容錯(cuò)處理
在頻率測(cè)量中由于干擾影響,將造成頻率測(cè)量值誤差,如何濾除誤差保證控制的準(zhǔn)確性在頻率測(cè)量過程中也是一個(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通過接收模塊接收數(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通過匹配控制器,就可完成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é)分開發(fā)送;為了保證傳送準(zhǔn)確性,需要在每1次傳送的信息上增加起始字符和結(jié)束字符進(jìn)行信息接收啟動(dòng)和信息接收結(jié)束判斷,起始字符和結(jié)束字符為規(guī)定的某個(gè)唯一的標(biāo)志字符,此處選用0x53和0x4F。為避免傳送周期計(jì)數(shù)值某個(gè)字節(jié)與開始或結(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ù)值和開始、結(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ā)送過程中,只需將所要發(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ì)、選型若干問題探討[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.