《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > BLDCM增量式光電編碼器碼盤(pán)損傷檢測(cè)系統(tǒng)
BLDCM增量式光電編碼器碼盤(pán)損傷檢測(cè)系統(tǒng)
來(lái)源:微型機(jī)與應(yīng)用2010年第24期
馬柯帆, 方 方, 余國(guó)剛, 易良碧
(成都理工大學(xué),四川 成都 610059)
摘要: 直流無(wú)刷電機(jī)(BLDCM)兼有交流電機(jī)的結(jié)構(gòu)簡(jiǎn)單和普通直流電機(jī)的高運(yùn)行效率以及極佳調(diào)速性能等特點(diǎn);尤其在精確定位的伺服系統(tǒng)中得到廣泛應(yīng)用。但在BLDCM高精度伺服定位中起著關(guān)鍵作用的光電編碼器碼盤(pán)在實(shí)際安裝中常會(huì)因?yàn)椴僮鞑划?dāng)而對(duì)其造成損傷,增大了電機(jī)產(chǎn)品的出廠故障率。介紹了基于FPGA設(shè)計(jì)的光電碼盤(pán)損傷檢測(cè)方案,可以快速準(zhǔn)確地檢測(cè)待測(cè)BLDCM光電編碼器碼盤(pán)的受損程度。
Abstract:
Key words :

摘  要: 直流無(wú)刷電機(jī)(BLDCM)兼有交流電機(jī)的結(jié)構(gòu)簡(jiǎn)單和普通直流電機(jī)的高運(yùn)行效率以及極佳調(diào)速性能等特點(diǎn);尤其在精確定位的伺服系統(tǒng)中得到廣泛應(yīng)用。但在BLDCM高精度伺服定位中起著關(guān)鍵作用的光電編碼器碼盤(pán)在實(shí)際安裝中常會(huì)因?yàn)椴僮鞑划?dāng)而對(duì)其造成損傷,增大了電機(jī)產(chǎn)品的出廠故障率。介紹了基于FPGA設(shè)計(jì)的光電碼盤(pán)損傷檢測(cè)方案,可以快速準(zhǔn)確地檢測(cè)待測(cè)BLDCM光電編碼器碼盤(pán)的受損程度。
關(guān)鍵詞: 直流無(wú)刷電機(jī); FPGA; 增量式光電編碼器; 碼盤(pán)

    直流無(wú)刷電機(jī)(BLDCM)是利用電子換向裝置驅(qū)動(dòng)電機(jī)轉(zhuǎn)子的一種常用動(dòng)力設(shè)備,由于其可方便實(shí)現(xiàn)精確定位功能,使其在伺服系統(tǒng)得以廣泛應(yīng)用[1]。BLDCM轉(zhuǎn)子運(yùn)行位置的精確反饋是整個(gè)伺服系統(tǒng)的關(guān)鍵,因此轉(zhuǎn)子位置的檢測(cè)在BLDCM電機(jī)伺服控制系統(tǒng)中有著十分重要的作用。光電碼盤(pán)位置檢測(cè)法是通過(guò)光電對(duì)管計(jì)數(shù)電機(jī)轉(zhuǎn)子帶動(dòng)碼盤(pán)旋轉(zhuǎn)時(shí)發(fā)出的脈沖數(shù),計(jì)算得到電機(jī)運(yùn)行過(guò)程中的轉(zhuǎn)子位置。光電管的物理特性決定其具有高測(cè)量精度、高檢測(cè)速度;因此光電碼盤(pán)位置檢測(cè)法能快速準(zhǔn)確地反應(yīng)電機(jī)轉(zhuǎn)子的機(jī)械位置,在伺服系統(tǒng)中得到廣泛的應(yīng)用。
    光電編碼器是一種通過(guò)光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器。典型的光電編碼器由碼盤(pán)、檢測(cè)光柵、光電轉(zhuǎn)換電路(包括光源、光敏器件、信號(hào)轉(zhuǎn)換電路)、機(jī)械部件等組成[2]。碼盤(pán)上刻有間距相等的輻射狀透光縫隙,相鄰兩個(gè)透光縫隙之間代表一個(gè)位置增量。它通過(guò)物理連接如“連軸器”與電機(jī)的轉(zhuǎn)軸同心連接,被轉(zhuǎn)軸帶動(dòng)旋轉(zhuǎn),在透光和不透光的情況下便會(huì)通過(guò)轉(zhuǎn)換電路輸出連續(xù)的脈沖信號(hào),在BLDCM運(yùn)行中根據(jù)脈沖計(jì)數(shù)即可計(jì)算出轉(zhuǎn)子的位置,通過(guò)算法還可以精確地得到電機(jī)的運(yùn)行速度和旋轉(zhuǎn)方向[3]。光電編碼器原理示意圖如圖1所示。

    增量式編碼器是直接利用光電轉(zhuǎn)換原理輸出兩組方波脈沖A、B,其中A、B兩組脈沖相位差90°,從而可方便地判斷出旋轉(zhuǎn)方向。其優(yōu)點(diǎn)是原理構(gòu)造簡(jiǎn)單,機(jī)械平均壽命可在幾萬(wàn)小時(shí)以上,抗干擾能力強(qiáng),可靠性高,并適合于長(zhǎng)距離傳輸[2,4]。增量式編碼器碼盤(pán)屬于高精度儀器,然而在現(xiàn)場(chǎng)操作中往往會(huì)因?yàn)闄C(jī)械裝配原因而使碼盤(pán)受到損傷(如扭曲變形),特別是光柵受損錯(cuò)位等,這就會(huì)使轉(zhuǎn)子位置反饋信號(hào)出現(xiàn)不同程度的偏差,嚴(yán)重情況下甚至?xí)?dǎo)致整個(gè)伺服系統(tǒng)的失敗,造成不必要的故障和損失。為此,本文著重介紹了基于可編程邏輯器件FPGA設(shè)計(jì)的BLDCM整機(jī)光電編碼器碼盤(pán)檢測(cè)系統(tǒng)。
