電賽-風(fēng)力擺控制系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要
本設(shè)計(jì)由MC9S12XS128MAL單片機(jī)控制模塊、角度檢測(cè)模塊、人機(jī)交互系統(tǒng)以及風(fēng)力擺機(jī)械結(jié)構(gòu)組成的閉環(huán)控制系統(tǒng)。由BTN7971驅(qū)動(dòng)12V、1.2A的直流風(fēng)機(jī)作為風(fēng)力擺的動(dòng)力源,MMA7361采集風(fēng)力狀態(tài)角,單片機(jī)處理狀態(tài)角數(shù)據(jù)后通過(guò)PID調(diào)節(jié)直流風(fēng)機(jī)控制風(fēng)力擺,實(shí)現(xiàn)在直流風(fēng)機(jī)作為動(dòng)力控制下快速起擺、畫(huà)線(xiàn)、恢復(fù)靜止,畫(huà)圓的功能。為了使測(cè)控系統(tǒng)控制更為精確,在采集數(shù)據(jù)的過(guò)程中采用了非線(xiàn)性誤差校正以及卡爾曼濾波等數(shù)據(jù)處理方法。同時(shí)設(shè)計(jì)中考慮到可能存在的各種干擾因素,采用軟硬件結(jié)合的抗干擾方法提高系統(tǒng)控制的穩(wěn)定性。經(jīng)過(guò)反復(fù)的測(cè)驗(yàn),該方案完全能夠?qū)崿F(xiàn)題目要求!
關(guān)鍵字:?jiǎn)纹瑱C(jī) 閉環(huán) 風(fēng)力擺控制系統(tǒng) 卡爾曼濾波
1. 方案論證與比較
1.1. 系統(tǒng)主控芯片選擇
方案一:采用AT89C51系列單片機(jī)作為控制的核心。51單片機(jī)價(jià)格便宜,應(yīng)用廣泛,I/O口的設(shè)置和使用操作簡(jiǎn)單。但是51單片機(jī)的運(yùn)行速度過(guò)慢,抗靜電抗干擾能力弱,內(nèi)部資源和存儲(chǔ)器功能較少,而且無(wú)ADC,還需要用外接電路實(shí)現(xiàn)AD轉(zhuǎn)換,使硬件電路變得復(fù)雜。另外,51單片機(jī)完成系統(tǒng)功能較為困難。
方案二:采用MC9S12XS128MAL作為控制核心。MC9S12XS128MAL是Freescale公司生產(chǎn)的16位單片機(jī),儲(chǔ)存功能強(qiáng)大,具有豐富的輸入/輸出端口資源,具有多種寄存器功能,而且端口引腳大多為復(fù)用口,具有多功能,所有端口都具有通用I/O口功能。內(nèi)部本身自帶PWM、A/D轉(zhuǎn)換功能,可以直接用,省去了單獨(dú)做PWM模塊和A/D轉(zhuǎn)換模塊,節(jié)省大量時(shí)間。完全能夠?qū)崿F(xiàn)本系統(tǒng)的所有功能。
綜合考慮,本系統(tǒng)選擇方案二
1.2. 風(fēng)力擺動(dòng)力系統(tǒng)方案選擇
根據(jù)題目要求,用2~4只直流風(fēng)機(jī),共有一下三種方案選擇:
方案一:采用兩只風(fēng)機(jī)作為系統(tǒng)動(dòng)力系統(tǒng)。兩只風(fēng)機(jī)并排同向而立,分別固定擺桿兩側(cè),通過(guò)控制兩個(gè)風(fēng)機(jī)轉(zhuǎn)速產(chǎn)生不同風(fēng)力控裝置擺動(dòng)是激光筆劃線(xiàn)畫(huà)圓。此方案遂犯負(fù)載親,但是在很難控制風(fēng)力擺的狀態(tài)修正和制動(dòng)。
方案二:采用三只風(fēng)機(jī)作為動(dòng)力系統(tǒng)。三只風(fēng)機(jī)成等邊三角形相背而立,互成120度夾角(外角)。此方案相對(duì)于方案一在控制風(fēng)力擺轉(zhuǎn)動(dòng)過(guò)程中狀態(tài)修正方面有提升,而且對(duì)于畫(huà)圓有一定優(yōu)勢(shì),但是不好掌握相鄰風(fēng)機(jī)的推力,在控制系統(tǒng)運(yùn)動(dòng)方向難度很大。
方案三:采用四只直流風(fēng)機(jī)作為動(dòng)力系統(tǒng)。四只風(fēng)機(jī)兩兩背靠背而立,中間用碳纖維棒將四只風(fēng)機(jī)固定成十字架形狀。
綜合上述比較分析,考慮到系統(tǒng)的快速工作以及精確控制,本系統(tǒng)采用方案三。
1.3. 角度檢測(cè)方案的選擇與論證
方案一:角位移電位器。角位移電位器屬于二位平面內(nèi)角位移傳感器測(cè)量擺動(dòng)時(shí)關(guān)于靜止?fàn)顟B(tài)時(shí)的偏轉(zhuǎn)角,通過(guò)該偏轉(zhuǎn)角控制流風(fēng)機(jī)的狀態(tài)。但是角位移電位器只能檢測(cè)出二維平面內(nèi)的角度變化,不利于檢測(cè)風(fēng)力擺的空間位置。
方案二:選用三軸加速度傳感器。三周加速度傳感器具有體積小和重量輕的特點(diǎn),可以測(cè)得空間加速度,能夠全面準(zhǔn)確反映物體的運(yùn)動(dòng)的空間位置。此方案課精確測(cè)量風(fēng)力擺的當(dāng)前狀態(tài),實(shí)現(xiàn)對(duì)風(fēng)力擺的精確控制。
綜合考慮,本系統(tǒng)選擇方案二。
1.4. 電機(jī)驅(qū)動(dòng)模塊的選擇與論證
方案一:使用L298芯片實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)。L298N內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路,及內(nèi)部含兩個(gè)H橋的雙全橋驅(qū)動(dòng)器,接受TTL邏輯電平信號(hào)通過(guò)PWM實(shí)現(xiàn)直流風(fēng)機(jī)調(diào)速。但是L298驅(qū)動(dòng)大功率電機(jī)時(shí)發(fā)熱嚴(yán)重易燒毀芯片。
方案二:使用英飛凌的BTN7971驅(qū)動(dòng)芯片。BTN7971是大功率集成半橋驅(qū)動(dòng)芯片,在單一封裝中集成了PMOS和NMOS高低側(cè)功率開(kāi)關(guān)以及門(mén)驅(qū)動(dòng)器,還集成了邏輯控制電路和一些保護(hù)檢測(cè)功能,能夠防止過(guò)熱、過(guò)壓、欠壓、過(guò)流和短路。
綜合考慮,本系統(tǒng)選擇方案二。
1.5. 算法選擇
算法有很多種,它的選擇很重要,它決定處理系統(tǒng)的性能質(zhì)量和可行性。
方案一:自適應(yīng)算法。自適應(yīng)過(guò)程是一個(gè)不斷逼近目標(biāo)的過(guò)程。單片機(jī)讀取傳感器采集來(lái)的風(fēng)力擺空間位置來(lái)控制風(fēng)力擺的運(yùn)動(dòng),但是由于該系統(tǒng)變化太快,自適應(yīng)算法調(diào)節(jié)方式難以達(dá)到系統(tǒng)要求。
方案二:PID算法。在過(guò)程控制中,按比例、積分和微分的函數(shù)關(guān)系,對(duì)系統(tǒng)模型進(jìn)行運(yùn)算分析,將其運(yùn)算結(jié)果用以輸出控制。控制精度高,且算法簡(jiǎn)單明了。
2. 系統(tǒng)設(shè)計(jì)
2.1. 系統(tǒng)總體設(shè)計(jì)
根據(jù)上述方案論證,我們最終確定了以MC9S12XS128MAL單片機(jī)作為中央處理器,采用型號(hào)為MMA7361的模擬加速度陀螺儀檢測(cè)風(fēng)力擺的空間位置,使用BTN7971芯片驅(qū)動(dòng)4個(gè)大功率直流風(fēng)機(jī)??傮w框圖如下圖2.1所示。
2.2. 模塊電路設(shè)計(jì)
1、 角度傳感器
角度傳感器選用藍(lán)宙電子生產(chǎn)的3軸陀螺儀+3軸模擬加速度傳感器MMA7361模塊。該模塊具有ENC-03M(全新包裝)三軸陀螺儀傳感器、MMA7361三軸模擬量輸出。
2、 電機(jī)驅(qū)動(dòng)模塊
BTN7971驅(qū)動(dòng)芯片電路圖如圖2.2所示,BTN7971屬于半橋驅(qū)動(dòng)芯片,所以用兩個(gè)芯片組成一個(gè)完整的全橋驅(qū)動(dòng)芯片,如圖2(b)所示。由于直流風(fēng)機(jī)無(wú)法反轉(zhuǎn),將風(fēng)機(jī)地端連載一起,將電源端接入驅(qū)動(dòng)電路中的OUT1、OUT2、OUT3、OUT4,將驅(qū)動(dòng)電路的輸入口接單片機(jī)PWM1、3、5、7口,通過(guò)個(gè)給驅(qū)動(dòng)輸入PWM值臺(tái)階風(fēng)機(jī)速度達(dá)到對(duì)風(fēng)機(jī)控制目的。
3、 撥碼開(kāi)關(guān)
在單片機(jī)的PB口接一個(gè)撥碼開(kāi)關(guān),實(shí)現(xiàn)人機(jī)交互功能。當(dāng)撥動(dòng)一個(gè)值后,系統(tǒng)會(huì)切換一個(gè)系統(tǒng)模式,完成本系統(tǒng)的全部功能操作。該模塊方便選擇各種模式。
3. 系統(tǒng)理論分析與計(jì)算
3.1. 風(fēng)力擺的運(yùn)動(dòng)控制分析
風(fēng)力擺采用4只功率為12V、1.2A的大功率直流風(fēng)機(jī)為動(dòng)力驅(qū)動(dòng)系統(tǒng)。模擬加速度陀螺儀采集風(fēng)力擺的當(dāng)前的角度,單片機(jī)處理角度信息輸出PWM占空比,控制4只風(fēng)機(jī)的工作狀態(tài),從而實(shí)現(xiàn)對(duì)風(fēng)力擺的控制。
3.2. 系統(tǒng)算法的分析
本系統(tǒng)采用PID算法來(lái)控制流風(fēng)機(jī)的轉(zhuǎn)動(dòng)速度,流風(fēng)機(jī)開(kāi)始工作后,姿態(tài)采集模塊不斷采集當(dāng)前風(fēng)力擺的空間位置角度,并與之前的狀態(tài)比較,是的風(fēng)力擺的運(yùn)動(dòng)狀態(tài)逐漸趨向于平穩(wěn)。PID算法由風(fēng)力擺轉(zhuǎn)動(dòng)角度比例P、角度誤差積分I和角度微分D組成。
其輸入e(t)與輸出U(t)的關(guān)系為:U(t)=P*[e(t)+1/I∫e(t)dt+D*de(t)/dt]
它的傳遞函數(shù)為:G(s) = U(S) / E(S) = P * [ 1 + 1 / ( I * s ) + D * s ]
風(fēng)力擺轉(zhuǎn)動(dòng)角度比例P:對(duì)風(fēng)力擺角速度進(jìn)行比例調(diào)節(jié),即對(duì)風(fēng)機(jī)轉(zhuǎn)動(dòng)速度調(diào)整。比例越大,調(diào)節(jié)速度越快,但不能過(guò)大,過(guò)大可能造成四風(fēng)機(jī)因工作狀態(tài)的突變而使擺桿不穩(wěn)定。
角度誤差積分I:使系統(tǒng)消除穩(wěn)態(tài)誤差。計(jì)入微分調(diào)節(jié)使系統(tǒng)穩(wěn)定系數(shù)下降,動(dòng)態(tài)相應(yīng)變慢。根據(jù)本系統(tǒng)要更快更穩(wěn)完成風(fēng)力擺的控制,本系統(tǒng)對(duì)積分調(diào)節(jié)的需要就非常弱。即保證在不需要時(shí)系統(tǒng)不會(huì)受到影響。
角度微分D:微分反映風(fēng)力擺角度的變化率,具有可預(yù)見(jiàn)性,能預(yù)見(jiàn)偏差變化的趨勢(shì)因此產(chǎn)生超前的控制作用,在偏差還沒(méi)有形成之前,已被微分作用調(diào)節(jié)消除。因此,可以改善系統(tǒng)的動(dòng)態(tài)性能。在為分時(shí)間選擇合適情況下,減少調(diào)節(jié)時(shí)間。
4. 軟件設(shè)計(jì)
4.1. 程序功能描述與設(shè)計(jì)思路
系統(tǒng)軟件實(shí)現(xiàn)的功能如下:
1、讀取陀螺儀數(shù)據(jù),將數(shù)據(jù)反饋給單片機(jī);
2、單片機(jī)將讀取數(shù)據(jù)的模擬量AD轉(zhuǎn)換為數(shù)字量后,將相對(duì)應(yīng)的PWM波發(fā)送給軸流風(fēng)機(jī);
3、控制平衡板;
4、撥碼開(kāi)關(guān)控制;
5、數(shù)據(jù)匯總做出判斷。
4.2. 程序流程圖
系統(tǒng)主程序流程圖如下圖所示,進(jìn)入主程序并初始化后,等待撥碼開(kāi)關(guān)的狀態(tài)執(zhí)行相應(yīng)程序,每個(gè)程序能完成一項(xiàng)要求,各子模塊是獨(dú)立模塊,結(jié)構(gòu)清楚。
5. 電路原理圖