理解并控制數字馬達控制系統的量化誤差
量化誤差的產(chǎn)生
數字控制系統能夠為設計人員提供多種優(yōu)勢,如更易于實(shí)現高級算法功能、成本更低且性能更穩定等。數字控制器避免了模擬控制中存在的漂移、噪聲敏感性以及組件老化等問(wèn)題。設計數字馬達控制系統時(shí)需要考慮的主要問(wèn)題是選擇合適的處理器,同時(shí),處理器字長(cháng)也至關(guān)重要。設計人員需要關(guān)注定點(diǎn)處理器中定點(diǎn)數表示法引起的量化誤差問(wèn)題。這些誤差將會(huì )降低控制系統的性能,使設計人員無(wú)法最大限度地發(fā)揮出高級算法的優(yōu)勢。
圖 1 通用數字馬達控制系統
圖 1 是通用數字馬達控制系統的結構簡(jiǎn)圖。算法可在數字控制器上實(shí)現,數字控制器生成的控制輸出信號可通過(guò)逆變器驅動(dòng)馬達。電流及電壓測量等反饋信號通過(guò)ADC反饋至該算法。
量化效應產(chǎn)生誤差
數字信號與其表示的信號相近?,F實(shí)世界中的信號在幅度和時(shí)間上是連續的,而數字信號的精度有限且在采樣時(shí)間上不連續。也就是說(shuō),在不考慮縮放比例的情況下,盡管數字信號與其真實(shí)的模擬量不同,但卻可以接受。圖1顯示了系統中不同的量化源 (quantization source)。比較明顯的量化源是:具有量化誤差、孔徑抖動(dòng)、采樣與保持誤差特性的 ADC;具有截位、舍入、溢出誤差特性的計算引擎,具有時(shí)鐘驅動(dòng) PWM 生成功能的有限量化PWM發(fā)生器。
ADC 量化
對于所有采樣信號而言,控制系統信號的真實(shí)值與 ADC 代碼所代表的數值之間的差值即為系統的采樣誤差。主要是通過(guò)使用更長(cháng)字長(cháng)的 ADC 來(lái)最小化采樣誤差(在嵌入式控制器中通常采用 12 位ADC)。當采樣孔徑正在進(jìn)行開(kāi)關(guān)操作時(shí),真實(shí)時(shí)間點(diǎn)的不確定性會(huì )造成孔徑抖動(dòng)或不穩定現象,必須通過(guò)將采樣時(shí)間點(diǎn)與 PWM 處理相結合的方法來(lái)控制這種現象,尤其是在具有最小抖動(dòng)電流的采樣中。在 ADC 運行過(guò)程中,使用硬件觸發(fā)器可以消除由軟件運行引起的抖動(dòng)。
特別要注意的是對多個(gè)電流測量值順序采樣時(shí)會(huì )產(chǎn)生誤差。通常情況下,設計人員希望及時(shí)得到馬達電流在某個(gè)特定時(shí)間點(diǎn)的瞬態(tài)圖,如果使用單個(gè)ADC對兩股電流進(jìn)行順序采樣,則會(huì )產(chǎn)生有限誤差。使用具有雙采樣和保持電路(可同時(shí)對雙通道進(jìn)行采樣)的ADC可以使此類(lèi)誤差最小化,另一個(gè)誤差源是流入高速 ADC 輸入端的信號加載所引起的信號干擾。精心設計電路將有助于降低可能導致逆變器驅動(dòng)級產(chǎn)生電壓干擾的電流峰值。
圖2 所選擇比較方法的概述
算法計算中的量化
算法的數值表示是量化效應最關(guān)鍵的地方。算法表示的精度由字長(cháng)決定??刂乒こ萄芯繉W(xué)深入研究了字長(cháng)的選擇對控制系統性能的影響,然而,在將理論應用于特定系統時(shí)會(huì )遇到兩個(gè)問(wèn)題。實(shí)際上,對于三相 AC 感應馬達中的磁場(chǎng)定向控制 (FOC) 等復雜馬達控制系統而言,量化效應難以通過(guò)分析得出,原因是整個(gè)數字反饋系統是耦合、非線(xiàn)性、復雜和多輸入/多輸出的。其次,由于每個(gè)系統都具有獨特的設計,因此,單一的標準解決方案并不能完全適用于所有情況。分析因數值表示而引起的量化誤差的一個(gè)實(shí)用而高效的方法是:通過(guò)仿真及實(shí)驗分析來(lái)研究實(shí)際的數字控制器和控制方法。
三相 AC 感應馬達的無(wú)傳感直接磁場(chǎng)定向控制系統顯示出了量化誤差的影響。圖2所示的系統已應用于仿真與真實(shí)應用中(需配備適當的外設驅動(dòng)器)。該算法采用 16 位、32 位定點(diǎn)及 32 位 IEEE-754 單精度浮點(diǎn)三種格式,這三種格式均采用基于 32 位定點(diǎn)數字信號處理技術(shù)的 TMS320F2812 數字信號控制器與 TI 針對 32 位定點(diǎn)編程的IQmath庫。IQmath 庫使設計人員能夠簡(jiǎn)便快捷地將以浮點(diǎn)格式編寫(xiě)的 C 語(yǔ)言代碼轉換為 32 位定點(diǎn)格式。代碼完全以 C 語(yǔ)言編寫(xiě),并具有IQMath庫提供的數學(xué)函數。
仿真系統能夠以 16 位、32 位定點(diǎn)及 IEEE754 單精度浮點(diǎn)三種格式表示,這里顯示的僅是其中一種選擇結果。由于定點(diǎn)處理器上的浮點(diǎn)運算是通過(guò)運行時(shí)間支持庫 (rts2800_ml.lib) 來(lái)實(shí)現的,本身效率不高,所以浮點(diǎn)版本的實(shí)現需要較長(cháng)的采樣時(shí)間以便計算所有浮點(diǎn)模塊。由于不同的采樣時(shí)間將影響系統性能,為了便于比較,實(shí)驗結果將只側重于 16位~32位之間的定點(diǎn)版本。
圖3 16 位定點(diǎn)、32 位定點(diǎn)及浮點(diǎn)仿真結果
要比較三種數據格式對數值精度的影響,需要監控估算的速度響應與相應的 d 及 q 軸參考電流。將所有的 PI 增益、參數、基本量在全部三種數據格式的仿真過(guò)程中設定為相同的有效值。從圖3可以看出,16 位定點(diǎn)版本與浮點(diǎn)版本的性能具有極大的差別。
從圖3中數值性能的比較可以看出,16 位定點(diǎn)系統有若干個(gè)偽瞬態(tài) (false transient) 與振鈴,而 32 位系統則沒(méi)有這些現象。32 位單精度浮點(diǎn)與 32 位定點(diǎn)的結果非常相近。
在現實(shí)系統中,這些瞬態(tài)現象會(huì )產(chǎn)生可聽(tīng)到的噪聲及振動(dòng),從而引起許多不良后果。尤其不利的是在第一個(gè)速度級別出現的估測速度振蕩瞬態(tài)的衰減以及隨后的增長(cháng),圖3中顯示,此次的觀(guān)察值十分接近 16 位系統的邊緣值。另一方面,具有控制響應的 32 位定點(diǎn)仿真系統的性能良好。
圖4 馬達控制系統的實(shí)現
圖5 標準 PWM 方案圖,以及高分辨率 PWM 與傳統 PWM 的示波器圖比較
溢出現象一般會(huì )發(fā)生在通過(guò)控制算法進(jìn)行一系列的加、減法運算時(shí)。通過(guò)縮放算法來(lái)降低實(shí)際工作中的溢出可能性通??蛇_到調整溢出的目的??墒褂妙~外的邊緣標簽保護位 (margins labeled guard bit) 來(lái)完成??刂扑惴ㄒ话阍跇嗣聪到y (per-unit system) 中進(jìn)行標準化,以便按比例縮放所有物理變量(電壓、電流、扭矩、速度及磁通量等)。使用合適的縮放比例可消除溢出這一量化誤差源。造成量化誤差的數值計算范例包括乘、除法運算以及三角、指數、平方根等查表數學(xué)函數。
評論