曾敬 滕軍 陸曉燕
【摘要】本設(shè)計(jì)以STC89S52單片機(jī)為控制核心,通過(guò)角度傳感器得到系統(tǒng)變量,利用PWM分別對(duì)電機(jī)轉(zhuǎn)動(dòng)角度與速度進(jìn)行控制,進(jìn)而實(shí)現(xiàn)倒立擺在一定的角度范圍內(nèi)的旋轉(zhuǎn)控制。
【關(guān)鍵詞】倒立擺;角度傳感器;STC89S52
倒立擺系統(tǒng)是一個(gè)典型的單輸入多輸出、復(fù)雜的、非線性的不穩(wěn)定系統(tǒng)。它在軍事、航天、機(jī)器人和各類(lèi)工業(yè)領(lǐng)域都有著廣泛的用途。因而,對(duì)倒立擺控制系統(tǒng)的研究具有重要的工程意義。本設(shè)計(jì)是基于AT89S52的單片機(jī)簡(jiǎn)易旋轉(zhuǎn)倒立擺控制系統(tǒng)。其主要構(gòu)造包括旋臂、擺桿、直流電機(jī)等裝置。其中直流電機(jī)為執(zhí)行機(jī)構(gòu),可由專(zhuān)門(mén)的電機(jī)驅(qū)動(dòng)芯片如L298N驅(qū)動(dòng)。根據(jù)一定的算法計(jì)算將信號(hào)提供給驅(qū)動(dòng)芯片,以驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng),從而帶動(dòng)旋臂旋轉(zhuǎn),最終實(shí)現(xiàn)控制倒立擺運(yùn)動(dòng)的效果。
一、倒立擺算法分析
為實(shí)現(xiàn)倒立,本系統(tǒng)在算法方面采用了模糊控制。所謂模糊控制,就是在控制方法上應(yīng)用模糊集理論、模糊語(yǔ)言變量及模糊邏輯推理的知識(shí)來(lái)模擬人的模糊思維方法,用計(jì)算機(jī)實(shí)現(xiàn)與操作者相同的控制。該理論以模糊集合、模糊語(yǔ)言變量和模糊邏輯為基礎(chǔ),用比較簡(jiǎn)單的數(shù)學(xué)形式直接將人的判斷、思維過(guò)程表達(dá)出來(lái)。本設(shè)計(jì)中涉及的狀態(tài)變量共有4個(gè),每個(gè)變量的論域作7個(gè)模糊集的模糊劃分,這樣,完備的推理規(guī)則庫(kù)會(huì)包含74=2401個(gè)推理規(guī)則,但如此多的規(guī)則是很難實(shí)現(xiàn)的,而二維模糊控制器的控制性能較好,所以一般選擇增量算法作為模糊控制器的輸出變量,模糊控制基本結(jié)構(gòu)如圖1所示。
圖1 模糊控制的基本結(jié)構(gòu)
二、系統(tǒng)總體設(shè)計(jì)框圖
本系統(tǒng)主要由主控模塊、角度傳感器模塊、機(jī)械結(jié)構(gòu)模塊、電源模塊、電機(jī)驅(qū)動(dòng)模塊等幾部分組成。為了讓擺桿有更大的慣性,帶動(dòng)擺桿旋轉(zhuǎn)更大的角度,在設(shè)計(jì)中,我們?cè)O(shè)定電機(jī)正反轉(zhuǎn)存在一定的角度差。電機(jī)轉(zhuǎn)動(dòng)角度差一般設(shè)定在30o以內(nèi),如果角度差太大,會(huì)迫使還處于上一個(gè)慣性狀態(tài)的擺桿改變狀態(tài),這樣將不能實(shí)現(xiàn)增大慣性作用,反而使擺桿擺動(dòng)角度變小。當(dāng)電動(dòng)機(jī)驅(qū)動(dòng)擺桿轉(zhuǎn)到360°,且倒立時(shí),采用角度傳感器檢測(cè)擺桿擺動(dòng)方位,控制電動(dòng)機(jī)于擺桿擺動(dòng)方向想一致,進(jìn)而實(shí)現(xiàn)擺桿倒立。在整個(gè)該過(guò)程中,為了確保電動(dòng)機(jī)在調(diào)整速度的同時(shí)維持系統(tǒng)穩(wěn)定,主控芯片會(huì)通過(guò)驅(qū)動(dòng)電路發(fā)出脈沖指令,控制電動(dòng)機(jī)作相應(yīng)的微調(diào),從而完成動(dòng)作。本系統(tǒng)主要通過(guò)AT89S52單片機(jī)來(lái)控制電路的輸出,使用模糊控制算法,實(shí)現(xiàn)按鍵控制、電機(jī)轉(zhuǎn)動(dòng)、倒立擺旋轉(zhuǎn)、液晶顯示等功能。角度傳感器模塊在系統(tǒng)中的作用是檢測(cè)擺桿與水平面的夾角,進(jìn)而將數(shù)據(jù)反饋給主控芯片,主控芯片以此來(lái)發(fā)出控制指令。電路設(shè)計(jì)總體框圖如圖2所示。
圖2 電路設(shè)計(jì)總體框圖
圖3 主程序流程圖
三、系統(tǒng)軟件流程
由于系統(tǒng)使用的是直流減速電機(jī),所以控制方法相對(duì)較為簡(jiǎn)單,只需給電機(jī)的控制線加上適當(dāng)?shù)碾妷杭纯墒闺姍C(jī)轉(zhuǎn)動(dòng)起來(lái),電壓越高則電機(jī)轉(zhuǎn)速越快。對(duì)于直流電機(jī)的速度調(diào)節(jié),可以采用PWM調(diào)速方法??刂齐姍C(jī)的時(shí)候,電源并非連續(xù)的向電源供電,而是在一個(gè)特定的頻率下以方波脈沖的形式提供電能。不同占空比的方波能對(duì)電機(jī)起到調(diào)速作用。這是因?yàn)殡姍C(jī)實(shí)際上是一個(gè)大電感,它有阻礙輸入電流和電壓突變的能力。因此,脈沖輸入信號(hào)被平均分配到作用時(shí)間上,這樣,改變?cè)谑寄芏溯斎敕讲ǖ恼伎毡染湍芨淖兗釉陔姍C(jī)兩端的電壓大小,從而改變了轉(zhuǎn)速。用軟件方式實(shí)現(xiàn)時(shí),可以通過(guò)執(zhí)行軟件延時(shí)循環(huán)程序交替改變端口某個(gè)二進(jìn)制位輸出邏輯狀態(tài)以產(chǎn)生脈寬調(diào)制信號(hào)。設(shè)置不同的延時(shí)時(shí)間會(huì)得到不同的占空比。角度傳感器在系統(tǒng)中的主要作用是用來(lái)檢測(cè)角度的。軸每轉(zhuǎn)過(guò)1/16圈,角度傳感器就會(huì)計(jì)數(shù)一次。往一個(gè)方向轉(zhuǎn)動(dòng)時(shí),計(jì)數(shù)增加,轉(zhuǎn)動(dòng)方向改變時(shí),計(jì)數(shù)減少。計(jì)數(shù)與角度傳感器的初始位置有關(guān)。當(dāng)初始化角度傳感器時(shí),它的計(jì)數(shù)值被設(shè)置為0,如果需要,可以通過(guò)用編程讓它重新復(fù)位。本系統(tǒng)主程序大致流程包括對(duì)AT89S52的初始化設(shè)置、角度傳感器TCL2543的初始化設(shè)置、液晶顯示初始化設(shè)置,按鍵設(shè)置,定時(shí)器初始化設(shè)置,占空比調(diào)節(jié)等。程序的核心算法是基于PID的閉環(huán)控制,PID控制器參數(shù)的整定步驟如下:(1)首先預(yù)選擇一個(gè)足夠短的采樣周期讓系統(tǒng)工作;(2)僅加入比例控制環(huán)節(jié),直到系統(tǒng)對(duì)輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時(shí)的比例放大系數(shù)和臨界振蕩周期;(3)在一定的控制度下通過(guò)公式計(jì)算得到PID控制器的參數(shù)。系統(tǒng)再根據(jù)角度傳感器檢測(cè)到的擺桿位置,做出相應(yīng)的電機(jī)轉(zhuǎn)速的調(diào)節(jié),從而使擺桿達(dá)到預(yù)定的狀態(tài)。系統(tǒng)的主程序流程如圖3所示。
四、測(cè)試結(jié)果
本系統(tǒng)從以下三個(gè)方面對(duì)倒立擺進(jìn)行了測(cè)試
1.擺桿從處于自然下垂?fàn)顟B(tài)(擺角0o)開(kāi)始,驅(qū)動(dòng)電機(jī)帶動(dòng)旋轉(zhuǎn)臂作往復(fù)旋轉(zhuǎn)使擺桿擺動(dòng),并盡快使擺角達(dá)到或超過(guò)-60o~+60o;
2.從擺桿處于自然下垂?fàn)顟B(tài)開(kāi)始,盡快增大擺桿的擺動(dòng)幅度,直至完成圓周運(yùn)動(dòng);
3.在擺桿處于自然下垂?fàn)顟B(tài)下,外力拉起擺桿至接近165o位置,外力撤除同時(shí),啟動(dòng)控制旋轉(zhuǎn)臂使擺桿保持倒立狀態(tài)時(shí)間不少于5s;期間旋轉(zhuǎn)臂的轉(zhuǎn)動(dòng)角度不大于90o。
測(cè)試結(jié)果如表1所示。
表1 倒立擺測(cè)試表
測(cè)試項(xiàng)目 測(cè)試要求 測(cè)試結(jié)果
擺桿擺動(dòng)角度 在-60o~+60o 完成
擺桿旋轉(zhuǎn)角度 圓周運(yùn)動(dòng) 完成,可擺動(dòng)兩個(gè)圓周運(yùn)動(dòng)以上
擺桿接近165o
時(shí)保持倒立時(shí)間 保持倒立時(shí)間不少于5s,旋轉(zhuǎn)臂角度不大于90o 10次測(cè)試,完成了7次。
五、結(jié)論
倒立擺是一個(gè)很好的控制實(shí)驗(yàn)裝置,由于其結(jié)構(gòu)簡(jiǎn)單、成本較低、對(duì)于控制效果檢驗(yàn)?zāi)芰?qiáng)等特點(diǎn),在控制方法的實(shí)驗(yàn)和研究上有很重要的地位。設(shè)計(jì)者可以利用所學(xué)的控制理論,自行設(shè)計(jì)多種控制算法,并在本該系統(tǒng)上進(jìn)行驗(yàn)證。本系統(tǒng)具有制作方法簡(jiǎn)單,系統(tǒng)操作控制方便,擺桿倒立持續(xù)時(shí)間長(zhǎng)等特點(diǎn),基本達(dá)到了設(shè)計(jì)要求。
參考文獻(xiàn)
[1]何為民.低功耗單片微機(jī)系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1994.
[2]胡大可,李培泓,張路平.基于單片機(jī)8051的嵌入式開(kāi)發(fā)指南[M].北京:電子工業(yè)出版社,2003.
[3]張振榮,晉明武,王毅平.MCS-51單片機(jī)原理及實(shí)用技術(shù)[M].北京:人民郵電出版社,2000.
[4]黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽電路設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2006.
[5]劉寶延.步進(jìn)電機(jī)及其驅(qū)動(dòng)控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1972.
[6]周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)[M].北京:北京航空航天大學(xué)出版社,1991.
[7]郁有文.傳感器原理及工程應(yīng)用[M].西安:西安電子科技大學(xué)出版,2008.
[8]宋戈.51單片機(jī)應(yīng)用開(kāi)發(fā)范例大全[M].北京:人民郵電出版社,2010.
作者簡(jiǎn)介:曾敬(1982—),四川遂寧人,研究方向:通訊與信息技術(shù)。