馬達扭矩前饋深入探討原文連結)(台灣網站)

要讓運動控制器發揮最大的功效,就是要給它更多的資料

查克.李維,性能動態儀器(PMD)創辦人與工程部副總裁

許多的動態應用方案,從整個運動的過程到結果都需要較高的準確度。即使你使用的是完全優化的PIDproportionalintegralderivative;比例,積分,微分)數值來控制定位,但補償迴路永遠不會完美,因為迴路必須要管理許多系統力的影響。

我們能夠加入在PID迴路之外的一些控制元件來提高性能嗎? 答案是肯定的,因此在這篇深入探討之中,我們將著眼於扭矩控制和扭矩前饋(feedforward)相關的主題。讓你的系統運行更順暢,並提供較佳的準確度。

我是這樣的扭矩

1顯示了典型的整體電子馬達控制方案。一個配置產生器(Profile Generator),一個 PID定位補償器,和一個電流迴路。流經馬達的電流最終會產生扭矩。

Electronic Motor Control Scheme, with profile generator, PID position compensator and current loop

圖表 1

有些比較簡單的控制系統省去了電流迴路,並直接輸出電壓命令給馬達,並因此來產生馬達線圈的電流。雖然事實證明,馬達線圈的電壓和實際流經馬達的電流,這兩者之間的關聯其實相當的複雜。

對於大多數的動態控制應用,通常會使用一個主動控制並能測量馬達電流的電流迴路。而現代的控制器已將前述的這項作業數位化,藉由使用傳感器和A/D(類比轉數位轉換器),以及根據目標成本和驅動器的性能從多個方案中所選的電流檢測方案。比如用比較準確的方案來不間斷的測量或判斷流經每個馬達接腳的電流,而用比較簡單的方案來測量整個馬達的一個電流。

觀察齒輪的轉動

OK,現在我們終於讓齒輪動起來了。設定好我們的定位PID迴路並開始讓機器運動。然而,儘管有微調了很多的PID參數,我們發現不能完美的遵循本來想要的運動配置(profile)。尤其是當機器正在處於動態的時候,似乎總是有一點延遲或過衝。

為什麼呢?原因之一:為了讓PID迴路能夠有任何的輸出,就必須在先有一個錯誤(error)的基礎上運作。因此按照這樣的定義,動態就一定會有定位誤差。另一個原因,是現實世界的系統必須要在高準確度的期望以及穩定性的需求之間取得平衡,非震盪的動態運作會在所有的配置以及所有的負載之上。PID增益最終代表了這兩個目標之間的妥協。

如果有方法能給予運動控制器更多關於機器的資訊,也許我們可以減輕PID迴路的負擔,並減少定位誤差。

方法當然是有的,這帶入了我們這篇深入探討的主要題目。接下來的幾段章節中,我們會討論增加扭矩命令直接給PID輸出,幫忙減輕PID迴路負擔的許多方式。我們的目標是要用我們預先知道的方式補償機器或馬達力量,從而減少PID所需要的扭矩命令輸出。

我失敗了,我不能讓我的伺服系統零延遲

扭矩前置回饋最簡單的可能類型,是一個在所期望的扭矩命令裡的偏差常數(constant bias)。得益於此的經典配置是一個受到重力的影響的垂直軸,這個應用中最佳的輸出偏差(output bias)將產生一個足夠大的扭矩來舉起垂直軸,因此至少在理論上讓PID迴路不用做任何事去補償重力的力。

在現實世界,有幾個因素不允許完美的補償。首先,大量的負載通常是容易變動的,此外即使建立了嚴格的容許公差,馬達和機械結構的運作卻仍無法完全一致。 因此,在增加扭矩補償數值的時候,我們的期望就不能太高,但這並不是完全放棄數個 PID迴路必須進行的工作。

除了一個偏差常數,有什麼額外的項目可以幫助讓會影響機器的許多力歸零嗎?兩個流行的前饋方法:速度比例(velocity-proportional)前饋和加速度比例(acceleration-proportional)前饋。

