王 臻,熊 偉,王 偉,班雪梅,郭云龍
(1.北京精密機電控制設備研究所,北京 100076;2.首都航天機械有限公司,北京,100076)
編碼器是現(xiàn)代伺服系統(tǒng)常用的傳感器之一,是一種機械與電子緊密結(jié)合的位置測量傳感器,它用于將機械幾何位置的模擬量轉(zhuǎn)化成數(shù)字量,用來檢測軸角位移,加速度,速度,方向等物理量[1],可以作為伺服系統(tǒng)的反饋信號。近些年來,編碼器已廣泛應用于機器人、數(shù)控設備、儀器儀表以及軍工產(chǎn)品等高新技術領域,且編碼器的種類繁多。根據(jù)信號輸出格式,編碼器被分為絕對式編碼器、增量式編碼器、混合式編碼器。根據(jù)工作原理,又可以將編碼器分為光電式編碼器和磁電式編碼器。根據(jù)量程又可以分為單圈編碼器和多圈編碼器[2]。
機電伺服要求設計一個編碼器實現(xiàn)高轉(zhuǎn)速下電機軸旋轉(zhuǎn)角度的測量,且在供電斷開后,能夠依靠機械裝置記憶位置信息;并且有工作壽命長,動態(tài)性能好,結(jié)構緊湊的要求。絕對式編碼器在0~360°范圍內(nèi)的每一個位置對應唯一的角度值,且角度信息不會因為斷電導致丟失或出錯,無需掉電保存,可以滿足機械位置記憶的要求。磁電式編碼器相比較于光電式編碼器其結(jié)構簡單,無復雜的工藝要求,采用了無接觸旋轉(zhuǎn)結(jié)構,無機械摩擦,響應速度快,完全滿足伺服電機高速旋轉(zhuǎn)、工作壽命長要求。磁編碼器根據(jù)信號檢測原理的不同可分霍爾式和磁阻式。從原理上來講,雖然磁阻感應的靈敏度比霍爾式的高,響應也快。但是靈敏度高的同時意味著噪聲引入也高,且阻抗不僅對于磁場敏感,對溫度、周圍的電氣環(huán)境也很敏感[3],霍爾式編碼器更適合測試需求。通過綜合分析,設計方案選擇了基于霍爾原理的多圈絕對式磁電編碼器,用于伺服電機角度絕對位置測量,實現(xiàn)機電伺服系統(tǒng)閉環(huán)控制。
根據(jù)伺服機構的安裝需求,編碼器的結(jié)構如圖1 所示。多圈絕對式磁電編碼器結(jié)構主要機械減速箱和調(diào)理電路兩部分組成。減速箱是由多個齒輪嚙合組合而成機械結(jié)構,主要將主軸的高轉(zhuǎn)速通過多級減速齒輪降低,將主軸的轉(zhuǎn)動角度信息分解為圈數(shù)信息和角度信息。磁鋼與減速齒輪同軸,主軸旋轉(zhuǎn)時,磁鋼等比減速旋轉(zhuǎn),每一個磁編碼芯片與磁鋼同軸對應[4],磁編碼芯片通過磁場的變化感應齒輪的角度變化。調(diào)理電路部分主要微控制器完成實現(xiàn)磁鋼角度位置的讀取,并完成角度位置信息的計算,并實現(xiàn)與控制系統(tǒng)的通信功能。
圖1 編碼器的結(jié)構
由于圓柱齒輪傳動機構的傳動效率高,傳動比范圍大,只需要幾個齒輪就能獲得大傳動比,適合用來設計大量程;其結(jié)構簡單,容易加工、且成本低,設計選擇外圓柱齒輪傳動機構[5]。減速箱齒輪間的傳動比是減速箱的重要參數(shù),與編碼器性能指標、以及調(diào)理電路的算法息息相關。為了提高程序的執(zhí)行效率、簡化軟件算法、減小計算誤差,設計的傳動比一般應2的整數(shù)倍。減速箱設計三級減速,第一級和第二級的傳動比為1:4,用于記錄主軸在360 度范圍內(nèi)的角度信息。前兩級設計為相同的傳動比,是作為角度信息的冗余設計。第三級的傳動比為1:128,用于記錄主軸轉(zhuǎn)動的圈數(shù)信息。減速箱的結(jié)構如圖2 所示??刂葡到y(tǒng)可以通過圈數(shù)信息加上360度內(nèi)的角度信息計算出主軸的角度信息。
圖2 減速箱結(jié)構
編碼器調(diào)理電路主要實現(xiàn)角度信息的采集、數(shù)據(jù)處理、與控制系統(tǒng)的通信。主要由微處理器電路、角度采集電路、信號傳輸電路組成。
3.2.1 微處理器電路
編碼器的主控部分選擇了意法半導體公司的STM32103 RCT6 為核心器件。STM32 系列芯片是基于ARM 的cortex-M3的內(nèi)核的微處理器,其端口資源豐富,軟件和硬件兼容性好,具有高性能、低成本、低功耗的特點。主控部分設計利用STM32的最小系統(tǒng)實現(xiàn)信號采集、信號處理、信號傳輸?shù)目刂?。STM32的最小系統(tǒng)如圖3所示,具體設計如下:
圖3 信號處理電路
(1) 供電系統(tǒng):STM32 使用功耗較低的3.3V 供電。電路的電源管腳全部進行了濾波處理,數(shù)字地和模擬地進行區(qū)分,通過0歐電阻連接,提高了系統(tǒng)的抗干擾性。
(2) 復位電路:電路設置了手動復位電路,方便單機調(diào)試。
(3) 時鐘:選擇了8M 的外部高速晶振,通過芯片內(nèi)部9倍倍頻,系統(tǒng)時鐘可達72MHz,可以滿足快速采集角度信息的要求。
(4) BOOT 設置:用于選擇啟動模式,系統(tǒng)中BOOT0 和BOOT1通過10k電阻直接接地,系統(tǒng)可以通過J-Link仿真器進行下載程序。
(5) 下載電路:下載接口電路選擇了最簡單的SWD 的方式。只需要引出5個結(jié)點實現(xiàn)程序的下載調(diào)試:電源(3.3V)、地(GND)、復位(Reset)、兩個串行端口(SWCLK、SWDIO)。
3.2.2 角度采集電路
角度采集電路選用了AMS 公司的基于霍爾原理的磁編碼芯片AS5048A。該芯片的工作示意圖如圖4所示,圓柱形磁鋼放置在距離芯片0.5~2.5mm 的位置,且芯片和磁鋼盡量做到同軸。當磁鋼旋轉(zhuǎn)時,AS5048A 通過SPI 同步串行接口輸出0~360°范圍內(nèi)的絕對角度數(shù)據(jù),單圈分辨率為214[6]。
圖4 芯片安裝示意圖
該編碼器共使用三個AS5048A 芯片,為了節(jié)約接口資源,采用了鏈路的方式連接,電路見圖5。三個AS5048A 通過一個SPI接口與微控制器進行通信,微控制器為AS5048A提供時鐘信號CLK和片選信號(CS1、CS2、CS3),通過MISO依次完成三個角度信息的采集。另外,微控制器還可以通過片選,依次完成三個芯片的零位編程。
圖5 信號采集電路
AS5048A自身包含豐富的寄存器用于自我判斷[6]。在產(chǎn)品調(diào)試過程中,可以通過讀取x3FFD、x3FFE 兩個寄存器,判斷磁鐵強度是否滿足要求,磁鐵位置是否可以保證芯片正常工作。具體的判定標準見表1。
表1 AS5048A判定標準
3.2.3 通信接口電路
編碼器采用6線制串行同步信號SSI通信接口完成與控制系統(tǒng)的通信。兩組時鐘線和兩組數(shù)據(jù)線以及電源線與地線,時鐘線與數(shù)據(jù)線采用485 通信模式。接口電路選擇了MAX3485 RS-485收發(fā)器實現(xiàn)收發(fā)信號的轉(zhuǎn)換。電路如圖6 所示。電路中使用RE-DE 來控制數(shù)據(jù)DATA 的雙向傳輸。設計上拉電阻和下拉電阻用于提高RS485 節(jié)點和網(wǎng)絡的可靠性。
圖6 信號傳輸電路
3.3.1 軟件設計
編碼器的軟件功能主要包括:系統(tǒng)初始化模塊、角度數(shù)據(jù)處理模塊、通信模塊,軟件流程框圖見圖7。
圖7 軟件流程圖
編碼器上電后,開始STM32 系統(tǒng)初始化,包括GPIO 口初始化、SPI接口初始化、中斷初始化、校驗碼初始化;在主程序內(nèi),角度數(shù)據(jù)處理模塊通過SPI接口對三個AS5048A進行角度信息采集,并完成圈數(shù)、角度以及校驗碼信息的計算。通信模塊一直等待接受控制系統(tǒng)發(fā)出時鐘信號,在下降沿時進入中斷程序,按照協(xié)議發(fā)送圈數(shù)、角度以及校驗碼信息,從而完成一次通信。通信結(jié)束后繼續(xù)等待中斷,進入下一次信息發(fā)送。
3.3.2 軟件實現(xiàn)
(1) 零位算法實現(xiàn)
編碼器由多個磁編碼器芯片組成,主軸的圈數(shù)信息由圈數(shù)信息和角度信息組成,因此在編碼器工作之前需要對兩個編碼器芯片同時置零的處理,保證齒輪同步啟動。
AS5048A可以通過SPI接口直接設置零位,但是只可以進行一次置零。AS5048A 置零流程圖如圖8。在芯片零位設置流程中設置了相關的判斷。在對OTP寄存器進行校驗時,如果返回的值與OTP 寄存器的值不一致,程序?qū)⒎祷?。這種情況零位編程雖然失敗,但是AS5048A 還可以下次繼續(xù)置零。在進行Burn 燒寫位和Verify 核準位置位后,如果返回的角度值不為零,零位編程設置失敗,不能再次進行零位設置。由于系統(tǒng)噪聲的存在,在此環(huán)節(jié)讀取的角度不可能是絕對的零,而是在零附近的一個值。因此在判斷角度的時候,需設置一個合理的范圍進行判讀。
圖8 芯片置零流程圖
因為芯片只能置零一次,具有很大的局限性。遠遠滿足不了編碼器多次調(diào)試試驗的需求。因此,程序中設計了置零函數(shù),此程序方便快捷的對多個芯片進行快速、多次置零處理。程序如下:其中para_angle[n]為第n個芯片設置的零位位置參數(shù)。
(2) 角度算法實現(xiàn)
在減速箱傳動比設計的時候,傳動比均設計為2的整數(shù)倍。在計算角度的信息的時候,算法就比較簡潔,避免了多重計算帶來的誤差累計。主軸與記角度軸之間的降速比為4,為2 的2 次方。采集角度值左移2 位為主軸360 度范圍內(nèi)的角度信息??扇〉?2位精度的角度信息。主軸與記圈軸之間的降速比為128,為2的7次方。采集的角度信息通過右移(14-7)位,即是主軸的圈數(shù)信息。如果減速比不為2的整數(shù)倍,通過復雜的算法得出的角度和圈數(shù)會存在很大的誤差。由整數(shù)倍減速比設計的簡潔算法,不僅提高了程序執(zhí)行效率,并且避免了復雜算法帶來的誤差。
通過上述設計,多圈編碼器實現(xiàn)128 圈的角度測試,其輸出范圍為0 圈0 度到127 圈360 度。通過上位機對多圈編碼器進行單機靜態(tài)測試。測試出編碼器的圈數(shù)、角度信息如表2 所示。換算主軸的角度指標滿足要求。編碼器的靜態(tài)單機測試性能滿足要求。
表2 編碼單機測試數(shù)據(jù)
將編碼器裝配至伺服電機的尾部進行動態(tài)試驗,用于測試電機高速旋轉(zhuǎn)的角度。通過對多個編碼器產(chǎn)品進行動態(tài)試驗,在電機最高8000rpm 的轉(zhuǎn)動下測試編碼器的性能指標,產(chǎn)品的線性度可達為0.24~0.37%,對稱度的達0.017%~0.026%。并且已經(jīng)通過了高溫、低溫試驗的考核,可以很好的滿足機電伺服的測試需求。
本文主要針對目前機電伺服的測試需求,設計了多圈絕對式磁電編碼器。主要從滿足性能的角度出發(fā),介紹了編碼器的減速箱的參數(shù)設計、電路設計、以及算法設計。通過單機的靜態(tài)測試和系統(tǒng)的動態(tài)測試,多圈編碼器的性能指標滿足機電伺服的測試需求。多圈編碼器的應用簡化了伺服系統(tǒng)的結(jié)構設計,同時提高了伺服系統(tǒng)的測量精度和速度。