數(shù)字控制系統(tǒng)能夠為設(shè)計人員提供多種優(yōu)勢,如更易于實現(xiàn)高級算法功能、成本更低且性能更穩(wěn)定等。數(shù)字控制器避免了模擬控制中存在的漂移、噪聲敏感性以及組件老化等問題。設(shè)計數(shù)字馬達(dá)控制系統(tǒng)時需要考慮的主要問題是選擇合適的處理器,同時,處理器字長也至關(guān)重要。設(shè)計人員需要關(guān)注定點處理器中定點數(shù)表示法引起的量化誤差問題。這些誤差將會降低控制系統(tǒng)的性能,使設(shè)計人員無法最大限度地發(fā)揮出高級算法的優(yōu)勢。


點擊看大圖

                  圖 1 通用數(shù)字馬達(dá)控制系統(tǒng)

圖 1 是通用數(shù)字馬達(dá)控制系統(tǒng)的結(jié)構(gòu)簡圖。算法可在數(shù)字控制器上實現(xiàn),數(shù)字控制器生成的控制輸出信號可通過逆變器驅(qū)動馬達(dá)。電流及電壓測量等反饋信號通過ADC反饋至該算法。

量化效應(yīng)產(chǎn)生誤差

數(shù)字信號與其表示的信號相近?,F(xiàn)實世界中的信號在幅度和時間上是連續(xù)的,而數(shù)字信號的精度有限且在采樣時間上不連續(xù)。也就是說,在不考慮縮放比例的情況下,盡管數(shù)字信號與其真實的模擬量不同,但卻可以接受。圖1顯示了系統(tǒng)中不同的量化源 (quantization source)。比較明顯的量化源是:具有量化誤差、孔徑抖動、采樣與保持誤差特性的 ADC;具有截位、舍入、溢出誤差特性的計算引擎,具有時鐘驅(qū)動 PWM 生成功能的有限量化PWM發(fā)生器。

ADC 量化

對于所有采樣信號而言,控制系統(tǒng)信號的真實值與 ADC 代碼所代表的數(shù)值之間的差值即為系統(tǒng)的采樣誤差。主要是通過使用更長字長的 ADC 來最小化采樣誤差(在嵌入式控制器中通常采用 12 位ADC)。當(dāng)采樣孔徑正在進(jìn)行開關(guān)操作時,真實時間點的不確定性會造成孔徑抖動或不穩(wěn)定現(xiàn)象,必須通過將采樣時間點與 PWM 處理相結(jié)合的方法來控制這種現(xiàn)象,尤其是在具有最小抖動電流的采樣中。在 ADC 運(yùn)行過程中,使用硬件觸發(fā)器可以消除由軟件運(yùn)行引起的抖動。

特別要注意的是對多個電流測量值順序采樣時會產(chǎn)生誤差。通常情況下,設(shè)計人員希望及時得到馬達(dá)電流在某個特定時間點的瞬態(tài)圖,如果使用單個ADC對兩股電流進(jìn)行順序采樣,則會產(chǎn)生有限誤差。使用具有雙采樣和保持電路(可同時對雙通道進(jìn)行采樣)的ADC可以使此類誤差最小化,另一個誤差源是流入高速 ADC 輸入端的信號加載所引起的信號干擾。精心設(shè)計電路將有助于降低可能導(dǎo)致逆變器驅(qū)動級產(chǎn)生電壓干擾的電流峰值。


點擊看大圖

         圖2 所選擇比較方法的概述

算法計算中的量化

算法的數(shù)值表示是量化效應(yīng)最關(guān)鍵的地方。算法表示的精度由字長決定??刂乒こ萄芯繉W(xué)深入研究了字長的選擇對控制系統(tǒng)性能的影響,然而,在將理論應(yīng)用于特定系統(tǒng)時會遇到兩個問題。實際上,對于三相 AC 感應(yīng)馬達(dá)中的磁場定向控制 (FOC) 等復(fù)雜馬達(dá)控制系統(tǒng)而言,量化效應(yīng)難以通過分析得出,原因是整個數(shù)字反饋系統(tǒng)是耦合、非線性、復(fù)雜和多輸入/多輸出的。其次,由于每個系統(tǒng)都具有獨特的設(shè)計,因此,單一的標(biāo)準(zhǔn)解決方案并不能完全適用于所有情況。分析因數(shù)值表示而引起的量化誤差的一個實用而高效的方法是:通過仿真及實驗分析來研究實際的數(shù)字控制器和控制方法。

三相 AC 感應(yīng)馬達(dá)的無傳感直接磁場定向控制系統(tǒng)顯示出了量化誤差的影響。圖2所示的系統(tǒng)已應(yīng)用于仿真與真實應(yīng)用中(需配備適當(dāng)?shù)耐庠O(shè)驅(qū)動器)。該算法采用 16 位、32 位定點及 32 位 IEEE-754 單精度浮點三種格式,這三種格式均采用基于 32 位定點數(shù)字信號處理技術(shù)的 TMS320F2812數(shù)字信號控制器與 TI針對 32 位定點編程的IQmath庫。IQmath 庫使設(shè)計人員能夠簡便快捷地將以浮點格式編寫的 C 語言代碼轉(zhuǎn)換為 32 位定點格式。代碼完全以 C 語言編寫,并具有IQMath庫提供的數(shù)學(xué)函數(shù)。

仿真系統(tǒng)能夠以 16 位、32 位定點及 IEEE754 單精度浮點三種格式表示,這里顯示的僅是其中一種選擇結(jié)果。由于定點處理器上的浮點運(yùn)算是通過運(yùn)行時間支持庫 (rts2800_ml.lib) 來實現(xiàn)的,本身效率不高,所以浮點版本的實現(xiàn)需要較長的采樣時間以便計算所有浮點模塊。由于不同的采樣時間將影響系統(tǒng)性能,為了便于比較,實驗結(jié)果將只側(cè)重于 16位~32位之間的定點版本。