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

圖1 : 典型的兩軸網(wǎng)路運(yùn)動(dòng)控制系統(tǒng) |
|

圖2 : PWM計(jì)時(shí)器的占空比更新 |
|
在即時(shí)網(wǎng)路上,無論資料交換如何緊密地同步,PWM計(jì)時(shí)器的時(shí)間量化將最終成為軸同步的決定性因素。當(dāng)接收到新的指令值時(shí),無法在新的工作週期生效之前對(duì)其進(jìn)行回應(yīng)。這導(dǎo)致時(shí)間不確定性最長可達(dá)一個(gè)PWM週期(通常在50 μs至100 μs範(fàn)圍內(nèi))。
實(shí)際上,網(wǎng)路同步週期和PWM週期之間將存在一個(gè)未經(jīng)定義且可變的相位關(guān)係,將其與即時(shí)網(wǎng)路上低於1 μs的時(shí)間不確定性相比較,很顯然,馬達(dá)控制器的I/O在網(wǎng)路同步運(yùn)動(dòng)控制中發(fā)揮了更至關(guān)重要的作用。實(shí)際上,決定同步精度的不是即時(shí)網(wǎng)路,而是系統(tǒng)I/O。
請(qǐng)?jiān)俅螀⒖紙D1,該系統(tǒng)具有A、B、C三個(gè)同步域,它們沒有綁定在一起。它們實(shí)際上並不同步,具有最長可達(dá)一個(gè)PWM週期的可變不確定性。
同步不確定性及應(yīng)用影響
在針對(duì)機(jī)器人和機(jī)床等應(yīng)用的高性能多軸伺服系統(tǒng)中,可以清楚地看到時(shí)間不確定性的影響。在I/O級(jí)的馬達(dá)控制軸之間的時(shí)間偏移量變化,會(huì)對(duì)機(jī)器人或機(jī)床的最終三維定位精度產(chǎn)生直接且顯著的影響。
此處請(qǐng)考量一個(gè)簡單的運(yùn)動(dòng)曲線,如圖3所示。在此示例中,馬達(dá)速度指令值(藍(lán)色曲線)上升後再下降。如果斜坡速率在機(jī)電系統(tǒng)的能力範(fàn)圍內(nèi),則實(shí)際速度預(yù)期值將遵循指令值。但是,如果在系統(tǒng)中任何位置存在延遲,則實(shí)際速度(紅色曲線)將滯後於指令值,從而導(dǎo)致位置誤差Δθ。

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

圖4 : 時(shí)序延遲對(duì)位置精度的影響。 |
|
同步和新型控制拓?fù)?/span>
傳統(tǒng)的運(yùn)動(dòng)控制方法請(qǐng)參考如圖5的上半部分所示。運(yùn)動(dòng)控制器(通常為PLC)透過即時(shí)網(wǎng)路將位置指令(θ*)發(fā)送到馬達(dá)控制器。馬達(dá)控制器由三個(gè)級(jí)聯(lián)的回饋迴路組成,包括控制轉(zhuǎn)矩/電流(T/i)的內(nèi)部迴路、控制速度(ω)的中間迴路和另一個(gè)控制位置(θ)的迴路。轉(zhuǎn)矩迴路的頻寬最高,位置迴路的頻寬最低。來自工廠的回饋保持在馬達(dá)控制器本地,並與控制演算法和脈寬調(diào)變器緊密同步。
當(dāng)採用這種系統(tǒng)拓?fù)鋾r(shí),運(yùn)動(dòng)控制器和馬達(dá)控制器之間是透過位置指令值來實(shí)現(xiàn)軸的同步,但是在CNC加工等極高精度應(yīng)用中,與馬達(dá)控制器的I/O(回饋和PWM)同步的相關(guān)性只會(huì)使之成為問題。位置迴路通常具有相當(dāng)?shù)偷念l寬,因此對(duì)I/O同步較為不敏感。這意味著即使網(wǎng)路與I/O位於不同的同步域中,指令級(jí)的節(jié)點(diǎn)同步性能通常也能接受。
雖然圖5上半部分所示的控制拓?fù)浜艹R姡部梢允褂闷渌目刂品謪^(qū)方法,例如在運(yùn)動(dòng)控制器側(cè)實(shí)現(xiàn)位置和/或速度迴路,並透過網(wǎng)路傳送速度/轉(zhuǎn)矩指令值。工業(yè)領(lǐng)域近期趨於轉(zhuǎn)向一種新的分區(qū)方法,即所有的控制迴路都由馬達(dá)控制器轉(zhuǎn)移至網(wǎng)路主機(jī)側(cè)功能強(qiáng)大的運(yùn)動(dòng)控制器(見圖5的下半部分所示)。在即時(shí)網(wǎng)路上交換的資料是馬達(dá)控制器的電壓指令(v*)和運(yùn)動(dòng)控制器的工廠回饋(i, ω, θ)。這種控制拓?fù)溆晒δ軓?qiáng)大的多核PLC和即時(shí)網(wǎng)路實(shí)現(xiàn),具有諸多優(yōu)勢。首先,該架構(gòu)具有很高的可擴(kuò)展性,還可以輕鬆地添加/移除軸,無需擔(dān)心馬達(dá)控制器的處理能力;其次,由於軌跡規(guī)劃和運(yùn)動(dòng)控制都在同一個(gè)中心位置完成,因此可以提高精度。
新的控制拓?fù)湟灿衅淙秉c(diǎn),在馬達(dá)控制器中去除了控制演算法,因此損失了代碼執(zhí)行和I/O的緊密同步,控制迴路的頻寬越高,損失I/O同步的問題就越大,轉(zhuǎn)矩/電流迴路對(duì)同步特別敏感。

