PO TECH STUDIO

產業應用系列 #05

EtherCAT 與多軸同步:分散式時鐘為什麼重要

兩個軸要一起走一條 45 度的斜線。X 軸和 Y 軸各自以 200 mm/s 移動,控制器同時發出指令——但 X 軸的驅動器比 Y 軸晚了 100 µs 才收到。

結果是路徑偏差 20 µm

Δ = v × Δt = 200 mm/s × 100 µs = 0.02 mm

如果這是一台切割機,這 20 µm 就直接刻在工件上。如果是量測站,這 20 µm 就是量測誤差。通訊層的時間誤差,會等比例變成空間誤差——這就是為什麼多軸系統要談同步。

一、同步誤差會變成什麼

把速度與同步誤差交叉起來看,數量級一目了然:

表一:同步誤差乘上運動速度,就是位置誤差。Δx = v × Δt,與軸數、馬達好壞無關。
運動速度同步誤差 1 ms同步誤差 100 µs同步誤差 1 µs
100 mm/s100 µm10 µm0.1 µm
200 mm/s200 µm20 µm0.2 µm
500 mm/s500 µm50 µm0.5 µm

機構做到微米級,通訊層卻是毫秒級,整個系統的精度就停在毫秒那一層。

這也解釋了一個常見的困惑:伺服選得很好、機構剛性也夠,單軸定位量起來漂亮,但兩軸一起動就是做不出圓弧或斜線。問題不在軸上,在兩軸「什麼時候開始動」這件事沒有對齊

二、EtherCAT 的第一個關鍵:飛速處理

一般的工業乙太網路,每個節點收到封包後要完整接收、解析、處理、再重新發送。節點越多,延遲累積得越快。

EtherCAT 的做法完全不同:封包不停下來。一個乙太網路訊框依序穿過所有從站,每個從站在訊框「經過自己」的當下,用硬體即時把屬於自己的那幾個位元組讀走、並把回傳資料寫進去,訊框繼續往下一站走。

主站 控制器 驅動器 X驅動器 Y 驅動器 ZI/O 模組 讀寫自己那段讀寫自己那段 讀寫自己那段讀寫自己那段 一個訊框依序穿過,不停留 末端折返,同一個訊框把所有回授帶回主站 讀寫由從站的專用晶片在硬體層完成,延遲以奈秒計 所以節點數增加時,週期時間幾乎不變
EtherCAT 的「飛速處理」(processing on the fly):訊框穿過每個從站時由硬體即時讀寫,不必逐站完整接收再轉發。依 EtherCAT Technology Group 的說明,這個設計讓訊框的有效資料率超過 90 %,單一網段最多可接 65,535 個裝置,並以週期時間 ≤ 100 µs 為設計目標之一。

三、第二個關鍵:分散式時鐘

訊框傳得快,只解決了「資料到得夠即時」。但各軸還是在不同時刻收到資料——第一站和第四站之間本來就有傳播時間差。

分散式時鐘(Distributed Clocks,DC)解決的正是這件事。做法是:

  1. 選定一個從站的時鐘當作參考時鐘
  2. 主站量測訊框往返各站的傳播延遲,算出每一站相對參考時鐘的偏移
  3. 把偏移補償值寫進各站,讓所有節點共用同一個時間基準
  4. 動作指令不再是「收到就做」,而是「在時間 T 做」

第 4 點是整件事的核心。既然大家的時鐘是同步的,資料早到晚到就不重要了——全部等到指定的那一刻同時執行。

依 EtherCAT Technology Group 的規格說明,各節點之間的抖動遠低於 1 µs。回到開頭那張表:1 µs 的同步誤差在 200 mm/s 下只造成 0.2 µm 的位置偏差,已經落到機構本身的誤差之下。

四、三種方式怎麼選

表二:三種常見的多軸控制方式比較。選型的第一個判斷條件是軸數,第二個是需不需要軸與軸之間的協調運動。
方式同步能力適用軸數適合的場合
脈波/方向 靠控制卡的硬體輸出,同步好但接線多 1–8 軸數少、佈線距離短、預算敏感
CANopen 毫秒等級,適合不需嚴格協調的場合 4–16 點對點定位、上下料、夾治具動作
EtherCAT 啟用 DC 後抖動遠低於 1 µs 8 以上 插補運動、龍門同動、飛拍、多軸協調

判斷順序建議這樣走:

  1. 軸與軸之間需要協調運動嗎?(插補、龍門同動、電子凸輪)——需要就直接看 EtherCAT,不必再比
  2. 不需要協調,只是各自定位?——八軸以內用脈波最單純(一張 4 軸或 8 軸控制卡就夠),再多就用 CANopen 省佈線
  3. 之後會不會加軸?——EtherCAT 加軸是接一條線,脈波加軸是加一張卡加一束線

五、同步之外,還要對上取像

多軸同步解決的是「軸與軸之間」。量測站還有另一個同步問題:軸與相機之間

載台以 100 mm/s 移動,觸發訊號晚了 1 ms,影像就對應到 100 µm 以外的位置——而且偏多少取決於當下的速度,所以不是一個可以事後補償的固定偏移。

解法有兩個,都在工業自動化頁的 2.4 節算過:用運動控制卡的位置比較輸出(PSO)直接由編碼器位置觸發相機,或者用 EtherCAT 的分散式時鐘把相機觸發模組也納入同一個時間基準。後者的好處是整條線只有一套時間,不必再處理兩套系統之間的對時。

結語:先確認誤差的來源在哪一層

「精度做不出來」是一個症狀,不是一個原因。真正要做的是把誤差拆開:

  • 單軸定位就不準 → 機構或伺服調機的問題,看慣量比與轉矩
  • 單軸準、多軸不準 → 同步問題,看這一篇
  • 靜止準、移動中不準 → 取像觸發問題,看 PSO 與 DC
  • 剛開機準、跑一段時間不準 → 熱漂移,看機構的材料與溫控

四種原因的解法完全不同,而且互不替代。換更好的伺服解決不了同步問題,換 EtherCAT 也解決不了機構剛性不足。先確認是哪一層,再決定花錢的方向。

繼續閱讀

工業自動化

馬達控制

三層控制迴路、S 曲線加減速規劃與運動取像同步。