1 系統(tǒng)方案的確定
    本系統(tǒng)是BLDCM整機(jī)測(cè)試方案, BLDCM帶有待測(cè)的增量式編碼器碼盤(pán),且待測(cè)碼盤(pán)在測(cè)試臺(tái)上被電機(jī)后座封閉。為了得到準(zhǔn)確的測(cè)量結(jié)果,測(cè)試系統(tǒng)提供待測(cè)電機(jī)恒定的旋轉(zhuǎn)速度,未受損的增量式編碼器通過(guò)光電對(duì)管和光柵的配合,輸出連續(xù)占空比為50%的方波信號(hào)。測(cè)試系統(tǒng)控制器通過(guò)驅(qū)動(dòng)步進(jìn)電機(jī)控制器使得BLDCM按恒定的轉(zhuǎn)速旋轉(zhuǎn),設(shè)BLDCM轉(zhuǎn)速為Kround/Min,編碼器碼盤(pán)光柵分辨率為N,則正常碼盤(pán)輸出的脈沖周期寬度為:
    
式(2)說(shuō)明在正常情況下,每個(gè)電平持續(xù)的時(shí)間約為0.83 ms,為了提高系統(tǒng)檢測(cè)準(zhǔn)確性,應(yīng)該進(jìn)一步提高測(cè)試系統(tǒng)的時(shí)鐘頻率,使得光電管單個(gè)脈沖輸出期間檢測(cè)系統(tǒng)所得的高頻時(shí)鐘計(jì)數(shù)越多,系統(tǒng)可以得到更真實(shí)的碼盤(pán)輸出脈沖寬度信息,因此提高時(shí)鐘頻率是有效的方法。若采用傳統(tǒng)的單片機(jī)設(shè)計(jì)光電編碼器碼盤(pán)檢測(cè)系統(tǒng),由于單片機(jī)時(shí)鐘頻率較低,外設(shè)速度較慢。若碼盤(pán)出現(xiàn)損壞則輸出不規(guī)則的波形,如圖2(b)所示,此時(shí)會(huì)出現(xiàn)電平持續(xù)時(shí)間長(zhǎng)短不一的情況,若碼盤(pán)分辨率稍高,某些檢測(cè)時(shí)刻甚至?xí)幱跀?shù)十微秒的數(shù)量級(jí)上,易造成檢測(cè)錯(cuò)誤。FPGA屬于高速并行器件,運(yùn)行頻率高,內(nèi)部存儲(chǔ)容量大,所有模塊都是并行運(yùn)行[5],這就極大地減少了內(nèi)部延時(shí),因此它更適應(yīng)于檢測(cè)碼盤(pán)損傷。

    系統(tǒng)中BLDCM為被動(dòng)旋轉(zhuǎn)運(yùn)行方式,但需通過(guò)接口向光電對(duì)管提供+5 V直流工作電壓,以供輸出檢測(cè)脈沖信號(hào)??刂破魍ㄟ^(guò)控制步進(jìn)電機(jī)的啟停來(lái)控制待測(cè)BLDCM的旋轉(zhuǎn)和停止。在啟動(dòng)測(cè)試系統(tǒng)階段,系統(tǒng)從靜止開(kāi)始加速旋轉(zhuǎn)BLDCM,待轉(zhuǎn)速穩(wěn)定在控制器根據(jù)編碼器設(shè)定的速度后,正式開(kāi)始進(jìn)入碼盤(pán)測(cè)試階段,并通過(guò)外接LED指示說(shuō)明系統(tǒng)運(yùn)行狀態(tài),目前為滿足不同分辨率的碼盤(pán)測(cè)試要求,測(cè)試系統(tǒng)通過(guò)編碼器可以設(shè)定3種速度,即K=25,50,100。碼盤(pán)輸出的脈沖信號(hào)經(jīng)簡(jiǎn)單的調(diào)理電路后直接連接到FPGA的引腳提供給控制器進(jìn)行運(yùn)算,所得結(jié)果輸出并通過(guò)LED和蜂鳴器進(jìn)行故障指示。圖3為測(cè)試系統(tǒng)的功能簡(jiǎn)圖。