2顯示一個軸使用一個梯形的移動配置進行移動,以及實際的機器軸可能出現的定位誤差。

Velocity & Acceleration Feedforward Profiles, with Position Error

圖表 2

因為運動所引發的任何力,且能被控制器預先測量的,會被作為前置回饋補償的候選。在這個速度前饋的範例裡,有各種可能與機器的動態抵銷的摩擦力,是與軸的速度值成正比的。如果我們能確定這些力的規模,我們就能夠補償。

同樣的道理可以完全套用在加速比例的力,從機器的負載抗拒被運動的趨向開始。在加速和減速的期間,如果機器負載的量是已知的,那麼我們應該能夠前饋一個加速度比例的扭矩,這個扭矩能夠預先補償負載的慣性所產生的力,這也被稱為反映扭矩。

圖表顯示沒有前饋補償的時候、在速度前饋套用後以及速度和加速度前饋同時套用之後的定位錯誤。結果證明,沒有必要去明確的測量這些機器運作中的力。努力維持命令配置的PID迴路,會顯示給我們需要進行補償的扭矩輸出。如果你自行嘗試操作,你會知道這個技術其實是由藉由將Iintegral)歸零,和只用Pproportional)和一些Dderivative)項來簡單化。

觀看伺服系統延遲的型態,能讓你判斷你的機器現在是速度比例延遲?還是加速比例延遲?或者兩者都有?如之前所述,因為負載會改變,機器也各有不同。我們希望降低伺服系統延遲,但無法期望零延遲。

我們在討論的運動學?

有「正交(orthogonal)」致動器(actuator)的機器,如X Y平台,因為有簡單的反映力,相對的比較容易補償。

然而一些機械人的設置,如PUMA-style的關節式機械臂(就是你會在工廠看到負責焊接車輛的機械人)有更多複雜的反映扭矩,而且還有如向心力之類完全不一樣的力。此外對於這些機械人來說,當機械臂旋轉時,過去屬於恆定的反映力(比如說重力)也許會改變。圖3提供了一個簡單的圖解釋了這一點。在Position 1馬達所需要的反映的重力補償扭矩,和在Position 2是相當不同的。

Complicated Reflected Torque in PUMA-style Articulated Robot Arm

Figure 3

理論上,只要有足夠的負載、動態配置和機器人的資訊,這些力就能被補償。並且在高價位的關節式機械臂的先進與高級設計中,如此的運動力轉換和扭矩補償技術是很常見的。

一些可用的更新潮的技術,比如設置一個「觀測器」能夠機動的觀測效能表現來判斷哪裡有負載,或因時間而老化的機器元件的摩擦力是如何變化。不過這些奇特的技術基本上是不會提供給現貨市場上一般用途的動態控制器。

路上的顛簸

另一種我們能用電子方式補償的力主要來自馬達本身。原因是:無論是旋轉或線性的馬達,都不提供電流完美的轉換成產生的扭矩。有幾個扭矩輸出的「顛簸(bump)」來源,而且這個顛簸會直接滲(inject)在機器的機械結構本身,使PID補償的工作更加困難。

顛簸的其中一個效應是止動(detent)。步進馬達(step motor)在旋轉過程中很容易感覺到的止動就是常見的顛簸。如果使用無刷直流馬達(Brushless DC motor),這些顛簸隨著轉動將會越來越少,但一樣無法達到期望。

藉著對應馬達的扭矩配置,通過一個完整的電週期,將有可能開發出可以抵消止動的補償馬達指令(又是另一種形式的前饋)。舉例來說,圖4繪製了一個PMD實驗室中馬達的止動補償表,這張表也就是為了本篇最後的實驗影片而製作的。

Torque Compensation Graph

4

