【導讀】實(shí)時(shí)確定性以太網(wǎng)協(xié)議(例如EtherCAT)已經(jīng)能夠支持多軸運動(dòng)控制系統的同步運行。1 該同步包含兩方面含義。首先,各個(gè)控制節點(diǎn)之間的命令和指令的傳遞必須與一個(gè)公共時(shí)鐘同步;其次,控制算法和反饋函數的執行必須與同一個(gè)時(shí)鐘同步。第一種同步很好理解,它是網(wǎng)絡(luò )控制器的固有部分。然而,第二種同步到目前為止一直為人所忽視,如今成為運動(dòng)控制性能的瓶頸。
本文介紹從網(wǎng)絡(luò )控制器到電機終端和傳感器全程保持電機驅動(dòng)同步的新概念。所提出的技術(shù)能夠大幅改善同步,從而顯著(zhù)提高控制性能。
問(wèn)題陳述和現有技術(shù)
為了解釋現有解決方案的局限性,考慮一個(gè)兩軸網(wǎng)絡(luò )運動(dòng)控制系統,如圖1所示。運動(dòng)控制主機通過(guò)實(shí)時(shí)網(wǎng)絡(luò )向兩個(gè)伺服控制器發(fā)送命令和指令值,每個(gè)伺服控制器構成網(wǎng)絡(luò )上的一個(gè)從機節點(diǎn)。伺服控制器本身由網(wǎng)絡(luò )控制器、電機控制器、功率逆變器和電機/編碼器組成。
實(shí)時(shí)網(wǎng)絡(luò )協(xié)議采用不同的方法使從機節點(diǎn)與主機同步,一種常用方法是在每個(gè)節點(diǎn)處配置一個(gè)本地同步時(shí)鐘。這種對時(shí)間的共識確保了所有伺服軸的指令值和命令均緊密同步。換言之,實(shí)時(shí)網(wǎng)絡(luò )上的所有網(wǎng)絡(luò )控制器都保持同步。
通常,在網(wǎng)絡(luò )控制器和電機控制器之間有兩條中斷線(xiàn)。第一條通知電機控制器何時(shí)需要收集輸入并將其放到網(wǎng)絡(luò )上。第二條通知電機控制器何時(shí)從網(wǎng)絡(luò )中讀取數據。遵照這種方法,運動(dòng)控制器和電機控制器之間以同步方式進(jìn)行數據交換,并且可以實(shí)現非常高的定時(shí)精度。但是,僅將同步數據傳送到電機控制器還不夠;電機控制器還必須能以同步方式響應數據。如果沒(méi)有這一能力,電機控制器就無(wú)法充分利用網(wǎng)絡(luò )的定時(shí)精度。在響應指令值和命令時(shí),電機控制器的I/O會(huì )出現問(wèn)題。
電機控制器中的每個(gè)I/O(例如脈寬調制(PWM)定時(shí)器和ADC)都具有固有的延遲和時(shí)間量化。例如,我們來(lái)看圖2所示的為功率逆變器產(chǎn)生柵極驅動(dòng)信號的PWM定時(shí)器。該定時(shí)器通過(guò)比較指令值Mx與上下計數器來(lái)產(chǎn)生柵極信號。當控制算法改變Mx時(shí),新的占空比要到下一個(gè)PWM周期才會(huì )生效。這相當于一個(gè)零階保持效應,意味著(zhù)每個(gè)PWM周期T內占空比僅更新一次或兩次(若使用雙更新模式)。

圖1.典型的兩軸網(wǎng)絡(luò )運動(dòng)控制系統。

