段長超,劉青正,韓震宇,方 輝
(四川大學(xué) 機(jī)械工程學(xué)院,四川 成都 610065)
在大跨度龍門銑床、激光切割機(jī)床等設(shè)備中,工作臺和龍門橫梁等大跨度運(yùn)動部件常采用兩套相同的伺服驅(qū)動裝置,進(jìn)行單軸雙電機(jī)對稱同步驅(qū)動[1-2]。該方式需嚴(yán)格保證兩套伺服驅(qū)動裝置的響應(yīng)性能一致,實現(xiàn)難度和成本均較高。而雙通道電機(jī)驅(qū)動裝置則能以較低的成本,實現(xiàn)機(jī)床的單軸雙電機(jī)同步驅(qū)動。
然而,目前的雙通道電機(jī)驅(qū)動裝置,如多輸出的開環(huán)步進(jìn)電機(jī)驅(qū)動器[3-4]、雙通道交流伺服驅(qū)動器[5-6]、雙通道直流驅(qū)動器[7]等通用型開環(huán)或伺服驅(qū)動裝置中,不具備閉環(huán)接口或雙通道為獨(dú)立驅(qū)動輸出,驅(qū)動器無法直接調(diào)節(jié)雙通道輸出的同步偏差,因此其驅(qū)動控制性能將受到被驅(qū)動對象結(jié)構(gòu)參數(shù)、摩擦系數(shù)和阻尼系數(shù)等參數(shù)一致性的限制。
筆者面向數(shù)控應(yīng)用,開發(fā)一套功能獨(dú)立的經(jīng)濟(jì)型雙通道閉環(huán)步進(jìn)電機(jī)控制器,并緊密結(jié)合數(shù)控系統(tǒng)原理設(shè)計其軟、硬件架構(gòu),采用雙通道耦合調(diào)節(jié)算法調(diào)節(jié)雙通道輸出同步偏差[8-10],且控制器能同時實現(xiàn)三閉環(huán)控制,其能參與構(gòu)建更高運(yùn)行效率的新型數(shù)控系統(tǒng)。
數(shù)控系統(tǒng)架構(gòu)如圖1所示。
圖1 數(shù)控系統(tǒng)架構(gòu)
伺服驅(qū)動器是閉環(huán)數(shù)控機(jī)床的關(guān)鍵組成部分,其性能決定了數(shù)控機(jī)床的加工性能[11-12]。在傳統(tǒng)的閉環(huán)數(shù)控架構(gòu)中,位置閉環(huán)由上位計算機(jī)的位置調(diào)節(jié)器實現(xiàn),速度環(huán)和電流環(huán)由伺服驅(qū)動裝置實現(xiàn),系統(tǒng)的運(yùn)行效率主要受限于系統(tǒng)插補(bǔ)周期、采樣周期以及伺服驅(qū)動裝置的響應(yīng)性能。
新型數(shù)控架構(gòu)中,伺服驅(qū)動裝置接收上位機(jī)按插補(bǔ)周期定時下發(fā)的插補(bǔ)微位移指令,并同時實現(xiàn)三閉環(huán)調(diào)節(jié),因此,雙通道伺服驅(qū)動裝置應(yīng)具備位移和速度檢測接口各兩路。新數(shù)控架構(gòu)中在插補(bǔ)計算精度足夠的前提下,數(shù)控系統(tǒng)性能只受限于伺服驅(qū)動裝置的響應(yīng)性能,因此大大簡化了閉環(huán)數(shù)控系統(tǒng)架構(gòu),同時也可大大縮短系統(tǒng)插補(bǔ)周期,提高系統(tǒng)運(yùn)行效率,但同時也對伺服驅(qū)動裝置提出了更高的要求。
數(shù)控系統(tǒng)中,上位機(jī)下發(fā)的指令包括微位移指令(1個插補(bǔ)周期內(nèi)的位移增量)和長位移指令(多個插補(bǔ)周期內(nèi)的總位移增量)。微位移指令需由伺服驅(qū)動裝置按系統(tǒng)插補(bǔ)周期轉(zhuǎn)化為理論應(yīng)發(fā)脈沖數(shù)和理論捕獲脈沖數(shù),并實現(xiàn)位置閉環(huán)調(diào)節(jié)。長位移指令則需由伺服驅(qū)動裝置先進(jìn)行速度規(guī)劃,并按系統(tǒng)插補(bǔ)周期實現(xiàn)位置閉環(huán)調(diào)節(jié)。該系統(tǒng)中上位機(jī)下發(fā)指令的接收、轉(zhuǎn)換和速度規(guī)劃均由STM32實現(xiàn),雙通道控制脈沖發(fā)送和閉環(huán)采樣均由FPGA實現(xiàn)。
傳統(tǒng)雙通道伺服驅(qū)動裝置中,雙通道單獨(dú)實現(xiàn)速度環(huán)和電流環(huán)雙閉環(huán),雙通道輸出之間的同步誤差無法直接調(diào)節(jié)。該系統(tǒng)共包含雙通道位置環(huán)、速度環(huán)共4個PID控制器,并采用改進(jìn)的PID閉環(huán)調(diào)節(jié)架構(gòu)以消除雙通道速度環(huán)和位置環(huán)的同步偏差。
運(yùn)動控制器控制模塊硬件架構(gòu)如圖2所示。
圖2 控制模塊硬件架構(gòu)
圖2中,采用“STM32+FPGA”的硬件架構(gòu),STM32通過指令接口接收外部系統(tǒng)下發(fā)的微位移或長位移指令,將微位移指令轉(zhuǎn)化為單位插補(bǔ)周期內(nèi)的應(yīng)發(fā)脈沖數(shù)和應(yīng)捕獲脈沖數(shù),并按插補(bǔ)周期發(fā)送給FPGA執(zhí)行;或?qū)㈤L位移指令按插補(bǔ)周期進(jìn)行速度規(guī)劃和數(shù)據(jù)轉(zhuǎn)化,并按插補(bǔ)周期發(fā)送給FPGA執(zhí)行。FPGA接收STM32下發(fā)的指令并按系統(tǒng)插補(bǔ)周期發(fā)送控制脈沖、采樣并實現(xiàn)速度環(huán)和位置環(huán)雙閉環(huán)調(diào)節(jié)。
此外,HMI接口用于系統(tǒng)狀態(tài)監(jiān)視、EEPROM為系統(tǒng)狀態(tài)參數(shù)存儲、16位并行數(shù)據(jù)總線為指令下發(fā)總線、SPI和USART總線為FPGA狀態(tài)數(shù)據(jù)上傳總線、PWM驅(qū)動接口輸出雙通道步進(jìn)電機(jī)控制信號至驅(qū)動模塊、正交編碼器接口捕獲編碼器和光柵尺信號。
驅(qū)動模塊架構(gòu)如圖3所示。
圖3中,驅(qū)動模塊實現(xiàn)系統(tǒng)電源和步進(jìn)電機(jī)驅(qū)動電路。驅(qū)動電路采用2片集成驅(qū)動芯片THB8128,控制信號輸入接口接收控制模塊輸出的控制信號,電源輸入接口為系統(tǒng)總電源36 VDC輸入,穩(wěn)壓芯片LM2596轉(zhuǎn)換后的各電源通過電源輸出接口輸出至控制模塊。
圖3 驅(qū)動模塊架構(gòu)
雙通道閉環(huán)同步控制算法結(jié)構(gòu)框圖如圖4所示。
圖4 雙通道閉環(huán)同步控制算法結(jié)構(gòu)框圖
在雙通道閉環(huán)步進(jìn)電機(jī)驅(qū)動系統(tǒng)中,兩步進(jìn)電機(jī)并行通道的位置環(huán)和速度環(huán)為典型的PID閉環(huán)調(diào)節(jié)架構(gòu)[13-17],兩位置環(huán)并行接收相同的外部指令并獨(dú)立執(zhí)行。根據(jù)步進(jìn)電機(jī)的矩頻特性,系統(tǒng)采用“減速同步”策略調(diào)節(jié)雙通道的同步偏差,即以增大扭矩而非速度的方式實現(xiàn)雙通道同步。
該系統(tǒng)中,被控對象的位移執(zhí)行偏差es(t)=y1(t)-y2(t),其與位置同步系數(shù)Kss的乘積作用于兩位置環(huán)PID控制器。需要注意的是,同一位置環(huán)調(diào)節(jié)周期內(nèi)該同步偏差調(diào)節(jié)項僅作用于兩位置環(huán)PID控制器之一,選擇的依據(jù)為:es(t)>0時,es(t)負(fù)反饋到位置環(huán)PID控制器1;當(dāng)es(t)<0時,es(t)正反饋到位置環(huán)PID控制器2。速度環(huán)同步偏差調(diào)節(jié)的原理類似。
該運(yùn)動控制器兩通道位置環(huán)PID控制器的增量控制算式如下:
(1)
(2)
(3)
式中:e(k)—位置環(huán)偏差;es(k)—雙通道位置同步偏差;Kss—位置同步系數(shù);e0,e1,e2—PID調(diào)節(jié)項、積分調(diào)節(jié)項和同步偏差調(diào)節(jié)項的閾值系數(shù)。
如果偏差不超過閾值范圍則對應(yīng)項不參與PID閉環(huán)調(diào)節(jié),避免位置環(huán)振蕩。同理,該系統(tǒng)中速度環(huán)PID控制器的增量控制算式為:
(4)
式中:e(k)—速度環(huán)偏差;ev(k)—雙通道速度同步偏差;Ksv—速度同步系數(shù);e0,e1,e2—PID調(diào)節(jié)、積分調(diào)節(jié)項和同步偏差調(diào)節(jié)項的閾值系數(shù)。
如果偏差不超過閾值范圍,則對應(yīng)項不參與PID閉環(huán)調(diào)節(jié)。
筆者搭建了典型的“雙邊驅(qū)動”實驗平臺,其橫梁(工作臺)在X軸向的運(yùn)動由兩路步進(jìn)電機(jī)左右對稱同步驅(qū)動,兩路步進(jìn)電機(jī)由一套雙通道步進(jìn)電機(jī)驅(qū)動器驅(qū)動。其中,所用電機(jī)為57HB250-80B兩相混合式步進(jìn)電機(jī),額定電流4.5 A,采用細(xì)分驅(qū)動,機(jī)械步距角1.8°;電機(jī)編碼器為1 000線正交編碼器;光柵尺型號KA300-1020,分辨率5 μm,有效行程1 020 mm,輸出信號類型為TTL型正交編碼器信號;實驗載荷重17 kg;絲杠導(dǎo)程10 mm。
設(shè)定系統(tǒng)位置環(huán)和速度環(huán)采樣周期分別為4 ms、2 ms,STM32的指令下發(fā)周期為8 ms。分別在空載、帶固定載荷(質(zhì)量和Y軸位置均固定)和變載工況(質(zhì)量不變、Y軸位置變化)下,以不同的指令速度運(yùn)行5 s(長位移指令),以測定系統(tǒng)的定位誤差和位移同步誤差。其中,變載工況中載荷在Y軸方向上的來回移動速度為30 mm/s,定位誤差為雙通道位移輸出與指令位移的偏差值的較大者。
在空載、帶載和變載3種工況下,運(yùn)動控制器最終定位誤差測試結(jié)果如表1所示。
表1 運(yùn)動控制器最終定位誤差測試結(jié)果
從表1中測試結(jié)果可看出:無論在空載、帶載還是變載工況中,各指令下的實測位移均與理想?yún)⒖架壽E完美重合。實測數(shù)據(jù)表明,隨著指令速度的增大,指令執(zhí)行的最終定位誤差總體上呈增大趨勢??蛰d和帶固定載荷工況下執(zhí)行35 mm/s以下的指令速度時,運(yùn)動控制器的最終定位誤差均低于0.075 mm。在變載工況下,指令速度達(dá)到30 mm/s時,所測得的部分?jǐn)?shù)據(jù)顯示最終定位誤差超出0.08 mm,可見在載荷大幅變動的情況下,該控制器在30 mm/s的指令速度以內(nèi)運(yùn)行為最佳。值得強(qiáng)調(diào)的是,各速度指令下的位移曲線起點(diǎn)并未從時間軸的零點(diǎn)開始,而延遲了約0.15 s,該延遲時間主要由STM32的速度規(guī)劃延時引起,若控制器執(zhí)行微位移指令,則不會存在該延時。
3種工況下的同步誤差測試曲線如圖(5~7)所示。
圖5 空載工況同步誤差測試曲線
圖6 帶載工況同步誤差測試曲線
圖7 變載工況同步誤差測試曲線
運(yùn)動控制器同步誤差測試結(jié)果如表2所示。
表2 運(yùn)動控制器同步誤差測試結(jié)果
從實測結(jié)果來看,雙通道最大位移同步誤差和最終位移同步誤差總體上隨著指令速度的增大而增大,指令速度在35 mm/s以下時,最大同步誤差最大值為0.095 mm,最終同步誤差最大值為0.085 mm。
同時,在空載、帶載和變載工況下執(zhí)行相同的速度指令時,雙通道位移同步誤差無明顯的遞增或遞減規(guī)律,可知載荷對該系統(tǒng)的雙通道位移同步誤差影響不大,可見所采用的雙通道同步控制策略的有效性。
以45 mm/s指令速度和不同的加減速度參數(shù)運(yùn)行2 s。
帶載工況下的加減速性能測試曲線如圖8所示。
從圖8中可看出,實驗測試中的最小加速時間為0.05 s,雙步進(jìn)電機(jī)均出現(xiàn)上超調(diào)并迅速返回指令速度曲線附近波動。
圖8 帶載工況下的加減速性能測試曲線
在測試的所有數(shù)據(jù)中,雙步進(jìn)電機(jī)的位置定位誤差和位置同步誤差均保持在0~0.095 mm范圍內(nèi),系統(tǒng)運(yùn)行流暢,且無任何卡頓現(xiàn)象。
筆者設(shè)計的雙通道閉環(huán)步進(jìn)電機(jī)運(yùn)動控制器面向數(shù)控系統(tǒng),能同時實現(xiàn)閉環(huán)數(shù)控系統(tǒng)三閉環(huán);實驗數(shù)據(jù)顯示,控制器在35 mm/s的指令速度范圍內(nèi),在空載、帶固定載荷、變動載荷工況下,雙通道最終定位誤差最大值和同步誤差最大值分別為0.055 mm和0.065 mm、0.075 mm和0.065 mm、0.085 mm和0.085 mm。實驗結(jié)果表明:在帶載工況下,系統(tǒng)加減速度也能達(dá)到900 mm/s2以上,且能同時滿足系統(tǒng)定位和同步精度要求。
該步進(jìn)電機(jī)運(yùn)動控制器實現(xiàn)了研究初期的功能和性能要求,有利于提高新架構(gòu)數(shù)控系統(tǒng)的運(yùn)行效率。
值得強(qiáng)調(diào)的是,測試實驗中所設(shè)定的PID參數(shù)并不一定是最優(yōu)化的,要進(jìn)一步提升控制器的運(yùn)行性能,除采用更高分辨率的速度和位置檢測元件外,系統(tǒng)中各閉環(huán)PID控制器的參數(shù)有待實現(xiàn)自整定,這將是后期研究的重點(diǎn)。