值得一提的是步進馬達使用一個類似的技術也可以讓定位的準確度提高。在高解析度底下,即使提交了一份完美的正弦波型,步進馬達也不會正確增量的移動。對微步進驅動器(microstepping drive)的正弦/餘弦查找表(Sin/Cos lookup table)進行些小調整,可以提高微步進的準確性。

如果這聽起來好像需要很多的工作,那麼以無刷直流馬達來說,選擇「無溝槽(slotless)」馬達(之所以稱為無槽是因為取消了定子裡的有溝槽鐵製疊片)是一個很好的選擇,而且可以實質上消除止動。至於步進馬達,有所謂的「傾斜式轉子(skewed rotor)技術能夠將止動減到最少,但無法完全消除。這兩種馬達類型的費用都會比較高,但往往是最好的選擇。

另一方面,只要將動態控制器轉移到一個基於軟體的平台就行了,例如一個 DSPDigital Signal Processor,數位信號處理器),這些技術不會增加成本。所以當馬達的花費成本是個問題的情況下,或者只是想要讓性能再提昇一個等級,你應該考慮電子補償的方案。

來吧,讓我的輸出結果更線性

要總結關於扭矩補償的討論,我們有了幾個嘗試線性化馬達扭矩輸出的技術。

事實證明,即使給予一個恆定的電流,馬達轉動時仍無法輸出完全一樣的扭矩。在一個完整的或更多的電氣周期之間,扭矩輸出(根據馬達的不同)可能有+/-20%的變化。

在所有操作條件下,所有不同的扭矩值,以及所有不同的旋轉位置下,要完全的糾正這個誤差是很複雜的。但對於一個精巧的應用方案來說,給馬達多種相角(phase angle)的一個小的扭矩比例補償項,可以顯著的提高馬達的線性程度,也因此能減少扭矩的微動漣漪(ripple)滲入機械結構。

到實驗室去!

為了設置這個月的實驗影片,我們在一堆無刷直流馬達裡面找了一個具有一定的止動,而且止動是可以被測量的馬達。一種如上前文所描述的電子補償技術,能夠讓一台低價旋轉馬達的性能表現變得更好嗎?當然可以!

一個PMDION®數位驅動器(ION® Digital Drive 裝載了一個扭矩補償表(如圖4所顯示)來控制馬達。在馬達轉動時換向器(commutator)的每個輸出位置,補償表中的馬達扭矩命令就直接添加到PID位置控制器的輸出,從而抵消造成馬達止動的扭矩微動漣漪。

實際上,去感覺扭矩輸出會比只是去把它具體化容易的多。我們把這個實驗設置好,當補償器起動的時候,去扭轉馬達並去感覺馬達的止動神奇的「消失」是相當不可思議的。

無論如何,要將這樣的效果具體化,我們把馬達的軸和一個滑輪連接,然後用一條線纏繞滑輪和一個粘著指示標誌的橡皮帶組合在一起,並把他放到一個靈敏的手工製「刻度尺」上滑動。當馬達帶動滑輪繞出,細橡皮帶會因為要對應讓馬達運動所需的力而有一定比例的伸展,因此可以在那個位置測量馬達的扭矩輸出。

Torque Compensation Graph

5:下方實驗影片設置的圖解

沒有補償時的移動(影片鍊結)

有補償時的移動(影片鍊結

就如影片所呈現,未補償的馬達扭矩輸出很明顯的比較顛簸,而同樣的馬達,經過補償過後的系統顯的比較平順。

這就是這個月的深度討論,在這裡要暫時說再會了!

查克.李維
性能動態儀器(PMD)創辦人與工程部副總裁


    

新 北 市 汐 止 區 康 寧 街 169 巷 23 號 7 樓 之 一

公司電話:+886-2-2695-8906(代表號)

 02-2695-6755, 02-2695-7011, 02-2695-7033

公司傳真:+886-2-26958911

顏永富 分機35  johnny@bentech-taiwan.com

上次更新日期: 2018年07月17日