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