圖2.PWM定時(shí)器的占空比更新。
在實(shí)時(shí)網(wǎng)絡(luò )上,無(wú)論數據交換如何緊密地同步,PWM定時(shí)器的時(shí)間量化將最終成為軸同步的決定性因素。當接收到新的指令值時(shí),無(wú)法在新的占空比生效之前對其進(jìn)行響應。這導致時(shí)間不確定性最長(cháng)可達一個(gè)PWM周期(通常在50 μs至100 μs范圍內)。實(shí)際上,網(wǎng)絡(luò )同步周期和PWM周期之間將存在一個(gè)未經(jīng)定義且可變的相位關(guān)系。將其與實(shí)時(shí)網(wǎng)絡(luò )上低于1 μs的時(shí)間不確定性相比較,很顯然,電機控制器的I/O在網(wǎng)絡(luò )同步運動(dòng)控制中起到更至關(guān)重要的作用。實(shí)際上,決定同步精度的不是實(shí)時(shí)網(wǎng)絡(luò ),而是系統I/O。
再次參考圖1,該系統具有A、B、C三個(gè)同步域,它們沒(méi)有綁定在一起。它們實(shí)際上并不同步,具有最長(cháng)可達一個(gè)PWM周期的可變不確定性。
同步不確定性及應用影響
在面向機器人和機床等應用的高性能多軸伺服系統中,可以清楚地看到時(shí)間不確定性的影響。在I/O級的電機控制軸之間的時(shí)間偏移量變化會(huì )對機器人或機床的最終三維定位精度產(chǎn)生直接且顯著(zhù)的影響。
考慮一個(gè)簡(jiǎn)單的運動(dòng)曲線(xiàn),如圖3所示。在此示例中,電機速度指令值(藍色曲線(xiàn))上升后再下降。如果斜坡速率在機電系統的能力范圍內,則實(shí)際速度預期值將遵循指令值。但是,如果在系統中任何位置存在延遲,則實(shí)際速度(紅色曲線(xiàn))將滯后于指令值,從而導致位置誤差Δθ。

圖3.時(shí)序延遲對位置精度的影響。
在多軸機器中,根據機器的機械結構將目標位置(x, y, z)轉換為角度軸向描述(θ1, ..., θn)。角度軸向描述為每個(gè)軸定義了一系列相等時(shí)間間隔的位置/速度命令。軸之間的任何時(shí)序差異都會(huì )導致機器的精度降低??紤]圖4所示的兩軸示例。機器的目標路徑以一組(x, y)坐標來(lái)描述。延遲使y軸命令產(chǎn)生時(shí)序誤差,最終導致不規則的實(shí)際路徑。
在某些情況下,通過(guò)適當的補償可以最大程度地降低固定延遲的影響。然而,更關(guān)鍵的是無(wú)法對可變且未知的延遲進(jìn)行補償。此外,可變延遲會(huì )導致控制環(huán)路增益發(fā)生改變,從而使調整環(huán)路以獲得最佳性能變得很困難。
應該注意的是,系統中任何地方的延遲都會(huì )導致機器精度不準確。因此,盡可能減小或消除延遲才能提高生產(chǎn)率和最終產(chǎn)品質(zhì)量。

