數(shù)字控制系統(tǒng)中的延時,你知道多少?
隨著MCU、DSP等芯片技術(shù)的高速發(fā)展,數(shù)字控制系統(tǒng)幾乎占據(jù)了原來模擬控制系統(tǒng)把持的大部分江山。而且其開發(fā)設(shè)計相比模擬控制系統(tǒng)來說要簡單了許多,使得人們很容易上手。那是不是只要我們把程序用C代碼一寫,然后弄幾個定時中斷跑跑,只要程序執(zhí)行時間不超過中斷周期,就萬事大吉了呢?有沒有改進(jìn)的空間?
本文引用地址:http://www.ex-cimer.com/article/182083.htm對于一些比較簡單的系統(tǒng),這當(dāng)然沒有問題:跑馬燈或者蜂鳴器永遠(yuǎn)不需要關(guān)心后臺的控制器在做神馬;但是對于一些需要高性能處理能力的測試、控制系統(tǒng),需要我們注意或者說可以改進(jìn)的地方還是挺多的,這里就說一下數(shù)字控制系統(tǒng)中的延時問題。
首先,一個高性能的數(shù)字控制系統(tǒng)是需要有反饋的,例如在電機(jī)的控制里面,就需要電機(jī)電流、轉(zhuǎn)速等信息。電流、電壓等是模擬量,需要把傳感器的輸出信號經(jīng)過A/D轉(zhuǎn)換送到控制器中,這就產(chǎn)生了第一類的延時問題,即采樣-保持延時。這個延時并不是值A/D轉(zhuǎn)換器本身的S/H窗口的時間和轉(zhuǎn)換時間,因為在大多數(shù)情況下,這個時間都是ns級別的,相對于幾十到幾百us的控制周期是微不足道的。這個采樣-保持延時是數(shù)字控制技術(shù)本身導(dǎo)致的,因為數(shù)字控制技術(shù)一般使用定時的采樣,在每次采樣的時候,采集到的數(shù)據(jù)和實際數(shù)據(jù)是一致的,但是在下一次采樣時刻到來之前,系統(tǒng)只能使用本次采樣時刻采集到的數(shù)據(jù),這就相當(dāng)于控制中使用的都是“舊”的數(shù)據(jù),系統(tǒng)在兩次采樣時刻直接,也相當(dāng)于運行在某種開環(huán)狀態(tài)下。這種延時平均算下來是半個采樣時間,減小這種延遲的方法自然是提高采樣頻率了,這需要更快的A/D。
轉(zhuǎn)速的信息則使用編碼器或者觀測器估算。觀測器的暫且不管,因為設(shè)計到更復(fù)雜的計算方法;就速度這物理量本身而言,顯然在一個孤立的采樣點上是無法計算速度的,至少要有兩個點并且知道了兩點間的時間差才能計算,這個時間差同時也造成了一種相位上的滯后,其滯后就是這個時間差,利用數(shù)值分析技術(shù)中的逆梯形微分可以較好地消除這種延時。
最后一種我們很少會提起的延時就是計算延時,貌似在控制教材里很少提起過,因為它們都太專注于數(shù)學(xué)運算了,實質(zhì)性的東西反而沒多少。這種延遲的具體時間是不確定的,取決于很多因素,例如算法的復(fù)雜程度,越復(fù)雜則計算所花的時間越長,這個延時有時候是無法避免的,除非使用更高性能的處理器,或者使用協(xié)處理器專門完成復(fù)雜任務(wù);編程的技巧,越冗余、粗糙的代碼計算所花的時間也越長,仔細(xì)地修飾代碼可以減小這種延時;離散方法的問題,例如同樣的一個積分環(huán)節(jié),使用雙線性變化法和前向歐拉法就存在一個采樣周期的延時差別,這個延時的減小需要在設(shè)計離散化算法時特別注意。
以上的三種延時加在一起,就構(gòu)成了數(shù)字控制系統(tǒng)中的計算延時;再把那些數(shù)字濾波器神馬的延時都加在一起,整個系統(tǒng)的穩(wěn)定裕度也剩余不多了,當(dāng)總相位延時為180度,反饋增益又為1的時候,系統(tǒng)就崩潰了。
在模擬控制系統(tǒng)中,因為沒有定時采樣這些概念,信號的變化都是實時的、連續(xù)的,所以其性能在某些場合仍是數(shù)字系統(tǒng)不能完全比擬的,這也就能解釋為什么在國外一些大公司的產(chǎn)品設(shè)計中,某些關(guān)鍵的控制系統(tǒng)仍然在使用模擬控制系統(tǒng)。當(dāng)然,隨著數(shù)字控制系統(tǒng)性能的不斷提升,這些延時造成的穩(wěn)定裕度下降也許有天可以達(dá)到忽略不計的水平。
蜂鳴器相關(guān)文章:蜂鳴器原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論