韓 亮
(山西機電職業技術學院電子電氣工程系,山西 長治 046011)
在異步電機調速系統中,經常采用轉速閉環、磁通開環并帶有速度傳感器的矢量控制方式。電機轉速是判定電機運行狀態的關鍵參數,尤其在電機閉環控制系統中,轉速的準確性直接影響到整個控制系統的穩態誤差及動態響應。[1]電機轉速的測量方法有模擬測速法和數字測速法。數字測速法是一種精度較高的電機轉速測量方法,它根據數字測速原理,采用數字式控制器計算電機轉速。測量電機轉速的速度傳感器使用光電編碼器,隨著電機旋轉,光電編碼器產生高速脈沖,然后通過計算脈沖的頻率或周期來求得電機轉速。
文獻[2]提出使用PLC的高速計數器功能,捕捉光電編碼器產生的高速脈沖,由PLC計算電機轉速的方法。具體方法如下:使用2個定時器(精度為1 ms)截取250 ms的時間間隔,把計時開始時高速計數器捕捉到的脈沖數放入VD0中,把計時結束時高速計數器捕捉到的脈沖數放入VD4中,VD4減去VD0的值即為250 ms內的脈沖數,[2]然后再根據M 法測速公式,由PLC計算出電機的轉速。用定時器延時10 ms,循環執行以上程序。
本文提出一種改進的測速方法,同樣使用高速計數器(HSC),根據PLC提供的定時中斷功能,設置較短的定時中斷間隔時間,每次觸發定時中斷子程序時,讀取1次高速計數器當中的脈沖數,然后再根據M法測速公式,由PLC計算出電機的轉速。該測量方法無需使用定時器功能,只需讀取1次高速計數器當中的數據便可以計算出電機轉速,程序結構簡潔明了,效率高。通過設置較短的定時中斷時間間隔,提高了電機轉速測量的實時性。
光電編碼器代替了測速發電機的模擬測速,是一種數字測速裝置。數字測速方法主要有M法測速、T法測速和M/T法測速。[3]
1)M法測速是指在一定的時間間隔TC內,用編碼器所產生的脈沖數來確定電機轉速的方法。
2)T法測速是指用編碼器所產生的相鄰2個脈沖之間的時間來確定被測電機轉速的方法,在T法測速中,必須使用標準頻率fC作為測量編碼器周期的時鐘。[4]
3)把M法和T法結合起來計算電機的轉速,既檢測TC時間內編碼器輸出的脈沖個數,又檢測同一時間間隔的高頻時鐘脈沖個數,稱作M/T法測速。
由于在一定的時間間隔TC內,編碼器所產生的脈沖數比較容易獲得,所以本文采用常用的M法測速。若編碼器每轉產生N個脈沖,在時間間隔TC內得到了M1個脈沖,則編碼器所產生的脈沖頻率為:

那么電機轉速(rad/min)的計算公式[4]為:

將式(1)代入式(2)得:

M法測速適合于轉速較快的場合。當電機轉速較快時,編碼器輸出的脈沖頻率較高,測量精度也較高;而當電機轉速較慢時,編碼器輸出的脈沖頻率較低,測量精度也降低。
采用M法測量電機轉速,需要得到一定時間間隔內編碼器產生的脈沖數。而編碼器輸出脈沖的頻率很高,PLC的CPU掃描頻率來不及捕捉編碼器高速輸出的脈沖個數,因此,使用PLC提供的高速計數器(HSC)功能來完成編碼器輸出脈沖的計數。
HSC的計數速度比PLC掃描速度快得多,計數脈沖頻率可達20 kHz以上。[5]HSC累計 CPU掃描速率不能控制的高速事件,可以配置最多12種不同的操作模式。高速計數器的最高計數頻率有賴于CPU的型號。西門子公司的S7-200系列小型PLC,可以滿足多種小規模控制場合的要求。S7-200系列CPU226功能最強大,可擴展的模塊數量最多,考慮到控制系統的擴展性,選用CPU226作為控制器。
S7-200系列 CPU226具有 HSC0、HSC1、HSC2、HSC3、HSC4和 HSC56個高速計數器。HSC0和HSC4是多用途計數器,可配置成8種不同操作模式中的任何1種;HSC1和HSC2是多用途計數器,可以配置成12種不同操作模式中的任何1種;HSC3和HSC5是簡單計數器,只有1種操作模式。本文給出的測速方法選擇使用高速計數器HSC0,并且處于0工作模式。
選擇1臺交流電機作為被測電機。電機型號Y225M -4,額定功率45 kW,額定電壓380 V,額定電流84.2 A,額定轉速1420 rad/min。使用富士公司生產的變頻器,將變頻器的U、V、W三相與交流電機相連,驅動交流電機。變頻器的型號為FRN5000G11S。編碼器選用AUTONICS公司生產的編碼器,型號為E40S6-360-3-1-24。將編碼器與電機同軸相連,電機每轉1轉,此編碼器產生360個脈沖,為盡量減小測量誤差,選擇電機在額定運行狀態下測量電機轉速。S7-226PLC的輸入電壓為24 V,選擇 I 0.0作為HSC0的輸入端口。電機轉速測量系統的硬件設計圖如圖1所示。
M法測速,需要確定在一定時間間隔TC內編碼器所產生的脈沖數M1,然后再根據式(3)計算電機的轉速。

圖1 電機轉速測量系統的硬件設計圖
首先,使用首次掃瞄時為1的特殊存儲器字節的狀態位SM 0.1調用子程序SBR_0和SBR_1。SBR_0用于定義1個定時中斷,中斷事件號為10,并將此中斷事件與中斷程序INT_0相連。特殊存儲器字節SMB34用于定義定時中斷0的時間間隔,從1~255 ms,以1 ms為增量。考慮到編碼器的分辨率以及電機的額定轉速,故采用20 ms為定時中斷0的時間間隔,這樣不僅保證了測量精度,而且也保證了轉速測量的實時性。SBR_1用于初始化1個高速計數器HSC0。特殊存儲器SMB37和SMD38用于監視和控制HSC0的操作。通過配置SMB37控制字節來選擇HSC0的操作方式:將 HSC0的有效位置1;可以更新HSC0的當前值;不更新HSC0的計數方向,采用增計數方式;無復位電平信號。通過SMD38來設置HSC0的當前值,將當前值初始化為0。根據以上所述,配置特殊存儲器 SMB37=16#C8,SMD38=0。
當定時中斷事件發生時,進入中斷程序INT_0計算電機轉速。在中斷程序中讀取HSC0的值,它便是20 ms內編碼器發出的脈沖數。將HSC0中的數值轉換為實型后除以0.02 s(定時中斷0的時間間隔),得到的數據就是編碼器產生的脈沖頻率,將此數據存入VD8中。再根據M法測速公式,由PLC計算出電機轉速存入VD20。VD20中存儲的數據,便是此時電機的轉速值。最后,再將HSC0的當前值清零,即SMD38=0,然后重新啟動HSC0。每觸發1次定時中斷(20 ms),就計算1次電機轉速。測量電機轉速的程序流程圖如圖2、圖3所示。圖2為主程序流程圖,圖3為中斷程序流程圖。

圖2 主程序流程圖

圖3 中斷程序流程圖
依據電機數字測速原理,提出的基于PLC的數字測速方法,無需使用定時器功能,而且每計算1次電機轉速只需要讀取1次高速計數器當中的脈沖數據,該方法測速效率更高。實踐表明,使用該方法得到的測量結果精度高,測速實時性好,是理想的電機轉速測量方法。
[1]李貴山,林正星,郝勇.微機控制的電機轉速實時檢測系統[J].自動化儀表,1996(6):18-19.
[2]李曉海,南新元,謝麗蓉.基于高速脈沖計數器的電機轉速測量系統設計[J].微電機,2012,45(2):72 -74.
[3]高玉芹.電機轉速的高精度快速測量[J].自動化與儀表,2000,15(6):41 -44.
[4]梁森,王侃夫,黃杭美.自動檢測與轉換技術[M].北京:機械工業出版社,2010:185-186.
[5]譚霖.PLC 中的轉速測量[J].電氣時代,2002(9):115.