圖5 : 傳統(tǒng)(上)和新興(下)的運(yùn)動(dòng)控制拓?fù)洹?/td> |
|

圖6 : I/O調(diào)度器將同步域綁定在一起。 |
|
建議的解決方案
@內(nèi)文;將更快速的控制迴路移至運(yùn)動(dòng)控制器,則產(chǎn)生了從網(wǎng)路主機(jī)直到馬達(dá)終端全程同步的要求。
總體思路,是使所有軸的I/O與網(wǎng)路同步,以使它們?nèi)荚谝粋€(gè)同步域中運(yùn)行。圖6顯示了一個(gè)位於網(wǎng)路控制器和馬達(dá)控制器之間的I/O事件調(diào)度器。I/O事件調(diào)度器的主要功能是為所有周邊生成同步/復(fù)位脈衝,使它們與網(wǎng)路流量保持同步。I/O事件調(diào)度器獲取幀同步訊號(hào),該訊號(hào)來源於網(wǎng)路控制器的本地時(shí)脈,並為必須與網(wǎng)路保持同步的所有I/O輸出適當(dāng)?shù)挠搀w觸發(fā)訊號(hào)。
每個(gè)I/O都具有自己的一組時(shí)序/復(fù)位要求,這意味著I/O事件調(diào)度器必須為每個(gè)I/O提供訂製的觸發(fā)訊號(hào)。雖然觸發(fā)訊號(hào)的要求不同,但它們?nèi)該碛幸恍┩ㄓ梅▌t。首先,所有觸發(fā)訊號(hào)必須以幀同步為基準(zhǔn)。其次,存在與每個(gè)觸發(fā)訊號(hào)相關(guān)聯(lián)的延遲/偏移。該延遲與I/O的固有延遲有關(guān),例如ADC的轉(zhuǎn)換時(shí)間或sinc濾波器的群延遲。第三,存在I/O回應(yīng)時(shí)間,例如來自ADC的資料傳輸。I/O事件調(diào)度器掌握每個(gè)I/O的時(shí)序要求,並根據(jù)本地時(shí)脈連續(xù)調(diào)整觸發(fā)/重定脈衝,生成I/O事件調(diào)度器每個(gè)輸出脈衝的原理概述,如圖7所示。

