【導(dǎo)讀】實時確定性以太網(wǎng)協(xié)議(例如EtherCAT)已經(jīng)能夠支持多軸運動控制系統(tǒng)的同步運行。1 該同步包含兩方面含義。首先,各個控制節(jié)點之間的命令和指令的傳遞必須與一個公共時鐘同步;其次,控制算法和反饋函數(shù)的執(zhí)行必須與同一個時鐘同步。第一種同步很好理解,它是網(wǎng)絡(luò)控制器的固有部分。然而,第二種同步到目前為止一直為人所忽視,如今成為運動控制性能的瓶頸。
本文介紹從網(wǎng)絡(luò)控制器到電機終端和傳感器全程保持電機驅(qū)動同步的新概念。所提出的技術(shù)能夠大幅改善同步,從而顯著提高控制性能。
問題陳述和現(xiàn)有技術(shù)
為了解釋現(xiàn)有解決方案的局限性,考慮一個兩軸網(wǎng)絡(luò)運動控制系統(tǒng),如圖1所示。運動控制主機通過實時網(wǎng)絡(luò)向兩個伺服控制器發(fā)送命令和指令值,每個伺服控制器構(gòu)成網(wǎng)絡(luò)上的一個從機節(jié)點。伺服控制器本身由網(wǎng)絡(luò)控制器、電機控制器、功率逆變器和電機/編碼器組成。
實時網(wǎng)絡(luò)協(xié)議采用不同的方法使從機節(jié)點與主機同步,一種常用方法是在每個節(jié)點處配置一個本地同步時鐘。這種對時間的共識確保了所有伺服軸的指令值和命令均緊密同步。換言之,實時網(wǎng)絡(luò)上的所有網(wǎng)絡(luò)控制器都保持同步。
通常,在網(wǎng)絡(luò)控制器和電機控制器之間有兩條中斷線。第一條通知電機控制器何時需要收集輸入并將其放到網(wǎng)絡(luò)上。第二條通知電機控制器何時從網(wǎng)絡(luò)中讀取數(shù)據(jù)。遵照這種方法,運動控制器和電機控制器之間以同步方式進行數(shù)據(jù)交換,并且可以實現(xiàn)非常高的定時精度。但是,僅將同步數(shù)據(jù)傳送到電機控制器還不夠;電機控制器還必須能以同步方式響應(yīng)數(shù)據(jù)。如果沒有這一能力,電機控制器就無法充分利用網(wǎng)絡(luò)的定時精度。在響應(yīng)指令值和命令時,電機控制器的I/O會出現(xiàn)問題。
電機控制器中的每個I/O(例如脈寬調(diào)制(PWM)定時器和ADC)都具有固有的延遲和時間量化。例如,我們來看圖2所示的為功率逆變器產(chǎn)生柵極驅(qū)動信號的PWM定時器。該定時器通過比較指令值Mx與上下計數(shù)器來產(chǎn)生柵極信號。當(dāng)控制算法改變Mx時,新的占空比要到下一個PWM周期才會生效。這相當(dāng)于一個零階保持效應(yīng),意味著每個PWM周期T內(nèi)占空比僅更新一次或兩次(若使用雙更新模式)。
圖1.典型的兩軸網(wǎng)絡(luò)運動控制系統(tǒng)。
圖2.PWM定時器的占空比更新。
在實時網(wǎng)絡(luò)上,無論數(shù)據(jù)交換如何緊密地同步,PWM定時器的時間量化將最終成為軸同步的決定性因素。當(dāng)接收到新的指令值時,無法在新的占空比生效之前對其進行響應(yīng)。這導(dǎo)致時間不確定性最長可達一個PWM周期(通常在50 μs至100 μs范圍內(nèi))。實際上,網(wǎng)絡(luò)同步周期和PWM周期之間將存在一個未經(jīng)定義且可變的相位關(guān)系。將其與實時網(wǎng)絡(luò)上低于1 μs的時間不確定性相比較,很顯然,電機控制器的I/O在網(wǎng)絡(luò)同步運動控制中起到更至關(guān)重要的作用。實際上,決定同步精度的不是實時網(wǎng)絡(luò),而是系統(tǒng)I/O。
再次參考圖1,該系統(tǒng)具有A、B、C三個同步域,它們沒有綁定在一起。它們實際上并不同步,具有最長可達一個PWM周期的可變不確定性。
同步不確定性及應(yīng)用影響
在面向機器人和機床等應(yīng)用的高性能多軸伺服系統(tǒng)中,可以清楚地看到時間不確定性的影響。在I/O級的電機控制軸之間的時間偏移量變化會對機器人或機床的最終三維定位精度產(chǎn)生直接且顯著的影響。
考慮一個簡單的運動曲線,如圖3所示。在此示例中,電機速度指令值(藍色曲線)上升后再下降。如果斜坡速率在機電系統(tǒng)的能力范圍內(nèi),則實際速度預(yù)期值將遵循指令值。但是,如果在系統(tǒng)中任何位置存在延遲,則實際速度(紅色曲線)將滯后于指令值,從而導(dǎo)致位置誤差Δθ。
圖3.時序延遲對位置精度的影響。
在多軸機器中,根據(jù)機器的機械結(jié)構(gòu)將目標(biāo)位置(x, y, z)轉(zhuǎn)換為角度軸向描述(θ1, ..., θn)。角度軸向描述為每個軸定義了一系列相等時間間隔的位置/速度命令。軸之間的任何時序差異都會導(dǎo)致機器的精度降低??紤]圖4所示的兩軸示例。機器的目標(biāo)路徑以一組(x, y)坐標(biāo)來描述。延遲使y軸命令產(chǎn)生時序誤差,最終導(dǎo)致不規(guī)則的實際路徑。
在某些情況下,通過適當(dāng)?shù)难a償可以最大程度地降低固定延遲的影響。然而,更關(guān)鍵的是無法對可變且未知的延遲進行補償。此外,可變延遲會導(dǎo)致控制環(huán)路增益發(fā)生改變,從而使調(diào)整環(huán)路以獲得最佳性能變得很困難。
應(yīng)該注意的是,系統(tǒng)中任何地方的延遲都會導(dǎo)致機器精度不準確。因此,盡可能減小或消除延遲才能提高生產(chǎn)率和最終產(chǎn)品質(zhì)量。
圖4.時序延遲對位置精度的影響。
同步和新型控制拓撲
傳統(tǒng)的運動控制方法如圖5的上半部分所示。運動控制器(通常為PLC)通過實時網(wǎng)絡(luò)將位置指令(θ*)發(fā)送到電機控制器。電機控制器由三個級聯(lián)的反饋環(huán)路組成,包括控制轉(zhuǎn)矩/電流(T/i)的內(nèi)部環(huán)路、控制速度(ω)的中間環(huán)路和另一個控制位置(θ)的環(huán)路。轉(zhuǎn)矩環(huán)路的帶寬最高,位置環(huán)路的帶寬最低。來自工廠的反饋保持在電機控制器本地,并與控制算法和脈寬調(diào)制器緊密同步。
采用這種系統(tǒng)拓撲,運動控制器和電機控制器之間通過位置指令值來實現(xiàn)軸的同步,但是在CNC加工等極高精度應(yīng)用中,與電機控制器的I/O(反饋和PWM)同步的相關(guān)性只會使之成為問題。位置環(huán)路通常具有相當(dāng)?shù)偷膸?,因此對I/O同步較為不敏感。這意味著即使網(wǎng)絡(luò)與I/O位于不同的同步域中,指令級的節(jié)點同步性能通常也能接受。
雖然圖5上半部分所示的控制拓撲很常見,但也可以使用其他的控制分區(qū)方法,例如在運動控制器側(cè)實現(xiàn)位置和/或速度環(huán)路,并通過網(wǎng)絡(luò)傳送速度/轉(zhuǎn)矩指令值。工業(yè)領(lǐng)域近期趨于轉(zhuǎn)向一種新的分區(qū)方法,即所有的控制環(huán)路都由電機控制器轉(zhuǎn)移至網(wǎng)絡(luò)主機側(cè)功能強大的運動控制器(見圖5的下半部分所示)。在實時網(wǎng)絡(luò)上交換的數(shù)據(jù)是電機控制器的電壓指令(v*)和運動控制器的工廠反饋(i, ω, θ)。這種控制拓撲由功能強大的多核PLC和實時網(wǎng)絡(luò)實現(xiàn),具有諸多優(yōu)勢。首先,該架構(gòu)具有很高的可擴展性。還可以輕松地添加/移除軸,無需擔(dān)心電機控制器的處理能力。其次,由于軌跡規(guī)劃和運動控制都在同一個中心位置完成,因此可以提高精度。
新的控制拓撲也有缺點。在電機控制器中去除了控制算法,因此損失了代碼執(zhí)行和I/O的緊密同步??刂骗h(huán)路的帶寬越高,損失I/O同步的問題就越大。轉(zhuǎn)矩/電流環(huán)路對同步特別敏感。
圖5.傳統(tǒng)(上圖)和新興(下圖)的運動控制拓撲。
圖6.I/O調(diào)度器將同步域綁定在一起。
建議的解決方案
將更快速的控制環(huán)路移至運動控制器提出了從網(wǎng)絡(luò)主機直到電機終端全程同步的要求。
總體思路是使所有軸的I/O與網(wǎng)絡(luò)同步,以使它們?nèi)荚谝粋€同步域中運行。圖6顯示了一個位于網(wǎng)絡(luò)控制器和電機控制器之間的I/O事件調(diào)度器。I/O事件調(diào)度器的主要功能是為所有外設(shè)生成同步/復(fù)位脈沖,使它們與網(wǎng)絡(luò)流量保持同步。I/O事件調(diào)度器獲取幀同步信號,該信號來源于網(wǎng)絡(luò)控制器的本地時鐘,并為必須與網(wǎng)絡(luò)保持同步的所有I/O輸出適當(dāng)?shù)挠布|發(fā)信號。
每個I/O都有自己的一組時序/復(fù)位要求,這意味著I/O事件調(diào)度器必須為每個I/O提供定制的觸發(fā)信號。雖然觸發(fā)信號的要求不同,但它們?nèi)該碛幸恍┩ㄓ梅▌t。首先,所有觸發(fā)信號必須以幀同步為基準。其次,存在與每個觸發(fā)信號相關(guān)聯(lián)的延遲/偏移。該延遲與I/O的固有延遲有關(guān),例如,ADC的轉(zhuǎn)換時間或sinc濾波器的群延遲。第三,存在I/O響應(yīng)時間,例如,來自ADC的數(shù)據(jù)傳輸。I/O事件調(diào)度器掌握每個I/O的時序要求,并根據(jù)本地時鐘連續(xù)調(diào)整觸發(fā)/復(fù)位脈沖。生成I/O事件調(diào)度器每個輸出脈沖的原理概述如圖7所示。
圖7.I/O調(diào)度器生成觸發(fā)脈沖。
在大多數(shù)網(wǎng)絡(luò)運動控制系統(tǒng)中,幀速率以及幀同步速率等于或低于電機控制器的PWM更新速率。這意味著I/O事件調(diào)度器必須每幀周期提供至少一個、也可能是多個觸發(fā)脈沖。例如,如果幀速率為10 kHz且PWM速率為10 kHz,則I/O事件調(diào)度器必須為每一個網(wǎng)絡(luò)幀提供1個觸發(fā)脈沖,類似地,如果幀速率為1 kHz且PWM速率為10 kHz,I/O事件調(diào)度器必須為每一個網(wǎng)絡(luò)幀提供10個觸發(fā)脈沖。這相當(dāng)于圖7中的倍頻器。對每個同步脈沖施加延遲時間tD,以補償每個I/O的固有延遲。I/O事件調(diào)度器的最后一個要素是智能濾波功能。每個網(wǎng)絡(luò)上都會存在一些流量抖動。濾波器可減少觸發(fā)脈沖的抖動,并確保幀同步頻率的變化率受到限制。
圖7的下半部分顯示了PWM同步的一個示例時序圖。請注意,本例中幀同步頻率是PWM頻率的倍數(shù)以及I/O觸發(fā)信號抖動是如何減小的。
實現(xiàn)方案
圖8顯示了一個在網(wǎng)絡(luò)運動控制系統(tǒng)中實施并進行測試的推薦的同步方案示例。網(wǎng)絡(luò)主機采用Beckhoff CX2020 PLC,并連接到PC用于開發(fā)和部署PLC程序。實時網(wǎng)絡(luò)協(xié)議(紅色箭頭)為EtherCAT。
電機控制器主要采用ADI公司的fido5200和ADSP-CM408。兩者結(jié)合,為網(wǎng)絡(luò)連接的電機驅(qū)動器提供高度集成的芯片組。
fido5200是一個帶有兩個以太網(wǎng)端口的實時以太網(wǎng)多協(xié)議(REM)交換芯片。它在主機處理器和工業(yè)以太網(wǎng)物理層之間提供一個靈活的接口。fido5200包括一個可配置的定時器控制單元(TCU),可針對各種工業(yè)以太網(wǎng)協(xié)議實現(xiàn)先進的同步方案。還可以借助專用定時器引腳實現(xiàn)輸入捕獲和方波信號輸出等附加功能。定時器輸入/輸出與本地同步時間保持同相,因此也與網(wǎng)絡(luò)流量保持同相。這使其不僅可以同步單個從機節(jié)點的I/O,而且可以同步整個網(wǎng)絡(luò)中的從機節(jié)點。
REM交換芯片有兩個以太網(wǎng)端口,因此可連接兩個Phys(PHY1和PHY2)。該拓撲支持環(huán)形和線形網(wǎng)絡(luò)。但在本實驗設(shè)置中,作為演示說明,僅使用一個從機節(jié)點,并且只有一個以太網(wǎng)端口處于活動狀態(tài)。
REM交換芯片通過并行存儲器總線與主機處理器通信,確保了高吞吐量和低延遲。
用于實現(xiàn)電機控制器的主機處理器采用ADSP-CM408。它是基于ARM® Cortex®-M4F內(nèi)核的專用處理器,用于實現(xiàn)控制和應(yīng)用功能。該處理器包括支持工業(yè)控制應(yīng)用的外設(shè),如用于PWM逆變器控制的定時器、ADC采樣和位置編碼器接口。為了使所有外設(shè)與網(wǎng)絡(luò)保持同步,采用了一個靈活的觸發(fā)路由單元(TRU)。TRU將fido5200的TCU生成的觸發(fā)信號重定向至ADSP-CM408上的所有時序關(guān)鍵型外設(shè)。這些外設(shè)包括脈寬調(diào)制器、用于相電流測量的sinc濾波器、ADC和絕對編碼器接口。同步I/O的原理如圖9所示。
圖9.為I/O生成同步事件。
在圖9中,請注意如何利用REM交換芯片上的TCU和電機控制處理器上的TRU來實現(xiàn)I/O事件調(diào)度器。換言之,該功能由兩個集成電路實現(xiàn)。
電機控制器反饋三相伺服電機的相電流和轉(zhuǎn)子位置。相電流使用隔離式Σ-ΔADC測量,轉(zhuǎn)子位置則使用EnDat絕對編碼器測量。Σ-ΔADC和編碼器都直接連接至ADSP-CM408,無需任何外部FPGA或CPLD。
PWM開關(guān)頻率為10 kHz,每個PWM周期執(zhí)行一次控制算法。如本文所述,TCU在每個PWM周期內(nèi)為ADSP-CM408提供一次同步脈沖。
實驗結(jié)果
實驗設(shè)置照片如圖10所示。為了說明系統(tǒng)的同步功能,設(shè)置PLC使之運行一個持續(xù)200 μs的程序任務(wù)。任務(wù)時間還決定了EtherCAT網(wǎng)絡(luò)上的幀速率。電機控制器以PWM方式運行,并且控制更新周期為100 μs(10 kHz),因此需要以此速率生成同步脈沖。結(jié)果如圖11所示。
圖8.同步方案的實現(xiàn)。
圖10.同步方案的實現(xiàn)。
圖11.為I/O生成同步事件。
Data Ready(數(shù)據(jù)就緒)信號指示REM交換芯片何時向電機控制應(yīng)用提供網(wǎng)絡(luò)數(shù)據(jù)。信號每200 μs置位一次,與EtherCAT幀速率相對應(yīng)。PWM同步信號也由REM交換芯片產(chǎn)生,用于使電機控制器的I/O與網(wǎng)絡(luò)流量保持同步。由于PWM周期為100 μs,REM交換芯片每個EtherCAT幀調(diào)度兩次PWM同步脈沖。圖11中下方的兩個信號HSPWM和LSPWM是其中一個電機相位的高端和低端PWM。請注意PWM信號是如何與網(wǎng)絡(luò)流量同步的。
總結(jié)
實時以太網(wǎng)廣泛用于運動控制系統(tǒng),一些協(xié)議可實現(xiàn)精度小于1 μs的時間同步。但是,同步僅涉及網(wǎng)絡(luò)主機和從機之間的數(shù)據(jù)通信?,F(xiàn)有的網(wǎng)絡(luò)解決方案不包括運動控制I/O同步,這限制了可實現(xiàn)的控制性能。
本文提出的同步方案可以實現(xiàn)從網(wǎng)絡(luò)主機直至電機終端的全程同步。由于同步性能大幅改善,該方案能夠顯著提高控制性能。該方案還可提供跨多個軸的無縫同步。可以輕松地添加軸,并根據(jù)單個電機控制器定制同步。
同步基于I/O事件調(diào)度器,該調(diào)度器位于網(wǎng)絡(luò)控制器和電機控制器之間。I/O事件調(diào)度器可實時高速編程,并且可進行調(diào)節(jié)以最小化抖動/頻率變化效應(yīng)。
本文提出的方案已經(jīng)在實驗設(shè)置中得到了驗證,并展示了其結(jié)果。實驗采用的通信協(xié)議是EtherCAT。然而,建議的方案適用于任何實時以太網(wǎng)協(xié)議。
參考文獻
1.Jie Ma,“基于EtherCAT的多自由度運動控制系統(tǒng)設(shè)計與實現(xiàn)。”2016年第六屆儀器測量、計算機、通信與控制國際會議,2016年7月。