圖4.時(shí)序延遲對位置精度的影響。
同步和新型控制拓撲
傳統的運動(dòng)控制方法如圖5的上半部分所示。運動(dòng)控制器(通常為PLC)通過(guò)實(shí)時(shí)網(wǎng)絡(luò )將位置指令(θ*)發(fā)送到電機控制器。電機控制器由三個(gè)級聯(lián)的反饋環(huán)路組成,包括控制轉矩/電流(T/i)的內部環(huán)路、控制速度(ω)的中間環(huán)路和另一個(gè)控制位置(θ)的環(huán)路。轉矩環(huán)路的帶寬最高,位置環(huán)路的帶寬最低。來(lái)自工廠(chǎng)的反饋保持在電機控制器本地,并與控制算法和脈寬調制器緊密同步。
采用這種系統拓撲,運動(dòng)控制器和電機控制器之間通過(guò)位置指令值來(lái)實(shí)現軸的同步,但是在CNC加工等極高精度應用中,與電機控制器的I/O(反饋和PWM)同步的相關(guān)性只會(huì )使之成為問(wèn)題。位置環(huán)路通常具有相當低的帶寬,因此對I/O同步較為不敏感。這意味著(zhù)即使網(wǎng)絡(luò )與I/O位于不同的同步域中,指令級的節點(diǎn)同步性能通常也能接受。
雖然圖5上半部分所示的控制拓撲很常見(jiàn),但也可以使用其他的控制分區方法,例如在運動(dòng)控制器側實(shí)現位置和/或速度環(huán)路,并通過(guò)網(wǎng)絡(luò )傳送速度/轉矩指令值。工業(yè)領(lǐng)域近期趨于轉向一種新的分區方法,即所有的控制環(huán)路都由電機控制器轉移至網(wǎng)絡(luò )主機側功能強大的運動(dòng)控制器(見(jiàn)圖5的下半部分所示)。在實(shí)時(shí)網(wǎng)絡(luò )上交換的數據是電機控制器的電壓指令(v*)和運動(dòng)控制器的工廠(chǎng)反饋(i, ω, θ)。這種控制拓撲由功能強大的多核PLC和實(shí)時(shí)網(wǎng)絡(luò )實(shí)現,具有諸多優(yōu)勢。首先,該架構具有很高的可擴展性。還可以輕松地添加/移除軸,無(wú)需擔心電機控制器的處理能力。其次,由于軌跡規劃和運動(dòng)控制都在同一個(gè)中心位置完成,因此可以提高精度。
新的控制拓撲也有缺點(diǎn)。在電機控制器中去除了控制算法,因此損失了代碼執行和I/O的緊密同步??刂骗h(huán)路的帶寬越高,損失I/O同步的問(wèn)題就越大。轉矩/電流環(huán)路對同步特別敏感。

圖5.傳統(上圖)和新興(下圖)的運動(dòng)控制拓撲。

圖6.I/O調度器將同步域綁定在一起。
建議的解決方案
將更快速的控制環(huán)路移至運動(dòng)控制器提出了從網(wǎng)絡(luò )主機直到電機終端全程同步的要求。
總體思路是使所有軸的I/O與網(wǎng)絡(luò )同步,以使它們全都在一個(gè)同步域中運行。圖6顯示了一個(gè)位于網(wǎng)絡(luò )控制器和電機控制器之間的I/O事件調度器。I/O事件調度器的主要功能是為所有外設生成同步/復位脈沖,使它們與網(wǎng)絡(luò )流量保持同步。I/O事件調度器獲取幀同步信號,該信號來(lái)源于網(wǎng)絡(luò )控制器的本地時(shí)鐘,并為必須與網(wǎng)絡(luò )保持同步的所有I/O輸出適當的硬件觸發(fā)信號。
每個(gè)I/O都有自己的一組時(shí)序/復位要求,這意味著(zhù)I/O事件調度器必須為每個(gè)I/O提供定制的觸發(fā)信號。雖然觸發(fā)信號的要求不同,但它們仍擁有一些通用法則。首先,所有觸發(fā)信號必須以幀同步為基準。其次,存在與每個(gè)觸發(fā)信號相關(guān)聯(lián)的延遲/偏移。該延遲與I/O的固有延遲有關(guān),例如,ADC的轉換時(shí)間或sinc濾波器的群延遲。第三,存在I/O響應時(shí)間,例如,來(lái)自ADC的數據傳輸。I/O事件調度器掌握每個(gè)I/O的時(shí)序要求,并根據本地時(shí)鐘連續調整觸發(fā)/復位脈沖。生成I/O事件調度器每個(gè)輸出脈沖的原理概述如圖7所示。

