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