即時確定性乙太網路協定(例如EtherCAT)已經能夠支援多軸運動控制系統的同步運行。[1]該同步包含兩方面的涵義。首先,各個控制節點之間的命令和指令的傳遞必須與一個公共時脈同步;其次,控制演算法和回饋函數的執行必須與同一個時脈同步。第一種同步很容易理解,它是網路控制器的固有部分。然而,第二種同步到目前為止一直為人所忽視,如今也成為了運動控制性能的瓶頸。
本文介紹從網路控制器到馬達終端和感測器全程保持馬達驅動同步的新概念。文中所提出的技術,可望能夠大幅改善同步,從而顯著提高控制性能。
問題陳述和現有技術
為了解釋現有解決方案的局限性,請考量一個兩軸網路運動控制系統,如圖1所示。運動控制主機透過即時網路向兩個伺服控制器發送命令和指令值,每個伺服控制器構成網路上的一個從機節點。伺服控制器本身由網路控制器、馬達控制器、功率逆變器和馬達/編碼器所組成。
即時網路通訊協定採用不同的方法使從機節點與主機同步,有一種常用方法,是在每個節點處配置一個本地同步時脈。這種對時間的共識確保了所有伺服軸的指令值和命令均緊密同步;換言之,即時網路上的所有網路控制器都可保持同步。
通常,在網路控制器和馬達控制器之間有兩條中斷線,第一條通知馬達控制器何時需要收集輸入並將其放到網路上,第二條通知馬達控制器何時從網路中讀取資料。遵照這種方法,運動控制器和馬達控制器之間以同步方式進行資料交換,並且可以實現非常高的定時精度。但是,僅將同步資料傳送到馬達控制器還不夠;馬達控制器還必須能以同步方式回應資料,如果不具備這一項能力,馬達控制器就無法充分利用網路的定時精度。在回應指令值和命令時,馬達控制器的I/O將會出現問題。
馬達控制器中的每個I/O(例如脈寬調變(PWM)計時器和ADC)都具有固有的延遲和時間量化。例如圖2所示,其為功率逆變器產生柵極驅動訊號的PWM計時器。該計時器透過比較指令值Mx與上下計數器來產生閘極訊號。當控制演算法改變Mx時,新的工作週期要到下一個PWM週期才會生效,這相當於一個零階保持效應,意味著每個PWM週期T內,工作週期僅更新一次或兩次(若使用雙更新模式)。
在即時網路上,無論資料交換如何緊密地同步,PWM計時器的時間量化將最終成為軸同步的決定性因素。當接收到新的指令值時,無法在新的工作週期生效之前對其進行回應。這導致時間不確定性最長可達一個PWM週期(通常在50 μs至100 μs範圍內)。
實際上,網路同步週期和PWM週期之間將存在一個未經定義且可變的相位關係,將其與即時網路上低於1 μs的時間不確定性相比較,很顯然,馬達控制器的I/O在網路同步運動控制中發揮了更至關重要的作用。實際上,決定同步精度的不是即時網路,而是系統I/O。
請再次參考圖1,該系統具有A、B、C三個同步域,它們沒有綁定在一起。它們實際上並不同步,具有最長可達一個PWM週期的可變不確定性。
同步不確定性及應用影響
在針對機器人和機床等應用的高性能多軸伺服系統中,可以清楚地看到時間不確定性的影響。在I/O級的馬達控制軸之間的時間偏移量變化,會對機器人或機床的最終三維定位精度產生直接且顯著的影響。
此處請考量一個簡單的運動曲線,如圖3所示。在此示例中,馬達速度指令值(藍色曲線)上升後再下降。如果斜坡速率在機電系統的能力範圍內,則實際速度預期值將遵循指令值。但是,如果在系統中任何位置存在延遲,則實際速度(紅色曲線)將滯後於指令值,從而導致位置誤差Δθ。
在多軸機器中,根據機器的機械結構將目標位置(x, y, z)轉換為角度軸向描述(θ1, ..., θn)。角度軸向描述為每個軸定義了一系列相等時間間隔的位置/速度命令。軸之間的任何時序差異都會導致機器的精度降低。考慮圖4所示的兩軸示例。機器的目標路徑以一組(x, y)座標來描述。延遲使y軸命令產生時序誤差,最終導致不規則的實際路徑。
在某些情況下,透過適當的補償可以最大程度地降低固定延遲的影響。然而,更關鍵的是無法對可變且未知的延遲進行補償。此外,可變延遲會導致控制迴路增益發生改變,從而使調整迴路以獲得最佳性能變得很困難。
應該注意的是,系統中任何地方的延遲都會導致機器精度不準確。因此,應該要盡可能減小或消除延遲,才能提高生產率和最終產品品質。
同步和新型控制拓撲
傳統的運動控制方法請參考如圖5的上半部分所示。運動控制器(通常為PLC)透過即時網路將位置指令(θ*)發送到馬達控制器。馬達控制器由三個級聯的回饋迴路組成,包括控制轉矩/電流(T/i)的內部迴路、控制速度(ω)的中間迴路和另一個控制位置(θ)的迴路。轉矩迴路的頻寬最高,位置迴路的頻寬最低。來自工廠的回饋保持在馬達控制器本地,並與控制演算法和脈寬調變器緊密同步。
當採用這種系統拓撲時,運動控制器和馬達控制器之間是透過位置指令值來實現軸的同步,但是在CNC加工等極高精度應用中,與馬達控制器的I/O(回饋和PWM)同步的相關性只會使之成為問題。位置迴路通常具有相當低的頻寬,因此對I/O同步較為不敏感。這意味著即使網路與I/O位於不同的同步域中,指令級的節點同步性能通常也能接受。
雖然圖5上半部分所示的控制拓撲很常見,但也可以使用其他的控制分區方法,例如在運動控制器側實現位置和/或速度迴路,並透過網路傳送速度/轉矩指令值。工業領域近期趨於轉向一種新的分區方法,即所有的控制迴路都由馬達控制器轉移至網路主機側功能強大的運動控制器(見圖5的下半部分所示)。在即時網路上交換的資料是馬達控制器的電壓指令(v*)和運動控制器的工廠回饋(i, ω, θ)。這種控制拓撲由功能強大的多核PLC和即時網路實現,具有諸多優勢。首先,該架構具有很高的可擴展性,還可以輕鬆地添加/移除軸,無需擔心馬達控制器的處理能力;其次,由於軌跡規劃和運動控制都在同一個中心位置完成,因此可以提高精度。
新的控制拓撲也有其缺點,在馬達控制器中去除了控制演算法,因此損失了代碼執行和I/O的緊密同步,控制迴路的頻寬越高,損失I/O同步的問題就越大,轉矩/電流迴路對同步特別敏感。
建議的解決方案
@內文;將更快速的控制迴路移至運動控制器,則產生了從網路主機直到馬達終端全程同步的要求。
總體思路,是使所有軸的I/O與網路同步,以使它們全都在一個同步域中運行。圖6顯示了一個位於網路控制器和馬達控制器之間的I/O事件調度器。I/O事件調度器的主要功能是為所有周邊生成同步/復位脈衝,使它們與網路流量保持同步。I/O事件調度器獲取幀同步訊號,該訊號來源於網路控制器的本地時脈,並為必須與網路保持同步的所有I/O輸出適當的硬體觸發訊號。
每個I/O都具有自己的一組時序/復位要求,這意味著I/O事件調度器必須為每個I/O提供訂製的觸發訊號。雖然觸發訊號的要求不同,但它們仍擁有一些通用法則。首先,所有觸發訊號必須以幀同步為基準。其次,存在與每個觸發訊號相關聯的延遲/偏移。該延遲與I/O的固有延遲有關,例如ADC的轉換時間或sinc濾波器的群延遲。第三,存在I/O回應時間,例如來自ADC的資料傳輸。I/O事件調度器掌握每個I/O的時序要求,並根據本地時脈連續調整觸發/重定脈衝,生成I/O事件調度器每個輸出脈衝的原理概述,如圖7所示。
在大多數網路運動控制系統中,畫面播放速率以及幀同步速率等於或低於馬達控制器的PWM更新速率。這意味著I/O事件調度器必須每幀週期提供至少一個、也可能是多個觸發脈衝。例如,如果畫面播放速率為10 kHz且PWM速率為10 kHz,則I/O事件調度器必須為每一個網路幀提供1個觸發脈衝,類似地,如果畫面播放速率為1 kHz且PWM速率為10 kHz,I/O事件調度器必須為每一個網路幀提供10個觸發脈衝。
這相當於圖7中的倍頻器。對每個同步脈衝施加延遲時間tD,以補償每個I/O的固有延遲,I/O事件調度器的最後一個要素是智慧濾波功能。每個網路上都會存在一些流量抖動,濾波器可減少觸發脈衝的抖動,並確保幀同步頻率的變化率受到限制。
圖7的下半部分顯示了PWM同步的一個示例時序圖。請注意,本例中幀同步頻率是PWM頻率的倍數以及I/O觸發訊號抖動如何減小。
實現方案
圖8顯示了一個在網路運動控制系統中實施並進行測試的推薦的同步方案示例。網路主機採用Beckhoff CX2020 PLC,並連接到PC用於開發和部署PLC程式,即時網路通訊協定(紅色箭頭)為EtherCAT。
馬達控制器主要採用ADI公司的fido5200和ADSP-CM408。兩者結合,為網路連接的馬達驅動器提供高度整合的晶片組。
fido5200是一個帶有兩個乙太網路埠的即時乙太網路多協定(REM)交換晶片,它在主機處理器和工業乙太網路實體層之間提供一個靈活的介面,fido5200包括一個可配置的計時器控制單元(TCU),可針對各種工業乙太網協定實現先進的同步方案,還可以借助專用計時器針腳實現輸入捕獲和方波訊號輸出等附加功能。計時器輸入/輸出與本地同步時間保持同相,因此也與網路流量保持同相,這使其不僅可以同步單個從機節點的I/O,而且可以同步整個網路中的從機節點。
REM交換晶片有兩個乙太網路埠,因此可連接兩個Phys(PHY1和PHY2),該拓撲支援環形和線形網路。但在本實驗設定中,作為展示說明,僅使用一個從機節點,並且只有一個乙太網路埠處於活動狀態。
REM交換晶片透過並行記憶體匯流排與主機處理器通訊,藉以確保高輸送量和低延遲。
用於實現馬達控制器的主機處理器採用ADSP-CM408。它是基於ARM Cortex-M4F核心的專用處理器,用於實現控制和應用功能。該處理器包括支援工業控制應用的周邊,如用於PWM逆變器控制的計時器、ADC採樣和位置編碼器介面,為了使所有外設與網路保持同步,採用了一個靈活的觸發路由單元(TRU),TRU將fido5200的TCU生成的觸發訊號重定向至ADSP-CM408上的所有時序關鍵型周邊,這些周邊包括脈寬調製器、用於相電流測量的sinc濾波器、ADC和絕對編碼器介面。同步I/O的原理,如圖9所示。
在圖9中,請注意如何利用REM交換晶片上的TCU和馬達控制處理器上的TRU來實現I/O事件調度器,換言之,該功能由兩個積體電路實現。
馬達控制器回饋三相伺服馬達的相電流和轉子位置,相電流使用隔離式Σ-ΔADC測量,轉子位置則使用EnDat絕對編碼器測量,Σ-ΔADC和編碼器都直接連接至ADSP-CM408,無需任何外部FPGA或CPLD。
PWM切換開關頻率為10 kHz,每個PWM週期執行一次控制演算法。如本文所述,TCU在每個PWM週期內為ADSP-CM408提供一次同步脈衝。
實驗結果
實驗設置照片如圖10所示。為了說明系統的同步功能,設定PLC使之運行一個持續200 μs的程式任務,任務時間還決定了EtherCAT網路上的畫面播放速率。馬達控制器以PWM方式運行,並且控制更新週期為100 μs(10 kHz),因此需要以此速率生成同步脈衝。結果如圖11所示。
Data Ready(資料就緒)訊號指示REM交換晶片何時向馬達控制應用提供網路資料,訊號每200 μs置位元一次,與EtherCAT畫面播放速率相對應。PWM同步訊號也由REM交換晶片產生,用於使馬達控制器的I/O與網路流量保持同步。由於PWM週期為100 μs,REM交換晶片每個EtherCAT幀調度兩次PWM同步脈衝。圖11中下方的兩個訊號HSPWM和LSPWM是其中一個馬達相位的高端和低端PWM,請注意PWM訊號是如何與網路流量同步的。
總結
即時乙太網廣泛用於運動控制系統,相關協定可實現精度小於1 μs的時間同步,但是,同步僅涉及網路主機和從機之間的資料通訊。現有的網路解決方案不包括運動控制I/O同步,而這就限制了可實現的控制性能。
本文提出的同步方案可實現從網路主機直至馬達終端的全程同步。由於同步性能大幅改善,該方案能夠顯著提高控制性能。該方案還可提供跨多個軸的無縫同步,可以輕鬆地添加軸,並根據單個馬達控制器訂製同步。
同步基於I/O事件調度器,該調度器位於網路控制器和馬達控制器之間。I/O事件調度器可即時高速編程,並且可進行調節以最小化抖動/頻率變化效應。
本文提出的方案已經在實驗設置中得到驗證,並展示其結果。實驗採用的通訊協定是EtherCAT。然而建議的方案適用於任何即時乙太網協定。
(本文作者Jens Sorensen1、Dara O’Sullivan2、Christian Aaen3為ADI公司1系統應用工程師、2自動化、能源與感測器業務部馬達和電源控制團隊(MPC)資深系統應用工程師、3確定性乙太網路技術部軟體系統設計工程師)
參考文獻
[1]Jie Ma,“基於EtherCAT的多自由度運動控制系統設計與實現。”2016年第六屆儀器測量、電腦、通訊與控制國際會議,2016年7月。