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