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