單片機在倒立擺控制系統(tǒng)的應(yīng)用
摘要:通過對一階旋轉(zhuǎn)倒立擺系統(tǒng)原理的分析,選用單片機作為控制器,直流電機作為執(zhí)行器,電位器式角度傳感器作為反饋環(huán)節(jié),采用PID控制算法設(shè)計實現(xiàn)了一階旋轉(zhuǎn)倒立擺控制系統(tǒng)。實驗結(jié)果表明該系統(tǒng)在穩(wěn)定的基礎(chǔ)上具有較強的魯棒性,驗證了PID控制算法在一階旋轉(zhuǎn)倒立擺系統(tǒng)中應(yīng)用的可行性和有效性。
?。?引言
倒立擺作為一種典型的控制系統(tǒng)實驗裝置,具有非線性、自然不穩(wěn)定等特性,常用來作為檢驗?zāi)撤N控制理論或方法是否合理的典型方案。一階倒立擺系統(tǒng)能用多種理論和方法來實現(xiàn)其穩(wěn)定控制,如PID、自適應(yīng)、狀態(tài)反饋、模糊控制及人工神經(jīng)元網(wǎng)絡(luò)等多種理論和方法都能在倒立擺系統(tǒng)控制上得到實現(xiàn)。
?。毕到y(tǒng)構(gòu)成及工作原理
圖1為一階旋轉(zhuǎn)倒立擺結(jié)構(gòu)示意圖。直流電機作為唯一的動力裝置,與旋臂保持剛性連接,帶動旋臂在水平面內(nèi)旋轉(zhuǎn),旋臂的一端通過轉(zhuǎn)軸(本系統(tǒng)選用電位器角度傳感器)與擺桿連接,擺桿可做垂直于旋臂的圓周運動。在自然狀態(tài)下,擺桿為豎直下垂?fàn)顟B(tài)。倒立擺控制的目的是通過控制直流電動機的運動狀態(tài),使擺桿保持倒立狀態(tài)。
圖1倒立擺結(jié)構(gòu)示意圖
系統(tǒng)工作原理如下:擺桿擺動時,角度傳感器檢測擺桿的角度,根據(jù)角度傳感器的輸出特性,其輸出電壓經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換成電壓數(shù)字量,該數(shù)字量與期望的值進行比較產(chǎn)生偏差,通過單片機對該偏差進行處理,即PID控制運算,根據(jù)運算結(jié)果產(chǎn)生控制信號控制電機和旋臂的轉(zhuǎn)動,使擺桿的角度與期望的角度更接近。
倒立擺控制系統(tǒng)結(jié)構(gòu)框圖如圖2所示,單片機(51單片機)為控制器,直流電機為執(zhí)行器,倒立擺為被控對象,倒立擺角度為被控量,角度傳感器和模數(shù)轉(zhuǎn)換器構(gòu)成反饋回路。
圖2倒立擺控制系統(tǒng)結(jié)構(gòu)框圖
?。?倒立擺控制系統(tǒng)的硬件設(shè)計
?。玻眴纹瑱C最小系統(tǒng)
該系統(tǒng)中選用了STC90C51單片機,該型單片機
具有以下特點:①八位MCU核,與傳統(tǒng)8051兼容;②大容量存儲空間,包括64kB程序空間,1280B
?。樱遥粒偷?;③具有4個八位并行I/O口,3個定時/計數(shù)器,2個外部中斷源和1個全雙工UART傳輸口;④5V供電時,最高支持80MHz振蕩頻率,具備高速浮點運算能力,適合倒立擺系統(tǒng)等較為復(fù)雜的控制系統(tǒng)使用。51單片機最小系統(tǒng)如圖3所示。
圖3 51單片機最小系統(tǒng)
?。玻矓[桿角度檢測
檢測擺桿角度所用到的角度傳感器種類非常多,常用的有電位器式角度傳感器、光電編碼器、陀螺儀模塊等。由于電位器式角度傳感器原理簡單,檢測精度取決于所用A/D轉(zhuǎn)換器的精度,成本相對較低,因此,綜合多方面要求,本系統(tǒng)選用電位器式角度傳感器。
傳感器返回的電壓信號無法被單片機直接識別,所以需要通過A/D轉(zhuǎn)換,將模擬電壓信號轉(zhuǎn)換為二進制數(shù)的形式,然后單片機才能計算出偏差,進而產(chǎn)生相應(yīng)的輸出。A/D轉(zhuǎn)換器常用的有8位和12位輸出,在本系統(tǒng)中選用8位A/D轉(zhuǎn)換器即可滿足控制要求,其型號選用ADC0809,相應(yīng)電路原理圖見圖4。
圖4 A/D轉(zhuǎn)換電路
?。粒霓D(zhuǎn)換器的時鐘脈沖為單片機ALE引腳輸出的脈沖經(jīng)74LS74芯片分頻之后得到,A/D轉(zhuǎn)換器的8位數(shù)字信號通過單片機的P0口進行采集與處理。
?。玻瞅?qū)動電路
本系統(tǒng)選用的直流電機額定電壓為24V,額定功率為30W,單片機的I/O口不足以提供如此大的驅(qū)動能力,故需采用驅(qū)動電路。常用的直流電機驅(qū)動芯片為L298N,可驅(qū)動兩路直流電機,最大驅(qū)動電壓為46V,最大電流2A~3A,滿足設(shè)計要求。直流電機驅(qū)動電路如圖5所示。
圖5 直流電機驅(qū)動電路
圖5中,L298N的ENA為使能端,可作為單片機PWM(脈寬調(diào)制)控制端,控制直流電機轉(zhuǎn)速;IN1和IN2為信號輸入端,OUT1和OUT2為輸出端,輸出
狀態(tài)與輸入狀態(tài)對應(yīng),控制直流電機轉(zhuǎn)向。輸出端的二極管為續(xù)流二極管,起保護電動機線圈的作用。
?。车沽[控制系統(tǒng)的軟件設(shè)計
?。常笨刂扑惴?/p>
本系統(tǒng)采用PID控制算法,PID算法適用于負荷變化大、容量滯后較大、控制品質(zhì)要求高的控制系統(tǒng)。PID算法有3個可設(shè)定參數(shù),即比例放大系數(shù)KP、積分時間常數(shù)TI、微分時間常數(shù)TD。比例調(diào)節(jié)的作用是使調(diào)節(jié)過程趨于穩(wěn)定,但會產(chǎn)生穩(wěn)態(tài)誤差;積分作用可消除被調(diào)量的穩(wěn)態(tài)誤差,但由于積分飽和等原因可能會使系統(tǒng)振蕩甚至使系統(tǒng)不穩(wěn)定;微分作用能有效地減小動態(tài)偏差[4]。其傳遞函數(shù)為:
其中:u(k)為第k個采樣時刻的輸出;e(k)為第k個采樣時刻的偏差值;T為采樣周期;KP為比例放大系數(shù);TI為積分時間常數(shù);TD為微分時間常數(shù)。
在實時性要求較高的倒立擺系統(tǒng)中,積分作用常常使系統(tǒng)對偏差的調(diào)節(jié)變慢,使動態(tài)相應(yīng)變慢。因此要盡量弱化或者消除積分作用,使用PD調(diào)節(jié)規(guī)律即可。在該系統(tǒng)中,輸入變量為給定值與實際檢測到角度的差值,輸出變量控制所產(chǎn)生的PWM波形的占空比。由于旋臂、擺桿以及電動機的各項參數(shù)很難準(zhǔn)確把握,且干擾較多,難以建立精確的數(shù)學(xué)模型,因此采用試驗法整定參數(shù)的數(shù)值,即根據(jù)系統(tǒng)表現(xiàn)出的狀態(tài),調(diào)節(jié)各參數(shù)的數(shù)值,直至系統(tǒng)達到穩(wěn)定。
?。常渤绦蛄鞒虉D
倒立擺系統(tǒng)主程序流程圖見圖6。其中,U為PID運算的輸出值,為輸出PWM波形的占空比,由于所選單片機不具備專用PWM輸出引腳,需要利用定時器T0模擬其波形輸出,定時器T0中斷子程序流程圖見圖7。在本系統(tǒng)中,采樣周期選擇為10ms,由定時器T1控制,定時器T1中斷子程序流程圖見圖8。
?。聪到y(tǒng)測試
本系統(tǒng)測試所用到的倒立擺模型為自制簡易模型,測試過程如下:外力將擺桿拉起至接近倒立狀態(tài)(與倒立狀態(tài)相差20°左右);給系統(tǒng)上電,同時撤去外力,觀察到擺桿迅速呈倒立狀態(tài),經(jīng)過幾次調(diào)整,即可長時間保持倒立狀態(tài)。系統(tǒng)達到穩(wěn)定狀態(tài)的效果如圖在擺桿保持倒立狀態(tài)時,施加一擾動,即輕碰擺桿或旋臂,系統(tǒng)經(jīng)過短時間的調(diào)整之后,仍可以自動調(diào)節(jié)至穩(wěn)定狀態(tài),說明該系統(tǒng)具備較強的魯棒性。
5結(jié)論
本系統(tǒng)采用單片機作為一階旋轉(zhuǎn)倒立擺系統(tǒng)的控制器,執(zhí)行了數(shù)據(jù)采集、數(shù)據(jù)處理(PID運算)、控制直流電機運行狀態(tài)等操作,成功使該系統(tǒng)穩(wěn)定,其經(jīng)濟性和實用性得到了很好的展現(xiàn)。同時也體現(xiàn)了經(jīng)典PID控制理論在一階倒立擺系統(tǒng)中使用時良好的控制效果。
參考文獻:
?。?]張飛舟.利用單片機實現(xiàn)智能控制[J].電子技術(shù)應(yīng)用,1998(9):27-29.
?。?]江晨.旋轉(zhuǎn)式倒立擺的控制算法研究及試驗系統(tǒng)設(shè)計[D].蘇州:蘇州大學(xué),2001:1-2.
?。?]張毅剛,彭喜源.MCS-51單片機應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2007.
[4]王建華.計算機控制技術(shù)[M].北京:高等教育出版社,2009