使用SPCE061A單片機(jī)的二級(jí)倒立擺控制系統(tǒng)
SPCE061A有8路可復(fù)用10位ADC通道,其中一路通道(MIC_In)用于語(yǔ)音輸入,模擬信號(hào)經(jīng)過(guò)自動(dòng)增益控制器和放大器放大后進(jìn)行A/D轉(zhuǎn)換。其余7路通道(Line_In)和IOA[0~6] 管腳復(fù)用,可以直接通過(guò)引線(IOA[0~6])輸入,用于將輸入的模擬信號(hào)(如電壓信號(hào)) 轉(zhuǎn)換為數(shù)字信號(hào)。二級(jí)倒立擺系統(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毫安模擬電流信號(hào)通過(guò)DAC1管腳輸出。經(jīng)狀態(tài)反饋運(yùn)算后所得到的控制量以0—3.3毫安模擬電流信號(hào)輸出,此電流信號(hào)經(jīng)電流電壓轉(zhuǎn)換電路,在經(jīng)電壓倍放電路后變?yōu)?mdash;12—+12V。輸至功放去控制PWM脈寬調(diào)制進(jìn)而控制執(zhí)行電機(jī),使二級(jí)倒立擺達(dá)到動(dòng)態(tài)平衡狀態(tài)。
2.3 控制系統(tǒng)軟件設(shè)計(jì):
上位機(jī)應(yīng)用VC++編寫(xiě)的串口程序。其上位機(jī)的應(yīng)用界面如下圖所示:
從圖中可以看出,第一行表示的是測(cè)量的六個(gè)狀態(tài)變量,分別是小車位置,小車速度,一擺的角度,一擺的角速度,二擺的角度,二擺的角速度。其數(shù)據(jù)可以實(shí)時(shí)的顯示出來(lái),這樣就可以觀察數(shù)據(jù)是否有異常的情況。第二行就是根據(jù)實(shí)際情況給單片機(jī)發(fā)送數(shù)據(jù),從而達(dá)到設(shè)置參數(shù)的目的。在狀態(tài)反饋的控制策略中,分別設(shè)置的是六個(gè)狀態(tài)反饋系數(shù)。
單片機(jī)控制系統(tǒng)的軟件設(shè)計(jì)是采用的是C語(yǔ)言,C的結(jié)構(gòu)化設(shè)計(jì)特點(diǎn)是簡(jiǎn)潔、明快,有豐富的庫(kù)函數(shù)和較好的調(diào)試手段,還具有移植性好,上手快等特點(diǎn)。在控制軟件中包含主程序、中斷程序和各種子程序,下面介紹應(yīng)用狀態(tài)反饋實(shí)現(xiàn)對(duì)倒立擺穩(wěn)定控制的程序流程圖。
狀態(tài)反饋需要測(cè)量六個(gè)量,上位機(jī)需要給單片機(jī)設(shè)置六個(gè)反饋參數(shù)。程序流程圖如下:
3. 結(jié)束語(yǔ)
試驗(yàn)證明,本控制系統(tǒng)能方便快捷的找到使二級(jí)倒立擺系統(tǒng)達(dá)到動(dòng)態(tài)平衡的狀態(tài)反饋系數(shù),簡(jiǎn)化控制系統(tǒng)的調(diào)試任務(wù),得到了較為理想的試驗(yàn)效果。
本文作者創(chuàng)新點(diǎn):找到使二級(jí)倒立擺系統(tǒng)達(dá)到動(dòng)態(tài)平衡的狀態(tài)反饋系數(shù),研究了狀態(tài)空間法在本系統(tǒng)中的應(yīng)用。
評(píng)論