基于SPCE061A單片機(jī)的二級倒立擺控制系統(tǒng)
摘要:本文介紹了一種基于SPCE061A單片機(jī)的二級倒立擺控制系統(tǒng)。主要闡述了狀態(tài)空間法在本系統(tǒng)中的應(yīng)用以及功能設(shè)計(jì),并簡要介紹了系統(tǒng)的軟件設(shè)計(jì)思路。
關(guān)鍵詞:單片機(jī);狀態(tài)空間法;倒立擺
引言
倒立擺系統(tǒng)在控制理論研究中是一種較為理想的實(shí)驗(yàn)裝置。倒立擺系統(tǒng)可以用多種理論和方法來實(shí)現(xiàn)其穩(wěn)定控制,如PID、自適應(yīng)、狀態(tài)反饋、智能控制、模糊控制及人工神經(jīng)元網(wǎng)絡(luò)等多種理論和方法,都能在倒立擺系統(tǒng)控制上得到實(shí)現(xiàn),而且當(dāng)一種新的控制理論和方法提出以后,在不能用理論加以嚴(yán)格證明時(shí),可以考慮通過倒立擺裝置來驗(yàn)證其正確性和實(shí)用性。本文設(shè)計(jì)了基于單片機(jī)的得倒立擺控制系統(tǒng),成本低廉,調(diào)試方便,能直觀的觀察控制效果,完成系統(tǒng)的調(diào)試任務(wù),快捷的驗(yàn)證控制理論算法的正確與否。
1.二級倒立擺系統(tǒng)的組成結(jié)構(gòu)
二級倒立擺系統(tǒng)有以下部分組成:有效長度為90cm的光滑導(dǎo)軌,可以在導(dǎo)軌上來回移動(dòng)的小車,材料為鋁的擺桿鉸接在小車上,二級擺桿以同樣的方式與一級擺桿相連,如圖所示,它們的鉸接方式?jīng)Q定了它們的運(yùn)動(dòng)是被限定在豎直平面內(nèi)的運(yùn)動(dòng),一級擺桿和二級擺桿的規(guī)格相同,有效長度為525cm。小車的驅(qū)動(dòng)系統(tǒng)由一直流力矩伺服電機(jī)和同步帶傳動(dòng)系統(tǒng)組成,小車相對參考點(diǎn)的相對位移x有電位器0測量傳動(dòng)帶而得到,一級擺桿與豎直方向的夾角θ1由固定在一級擺桿和小車鉸接處的電位器1測量得到,二級擺桿與豎直方向的夾角θ2由電位器2通過測量兩個(gè)擺的角度差θ2-θ1而間接得到。直流伺服電機(jī)產(chǎn)生驅(qū)動(dòng)力F使小車根據(jù)擺角的變化而在導(dǎo)軌上運(yùn)動(dòng)。小車依靠直流電機(jī)所施加的控制力,可以在導(dǎo)軌上左右移動(dòng)??刂颇繕?biāo)是在有限長度的導(dǎo)軌上使倒立擺能穩(wěn)定地豎立在小車上而不倒下,從而達(dá)到動(dòng)態(tài)平衡。
2.控制系統(tǒng)的設(shè)計(jì)
2.1 系統(tǒng)控制原理及設(shè)計(jì)思路
狀態(tài)反饋是將系統(tǒng)的每一個(gè)狀態(tài)變量乘以相應(yīng)的反饋系數(shù),然后反饋到輸入端與參考輸入相加形成控制律,作為受控系統(tǒng)的控制輸入。狀態(tài)反饋系統(tǒng)的基本特點(diǎn)是采用對狀態(tài)向量的線性反饋規(guī)律來構(gòu)成閉環(huán)控制系統(tǒng),由于控制作用是系統(tǒng)狀態(tài)的函數(shù),可使控制效果得到很大地改善,從而具有更好的一系列控制特性。本系統(tǒng)采用狀態(tài)反饋法控制二級倒立擺系統(tǒng)。二級倒立擺系統(tǒng)共有六個(gè)狀態(tài)變量,分別是小車位置x、兩個(gè)擺角度θ1和θ2、,其中小車位置、兩個(gè)擺角度分別由電位器0、 電位器1、電位器2測量所得,而小車的速度和兩個(gè)擺角速度由小車位置、兩個(gè)擺角度經(jīng)微分變換所得。這六個(gè)狀態(tài)變量輸入到單片機(jī)的ADC模塊中,經(jīng)A/D轉(zhuǎn)換后被送到上位機(jī)顯示,并與由上位機(jī)設(shè)定的反饋參數(shù)進(jìn)行運(yùn)算,再把所求的結(jié)果經(jīng)由單片機(jī)的DAC模塊輸出到功放電路,再經(jīng)過PWM脈寬調(diào)制到執(zhí)行電機(jī)獲得對倒立擺相應(yīng)的力從而控制倒立擺的穩(wěn)定??刂葡到y(tǒng)圖如下所示:
2.2 控制系統(tǒng)硬件設(shè)計(jì):
系統(tǒng)控制裝置的硬件采用基于凌陽公司生產(chǎn)的SPCE061A單片機(jī)。采用了四個(gè)IGBT來實(shí)現(xiàn)PWM功率轉(zhuǎn)換電路,使電路的反應(yīng)更能及時(shí)準(zhǔn)確。電機(jī)是永磁式直流力矩電動(dòng)機(jī),它能經(jīng)常使用在堵轉(zhuǎn)或低速狀態(tài)。該電機(jī)可在位置或低速隨動(dòng)系統(tǒng)中作執(zhí)行元件。
2.2.1SPCE061A單片機(jī)性能特點(diǎn)
SPCE061A是凌陽科技推出的一款16位結(jié)構(gòu)的微控制器。SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使µ’nSP能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。16位µ’nSP微處理器;2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值); 2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道; 32位通用可編程輸入/輸出端口; 7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;具備串行設(shè)備接口; SPCE061A的開發(fā)是通過在線調(diào)試器PROBE實(shí)現(xiàn)的。它既是一個(gè)編程器(即程序燒寫器),又是一個(gè)實(shí)時(shí)在線調(diào)試器。用它可以替代在單片機(jī)應(yīng)用項(xiàng)目的開發(fā)過程中常用的軟件工具――硬件在線實(shí)時(shí)仿真器和程序燒寫器。在計(jì)算機(jī)IDE集成開發(fā)環(huán)境軟件包下,完成在線調(diào)試功能。
2.2.2 控制電路原理及接口
SPCE061A有8路可復(fù)用10位ADC通道,其中一路通道(MIC_In)用于語音輸入,模擬信號經(jīng)過自動(dòng)增益控制器和放大器放大后進(jìn)行A/D轉(zhuǎn)換。其余7路通道(Line_In)和IOA[0~6] 管腳復(fù)用,可以直接通過引線(IOA[0~6])輸入,用于將輸入的模擬信號(如電壓信號) 轉(zhuǎn)換為數(shù)字信號。二級倒立擺系統(tǒng)中的六個(gè)狀態(tài)變量電壓變化范圍為―12―+12伏,而單片機(jī)ADC模塊的要求輸入電壓變化范圍為0―+3.3伏,因此六個(gè)狀態(tài)變量經(jīng)電壓轉(zhuǎn)換電路后分別接至SPCE061A單片機(jī)的IOA0~IOA5。SPCE061A UART模塊提供了一個(gè)全雙工標(biāo)準(zhǔn)接口,用于完成SPCE061A與外設(shè)之間的串行通訊。UART模塊的接收管腳Rx和發(fā)送管腳 TX 分別與IOB7和IOB10共用。本系統(tǒng)采用的是半雙工的通訊方式。IOB7和IOB10與MAX485芯片相連接,并再經(jīng)485232轉(zhuǎn)換器與上位機(jī)串行口相連。實(shí)現(xiàn)狀態(tài)變量在上位機(jī)的顯示以及由上位機(jī)設(shè)置反饋參數(shù)的功能。SPCE061A為音頻輸出提供兩個(gè)DAC通道, 0―3.3毫安模擬電流信號通過DAC1管腳輸出。經(jīng)狀態(tài)反饋運(yùn)算后所得到的控制量以0―3.3毫安模擬電流信號輸出,此電流信號經(jīng)電流電壓轉(zhuǎn)換電路,在經(jīng)電壓倍放電路后變?yōu)楱D12―+12V。輸至功放去控制PWM脈寬調(diào)制進(jìn)而控制執(zhí)行電機(jī),使二級倒立擺達(dá)到動(dòng)態(tài)平衡狀態(tài)。
2.3 控制系統(tǒng)軟件設(shè)計(jì):
上位機(jī)應(yīng)用VC++編寫的串口程序。其上位機(jī)的應(yīng)用界面如下圖所示:
從圖中可以看出,第一行表示的是測量的六個(gè)狀態(tài)變量,分別是小車位置,小車速度,一擺的角度,一擺的角速度,二擺的角度,二擺的角速度。其數(shù)據(jù)可以實(shí)時(shí)的顯示出來,這樣就可以觀察數(shù)據(jù)是否有異常的情況。第二行就是根據(jù)實(shí)際情況給單片機(jī)發(fā)送數(shù)據(jù),從而達(dá)到設(shè)置參數(shù)的目的。在狀態(tài)反饋的控制策略中,分別設(shè)置的是六個(gè)狀態(tài)反饋系數(shù)。
單片機(jī)控制系統(tǒng)的軟件設(shè)計(jì)是采用的是C語言,C的結(jié)構(gòu)化設(shè)計(jì)特點(diǎn)是簡潔、明快,有豐富的庫函數(shù)和較好的調(diào)試手段,還具有移植性好,上手快等特點(diǎn)。在控制軟件中包含主程序、中斷程序和各種子程序,下面介紹應(yīng)用狀態(tài)反饋實(shí)現(xiàn)對倒立擺穩(wěn)定控制的程序流程圖。
狀態(tài)反饋需要測量六個(gè)量,上位機(jī)需要給單片機(jī)設(shè)置六個(gè)反饋參數(shù)。程序流程圖如下:
3. 結(jié)束語
試驗(yàn)證明,本控制系統(tǒng)能方便快捷的找到使二級倒立擺系統(tǒng)達(dá)到動(dòng)態(tài)平衡的狀態(tài)反饋系數(shù),簡化控制系統(tǒng)的調(diào)試任務(wù),得到了較為理想的試驗(yàn)效果。
本文作者創(chuàng)新點(diǎn):找到使二級倒立擺系統(tǒng)達(dá)到動(dòng)態(tài)平衡的狀態(tài)反饋系數(shù),研究了狀態(tài)空間法在本系統(tǒng)中的應(yīng)用。
參考文獻(xiàn):
[1] 基于Cygnal單片機(jī)的智能電源管理系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息.2006,4-2: 42-43,142
[2] 凌陽16位單片機(jī)應(yīng)用基礎(chǔ)。 北京航空航天大學(xué)出版社,2003
[3] 劉豹.現(xiàn)代控制理論.機(jī)械工業(yè)出版社,1989
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評論