巢 云,馬鑫金
(1.三江學院電子信息工程學院,江蘇南京 210012;2.南京理工大學自動化學院,江蘇南京 210094)
目前國內(nèi)多軸速度控制系統(tǒng)可以分為兩類:以單片機為核心的低速、低精度控制系統(tǒng)[1];以高端PLC為核心的運動控制器。隨著多軸速度控制器應(yīng)用范圍變廣[2],以上兩種已經(jīng)不能滿足工業(yè)的需求。
為開發(fā)一種高速高精度的多軸速度控制系統(tǒng),設(shè)計高速光耦電路和多路高速輸出電路,并可以用CAN通訊接口控制多路被控對象[3],利用補償參數(shù)算法和七段S型曲線速度反饋控制速度,可以提高執(zhí)行電機的響應(yīng)速度和精度。
為提高速度控制系統(tǒng)的響應(yīng)速度,用處理速度更快的處理器,采用Cotex-M3 內(nèi)核的STM32處理器,系統(tǒng)硬件頻率可以達到72 Mbits/s,而且內(nèi)部擁有豐富的高速接口和內(nèi)存空間,可以用來執(zhí)行更加復(fù)雜的補償算法及速度反饋程序[4]。本速度控制系統(tǒng)的整體結(jié)構(gòu)如圖1所示,外部輸入信號是高低電平信號,經(jīng)過內(nèi)部6N137組成的高速光耦電路后被控信號進入處理器,經(jīng)過補償計算和速度反饋程序后控制CAN通訊接口,通訊接口通過多路高速輸出電路傳輸5 Mbits/s速率的TTL電平,為降低電源紋波提高系統(tǒng)可靠性采用線性電源。
圖1 多軸控制器系統(tǒng)結(jié)構(gòu)
硬件系統(tǒng)的組成主要由高速光耦電路、CAN通訊接口和高速輸出電路等組成,最小系統(tǒng)采用STM32的典型應(yīng)用電路,高速光耦電路的信號傳輸速度可以達到10 Mbits/s,CAN通訊接口電路可以用1 Mbits/s速度控制最多63臺電機[5],高速輸出電路采用硬件配置的方式輸出TTL電平。
輸入接口采用芯片6N137組成高速光耦電路,電路具體應(yīng)用如圖2所示,電源電壓為5 V,輸入電源經(jīng)過10 kΩ電阻為芯片及外圍電路提供電源,電源部分采用低通濾波器,參數(shù)匹配后的截止頻率為159.2 Hz,可以有效抑制電源引入的高頻噪聲[6]。接口輸入和輸出部分的信號可以是10 Mbit/s的PWM信號,信號輸出接口采用10 kΩ上拉到電源,這可以提高芯片的驅(qū)動能力,增強輸出接口驅(qū)動電流至5 mA。
圖2 高速光耦電路
CAN通訊接口電路采用AMIS42675芯片,并且可以提供高速通訊模式,并且此芯片電磁敏感性高。降低整體控制系統(tǒng)的功耗,應(yīng)用5 V電源來使系統(tǒng)處于低功耗模式[7],通訊接口電路具體應(yīng)用電路如圖3所示,STB引腳通過硬件使能的方式使芯片處于待機模式,在系統(tǒng)不工作時電路處于低功耗模式,CAN通訊接口H和L為連接外部的設(shè)備的接口,為保證信號穩(wěn)定性,在接口外連接一個共模電感和TVS管,并且為保證信號傳輸時的阻抗匹配,在信號正負端都串聯(lián)1 kΩ的匹配電阻。
圖3 CAN通訊接口電路
由于電機接收控制器的信號都是TTL電平,多軸控制器需要控制多個電機,需要電路可以多路并行,高速輸出電路電流采用的芯片為LM311,具體電路應(yīng)用如圖4所示。IN-引腳通過2個82 kΩ電阻分壓的方式連接到2.5 V電位,Input端為控制信號,為提高信號的信噪比[8],設(shè)計的RC低通濾波器電路截止頻率為19.4 Hz,為提高輸出端驅(qū)動能力,采用1 kΩ上拉電阻的方式,最終輸出信號的周期可以達到200 ns即5 Mbits/s,此電路可以多路并聯(lián)使用。
圖4 高速輸出電路
驅(qū)動CAN通訊模塊,需要配置核心處理器并設(shè)計通訊函數(shù)程序,具體設(shè)計如圖5所示。在程序開端需要配置與CAN接口連接的I/O口,除此之外還要使能外設(shè)時鐘,這樣處理器和外設(shè)才能以相同的速率互相傳輸數(shù)據(jù)[9]。處理器接口需要配置接收寄存器后才能把接收的數(shù)據(jù)存儲到內(nèi)存中,配置完重映射后要初始化CAN通訊初始化寄存器,即設(shè)置傳輸數(shù)據(jù)優(yōu)先級、通訊波特率、高低電平觸發(fā)模式等。配置濾波器可以提高信號抗干擾能力,打開中斷可以提高通訊的響應(yīng)時間,處理器發(fā)送并接受應(yīng)答信息后就表示通訊成功。
圖5 CAN通訊函數(shù)程序
補償參數(shù)的計算過程需要依據(jù)起始點和目標點坐標,具體計算過程如圖6所示。首先要獲得起始點和目標點的坐標,利用坐標計算出X和Y方向的坐標增量,根據(jù)增量計算出長度距離,同理計算出每個坐標的速度和時間[10],要保證每個軸的參數(shù)都不超過最大限制參數(shù)。計算出每個坐標時間后,取最長的時間作為參考參數(shù),并根據(jù)此軸的參數(shù)做插補參數(shù)計算,并同等比例補償其他坐標軸。
圖6 補償參數(shù)計算
在一般的多軸速度控制器中,七段S型速度曲線用于控制電機轉(zhuǎn)速,在本系統(tǒng)中S型曲線速度反饋應(yīng)用如圖7所示。首先要判斷系統(tǒng)是處于加速、勻速、減速等7個過程中的某一個,然后根據(jù)速度模式確定驅(qū)動脈沖定時器的最長周期和最短周期[11],并根據(jù)這兩個值計算出系統(tǒng)需要的重裝值。重裝值以表格的形式裝入ROM中,處理器根據(jù)重裝值檢索S型曲線的速度階段,對比后如果正確則繼續(xù)執(zhí)行加減速或定速,如果不相符要重新計算重裝值。
圖7 S型曲線速度反饋程序
為了驗證多軸控制器速度控制系統(tǒng)的精度和響應(yīng)時間,抖動測試可以驗證速度系統(tǒng)的平穩(wěn)性[12],速度反饋可以驗證速度控制的指令和S型速度曲線。
為驗證硬件系統(tǒng)和軟件模塊,搭建速度控制系統(tǒng),平臺設(shè)置見圖8,控制指令為規(guī)劃的恒轉(zhuǎn)速或加減速模式,伺服電機與編碼器通過聯(lián)軸器連接,編碼器實時反饋電機轉(zhuǎn)速并顯示到數(shù)據(jù)采集儀器中。
圖8 速度控制試驗平臺
抖動測試試驗是在速度控制勻速時進行的,在系統(tǒng)勻速運行到400 r/min時且穩(wěn)定運行1 min后,用編碼器檢測電機的轉(zhuǎn)速情況,求導(dǎo)數(shù)計算出轉(zhuǎn)速的加速度結(jié)果,試驗結(jié)果如圖9所示。轉(zhuǎn)速不穩(wěn)時會出現(xiàn)加速度波動的狀況即抖動過程,抖動測試時10 μs到30 μs區(qū)間時出現(xiàn)了振蕩抖動,在40 μs到60 μs區(qū)間時再次出現(xiàn),補償后的周期性抖動小于20 μs,每當轉(zhuǎn)速不穩(wěn)達到一定程度即加速度到350 r/s2時,系統(tǒng)就開始反饋調(diào)節(jié)至平穩(wěn)狀態(tài)。
圖9 抖動周期測試試驗
利用加速、勻速和減速過程驗證系統(tǒng)S型曲線速度反饋的效果,同時監(jiān)控系統(tǒng)指令執(zhí)行和速度的狀態(tài),結(jié)果如圖10所示。在起步0到200個采樣點處,實時速度曲線存在一定的延時,但是加速狀態(tài)符合S型曲線的加加速、勻加速和減加速階段,勻速階段狀態(tài)比較穩(wěn)定,在減速初段由加減速到勻減速過渡階段即600到700個采樣點處,電機扭矩變化會造成短時的波動,但速度反饋很快可以調(diào)節(jié)至S型速度曲線狀態(tài)。加減速的實際速度與指令保持一致。這與抖動測試試驗結(jié)果表明系統(tǒng)可以提高執(zhí)行電機的響應(yīng)速度和精度。
圖10 速度反饋測試
本文設(shè)計了一種基于STM32的多軸控制器速度控制系統(tǒng),采用高速電路和多軸速度控制結(jié)合的方式驅(qū)動電機,首先從系統(tǒng)結(jié)構(gòu)設(shè)計整體的軟硬件,然后設(shè)計高速光耦電路、CAN通訊接口電路、高速輸出電路等硬件,開發(fā)CAN通訊函數(shù)、補償參數(shù)計算和S曲線速度反饋的軟件程序,利用抖動測試和速度反饋試驗驗證本系統(tǒng)。結(jié)果顯示補償后的周期性抖動小于20 μs,加減速的實際速度與指令保持一致,表明本系統(tǒng)可以提高執(zhí)行電機的響應(yīng)速度和精度。