岑強 王宇欣
摘 要:風(fēng)力擺是一種通過風(fēng)機作為唯一動力驅(qū)動的裝置。為了更科學(xué)合理地運用風(fēng)力擺,設(shè)計并制作了一套基于單擺物理模型的實物系統(tǒng),為系統(tǒng)預(yù)設(shè)了定角度直線運動和圓周運動兩種主要形式。由此提出雙向穩(wěn)定結(jié)構(gòu)的風(fēng)力擺機械設(shè)計模型,由四風(fēng)機構(gòu)成穩(wěn)定驅(qū)動裝置,以stm15單片機為控制核心,MPU6050為姿態(tài)傳感器,HMI串口屏實時顯示,核心控制模塊的定時器中斷方式,以閉環(huán)控制減小系統(tǒng)誤差,從而形成一個完整的控制系統(tǒng)。
關(guān)鍵詞:簡諧運動;PID算法;軌跡控制;IAP 15W4K58S4
1 引言
風(fēng)力擺是一種通過風(fēng)機作為唯一動力驅(qū)動系統(tǒng),在規(guī)定時間內(nèi)完成規(guī)定軌跡的控制系統(tǒng),且在風(fēng)力擺啟動后不得以任何人為方式影響其運動。風(fēng)力擺控制系統(tǒng)作為一個控制裝置,其形象十分直觀,結(jié)構(gòu)較為簡單;而將其作為一個被控對象,它又顯得相當(dāng)復(fù)雜。就本身而言,風(fēng)力擺是一個穩(wěn)定性隨著時間與外部環(huán)境變化較為復(fù)雜的非線性系統(tǒng),所以在對風(fēng)力擺的控制中必須采取行之有效的方法,它才能穩(wěn)定工作。風(fēng)力擺控制系統(tǒng)的穩(wěn)定效果十分明顯,對它的度量可以通過直接觀測其響應(yīng)速度、軌跡重合度以及線性誤差來判斷,一目了然。
2 系統(tǒng)總體設(shè)計
風(fēng)力擺控制系統(tǒng)本質(zhì)為一套伺服隨動控制系統(tǒng),以四個對稱布置的風(fēng)機作為動力源,提供風(fēng)力擺在四個方向的推力。角度傳感器實時采集風(fēng)力擺的姿態(tài)。MCU主控單元獲取角度并與目標(biāo)值比較,經(jīng)運算后得出控制量,送給風(fēng)機執(zhí)行,從而完成預(yù)設(shè)的定角度直線擺動和圓周運動。為調(diào)試方便,系統(tǒng)加入PID調(diào)節(jié)模塊。
3 電路設(shè)計
3.1主控單片機的選型
系統(tǒng)選取STC公司出品的增強型51單片機工IAP 15W4K58S4作為主控芯片,可受益于ST C公司提供的STC一ISP上位機輔助軟件,大大提高開發(fā)效率。利用其自帶的6路PWM發(fā)生器中的4路作為四個電機的PWM控制;串口2負責(zé)與MPU6050通信,實時采集角度信息;串口3負責(zé)與USART-HMI串口屏通信,刷新關(guān)鍵參數(shù)的顯示;串口1負責(zé)與PC上位機通信,來在線調(diào)整PID參數(shù)。PID參數(shù)整定完成后,即可關(guān)閉比功能,以減少對系統(tǒng)的干擾。
3.2姿態(tài)傳感器的選型
姿態(tài)傳感器MPU6050是InvenSense公司推出的一款6軸傳感器模塊,包括三軸加速度,三軸角速度。其體積小巧,用途廣泛。鑒于IAP 15W4K58S4是8位單片機,運算能力有限,而常用的四元數(shù)融合、卡爾曼濾波等姿態(tài)解算方法運算量很大,會占用不小的系統(tǒng)時間,導(dǎo)致PID控制算法及其它程序的執(zhí)行困難。因此,本系統(tǒng)選用自身帶數(shù)據(jù)融合的姿態(tài)傳感器模塊,通過串口與主控單片機通信,輸出角度參數(shù),應(yīng)用方便,有效減輕了主控單片機的負擔(dān)。
3.3風(fēng)機的選型
風(fēng)機選取716空心杯電機配55mm槳??招谋姍C具有高轉(zhuǎn)速,高推重比,較高的頻率響應(yīng),高機動性速性能好,體積小,重量輕,裝配簡單,使用方便等優(yōu)點,可為風(fēng)力擺控制系統(tǒng)提供快速的響應(yīng)和靈活的機動性,且無需專門的電子調(diào)速器,驅(qū)動方便。采用L298N作為電機驅(qū)動模塊,配合PWM技術(shù),使電機調(diào)速靈敏精確,且具有很好的線性度。通過單片機輸出PWM波很容易實現(xiàn)對電機正轉(zhuǎn),反轉(zhuǎn)和停止等操作。
4 算法設(shè)計及軟件編程
4.1物理模型的建立
風(fēng)力擺的運動是一種單擺運動,可以將其理想化為由擺錘和擺線組成。在其擺動角度比較小的情況下,其運動規(guī)律可以看作是簡諧運動。
風(fēng)力擺的四個空心杯電機控制風(fēng)力擺在互相垂直的兩個方向做簡諧運動,根據(jù)莉薩理論可以方便地控制風(fēng)力擺的運動曲線,使其畫出圓形、直線和橢圓等各種圖形。當(dāng)兩簡諧運動的相位差為士90。其他參數(shù)相等時軌跡為圓形,當(dāng)相位差為0。其他參數(shù)相等時軌跡為直線。當(dāng)相位差在00到90。的范圍內(nèi)時,軌跡為橢圓。
4.2正弦函數(shù)的生成
為了使風(fēng)力擺完成幅度可控且可循環(huán)往復(fù)的直線或圓周運動,需要使風(fēng)機在X軸和Y軸方向上完成兩個獨立的幅值可控的正弦運動,如此,便需要由軟件產(chǎn)生一個實時的正弦函數(shù),以此正弦函數(shù)來控制風(fēng)力擺的運動。
首先需對運動的周期進行歸一化,人為的設(shè)定一個運動周期T,這個周期可通過單擺運動周期公式粗略計算作參考;另外通過單片機定時器每隔5ms進行自加一次得到一個MTC變量,通過計算MTC/T的值來得到實時變化的、歸一化的周期,然后把得到的歸一化的周期值與2π相乘轉(zhuǎn)化為對應(yīng)弧度值?,2π表示一個完整的正弦運動過程。
正弦函數(shù)的幅值大小可建立相應(yīng)模型,設(shè)擺動過程中L為擺桿的長度,R為擺動的半徑或擺幅,a為擺桿與鉛錘方向的角度,如此便可得到風(fēng)力擺的最大角度值a,且通過改變這一角度值即可改變圓周運動的半徑或直線運動的幅值。這樣通過C語言庫中自帶的sin函數(shù)便可得到一個與運動周期、運動時間、運動幅值有關(guān)的正弦函數(shù),其中Set_ Value即為實時變化的設(shè)定值。
4.3PID算法運動控制
本系統(tǒng)中采用了位置式PID算法,來使風(fēng)力擺準(zhǔn)確按預(yù)定軌跡動作,并且使系統(tǒng)擁有了良好的穩(wěn)定性和抗干擾能力。PID算法由比例、積分、微分三個控制環(huán)節(jié)組成。輸人控制量:(t)與反饋量y(t)做差后得到偏差e(t),偏差值經(jīng)過比例、積分、微分三個環(huán)節(jié)后,得到輸出值u(t)。
在本系統(tǒng)中,輸人控制量由正弦函數(shù)生成,作為PID算法的目標(biāo)值。MPU6050姿態(tài)傳感器采集的角度值作為反饋量,即當(dāng)前風(fēng)力擺的實際角度值。將目標(biāo)值與實際值比較作差,得到偏差角度,將偏差角度經(jīng)過比例、積分、微分運算,得到輸出控制量,即電機的PWM值,從而改變電機轉(zhuǎn)速,調(diào)整風(fēng)力擺在各個方向上的受力情況,使風(fēng)力擺按照設(shè)定軌跡運動。為了防止輸出控制量過大或過小而引起的系統(tǒng)失調(diào)或超調(diào)現(xiàn)象,程序中需要對輸出控制量進行死區(qū)和限幅控制,從而保證系統(tǒng)運行穩(wěn)定。
4.4程序部分
程序采用c語言編寫,使用Keil uVision C51集成開發(fā)環(huán)境。程序包括對工IAP 15W4K58S4單片機相關(guān)外設(shè)的初始化、中斷與串口的配置,同時將控制算法轉(zhuǎn)化為計算機可識別的機器語言。
5 結(jié)束語
本風(fēng)力擺控制系統(tǒng)建立了單擺運動的物理模型,以運動的合成與分解為主要思想,結(jié)合穩(wěn)定精簡的硬件平臺和優(yōu)秀的算法,使風(fēng)力擺實現(xiàn)了定角度直線擺動和圓周運動,且運動過程穩(wěn)定、快速、準(zhǔn)確,抗干擾能力強。
參考文獻
[1]劉翹楚,郭鵬偉,劉學(xué)明.基于IAP15W4K58S4的風(fēng)力擺控制系統(tǒng)設(shè)計[J].自動化應(yīng)用與技術(shù)
[2]葉龍.基于MPLJ6050傳感器的方位角傾角算法研究[D].長春:吉林大學(xué)
[3}馮大力.空心杯直流電機的特點及其應(yīng)用[J].電工技術(shù)