張 策,田 凱,金書輝,張東陽,單 智
(天津電氣科學(xué)研究院有限公司 天津 300180)
在工業(yè)生產(chǎn)中,高性能的電機(jī)傳動(dòng)系統(tǒng)可滿足各類機(jī)械對(duì)轉(zhuǎn)矩、速度、位置等性能的預(yù)期要求。速度信息的獲取是實(shí)現(xiàn)高性能電機(jī)控制的關(guān)鍵因素,測速不準(zhǔn)確會(huì)造成電機(jī)磁場定向不準(zhǔn),從而導(dǎo)致系統(tǒng)控制性能惡化,甚至無法正常工作[1]。電機(jī)控制系統(tǒng)一般采用裝于電動(dòng)機(jī)軸上的編碼器(下文用“碼盤”)進(jìn)行電動(dòng)機(jī)轉(zhuǎn)子位置和速度的反饋測量[2]。然而工業(yè)現(xiàn)場存在各種各樣的干擾因素,如機(jī)械振動(dòng)、電磁干擾、共模干擾等,均會(huì)造成碼盤A、B脈沖波形畸變,導(dǎo)致計(jì)數(shù)誤差,影響轉(zhuǎn)速測量的準(zhǔn)確度,因此需要采用脈沖抗擾技術(shù)來提高測量精度。
對(duì)碼盤A、B脈沖波形干擾信號(hào)的處理,部分文獻(xiàn)采用集成芯片或多級(jí)D觸發(fā)器濾除硬件[2-3],但硬件方法成本高、資源消耗多。因此,目前采用比較廣泛的是軟件濾波方法[4-7]。
本文針對(duì)工業(yè)現(xiàn)場干擾因素導(dǎo)致碼盤脈沖波形畸變,引起轉(zhuǎn)速計(jì)算不準(zhǔn)確問題,提出了一種碼盤抗干擾測速方法,旨在通過軟件濾波方法有效降低干擾信號(hào)對(duì)測速精度的影響,便于工程應(yīng)用。
光電編碼器與電動(dòng)機(jī)同軸相連,電動(dòng)機(jī)旋轉(zhuǎn)帶動(dòng)碼盤同步旋轉(zhuǎn)。碼盤每轉(zhuǎn)一圈便發(fā)出一定數(shù)目的方波脈沖,脈沖頻率與電機(jī)轉(zhuǎn)速成一定比例。理論上每轉(zhuǎn)脈沖數(shù)越高,測量精度越高。在實(shí)際應(yīng)用時(shí),通常采用對(duì)碼盤A、B脈沖的上升沿和下降沿進(jìn)行計(jì)數(shù),實(shí)現(xiàn)碼盤4倍頻,如圖1所示。
圖1 碼盤A、B脈沖信號(hào)示意圖 Fig.1 Schematic diagram of pulse signals of encoders A and B
圖2為碼盤M/T法測速時(shí)序。A、B分別表示A、B脈沖。在一個(gè)測速周期內(nèi),會(huì)采集到M1個(gè)碼盤脈沖沿,當(dāng)正脈沖信號(hào)發(fā)生時(shí),M1=M1+1;當(dāng)負(fù)脈沖信號(hào)發(fā)生時(shí),M1=M1-1。M1個(gè)碼盤脈沖沿對(duì)應(yīng)的時(shí)鐘脈沖個(gè)數(shù)為M2,對(duì)應(yīng)時(shí)間Tdk=M2Tp(Tp為時(shí)鐘脈沖周期),利用M1和Tdk可計(jì)算獲得轉(zhuǎn)速值。
圖2 測速時(shí)序 Fig.2 Timing sequence of speed measurement
在測速周期結(jié)束時(shí)刻TA,若M1≠0,則輸出M1k=M1,M2k=M2,根據(jù)轉(zhuǎn)速公式更新轉(zhuǎn)速信息后,再將M1計(jì)數(shù)器和M2計(jì)數(shù)器清零;若M1=0,說明該周期內(nèi)碼盤沒有正負(fù)脈沖信號(hào)或相互抵消,轉(zhuǎn)速數(shù)據(jù)不予更新,直到某一更新時(shí)刻TA到來時(shí)M1≠0,重復(fù)上述計(jì)算過程。電機(jī)轉(zhuǎn)一圈時(shí)間t的計(jì)算公式為:
式中:t表示電機(jī)轉(zhuǎn)一圈的時(shí)間,s;PPR為碼盤線數(shù),因采用4倍頻,故轉(zhuǎn)一圈脈沖沿?cái)?shù)為PPR×4;M1k為一個(gè)測速周期內(nèi)的脈沖沿個(gè)數(shù);M2k為M1k個(gè)脈沖沿對(duì)應(yīng)的采樣時(shí)鐘脈沖個(gè)數(shù);Tp為時(shí)鐘脈沖周期,s。
可得電機(jī)轉(zhuǎn)速n計(jì)算公式為:
式中:n為電機(jī)轉(zhuǎn)速計(jì)算值,r/min;PP是極對(duì)數(shù)。
工業(yè)現(xiàn)場應(yīng)用時(shí),信號(hào)干擾會(huì)導(dǎo)致脈沖A、B的波形產(chǎn)生畸變,如圖3所示。干擾信號(hào)會(huì)導(dǎo)致實(shí)際記錄脈沖數(shù)增加或轉(zhuǎn)速方向反向,使系統(tǒng)性能受到影響。為消除干擾信號(hào)影響,采取對(duì)脈沖進(jìn)行濾波處理的方法。
圖3 脈沖干擾及處理 Fig.3 Pulse interference and filtering processing
圖3 中,A_IN和B_IN分別為脈沖A輸入信號(hào)和脈沖B輸入信號(hào)。B_IN信號(hào)的圓圈標(biāo)記中為干擾信號(hào),為消除該干擾信號(hào),對(duì)其進(jìn)行濾波處理,濾波時(shí)間為T。圖3中A和B分別為經(jīng)過濾波處理后的脈沖A信號(hào)和脈沖B信號(hào)。
為盡可能濾除干擾信號(hào),希望整形濾波時(shí)間T設(shè)置越大越好,但如果T超過脈沖高電平時(shí)間的一半,會(huì)使轉(zhuǎn)速方向判斷出錯(cuò),而且不同轉(zhuǎn)速下,脈沖高電平時(shí)間也不同。為了更好地濾除不同轉(zhuǎn)速下的干擾信號(hào),將整形濾波時(shí)間按照轉(zhuǎn)速分為多檔。
碼盤的最大響應(yīng)頻率一般不超過400kHz,對(duì)應(yīng)的高/低電平時(shí)間均為1.25μs,此時(shí)可選取濾波時(shí)間T為0.625μs,假定采樣時(shí)鐘周期為0.025μs,則對(duì)應(yīng)的時(shí)鐘脈沖數(shù)為25??砂凑张c最大響應(yīng)頻率成比例的關(guān)系進(jìn)行濾波時(shí)間分檔,分檔情況見表1。
表1 碼盤響應(yīng)頻率與對(duì)應(yīng)脈沖個(gè)數(shù) Tab.1 Encoder response frequency and number of corresponding pulses
其中,CNT為對(duì)應(yīng)濾波時(shí)間T的時(shí)鐘脈沖個(gè)數(shù)。
為便于編程實(shí)現(xiàn),將碼盤分辨率fs對(duì)應(yīng)成脈沖寬度Tk,即高/低電平時(shí)間。脈沖寬度Tk根據(jù)上一個(gè)測速周期采樣獲得M1(K-1)和M2(K-1)進(jìn)行計(jì)算:
式中:Tk表示碼盤A、B的脈沖寬度,s;M2(K-1)表示上一周期的采樣時(shí)鐘脈沖個(gè)數(shù);M1(K-1)表示上一周期的碼盤脈沖沿個(gè)數(shù)。
為保證脈沖信號(hào)經(jīng)過處理后的實(shí)時(shí)性,在軟件程序中假設(shè)A脈沖計(jì)數(shù)器cnta,當(dāng)脈沖A高電平時(shí),計(jì)數(shù)器cnta加1,當(dāng)脈沖A低電平時(shí),計(jì)數(shù)器cnta減1,cnta的范圍為0~CNT。
當(dāng)cnta=CNT時(shí),輸出濾波后信號(hào)A=1;當(dāng)cnta=0時(shí),輸出濾波后信號(hào)A=0;
同理,B脈沖濾波處理也采用上述方式。
通過上述方法實(shí)現(xiàn)碼盤輸入信號(hào)A/B脈沖隨轉(zhuǎn)速變化的濾波整形,不同轉(zhuǎn)速下濾波自適應(yīng)變化。
當(dāng)電機(jī)零速狀態(tài)下,由于碼盤的抖動(dòng),有可能使測速周期更新時(shí)刻左右兩側(cè)存在正負(fù)脈沖信號(hào),按照轉(zhuǎn)速計(jì)算方法,會(huì)導(dǎo)致判斷電機(jī)轉(zhuǎn)速不為0。
上述問題可通過增加狀態(tài)變量ac和lac記錄正負(fù)脈沖信號(hào)變化狀態(tài)。當(dāng)正脈沖信號(hào)發(fā)生時(shí),ac=1;當(dāng)負(fù)脈沖信號(hào)發(fā)生時(shí),ac=0。用lac記錄ac上一個(gè)周期的值。當(dāng)更新周期時(shí)刻TA到來時(shí),若ac=lac時(shí),即相鄰2個(gè)周期的脈沖信號(hào)同相,允許碼盤脈沖數(shù)M1和時(shí)鐘個(gè)數(shù)M2進(jìn)行更新;若ac≠lac時(shí),則不允許更新,將TA時(shí)刻左右出現(xiàn)的正負(fù)脈沖納入更大的時(shí)間范圍去進(jìn)行判斷,由此消除零速時(shí)碼盤抖動(dòng)帶來的轉(zhuǎn)速誤判影響。
碼盤測速系統(tǒng)控制器由FPGA和DSP芯片構(gòu)成,其中FPGA芯片負(fù)責(zé)對(duì)碼盤A、B脈沖信號(hào)采集、濾波處理、倍頻處理和零速防抖處理。FPGA中生成的碼盤計(jì)數(shù)值M1k、時(shí)鐘脈沖數(shù)M2k和轉(zhuǎn)速方向信息傳遞給DSP,在DSP中完成對(duì)碼盤轉(zhuǎn)速實(shí)時(shí)計(jì)算,碼盤轉(zhuǎn)速計(jì)算原理如圖4所示。
圖4 轉(zhuǎn)速計(jì)算流程圖 Fig.4 Flow chart of speed measurement
測速系統(tǒng)的驗(yàn)證在異步電動(dòng)機(jī)控制臺(tái)上進(jìn)行。實(shí)驗(yàn)設(shè)備:三相異步電動(dòng)機(jī),額定電壓380V,額定轉(zhuǎn)速1500r/min;碼盤每轉(zhuǎn)脈沖數(shù)1024,極對(duì)數(shù)2;勝利DM6234P非接觸式數(shù)字測速儀。異步電機(jī)測試臺(tái)如圖5所示。
圖5 實(shí)驗(yàn)測試機(jī)組 Fig.5 Experimental motor unit
測試實(shí)驗(yàn)主要完成電機(jī)在調(diào)速范圍內(nèi)測速及正反轉(zhuǎn)方向辨別。在電機(jī)空載狀態(tài)下,編碼器線纜不采用屏蔽線纜,與動(dòng)力電線纜靠近,制造碼盤干擾環(huán)境。電機(jī)從零速上升到額定轉(zhuǎn)速,記錄不同轉(zhuǎn)速時(shí)的測速系統(tǒng)測量轉(zhuǎn)速和數(shù)字測速儀的轉(zhuǎn)速,2種方法各重復(fù)測速3次,采用3次重復(fù)測速的迭代平均值作為速度反饋結(jié)果。2種方法測速結(jié)果及兩者對(duì)比誤差見圖6(a,b)所示,測速結(jié)果驗(yàn)證了本文抗脈沖干擾測速方法的有效性。
圖6 速度反饋結(jié)果 Fig.6 Speed feedback results
工業(yè)電機(jī)傳動(dòng)系統(tǒng)中,碼盤測速裝置受到各種干擾因素影響,致使所測轉(zhuǎn)速不準(zhǔn)確,影響系統(tǒng)可靠、高性能運(yùn)行。針對(duì)此問題,本文提出了一種適用于增量式光電編碼器的消除擾動(dòng)影響的測速方法。根據(jù)脈沖寬度,設(shè)定不同的濾波時(shí)間,從而在不導(dǎo)致計(jì)算速度反向情況下,最大程度消除干擾影響。根據(jù)相鄰周期脈沖信號(hào)狀態(tài)判斷轉(zhuǎn)速是否更新,以消除零速碼盤抖動(dòng)。
實(shí)驗(yàn)結(jié)果表明,測速系統(tǒng)能有效地實(shí)現(xiàn)轉(zhuǎn)速正反向辨別,且有效抑制干擾因素造成的計(jì)數(shù)錯(cuò)誤,明顯提高了測速的準(zhǔn)確性。本方法計(jì)算簡單,便于微處理器編程實(shí)現(xiàn),且占用資源較少,便于工程應(yīng)用?!?/p>