蔡敬鵬, 楊向萍, 周 宇, 袁 帥, 陳家新
(東華大學 機械工程學院,上海 201620)
伺服控制系統(tǒng)主要由伺服電機、傳感器、驅(qū)動控制器三部分組成,應(yīng)用領(lǐng)域非常廣泛[1]。其中,伺服電機作為執(zhí)行機構(gòu),根據(jù)編碼器反饋的位置信號實現(xiàn)相應(yīng)的速度或位置控制。在伺服系統(tǒng)中,使用最多的傳感器是光電編碼器,光電編碼器又分為增量式光電編碼器和絕對式光電編碼器。對于增量式光電編碼器,其輸出A,B,Z三相方波脈沖,A,B兩相脈沖相差90°,可以方便地判斷旋轉(zhuǎn)方向,Z相每轉(zhuǎn)只產(chǎn)生一個脈沖,用于初始定位。絕對式光電編碼器通常將角度信息轉(zhuǎn)換為數(shù)字信息以二進制代碼形式輸出,其通信接口多為串行接口,可以直接讀出角度的絕對值,一個n位絕對式光電編碼器將一周分成了2n份[2]。
在伺服電機生產(chǎn)過程中,編碼器的安裝是關(guān)鍵的一步,目的是將永磁體磁極位置和編碼器零點位置調(diào)整到一定的相對位置關(guān)系,并固定、記錄下來。目前,國內(nèi)的編碼器安裝技術(shù)普遍停留在人工安裝的階段,一般由操作者利用工具或者手動固定編碼器,手動轉(zhuǎn)動伺服電機回轉(zhuǎn)軸或編碼器回轉(zhuǎn)軸,然后利用示波器和伺服電機控制器來進行調(diào)零,其效率低下,安裝精度難以保證[3]。同時,國內(nèi)對編碼器自動校裝的研究不多,難以運用到實際生產(chǎn)中?;谝陨显?本文設(shè)計并實現(xiàn)了一種伺服電機編碼器自動校裝系統(tǒng)。
如圖1所示,伺服電機編碼器自動校裝系統(tǒng)采用機電一體化裝置安裝光電編碼器,主要由機械結(jié)構(gòu)、控制模塊、人機交互模塊、電源模塊以及通信模塊組成。其中,單片機用于控制步進電機旋轉(zhuǎn)、與上位機通信以及編碼器數(shù)據(jù)的讀取與處理。機械機構(gòu)主要由伺服電機本體及底座、待裝編碼器及夾具、聯(lián)軸器、步進電機及底座、基準編碼器、滾珠絲杠直線滑臺、底座等組成。
圖1 自動校裝系統(tǒng)總體結(jié)構(gòu)
假設(shè)電機為一對極,在電機d軸通入適當電流,Id為一較小值,Iq值為0,該電流使轉(zhuǎn)子轉(zhuǎn)到A軸位置,電機以此位置為初始位置[4]。在安裝編碼器時,將編碼器的零點位置與該初始位置對齊,并固定在電機軸上。但實際安裝時,不方便對電機d軸通入電流,故對電機A,B兩相通入小于額定電流的穩(wěn)流直流電,產(chǎn)生的電流矢量沿三相靜止坐標系的A軸-30°電角度方向,電機轉(zhuǎn)子固定在該位置,系統(tǒng)根據(jù)此位置進行編碼器的校裝,如圖2。
圖2 光電編碼器校裝示意圖
如圖2(a)所示,安裝絕對式光電編碼器時,對伺服電機A,B兩相通入穩(wěn)流直流電,將伺服電機轉(zhuǎn)至固定位置,記錄基準編碼器在此位置的角度值θ1。斷開直流電,伺服電機可能會有輕微的抖動,再次讀取基準編碼器的角度值,記為θ2。然后讀取待裝絕對式光電編碼器的角度值,記為α,令步進電機帶動伺服電機逆時針轉(zhuǎn)動γ角度,此時待裝編碼器零點與伺服電機電角度0°對齊。γ計算公式如下
(1)
式中p為伺服電機極對數(shù)。最后,控制滾珠絲杠直線滑臺向前運動,將待裝絕對式光電編碼器壓入伺服電機軸上,然后固定編碼器外殼即完成安裝。
如圖2(b)所示,安裝增量式光電編碼器時,控制直線滑臺前進,將該編碼器壓入電機軸,然后步進電機帶動伺服電機旋轉(zhuǎn),轉(zhuǎn)到編碼器出現(xiàn)Z相脈沖信號停止,直線滑臺控制編碼器退出。對伺服電機A,B兩相通入穩(wěn)流直流電,使伺服電機鎖定到固定位置,讀出此時基準編碼器值β1。斷開直流電,步進電機帶動伺服電機逆時針轉(zhuǎn)動30°/p角度,讀基準編碼器,值記為β2,設(shè)β3為定位誤差角度,其計算公式如下
β3=(β1-β2)-30°/p
(2)
若需要補償誤差,系統(tǒng)計算出步進電機脈沖補償值,使伺服電機轉(zhuǎn)子轉(zhuǎn)到電角度0°位置。直線滑臺再將編碼器裝入電機軸,固定編碼器外殼以完成安裝。校裝完成后,系統(tǒng)將基準編碼器旋轉(zhuǎn)至0角度位置,方便下次校裝。
系統(tǒng)所用步進電機采用兩相混合式步進電機,對該電機采用細分控制,電機精度可達0.007°?;鶞示幋a器采用多摩川23位高精度絕對式光電編碼器,該編碼器分辨力達到0.000 1,將其安裝在步進電機軸上。待裝光電編碼器和夾具安裝在滾珠絲杠直線滑臺上,滾珠絲杠直線滑臺的執(zhí)行機構(gòu)采用57兩相混合式步進電機,根據(jù)編碼器的形狀特點和直線滑臺提供的固定方式,每種編碼器配有專用夾具。
控制系統(tǒng)原理如圖3所示,主控板控制步進電機的旋轉(zhuǎn)、編碼器數(shù)據(jù)采集和處理、與上位機通信。無待裝編碼器時,該系統(tǒng)也可以獨立工作,通過按鍵發(fā)送指令,通過LED指示燈顯示主控板的運行狀態(tài),通過LCD顯示屏實時地顯示基準編碼器的角度信息等。系統(tǒng)的控制核心采用ST公司基于Cortex—M4內(nèi)核的增強型微控制器STM32F429IGT6,其片上資源豐富,系統(tǒng)功耗較低[5]。
圖3 自動校裝系統(tǒng)控制原理
絕對式光電編碼器與主控板的通信接口主要為串行通信接口,針對多摩川絕對式光電編碼器,系統(tǒng)采用ARM+RS—485方式實現(xiàn)該類型編碼器的讀取與解析。RS—485通信接口簡單,采用差分輸出,能夠有效地抑制共模干擾,通信速度快,最大傳輸速度可以達到10 MB/s以上[6]。本系統(tǒng)選用了最高傳輸速率2.5 MB/s的RS—485通信芯片MAX485,設(shè)計電路如圖4所示。該芯片的驅(qū)動器擺率不受限制,降低了不恰當?shù)慕K端匹配產(chǎn)生的誤碼[7]。MAX485接收輸入具有失效保護特性,驅(qū)動器還具有短路電流限制,防止過度的功率損耗。
圖4 RS—485通信電路
3.1.1 總體程序設(shè)計
主控板模塊是整個系統(tǒng)設(shè)計的重要組成部分,STM32程序的主要任務(wù)為:接收上位機指令,根據(jù)指令完成相應(yīng)動作,并將相應(yīng)的數(shù)據(jù)傳送至上位機。應(yīng)用程序主要包括:主程序、增量式光電編碼器數(shù)據(jù)采集及處理程序、絕對式光電編碼器數(shù)據(jù)采集及處理程序、步進電機控制程序和串行通信程序5個主要部分。主程序主要負責對于系統(tǒng)時鐘、GPIO口、定時器、外部中斷、RS—485和串行通信等模塊的初始化,以及調(diào)用各個子程序。主控程序流程如圖5所示。
圖5 主控板程序流程
3.1.2 增量式光電編碼器讀取模塊
增量式光電編碼器數(shù)據(jù)采集及處理程序中,定時器TIM3的CH1,CH2分別與編碼器的A,B相相連,工作在正交編碼器模式。在此模式下,計數(shù)器在兩個通道的上升沿和下降沿均計數(shù),會根據(jù)編碼器的速度和方向自動修改計數(shù)器值。編碼器的Z相與外部中斷輸入相連,當Z相信號為高電平時,在中斷處理函數(shù)中清零定時器的計數(shù)器值,復位編碼器。
3.1.3 絕對式光電編碼器讀取模塊
對于多摩川絕對式光電編碼器,其讀取采用“一問一答”的方式[8],如圖6所示,控制器向編碼器發(fā)送一幀控制幀,編碼器接收到控制幀后返回一長串數(shù)據(jù)幀,包括控制幀、狀態(tài)幀、數(shù)據(jù)幀以及CRC幀。讀取程序中,STM32通過I/O口使能485芯片,向編碼器發(fā)送控制幀,3 μs后編碼器返回數(shù)據(jù)幀,STM32接收數(shù)據(jù)幀并對數(shù)據(jù)進行解析,并在CRC校驗函數(shù)中對其進行CRC校驗,若校驗正確,將其絕對位置信息發(fā)送至上位機,否則重新發(fā)送控制幀。
圖6 絕對式編碼器數(shù)據(jù)幀格式
系統(tǒng)上位機界面基于Qt Creator軟件開發(fā)環(huán)境設(shè)計,并在Window 7操作系統(tǒng)上運行。Qt Creator是一個輕量級跨平臺集成開發(fā)環(huán)境,因其具有良好的封裝機制和豐富的API函數(shù),被廣泛應(yīng)用于上位機開發(fā)[9]。上位機系統(tǒng)主要由校裝主界面、串口設(shè)置,參數(shù)設(shè)置、數(shù)據(jù)庫操作等組成。通過參數(shù)設(shè)置,設(shè)置編碼器和伺服電機的參數(shù);設(shè)置串口并打開,即可與下位機通信。界面還提供數(shù)據(jù)和曲線打印、保存至數(shù)據(jù)庫等功能,用戶可以通過相應(yīng)的操作實現(xiàn)這些功能。
選擇國內(nèi)某廠商生產(chǎn)的60伺服電機作為系統(tǒng)實驗對象,采用多摩川17位絕對式編碼器和某廠商2 500線增量式編碼器作為待裝編碼器,對編碼器分別進行校裝實驗。首先登陸系統(tǒng),設(shè)置串口和編碼器參數(shù),然后按照校裝流程對編碼器進行校裝。安裝完成后,對安裝精度進行校驗,當伺服電機定位至電角度0°位置時,讀取編碼器的角度,計算得到安裝誤差。多次校驗,誤差曲線如圖7所示,計算得到平均誤差,并保存數(shù)據(jù)。表1所示誤差角度值為計算所得平均誤差,誤差角度值在誤差允許范圍內(nèi),滿足安裝要求。
表1 編碼器安裝誤差
實驗結(jié)果表明,本系統(tǒng)能夠滿足伺服電機編碼器安裝要求,設(shè)計合理,運行可靠。與傳統(tǒng)人工安裝相比,安裝精度高,且所用時間更少。
本文設(shè)計的伺服電機編碼器自動校裝系統(tǒng)采用STM32f429IGT芯片,芯片功能豐富;采用23位高精度絕對式光電編碼器作為安裝基準,分辨率高;采用步進電機,控制簡單,成本較低。該系統(tǒng)具有硬件結(jié)構(gòu)簡單、數(shù)據(jù)處理準確和數(shù)據(jù)傳輸方便、可安裝編碼器種類多、安裝精度高等優(yōu)點,滿足伺服電機編碼器安裝要求,具有很高的應(yīng)用價值和廣闊的市場前景。