李 勇,潘松峰
(青島大學(xué) 自動(dòng)化與電氣工程學(xué)院,青島 266071)
電機(jī)是各種自動(dòng)化設(shè)備中的主要組成部分,對(duì)電機(jī)轉(zhuǎn)速的精確、快速的測(cè)量是衡量一個(gè)系統(tǒng)好壞的重要指標(biāo)。尤其在工業(yè)生產(chǎn)中,精確的測(cè)量點(diǎn)擊轉(zhuǎn)速可以安全有效的對(duì)機(jī)械設(shè)備進(jìn)行故障預(yù)防,增加系統(tǒng)的安全性,減小設(shè)備的維護(hù)成本。
因此,設(shè)計(jì)一個(gè)高精度,款范圍且可靠性高的電機(jī)轉(zhuǎn)速表,在各種生產(chǎn)設(shè)備中顯得尤為重要。本文利用光電碼盤,結(jié)合DSP芯片設(shè)計(jì)了一款寬范圍高精度的測(cè)速表。
測(cè)速表的硬件組成示意圖如圖1所示。
圖1 測(cè)速表示意圖
其中主要硬件包括兩部分:光電碼盤和DSP芯片。
光電編碼器是被廣泛使用于電機(jī)測(cè)量。碼盤旋轉(zhuǎn)時(shí),一對(duì)光感應(yīng)器件輸出的信號(hào)和另外一對(duì)光感應(yīng)器件輸出的信號(hào)的相位相差90°,這就是通常所說的正交信號(hào)QEPA和QEPB。根據(jù)相位情況可以判定碼盤的旋轉(zhuǎn)方向。在實(shí)際應(yīng)用中,常常定義為QEPA比QEPB相位超前90°到來時(shí),電機(jī)轉(zhuǎn)向?yàn)轫槙r(shí)針方向。當(dāng)電機(jī)正轉(zhuǎn)時(shí),光電編碼器輸出的波形如圖2所示。
作為C2000系列一款典型的控制芯片,TMS320F28335芯片將常用的轉(zhuǎn)速測(cè)量電路集成于芯片內(nèi)部,組成了增強(qiáng)型正交編碼模塊eQEP。當(dāng)工作在正交計(jì)數(shù)模式下,正交解碼單元可對(duì)正交信號(hào)進(jìn)行4倍頻處理,為位置計(jì)數(shù)器寄存器的計(jì)數(shù)提供時(shí)鐘頻率。例如,一個(gè)2000線的編碼器旋轉(zhuǎn)一周時(shí),會(huì)輸出8000個(gè)計(jì)數(shù)脈沖。同時(shí)還會(huì)通過判定正交信號(hào)的先后順序來確定電機(jī)的轉(zhuǎn)向。
該模塊內(nèi)的捕獲單元可以根據(jù)系統(tǒng)時(shí)鐘分頻后工作,為變M/T法提供時(shí)間的計(jì)算,分頻可以通過設(shè)置相應(yīng)的寄存器來設(shè)置。
應(yīng)用光電碼盤測(cè)速時(shí),常見的方法主要有四種,分別是M法,T法,M/T法和變M/T法。本次設(shè)計(jì)是采用的變M/T法,在此之前,先簡(jiǎn)單介紹一下其他三種原理。
M法又稱之為測(cè)頻法,其原理是先設(shè)定一定的時(shí)間,然后在這段時(shí)間TC內(nèi),對(duì)光電碼盤輸出的信號(hào)的個(gè)數(shù)進(jìn)行計(jì)數(shù)。在測(cè)量過程中,計(jì)取的脈沖數(shù)M1不一定正好是整數(shù),M1可能存在±1的誤差。計(jì)取的M1的值越大,所得的誤差越小,因此M法適用于高速轉(zhuǎn)速的測(cè)量。
T法又稱之為測(cè)周法,此測(cè)量原理是在一個(gè)脈沖周期內(nèi)對(duì)高頻脈沖數(shù)進(jìn)行計(jì)數(shù)。為了減小誤差,計(jì)得的高頻脈沖M2應(yīng)盡量大,因此T法測(cè)量適用于低速測(cè)量。
M/T法是將M法和T法兩種方法結(jié)合起來,即在一定的時(shí)間范圍TC內(nèi),計(jì)取光電碼盤輸出的脈沖數(shù)M1的同時(shí),也對(duì)高頻脈沖M2進(jìn)行計(jì)數(shù)。TC時(shí)間到來后,再計(jì)取ΔT時(shí)間內(nèi)的高頻脈沖數(shù)m,ΔT是時(shí)間TC結(jié)束后到碼盤信號(hào)下一個(gè)脈沖上升沿的時(shí)間間隔,如圖3所示。則電機(jī)的轉(zhuǎn)速:
M/T能夠適用于較廣的測(cè)量范圍,測(cè)量精度也相對(duì)較高,但這種方法的缺點(diǎn)是,測(cè)量精度取決于ΔT的測(cè)取。測(cè)取的過程較為復(fù)雜,針對(duì)這個(gè)缺點(diǎn),本文采用了變M/T的測(cè)速方法。
圖3 M/T法測(cè)速原理
變M/T法的原理在電機(jī)轉(zhuǎn)速測(cè)量的過程中,測(cè)量時(shí)間TC并不是一成不變的,而是根據(jù)當(dāng)前的電機(jī)轉(zhuǎn)速的大小來調(diào)節(jié)TC的大小。即測(cè)取得光電碼盤脈沖數(shù)M1和高頻脈沖數(shù)M2都是變化的。時(shí)間TC在測(cè)量的過程始終等于M1個(gè)脈沖的周期之和,如圖2所示。其中時(shí)間TC的大小由已知的高頻脈沖數(shù)M2來計(jì)算,即法方法TC=M2/f0,速度公式為:
圖4 變M/T法測(cè)速原理
當(dāng)電機(jī)轉(zhuǎn)速較低時(shí),可以減下時(shí)間TC來彌補(bǔ)M/T法在低速檢測(cè)時(shí)誤差較大的缺點(diǎn)。同時(shí)也不需要測(cè)取M/T法中的ΔTT,其性能均等于或超過M法和T法。
式(1)中,f0是eQEP模塊內(nèi)的高頻時(shí)鐘頻率,N是光電編碼器旋轉(zhuǎn)一周后輸出的脈沖個(gè)數(shù)。此次設(shè)計(jì)的測(cè)速表多用的編碼器為2000線,即N=2000。在測(cè)量時(shí)間TC內(nèi),式(1)中的M1始終是一個(gè)整數(shù),不存在M法中的±1個(gè)脈沖的誤差,只有高頻脈沖會(huì)存在±1個(gè)脈沖的誤差。
即誤差公式:
相對(duì)誤差:
顯然檢測(cè)誤差只與M2的大小有關(guān)且成反比。由M2=TC.f0知,增大高頻時(shí)鐘頻率f0和增大允許測(cè)量時(shí)間TC可以減小檢測(cè)誤差。
TMS320F28335芯片eQEP模塊內(nèi)含邊沿捕獲單元,可以通過設(shè)置該單元寄存器中的值來改變高頻時(shí)鐘頻率f0。由式(4)可知,M2的數(shù)值越大,即時(shí)鐘頻率越高,所得到的速度誤差越小??紤]到時(shí)鐘計(jì)數(shù)寄存器為16位寄存器(即最大值為65535)。故TC時(shí)間一定的情況下,f0盡可能大的前提是該計(jì)數(shù)器沒有發(fā)生溢出。本測(cè)量TC的最大值大約在10ms左右,故設(shè)置為32頻,可使得時(shí)鐘計(jì)數(shù)器的值盡可能大(為46875)且不溢出。
下面推導(dǎo)M1的選?。?/p>
改變測(cè)量時(shí)間的大小是通過設(shè)置不同的M2的值來實(shí)現(xiàn)的,其中N為編碼器的線數(shù),N=2000,測(cè)量時(shí)間公式為:
由式(5)可得:
同時(shí),為保證測(cè)量誤差在萬分之一以內(nèi),則M2的值必須大于10000,測(cè)量時(shí)間需有一個(gè)下限值,即f0.t≥M2=10000,可得測(cè)量時(shí)間需t≥2.2ms。
又由2.2ms≤t≤10ms可得M1與轉(zhuǎn)速r的關(guān)系為:
由式(7)針對(duì)不同的轉(zhuǎn)速范圍,設(shè)定不同的M1,具體如下:
速度在0~40r/min時(shí),M1=12;40~160r/min時(shí),M1=50;160~600r/min時(shí),M1=200;600~1500r/min時(shí),M1=500;1500~5000r/min時(shí),M1=1800;5000~20000r/min時(shí),M1=6400。
當(dāng)確定高頻時(shí)鐘頻率后,測(cè)量時(shí)間TC的選?。碝1的選?。┦歉鶕?jù)當(dāng)前電機(jī)的轉(zhuǎn)速范圍而定,當(dāng)電機(jī)轉(zhuǎn)速較高時(shí),為減小誤差可將M1取的較大,相當(dāng)于M法;當(dāng)電機(jī)轉(zhuǎn)速較低時(shí),考慮到快速響應(yīng)的問題,可以將M1的值取的較小,相當(dāng)于T法。
流程圖說明:
當(dāng)轉(zhuǎn)速表接到電機(jī)軸上時(shí),由于無法確定當(dāng)前速度的范圍,故需要粗測(cè)一次速度值來確定具體的M1。此時(shí),可允許測(cè)量的時(shí)間較長(zhǎng),可令M1=6400,然后根據(jù)式(2)粗測(cè)一次速度。然后再根據(jù)粗測(cè)速度所在的速度范圍確定相應(yīng)的M1的值,然后再高精度的測(cè)量。
變M/T法實(shí)現(xiàn)的前提是,測(cè)量時(shí)間等、始終等于碼盤脈沖數(shù)M1。即在正交信號(hào)的上升沿或下降沿到來時(shí),開啟位置計(jì)數(shù)器(QPOSCNT)和捕獲定時(shí)寄存器(QCTMR)??梢酝ㄟ^設(shè)置相應(yīng)的外圍硬件加以實(shí)現(xiàn),由于指令執(zhí)行周期短,也可以設(shè)置相應(yīng)的軟件程序來實(shí)現(xiàn)。程序處理如下:開啟兩個(gè)計(jì)數(shù)器之后,當(dāng)位置計(jì)數(shù)器增加到1的時(shí)候,將捕獲時(shí)鐘寄存器清零。做到位置計(jì)數(shù)器,高頻時(shí)鐘時(shí)鐘和正交信號(hào)三者同步。
程序流程圖如圖5所示。
圖5 程序流程圖
測(cè)量所得數(shù)據(jù)如表1所示。
表1 測(cè)量結(jié)果表
從實(shí)際測(cè)量的數(shù)據(jù)來看,DSP結(jié)合光電碼盤所設(shè)計(jì)的測(cè)速表滿足萬分之一的測(cè)量的精度要求。若要進(jìn)一步減小誤差,提高測(cè)量精度,可適當(dāng)減小分頻數(shù),提高時(shí)鐘頻率;或者增加速度段,增大M1的值,來增大測(cè)量時(shí)間。
此測(cè)速表的設(shè)計(jì)采用變M/T法,從理論上推導(dǎo)了,為達(dá)到萬分一的誤差精度以及一定的響應(yīng)時(shí)間所需要的M1的值,并且用測(cè)量數(shù)據(jù)驗(yàn)證了該方法的可行性。同時(shí)也高效利用了DSP芯片中可編程的高頻脈沖的特性。讀者可根據(jù)自己所需要的測(cè)量精度和響應(yīng)時(shí)間對(duì)M1的取值做出相應(yīng)的修改。對(duì)程序加以修改,也可以用于伺服系統(tǒng)速度反饋環(huán)的設(shè)計(jì)。
[1]肖兵,薛琦,余師棠.基于DSP的M/T測(cè)速法的改進(jìn)[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)),2009(10):65-68.
[2]候濤,范多旺.基于增量式光電編碼器的高精度測(cè)速應(yīng)用研究[J].自動(dòng)化與儀器儀表,2010(6):9-14.
[3]夏承光,陳沖,張晉格,等.數(shù)字伺服系統(tǒng)中光電碼盤測(cè)量的變M/T法[J].自動(dòng)化技術(shù)與應(yīng)用,1986(2):40-45.
[4]劉廷霞.基于CPLD的全數(shù)字測(cè)速法[J].長(zhǎng)春理工大學(xué)學(xué)報(bào),2004(3).
[5]韓安太.DSP控制器原理及其在運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用[J].北京:清華大學(xué)出版社,2003.
[6]劉和平.TMS320LF240XDSPC 語言開發(fā)與應(yīng)用[M].北京:航空航天大學(xué)出版社,2003.
[7]高瑞昌.DSP在測(cè)速中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2004(3).
[8]陳爽,殷佳琳,段國艷.基于DSP/QEP電路的電機(jī)位置檢測(cè)和轉(zhuǎn)速測(cè)量研究[J].電子技術(shù),2009.
[9]蘇奎峰,呂強(qiáng),鄧志東,等.TMS320x28xxx原理與開發(fā)[M].北京:電子工業(yè)出版社,2009.
[10]梁利華,趙林.增量式光電碼盤變M/T方法應(yīng)用[J].應(yīng)用科技,2000,27(4):13-15.
[11]寧改娣,楊栓科.DSP控制器原理及應(yīng)用[M].北京:科學(xué)出版社,2002.
[12]肖本賢.一種提高轉(zhuǎn)速測(cè)量范圍與精度的新方法[J].自動(dòng)化儀表,1997(11):21-23.