2 碼盤(pán)損傷檢測(cè)系統(tǒng)整體方案的實(shí)現(xiàn)
    本系統(tǒng)采用Xilinx的Spartan3E型號(hào)為XC3S500E[6]的FPGA,系統(tǒng)流程圖如圖4。整個(gè)系統(tǒng)采用Top-Down的設(shè)計(jì)思想,把系統(tǒng)劃分為幾個(gè)基本單元,頂層采用原理圖的輸入方式如圖5所示。


2.1 時(shí)鐘計(jì)數(shù)模塊
    系統(tǒng)采用50 MHz時(shí)鐘對(duì)碼盤(pán)輸入的波形進(jìn)行計(jì)數(shù)。在正常情況下,光電對(duì)管輸出的待測(cè)信號(hào)(本系統(tǒng)中為CP)應(yīng)該為標(biāo)準(zhǔn)的方波,若碼盤(pán)被損壞則輸入的方波也必然會(huì)變得不規(guī)則??刂破饔肅LK對(duì)待測(cè)信號(hào)進(jìn)行寬度計(jì)數(shù),CP上升沿和下降沿來(lái)時(shí)將計(jì)數(shù)器內(nèi)的值分別輸入FPGA的RAM中。
2.2 單口RAM模塊
    采用Xilinx ISE9.1的單口RAM IP核對(duì)時(shí)鐘模塊輸出的計(jì)數(shù)值進(jìn)行存儲(chǔ),RAM Core原理圖符號(hào)如圖6[7]。為了在每個(gè)時(shí)鐘沿觸發(fā)時(shí)使存儲(chǔ)器的利用率最大化,XC3S500E提供的RAM塊支持3種不同的寫(xiě)模式。根據(jù)需要系統(tǒng)選擇寫(xiě)優(yōu)先模式(Write First mode),當(dāng)WE為高電平時(shí)向RAM中寫(xiě)入數(shù)據(jù),當(dāng)WE為低電平是根據(jù)輸入的地址ADDR將存儲(chǔ)器內(nèi)的數(shù)據(jù)讀出,其時(shí)序如圖7[7]。

    為了提高測(cè)試的精度,保證測(cè)試結(jié)果的可靠性,系統(tǒng)設(shè)定了采樣3周待測(cè)碼盤(pán)輸出信號(hào),也就是先把電機(jī)轉(zhuǎn)動(dòng)完整3周所輸出的計(jì)數(shù)值全部存入RAM中,然后再讀取需要的值進(jìn)行運(yùn)算。設(shè)計(jì)中分別用兩個(gè)模塊對(duì)RAM的WE和ADDR取值進(jìn)行了控制,以保證電機(jī)在此3周轉(zhuǎn)動(dòng)中WE始終是高(即為寫(xiě)),地址始終遞增,3周以后WE變?yōu)榈?即為讀),地址從0開(kāi)始遞增。
2.3 減法及存儲(chǔ)模塊
    由于RAM模塊內(nèi)存儲(chǔ)的分別為CP上升和下降沿到來(lái)時(shí)的時(shí)鐘數(shù)計(jì)數(shù)值,此模塊遞增改變讀地址,實(shí)現(xiàn)RAM數(shù)據(jù)的減法運(yùn)算,即可得到CP在每個(gè)高電平或低電平對(duì)應(yīng)的時(shí)鐘計(jì)數(shù)值。此時(shí)鐘計(jì)數(shù)值的多少反應(yīng)了它們?cè)诟叩碗娖降某掷m(xù)時(shí)間。將所得的結(jié)果再次存入一單口RAM中,以便后續(xù)的比較運(yùn)算。
