你的位置:首頁 > 互連技術(shù) > 正文

如何通過實(shí)時(shí)網(wǎng)絡(luò)實(shí)現(xiàn)多軸運(yùn)動(dòng)控制的同步

發(fā)布時(shí)間:2019-07-03 責(zé)任編輯:lina

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

關(guān)閉

?

關(guān)閉