圖7 : I/O調(diào)度器生成觸發(fā)脈衝。 |
|
在大多數(shù)網(wǎng)路運(yùn)動(dòng)控制系統(tǒng)中,畫面播放速率以及幀同步速率等於或低於馬達(dá)控制器的PWM更新速率。這意味著I/O事件調(diào)度器必須每幀週期提供至少一個(gè)、也可能是多個(gè)觸發(fā)脈衝。例如,如果畫面播放速率為10 kHz且PWM速率為10 kHz,則I/O事件調(diào)度器必須為每一個(gè)網(wǎng)路幀提供1個(gè)觸發(fā)脈衝,類似地,如果畫面播放速率為1 kHz且PWM速率為10 kHz,I/O事件調(diào)度器必須為每一個(gè)網(wǎng)路幀提供10個(gè)觸發(fā)脈衝。
這相當(dāng)於圖7中的倍頻器。對(duì)每個(gè)同步脈衝施加延遲時(shí)間tD,以補(bǔ)償每個(gè)I/O的固有延遲,I/O事件調(diào)度器的最後一個(gè)要素是智慧濾波功能。每個(gè)網(wǎng)路上都會(huì)存在一些流量抖動(dòng),濾波器可減少觸發(fā)脈衝的抖動(dòng),並確保幀同步頻率的變化率受到限制。
圖7的下半部分顯示了PWM同步的一個(gè)示例時(shí)序圖。請(qǐng)注意,本例中幀同步頻率是PWM頻率的倍數(shù)以及I/O觸發(fā)訊號(hào)抖動(dòng)如何減小。
實(shí)現(xiàn)方案
圖8顯示了一個(gè)在網(wǎng)路運(yùn)動(dòng)控制系統(tǒng)中實(shí)施並進(jìn)行測試的推薦的同步方案示例。網(wǎng)路主機(jī)採用Beckhoff CX2020 PLC,並連接到PC用於開發(fā)和部署PLC程式,即時(shí)網(wǎng)路通訊協(xié)定(紅色箭頭)為EtherCAT。
馬達(dá)控制器主要採用ADI公司的fido5200和ADSP-CM408。兩者結(jié)合,為網(wǎng)路連接的馬達(dá)驅(qū)動(dòng)器提供高度整合的晶片組。
fido5200是一個(gè)帶有兩個(gè)乙太網(wǎng)路埠的即時(shí)乙太網(wǎng)路多協(xié)定(REM)交換晶片,它在主機(jī)處理器和工業(yè)乙太網(wǎng)路實(shí)體層之間提供一個(gè)靈活的介面,fido5200包括一個(gè)可配置的計(jì)時(shí)器控制單元(TCU),可針對(duì)各種工業(yè)乙太網(wǎng)協(xié)定實(shí)現(xiàn)先進(jìn)的同步方案,還可以借助專用計(jì)時(shí)器針腳實(shí)現(xiàn)輸入捕獲和方波訊號(hào)輸出等附加功能。計(jì)時(shí)器輸入/輸出與本地同步時(shí)間保持同相,因此也與網(wǎng)路流量保持同相,這使其不僅可以同步單個(gè)從機(jī)節(jié)點(diǎn)的I/O,而且可以同步整個(gè)網(wǎng)路中的從機(jī)節(jié)點(diǎn)。
REM交換晶片有兩個(gè)乙太網(wǎng)路埠,因此可連接兩個(gè)Phys(PHY1和PHY2),該拓?fù)渲гh(huán)形和線形網(wǎng)路。但在本實(shí)驗(yàn)設(shè)定中,作為展示說明,僅使用一個(gè)從機(jī)節(jié)點(diǎn),並且只有一個(gè)乙太網(wǎng)路埠處於活動(dòng)狀態(tài)。
REM交換晶片透過並行記憶體匯流排與主機(jī)處理器通訊,藉以確保高輸送量和低延遲。
用於實(shí)現(xiàn)馬達(dá)控制器的主機(jī)處理器採用ADSP-CM408。它是基於ARM Cortex-M4F核心的專用處理器,用於實(shí)現(xiàn)控制和應(yīng)用功能。該處理器包括支援工業(yè)控制應(yīng)用的周邊,如用於PWM逆變器控制的計(jì)時(shí)器、ADC採樣和位置編碼器介面,為了使所有外設(shè)與網(wǎng)路保持同步,採用了一個(gè)靈活的觸發(fā)路由單元(TRU),TRU將fido5200的TCU生成的觸發(fā)訊號(hào)重定向至ADSP-CM408上的所有時(shí)序關(guān)鍵型周邊,這些周邊包括脈寬調(diào)製器、用於相電流測量的sinc濾波器、ADC和絕對(duì)編碼器介面。同步I/O的原理,如圖9所示。
在圖9中,請(qǐng)注意如何利用REM交換晶片上的TCU和馬達(dá)控制處理器上的TRU來實(shí)現(xiàn)I/O事件調(diào)度器,換言之,該功能由兩個(gè)積體電路實(shí)現(xiàn)。
馬達(dá)控制器回饋三相伺服馬達(dá)的相電流和轉(zhuǎn)子位置,相電流使用隔離式Σ-ΔADC測量,轉(zhuǎn)子位置則使用EnDat絕對(duì)編碼器測量,Σ-ΔADC和編碼器都直接連接至ADSP-CM408,無需任何外部FPGA或CPLD。
PWM切換開關(guān)頻率為10 kHz,每個(gè)PWM週期執(zhí)行一次控制演算法。如本文所述,TCU在每個(gè)PWM週期內(nèi)為ADSP-CM408提供一次同步脈衝。
實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)設(shè)置照片如圖10所示。為了說明系統(tǒng)的同步功能,設(shè)定PLC使之運(yùn)行一個(gè)持續(xù)200 μs的程式任務(wù),任務(wù)時(shí)間還決定了EtherCAT網(wǎng)路上的畫面播放速率。馬達(dá)控制器以PWM方式運(yùn)行,並且控制更新週期為100 μs(10 kHz),因此需要以此速率生成同步脈衝。結(jié)果如圖11所示。
Data Ready(資料就緒)訊號(hào)指示REM交換晶片何時(shí)向馬達(dá)控制應(yīng)用提供網(wǎng)路資料,訊號(hào)每200 μs置位元一次,與EtherCAT畫面播放速率相對(duì)應(yīng)。PWM同步訊號(hào)也由REM交換晶片產(chǎn)生,用於使馬達(dá)控制器的I/O與網(wǎng)路流量保持同步。由於PWM週期為100 μs,REM交換晶片每個(gè)EtherCAT幀調(diào)度兩次PWM同步脈衝。圖11中下方的兩個(gè)訊號(hào)HSPWM和LSPWM是其中一個(gè)馬達(dá)相位的高端和低端PWM,請(qǐng)注意PWM訊號(hào)是如何與網(wǎng)路流量同步的。
總結(jié)
即時(shí)乙太網(wǎng)廣泛用於運(yùn)動(dòng)控制系統(tǒng),相關(guān)協(xié)定可實(shí)現(xiàn)精度小於1 μs的時(shí)間同步,但是,同步僅涉及網(wǎng)路主機(jī)和從機(jī)之間的資料通訊。現(xiàn)有的網(wǎng)路解決方案不包括運(yùn)動(dòng)控制I/O同步,而這就限制了可實(shí)現(xiàn)的控制性能。
本文提出的同步方案可實(shí)現(xiàn)從網(wǎng)路主機(jī)直至馬達(dá)終端的全程同步。由於同步性能大幅改善,該方案能夠顯著提高控制性能。該方案還可提供跨多個(gè)軸的無縫同步,可以輕鬆地添加軸,並根據(jù)單個(gè)馬達(dá)控制器訂製同步。
同步基於I/O事件調(diào)度器,該調(diào)度器位於網(wǎng)路控制器和馬達(dá)控制器之間。I/O事件調(diào)度器可即時(shí)高速編程,並且可進(jìn)行調(diào)節(jié)以最小化抖動(dòng)/頻率變化效應(yīng)。
本文提出的方案已經(jīng)在實(shí)驗(yàn)設(shè)置中得到驗(yàn)證,並展示其結(jié)果。實(shí)驗(yàn)採用的通訊協(xié)定是EtherCAT。然而建議的方案適用於任何即時(shí)乙太網(wǎng)協(xié)定。
(本文作者Jens Sorensen1、Dara O’Sullivan2、Christian Aaen3為ADI公司1系統(tǒng)應(yīng)用工程師、2自動(dòng)化、能源與感測器業(yè)務(wù)部馬達(dá)和電源控制團(tuán)隊(duì)(MPC)資深系統(tǒng)應(yīng)用工程師、3確定性乙太網(wǎng)路技術(shù)部軟體系統(tǒng)設(shè)計(jì)工程師)
參考文獻(xiàn)
[1]Jie Ma,“基於EtherCAT的多自由度運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。”2016年第六屆儀器測量、電腦、通訊與控制國際會(huì)議,2016年7月。