2.4 比較模塊
    此模塊用于比較CP在前一個(gè)高電平(或低電平)與后一個(gè)高電平(或低電平)持續(xù)的時(shí)間是否一致。對(duì)于不同的時(shí)鐘頻率所得的計(jì)數(shù)精確度不一樣,因此相鄰兩個(gè)同樣電平持續(xù)的時(shí)間也不可能完全相同,本系統(tǒng)中設(shè)定的計(jì)數(shù)差值為±10,即相鄰兩個(gè)同樣電平計(jì)數(shù)值之差在±10之間,模塊輸出低電平,測(cè)試系統(tǒng)判斷碼盤(pán)是正常未受損;一旦計(jì)數(shù)值之差超過(guò)10,模塊將會(huì)輸出一個(gè)高電平,用以記錄碼盤(pán)出現(xiàn)受損的情況。然后再比較下一個(gè)相鄰高電平(或相鄰低電平),由此類推。分析模塊的輸出端(q)可以發(fā)現(xiàn),如果碼盤(pán)是正常的,則q全為低電平;反之,則會(huì)出現(xiàn)高電平,并可計(jì)數(shù)分析高電平的個(gè)數(shù),計(jì)算出碼盤(pán)損壞的嚴(yán)重程度。碼盤(pán)受損的仿真比較結(jié)果如圖8所示。

2.5 驅(qū)動(dòng)及復(fù)位模塊
    為了便于用戶觀察,系統(tǒng)加入了驅(qū)動(dòng)復(fù)位模塊,用以驅(qū)動(dòng)故障指示LED和蜂鳴器。其設(shè)計(jì)思想是,一旦輸入端出現(xiàn)高電平,且整個(gè)系統(tǒng)在不復(fù)位的情況下,模塊輸出兩路周期為1 s的方波,驅(qū)動(dòng)LED燈和蜂鳴器指示故障并報(bào)警,并可以使用一復(fù)位按鈕人工復(fù)位停止LED和蜂鳴器。程序仿真結(jié)果如圖9所示。

3 系統(tǒng)仿真和實(shí)驗(yàn)結(jié)果
    系統(tǒng)程序采用Verilog HDL硬件描述語(yǔ)言編寫(xiě),并在ISE 9.1i環(huán)境下綜合成功,其ModelSim仿真結(jié)果如圖10所示。由圖可知,當(dāng)相鄰兩個(gè)同電平的脈沖計(jì)數(shù)差值在±10時(shí),輸出端q為低電平,一旦超出預(yù)定范圍則輸出高電平,且驅(qū)動(dòng)LED和蜂鳴器動(dòng)作。

    實(shí)際使用證明,本文設(shè)計(jì)的光電編碼器的碼盤(pán)損傷檢測(cè)系統(tǒng)可以快速準(zhǔn)確地檢測(cè)出已完成安裝的BLDCM光電碼盤(pán),并可以根據(jù)待測(cè)碼盤(pán)的分辨率要求和檢測(cè)的計(jì)數(shù)要求,通過(guò)編碼器方便快捷地調(diào)整設(shè)置驅(qū)動(dòng)轉(zhuǎn)速和誤差比較閾值。經(jīng)過(guò)實(shí)際使用的反饋分析,本系統(tǒng)將在碼盤(pán)的故障定位上開(kāi)展研究,滿足系統(tǒng)在快速檢測(cè)出故障碼盤(pán)的前提下,可以準(zhǔn)確定位故障光柵的位置,為實(shí)際的檢修提供信息。
參考文獻(xiàn)
[1] 劉剛 王志強(qiáng).永磁無(wú)刷直流電機(jī)控制技術(shù)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2008.
[2] 陳先鋒. 伺服控制技術(shù)自學(xué)手冊(cè)[M].北京:人民郵電出版社,2010年第1版.
[3] 盧志剛.?dāng)?shù)字伺服控制系統(tǒng)與設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2007.
[4] HEDS-9700 シリーズ2チャンネル光學(xué)式,小型エンコーダモジュール(リニアタイプ/ ロータリタ
イプ),Agilent Technologies.
[5] 黃智偉.FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2005.
[6] XILINX Corporation[Z].Spartan-3E FPGA Family Complete Data Sheet.
[7] XILINX Corporation[Z].Libraries Guide ISE 9.1i.

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