徐雯琪++陳佳穎++袁菊明
摘要:介紹一種基于MSP430單片機控制的風力擺控制系統(tǒng)的設計,系統(tǒng)以F5529Lauchpad為控制核心,以MPU6050為主傳感器,采用積分分離PID算法計算控制輸出,利用片內(nèi)定時器輸出PWM波到驅(qū)動電路控制空心杯電機轉(zhuǎn)速,達到快速起擺、保持穩(wěn)定飛行的要求。
關(guān)鍵詞: 積分分離PID算法;430F5529 ;MPU6050;四元素算法;PWM控制
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2016)11-0256-02
風力擺控制系統(tǒng)是一個研究物體運動中軌跡控制以及運動平衡的實驗裝置,示意圖如圖1所示,具有多變量、非線性、參數(shù)不確定性等動力學特性。當風力擺運動時,除受到重力、剛性軸的拉力之外,還受到垂直于剛性軸平面的四個風機的推力作用,為本質(zhì)不穩(wěn)定狀態(tài)。風力擺控制系統(tǒng)是自動控制系統(tǒng)的一個較典型的研究對象,可以作為學習、應用控制理論及控制算法的學習平臺,同時對學習平衡控制、飛行器姿態(tài)控制起到入門的作用。
1 硬件系統(tǒng)
風力擺的硬件系統(tǒng)可分為兩個主要部分,一為機械結(jié)構(gòu),主要包括支架、兩個萬向節(jié)、擺桿、電機支架;另一部分為控制電路,主要包括電機(含槳)、傳感器、電源、激光頭、控制電路板以及LCD 顯示器等。
1.1 機械結(jié)構(gòu)
本文用以承載風力擺的懸掛支架高90cm,懸掛臂固定一個萬向節(jié),70CM長的碳纖維棒通過頂絲固定于萬向節(jié),碳纖維棒的下端通過萬向節(jié)連接支架,四個電機置于支架平面的四個方向,電機軸安裝槳葉,電機工作槳葉高速旋轉(zhuǎn)產(chǎn)生推力推動支架偏離垂直位置,四個推力配合就能控制支架按照一定的軌跡運動。如下圖所示:
1.2 控制系統(tǒng)硬件
風力擺控制系統(tǒng)的核心采用TI的MSP430F5529芯片,采用F5529芯片不僅是因為其優(yōu)秀的控制性能,很好的可靠性以及豐富的內(nèi)部資源:有三個定時器提供多達十幾路的捕獲/比較輸出,10KB的SRAM空間,128KB的FLASH程序空間[1],能滿足本控制系統(tǒng)中需要至少4路的PWM輸出,程序中有計算平臺的偏轉(zhuǎn)角度時需要較多的變量的編程需要。圍繞此芯片搭建的控制板還包括電源轉(zhuǎn)換模塊,為主控芯片及電機驅(qū)動電路提供電源;按鍵接口用于設置參數(shù),完善控制性能利用;電機驅(qū)動模塊,利用L298 芯片搭建驅(qū)動電路,為直流電機提供控制電壓;LCD顯示器用來將所采集的信號以及經(jīng)過處理的數(shù)據(jù)顯示出來,這樣可以使控制過程更加直觀;MPU6050模塊,以IIC總線與單片機連接,讀取三軸加速度、角加速度參數(shù),模塊垂直固定在碳素桿上,檢測風力擺擺動角度。圖2為風力擺控制系統(tǒng)結(jié)構(gòu)框圖。
2 軟件設計
2.1 控制策略
當未加任何控制時,由于重力作用,擺體(電機支架)垂直向下,當要求擺體做圓周運動(本文以控制風力擺做圓周運動為例)時,控制內(nèi)電機、左電機,電機帶動槳葉旋轉(zhuǎn)產(chǎn)生風力,使擺邊旋轉(zhuǎn)邊偏離Z軸,MPU6050模塊用熱膠固定在擺桿上,讀取其加速度參數(shù),運用四元素解析算法,計算出Z軸的偏轉(zhuǎn)角度,Z軸的偏轉(zhuǎn)角度就是風力擺的目標參數(shù)??刂栖浖饕鞒谭謨蓚€部分,主程序部分及中斷服務程序部分,主程序在完成芯片時鐘、定時器、PID參數(shù)等初始化設置后,進入擺角設置模塊,完成設置后進入主模塊:檢測是否按下按鈕取消當前飛行返回,如果否則控制PWM輸出模塊,定時中斷設置的定時間隔為1MS,中斷程序中主要完成通過IIC接口讀取6050參數(shù),調(diào)用四元素解析算法模塊,計算擺桿的Z軸偏轉(zhuǎn)角,然后進行PID運算,根據(jù)運算結(jié)果,修改定時器PWM模塊的CCRX參數(shù)。軟件流程如圖3所示。
2.2 改進PID 控制算法
本系統(tǒng)中控制對象為風機轉(zhuǎn)速,達到讓風力擺按預定軌跡飛行的要求。以要求風力擺作圓周飛行為例,Z軸的偏轉(zhuǎn)角度作為控制目標,啟動后,風機開始工作后,讀取6050模塊數(shù)據(jù),調(diào)用四元素算法,計算出Z軸的偏轉(zhuǎn)角度,并與目標偏轉(zhuǎn)角度比較,使得風力擺的運動狀態(tài)逐漸趨向圓周并保持平穩(wěn)。傳統(tǒng)PID 算法的輸入e(t)與輸出u(t)的關(guān)系為:
在現(xiàn)代控制系統(tǒng)中,由于普遍應用計算機(單片機)代替模擬調(diào)節(jié)器,用軟件實現(xiàn)PID控制算法,因此,連續(xù)PID控制算法不能直接使用,需要進行離散化。本文采用增量式PID控制算法,提供給執(zhí)行機構(gòu)的是控制量的增量,根據(jù)遞推原理可得
增量式PID控制算法解決了PID算法在單片機中計算問題,對于本系統(tǒng)而言,還有一個問題需要考慮:當啟動風力擺時,偏差很大,系統(tǒng)要求迅速地接近目標值,在接近目標值時,控制的重點是系統(tǒng)的穩(wěn)定性要好,即飛行時圓周的偏差要小。因此在上述算法基礎上,采用積分分離控制策略,基本思路是:當被控量與設定值偏差較大時,取消積分作用,以免由于積分作用使系統(tǒng)穩(wěn)定性降低,超調(diào)量增大;當被控量接近給定值時,引入積分控制,以便消除靜差,提高控制精度,流程圖鍵圖4,其具體實現(xiàn)步驟如下:
a) 根據(jù)實際情況,人為設定閾值ε>0;
3實驗結(jié)果及分析
本文搭建了以430F5529LAUNCHPAD為控制核心、以一款最高轉(zhuǎn)速達40000rpm的超強磁空心杯電機為槳葉驅(qū)動的風力擺控制系統(tǒng),在實驗中不僅要對a0、a1、a2作參數(shù)整定,積分分離PID控制時,ε值的設置也對系統(tǒng)的穩(wěn)定時間、偏差有一定的影響,下表一列出了不同ε值下以及采用一般增量PID算法下,經(jīng)過參數(shù)整定后,穩(wěn)定時間及偏差對比數(shù)據(jù)。
從實驗結(jié)果看,本控制系統(tǒng)采用釹鐵硼超強磁空心機電機,風力擺起擺快,穩(wěn)定性較好,設置不同的PID參數(shù)對擺的運動控制效果明顯,但是在控制飛行偏差上,有待進一步提高。
參考文獻:
[1] 沈建華,楊艷琴. MSP430系列16位超低功耗單片機原理與實踐[M].北京:北京航空航天大學出版社,2008.
[2] 胡壽松.自動控制原理[M]. 6版.北京:科學出版社,2013.
[3] 謝克明.現(xiàn)代控制理論[M].北京:清華大學出版社,2007.