摘 要: 直流無刷電機(BLDCM)兼有交流電機的結構簡單和普通直流電機的高運行效率以及極佳調速性能等特點,;尤其在精確定位的伺服系統(tǒng)中得到廣泛應用,。但在BLDCM高精度伺服定位中起著關鍵作用的光電編碼器碼盤在實際安裝中常會因為操作不當而對其造成損傷,增大了電機產(chǎn)品的出廠故障率,。介紹了基于FPGA設計的光電碼盤損傷檢測方案,,可以快速準確地檢測待測BLDCM光電編碼器碼盤的受損程度。
關鍵詞: 直流無刷電機,; FPGA,; 增量式光電編碼器; 碼盤
直流無刷電機(BLDCM)是利用電子換向裝置驅動電機轉子的一種常用動力設備,,由于其可方便實現(xiàn)精確定位功能,,使其在伺服系統(tǒng)得以廣泛應用[1],。BLDCM轉子運行位置的精確反饋是整個伺服系統(tǒng)的關鍵,因此轉子位置的檢測在BLDCM電機伺服控制系統(tǒng)中有著十分重要的作用,。光電碼盤位置檢測法是通過光電對管計數(shù)電機轉子帶動碼盤旋轉時發(fā)出的脈沖數(shù),,計算得到電機運行過程中的轉子位置。光電管的物理特性決定其具有高測量精度,、高檢測速度,;因此光電碼盤位置檢測法能快速準確地反應電機轉子的機械位置,在伺服系統(tǒng)中得到廣泛的應用,。
光電編碼器是一種通過光電轉換將輸出軸上的機械幾何位移量轉換成脈沖或數(shù)字量的傳感器,。典型的光電編碼器由碼盤、檢測光柵,、光電轉換電路(包括光源,、光敏器件、信號轉換電路),、機械部件等組成[2],。碼盤上刻有間距相等的輻射狀透光縫隙,相鄰兩個透光縫隙之間代表一個位置增量,。它通過物理連接如“連軸器”與電機的轉軸同心連接,,被轉軸帶動旋轉,在透光和不透光的情況下便會通過轉換電路輸出連續(xù)的脈沖信號,,在BLDCM運行中根據(jù)脈沖計數(shù)即可計算出轉子的位置,,通過算法還可以精確地得到電機的運行速度和旋轉方向[3]。光電編碼器原理示意圖如圖1所示,。
增量式編碼器是直接利用光電轉換原理輸出兩組方波脈沖A,、B,其中A,、B兩組脈沖相位差90°,,從而可方便地判斷出旋轉方向。其優(yōu)點是原理構造簡單,,機械平均壽命可在幾萬小時以上,,抗干擾能力強,可靠性高,,并適合于長距離傳輸[2,4],。增量式編碼器碼盤屬于高精度儀器,然而在現(xiàn)場操作中往往會因為機械裝配原因而使碼盤受到損傷(如扭曲變形),特別是光柵受損錯位等,,這就會使轉子位置反饋信號出現(xiàn)不同程度的偏差,,嚴重情況下甚至會導致整個伺服系統(tǒng)的失敗,造成不必要的故障和損失,。為此,,本文著重介紹了基于可編程邏輯器件FPGA設計的BLDCM整機光電編碼器碼盤檢測系統(tǒng),。
1 系統(tǒng)方案的確定
本系統(tǒng)是BLDCM整機測試方案, BLDCM帶有待測的增量式編碼器碼盤,,且待測碼盤在測試臺上被電機后座封閉,。為了得到準確的測量結果,測試系統(tǒng)提供待測電機恒定的旋轉速度,,未受損的增量式編碼器通過光電對管和光柵的配合,,輸出連續(xù)占空比為50%的方波信號。測試系統(tǒng)控制器通過驅動步進電機控制器使得BLDCM按恒定的轉速旋轉,,設BLDCM轉速為Kround/Min,,編碼器碼盤光柵分辨率為N,則正常碼盤輸出的脈沖周期寬度為:
式(2)說明在正常情況下,每個電平持續(xù)的時間約為0.83 ms,,為了提高系統(tǒng)檢測準確性,,應該進一步提高測試系統(tǒng)的時鐘頻率,使得光電管單個脈沖輸出期間檢測系統(tǒng)所得的高頻時鐘計數(shù)越多,,系統(tǒng)可以得到更真實的碼盤輸出脈沖寬度信息,,因此提高時鐘頻率是有效的方法。若采用傳統(tǒng)的單片機設計光電編碼器碼盤檢測系統(tǒng),,由于單片機時鐘頻率較低,,外設速度較慢。若碼盤出現(xiàn)損壞則輸出不規(guī)則的波形,,如圖2(b)所示,,此時會出現(xiàn)電平持續(xù)時間長短不一的情況,若碼盤分辨率稍高,,某些檢測時刻甚至會處于數(shù)十微秒的數(shù)量級上,易造成檢測錯誤,。FPGA屬于高速并行器件,,運行頻率高,內部存儲容量大,,所有模塊都是并行運行[5],,這就極大地減少了內部延時,因此它更適應于檢測碼盤損傷,。
系統(tǒng)中BLDCM為被動旋轉運行方式,但需通過接口向光電對管提供+5 V直流工作電壓,以供輸出檢測脈沖信號,。控制器通過控制步進電機的啟停來控制待測BLDCM的旋轉和停止,。在啟動測試系統(tǒng)階段,,系統(tǒng)從靜止開始加速旋轉BLDCM,待轉速穩(wěn)定在控制器根據(jù)編碼器設定的速度后,,正式開始進入碼盤測試階段,,并通過外接LED指示說明系統(tǒng)運行狀態(tài),目前為滿足不同分辨率的碼盤測試要求,,測試系統(tǒng)通過編碼器可以設定3種速度,即K=25,,50,,100。碼盤輸出的脈沖信號經(jīng)簡單的調理電路后直接連接到FPGA的引腳提供給控制器進行運算,,所得結果輸出并通過LED和蜂鳴器進行故障指示,。圖3為測試系統(tǒng)的功能簡圖。
2 碼盤損傷檢測系統(tǒng)整體方案的實現(xiàn)
本系統(tǒng)采用Xilinx的Spartan3E型號為XC3S500E[6]的FPGA,系統(tǒng)流程圖如圖4,。整個系統(tǒng)采用Top-Down的設計思想,,把系統(tǒng)劃分為幾個基本單元,頂層采用原理圖的輸入方式如圖5所示,。
2.1 時鐘計數(shù)模塊
系統(tǒng)采用50 MHz時鐘對碼盤輸入的波形進行計數(shù),。在正常情況下,光電對管輸出的待測信號(本系統(tǒng)中為CP)應該為標準的方波,,若碼盤被損壞則輸入的方波也必然會變得不規(guī)則,。控制器用CLK對待測信號進行寬度計數(shù),,CP上升沿和下降沿來時將計數(shù)器內的值分別輸入FPGA的RAM中,。
2.2 單口RAM模塊
采用Xilinx ISE9.1的單口RAM IP核對時鐘模塊輸出的計數(shù)值進行存儲,RAM Core原理圖符號如圖6[7],。為了在每個時鐘沿觸發(fā)時使存儲器的利用率最大化,,XC3S500E提供的RAM塊支持3種不同的寫模式。根據(jù)需要系統(tǒng)選擇寫優(yōu)先模式(Write First mode),,當WE為高電平時向RAM中寫入數(shù)據(jù),當WE為低電平是根據(jù)輸入的地址ADDR將存儲器內的數(shù)據(jù)讀出,其時序如圖7[7],。
為了提高測試的精度,保證測試結果的可靠性,,系統(tǒng)設定了采樣3周待測碼盤輸出信號,,也就是先把電機轉動完整3周所輸出的計數(shù)值全部存入RAM中,然后再讀取需要的值進行運算,。設計中分別用兩個模塊對RAM的WE和ADDR取值進行了控制,,以保證電機在此3周轉動中WE始終是高(即為寫),地址始終遞增,,3周以后WE變?yōu)榈?即為讀),,地址從0開始遞增。
2.3 減法及存儲模塊
由于RAM模塊內存儲的分別為CP上升和下降沿到來時的時鐘數(shù)計數(shù)值,,此模塊遞增改變讀地址,,實現(xiàn)RAM數(shù)據(jù)的減法運算,即可得到CP在每個高電平或低電平對應的時鐘計數(shù)值。此時鐘計數(shù)值的多少反應了它們在高低電平的持續(xù)時間,。將所得的結果再次存入一單口RAM中,,以便后續(xù)的比較運算。
2.4 比較模塊
此模塊用于比較CP在前一個高電平(或低電平)與后一個高電平(或低電平)持續(xù)的時間是否一致,。對于不同的時鐘頻率所得的計數(shù)精確度不一樣,,因此相鄰兩個同樣電平持續(xù)的時間也不可能完全相同,本系統(tǒng)中設定的計數(shù)差值為±10,,即相鄰兩個同樣電平計數(shù)值之差在±10之間,,模塊輸出低電平,測試系統(tǒng)判斷碼盤是正常未受損,;一旦計數(shù)值之差超過10,,模塊將會輸出一個高電平,用以記錄碼盤出現(xiàn)受損的情況,。然后再比較下一個相鄰高電平(或相鄰低電平),,由此類推。分析模塊的輸出端(q)可以發(fā)現(xiàn),,如果碼盤是正常的,,則q全為低電平;反之,,則會出現(xiàn)高電平,,并可計數(shù)分析高電平的個數(shù),計算出碼盤損壞的嚴重程度。碼盤受損的仿真比較結果如圖8所示,。
2.5 驅動及復位模塊
為了便于用戶觀察,,系統(tǒng)加入了驅動復位模塊,用以驅動故障指示LED和蜂鳴器,。其設計思想是,,一旦輸入端出現(xiàn)高電平,且整個系統(tǒng)在不復位的情況下,模塊輸出兩路周期為1 s的方波,,驅動LED燈和蜂鳴器指示故障并報警,并可以使用一復位按鈕人工復位停止LED和蜂鳴器,。程序仿真結果如圖9所示。
3 系統(tǒng)仿真和實驗結果
系統(tǒng)程序采用Verilog HDL硬件描述語言編寫,,并在ISE 9.1i環(huán)境下綜合成功,其ModelSim仿真結果如圖10所示,。由圖可知,,當相鄰兩個同電平的脈沖計數(shù)差值在±10時,輸出端q為低電平,,一旦超出預定范圍則輸出高電平,,且驅動LED和蜂鳴器動作。
實際使用證明,本文設計的光電編碼器的碼盤損傷檢測系統(tǒng)可以快速準確地檢測出已完成安裝的BLDCM光電碼盤,并可以根據(jù)待測碼盤的分辨率要求和檢測的計數(shù)要求,通過編碼器方便快捷地調整設置驅動轉速和誤差比較閾值,。經(jīng)過實際使用的反饋分析,,本系統(tǒng)將在碼盤的故障定位上開展研究,滿足系統(tǒng)在快速檢測出故障碼盤的前提下,,可以準確定位故障光柵的位置,,為實際的檢修提供信息。
參考文獻
[1] 劉剛 王志強.永磁無刷直流電機控制技術與應用[M].北京:機械工業(yè)出版社,,2008.
[2] 陳先鋒. 伺服控制技術自學手冊[M].北京:人民郵電出版社,,2010年第1版.
[3] 盧志剛.數(shù)字伺服控制系統(tǒng)與設計[M].北京:機械工業(yè)出版社,2007.
[4] HEDS-9700 シリーズ2チャンネル光學式,,小型エンコーダモジュール(リニアタイプ/ ロータリタ
イプ),,Agilent Technologies.
[5] 黃智偉.FPGA系統(tǒng)設計與實踐[M].北京:電子工業(yè)出版社,2005.
[6] XILINX Corporation[Z].Spartan-3E FPGA Family Complete Data Sheet.
[7] XILINX Corporation[Z].Libraries Guide ISE 9.1i.