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