圖7.I/O調度器生成觸發(fā)脈沖。
在大多數網(wǎng)絡(luò )運動(dòng)控制系統中,幀速率以及幀同步速率等于或低于電機控制器的PWM更新速率。這意味著(zhù)I/O事件調度器必須每幀周期提供至少一個(gè)、也可能是多個(gè)觸發(fā)脈沖。例如,如果幀速率為10 kHz且PWM速率為10 kHz,則I/O事件調度器必須為每一個(gè)網(wǎng)絡(luò )幀提供1個(gè)觸發(fā)脈沖,類(lèi)似地,如果幀速率為1 kHz且PWM速率為10 kHz,I/O事件調度器必須為每一個(gè)網(wǎng)絡(luò )幀提供10個(gè)觸發(fā)脈沖。這相當于圖7中的倍頻器。對每個(gè)同步脈沖施加延遲時(shí)間tD,以補償每個(gè)I/O的固有延遲。I/O事件調度器的最后一個(gè)要素是智能濾波功能。每個(gè)網(wǎng)絡(luò )上都會(huì )存在一些流量抖動(dòng)。濾波器可減少觸發(fā)脈沖的抖動(dòng),并確保幀同步頻率的變化率受到限制。
圖7的下半部分顯示了PWM同步的一個(gè)示例時(shí)序圖。請注意,本例中幀同步頻率是PWM頻率的倍數以及I/O觸發(fā)信號抖動(dòng)是如何減小的。
實(shí)現方案
圖8顯示了一個(gè)在網(wǎng)絡(luò )運動(dòng)控制系統中實(shí)施并進(jìn)行測試的推薦的同步方案示例。網(wǎng)絡(luò )主機采用Beckhoff CX2020 PLC,并連接到PC用于開(kāi)發(fā)和部署PLC程序。實(shí)時(shí)網(wǎng)絡(luò )協(xié)議(紅色箭頭)為EtherCAT。
電機控制器主要采用ADI公司的fido5200和ADSP-CM408。兩者結合,為網(wǎng)絡(luò )連接的電機驅動(dòng)器提供高度集成的芯片組。
fido5200是一個(gè)帶有兩個(gè)以太網(wǎng)端口的實(shí)時(shí)以太網(wǎng)多協(xié)議(REM)交換芯片。它在主機處理器和工業(yè)以太網(wǎng)物理層之間提供一個(gè)靈活的接口。fido5200包括一個(gè)可配置的定時(shí)器控制單元(TCU),可針對各種工業(yè)以太網(wǎng)協(xié)議實(shí)現先進(jìn)的同步方案。還可以借助專(zhuān)用定時(shí)器引腳實(shí)現輸入捕獲和方波信號輸出等附加功能。定時(shí)器輸入/輸出與本地同步時(shí)間保持同相,因此也與網(wǎng)絡(luò )流量保持同相。這使其不僅可以同步單個(gè)從機節點(diǎn)的I/O,而且可以同步整個(gè)網(wǎng)絡(luò )中的從機節點(diǎn)。
REM交換芯片有兩個(gè)以太網(wǎng)端口,因此可連接兩個(gè)Phys(PHY1和PHY2)。該拓撲支持環(huán)形和線(xiàn)形網(wǎng)絡(luò )。但在本實(shí)驗設置中,作為演示說(shuō)明,僅使用一個(gè)從機節點(diǎn),并且只有一個(gè)以太網(wǎng)端口處于活動(dòng)狀態(tài)。
REM交換芯片通過(guò)并行存儲器總線(xiàn)與主機處理器通信,確保了高吞吐量和低延遲。
用于實(shí)現電機控制器的主機處理器采用ADSP-CM408。它是基于A(yíng)RM® Cortex®-M4F內核的專(zhuān)用處理器,用于實(shí)現控制和應用功能。該處理器包括支持工業(yè)控制應用的外設,如用于PWM逆變器控制的定時(shí)器、ADC采樣和位置編碼器接口。為了使所有外設與網(wǎng)絡(luò )保持同步,采用了一個(gè)靈活的觸發(fā)路由單元(TRU)。TRU將fido5200的TCU生成的觸發(fā)信號重定向至ADSP-CM408上的所有時(shí)序關(guān)鍵型外設。這些外設包括脈寬調制器、用于相電流測量的sinc濾波器、ADC和絕對編碼器接口。同步I/O的原理如圖9所示。

圖9.為I/O生成同步事件。
在圖9中,請注意如何利用REM交換芯片上的TCU和電機控制處理器上的TRU來(lái)實(shí)現I/O事件調度器。換言之,該功能由兩個(gè)集成電路實(shí)現。
電機控制器反饋三相伺服電機的相電流和轉子位置。相電流使用隔離式Σ-ΔADC測量,轉子位置則使用EnDat絕對編碼器測量。Σ-ΔADC和編碼器都直接連接至ADSP-CM408,無(wú)需任何外部FPGA或CPLD。
PWM開(kāi)關(guān)頻率為10 kHz,每個(gè)PWM周期執行一次控制算法。如本文所述,TCU在每個(gè)PWM周期內為ADSP-CM408提供一次同步脈沖。
實(shí)驗結果
實(shí)驗設置照片如圖10所示。為了說(shuō)明系統的同步功能,設置PLC使之運行一個(gè)持續200 μs的程序任務(wù)。任務(wù)時(shí)間還決定了EtherCAT網(wǎng)絡(luò )上的幀速率。電機控制器以PWM方式運行,并且控制更新周期為100 μs(10 kHz),因此需要以此速率生成同步脈沖。結果如圖11所示。

圖8.同步方案的實(shí)現。

圖10.同步方案的實(shí)現。

圖11.為I/O生成同步事件。
Data Ready(數據就緒)信號指示REM交換芯片何時(shí)向電機控制應用提供網(wǎng)絡(luò )數據。信號每200 μs置位一次,與EtherCAT幀速率相對應。PWM同步信號也由REM交換芯片產(chǎn)生,用于使電機控制器的I/O與網(wǎng)絡(luò )流量保持同步。由于PWM周期為100 μs,REM交換芯片每個(gè)EtherCAT幀調度兩次PWM同步脈沖。圖11中下方的兩個(gè)信號HSPWM和LSPWM是其中一個(gè)電機相位的高端和低端PWM。請注意PWM信號是如何與網(wǎng)絡(luò )流量同步的。
總結
實(shí)時(shí)以太網(wǎng)廣泛用于運動(dòng)控制系統,一些協(xié)議可實(shí)現精度小于1 μs的時(shí)間同步。但是,同步僅涉及網(wǎng)絡(luò )主機和從機之間的數據通信?,F有的網(wǎng)絡(luò )解決方案不包括運動(dòng)控制I/O同步,這限制了可實(shí)現的控制性能。
本文提出的同步方案可以實(shí)現從網(wǎng)絡(luò )主機直至電機終端的全程同步。由于同步性能大幅改善,該方案能夠顯著(zhù)提高控制性能。該方案還可提供跨多個(gè)軸的無(wú)縫同步??梢暂p松地添加軸,并根據單個(gè)電機控制器定制同步。
同步基于I/O事件調度器,該調度器位于網(wǎng)絡(luò )控制器和電機控制器之間。I/O事件調度器可實(shí)時(shí)高速編程,并且可進(jìn)行調節以最小化抖動(dòng)/頻率變化效應。
本文提出的方案已經(jīng)在實(shí)驗設置中得到了驗證,并展示了其結果。實(shí)驗采用的通信協(xié)議是EtherCAT。然而,建議的方案適用于任何實(shí)時(shí)以太網(wǎng)協(xié)議。
參考文獻
1.Jie Ma,“基于EtherCAT的多自由度運動(dòng)控制系統設計與實(shí)現。”2016年第六屆儀器測量、計算機、通信與控制國際會(huì )議,2016年7月。