摘 要:基于PID控制算法和MPU-6050傳感器技術(shù),采用MK60DN512單片機控制完成風(fēng)力擺控制系統(tǒng)。實現(xiàn)的功能有通過激光筆定時畫直線,定時畫圓周以及定時恢復(fù)靜止。軟件部分采用了姿態(tài)解算算法,實時進行角度監(jiān)控,對于控制系統(tǒng)中的相關(guān)問題提出了具體的解決辦法,并在實驗室進行測試,能給控制系統(tǒng)的研究工作帶來幫助。
關(guān)鍵詞:PID控制;MPU-6050;MK60DN512;風(fēng)力擺
DOI:10.16640/j.cnki.37-1222/t.2016.08.069
1 系統(tǒng)設(shè)計方案論證與分析
風(fēng)力擺控制系統(tǒng)是一個綜合了控制與機械的系統(tǒng),在機械方面與控制上要進行論證與選擇,在機械方面的選擇是實現(xiàn)功能的基礎(chǔ),也間接決定了控制策略,設(shè)計系統(tǒng)的時在實驗室進行了很長時間的驗證以及方案設(shè)計與選擇。
1.1 風(fēng)力擺機械模塊方案的論證與選擇
方案一:采用二個12V 3.3A的直流風(fēng)機,對立擺放。
方案二:采用三個12V 3.3A的直流風(fēng)機,按三角形擺放。
方案三:采用四個12V 3.3A的直流風(fēng)機,按四方體擺放。
在實驗中發(fā)現(xiàn)兩個直流風(fēng)機質(zhì)量輕,易起擺,但是畫線不穩(wěn)定;三個直流風(fēng)機質(zhì)量中等,比較容易起擺,較穩(wěn)定,但是好控制;四個直流風(fēng)機質(zhì)量重,不易起擺,但是一旦起擺,最穩(wěn)定,四個的重量可滿足起擺的條件,且畫圓穩(wěn)定,所以選擇方案三。
1.2 傳感器模塊方案的選擇與論證
方案一:采用角度傳感器和加速度傳感器,算出傳入比后,角度傳感器可直接測量角度;加速度傳感器可以測量牽引力產(chǎn)生的加速度。
方案二:采用MPU-6050陀螺儀,6軸運動處理傳感器,集成了3軸MEMS陀螺儀,3軸MEMS加速計,以及一個可擴展的數(shù)字運動處理器(DMP)可測量風(fēng)力擺的角速度以及角加速度,與方案一相比,MPU-6050的優(yōu)點是內(nèi)置數(shù)字運動處理(DMP)引擎可減少復(fù)雜的融合演算數(shù)據(jù)、感測器同步化、姿勢感應(yīng)等的負荷,得到的數(shù)據(jù)更準確。所以選擇方案二。
1.3 算法控制方案的論證與選擇
方案一:采用基于增量式PID的角度控制算法。通過對模擬控制系統(tǒng)PID控制規(guī)律表達式的離散化,可得數(shù)字式PID表達式為:。
方案二:采用模糊自調(diào)整參數(shù)PID控制,此控制既有模糊控制不依賴于被控對象,對被控對象的非線性和時變性具有一定的適應(yīng)能力等優(yōu)點,又引入了PID控制系統(tǒng)同時獲得良好的動態(tài)性能和穩(wěn)態(tài)性能。因為基于增量式PID的角度控制算法簡單穩(wěn)定,可靠性高,模糊自調(diào)整參數(shù)PID控制雖然非常精確,但是較難掌握,所以選擇方案一。
1.4 電源模塊方案的選擇與論證
方案一:采用298直流電機驅(qū)動電路,所用芯片l298屬于H橋集成電路,其輸出電流為2000mA,最高電流4A,最高工作電壓36V。
方案二:采用開關(guān)電源,標準輸出為12V 3A。雖然298直流電機驅(qū)動電路體積小,控制方便,但是承受電流較小,電壓不穩(wěn)定;開關(guān)電源優(yōu)點是小型、輕量和高效率且輸出穩(wěn)定,因此選擇方案二。
2 系統(tǒng)設(shè)計
2.1 K60最小系統(tǒng)與控制板
K60最小系統(tǒng)板,風(fēng)力擺系統(tǒng)的控制核心,由于系統(tǒng)設(shè)計的要求,在單片機設(shè)計中進行裁剪,以較好的控制MPU-6050進行姿態(tài)解算,通過串口傳遞數(shù)據(jù)到單片機,由單片機控制到OLED顯示,根據(jù)角度數(shù)據(jù)以及目標角度對風(fēng)力擺的擺動角度進行PID控制,完成目標擺動軌跡。.
2.2 MPU-6050模塊
MPU-6050對陀螺儀和加速計分別采用了三個16位的ADC,將其測量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。和其他設(shè)備通信采用400KHz的12C接口,可由電源模塊的5V電路供電,核心板接MPU-6050的SDA和SCL引腳讀取數(shù)據(jù)。
2.3 人機交互模塊
OLED顯示模塊顯示風(fēng)力擺擺臂擺動的角度,角速度以及角加速度,控制單元完成數(shù)據(jù)處理后驅(qū)動顯示屏。由于該系統(tǒng)是一個實現(xiàn)多種功能的系統(tǒng),需要在多種功能之間切換,設(shè)計OLED顯示與按鍵切換,可以很好滿足這一要求。
3 軟件設(shè)計
3.1 姿態(tài)解算
數(shù)據(jù)處理主要是姿態(tài)解算,姿態(tài)解算算法的核心在于旋轉(zhuǎn),因為姿態(tài)解算需要頻繁組合旋轉(zhuǎn)和用旋轉(zhuǎn)變換向量,所以采用四元數(shù)保存組合姿態(tài)、輔以矩陣來變換向量的方案。姿態(tài)解算程序過程是:用一個計時器定時觸發(fā)測量,接著所有測量過程都靠中斷推進,然后判斷在main函數(shù)里不斷檢查測量是否完成,完成就進行解算。
3.2 PID算法
對于本風(fēng)力擺控制系統(tǒng),U(k)即為輸給電機的PWM占空比,e(k)即為目標角度實際速度角度。由于微分項會致直流風(fēng)機振蕩,故只是用PI算法基于增量式PID的角度控制算法。
3.3 功能實現(xiàn)
在實現(xiàn)畫任意長度的線段時,需要將角度與線段長度進行轉(zhuǎn)換,從而通過控制系統(tǒng)的pid算法,讓系統(tǒng)實現(xiàn)該功能。在畫圓時,在受力分析時,發(fā)現(xiàn)需要螺旋式達到畫圓的介穩(wěn)定狀態(tài),否則無法實現(xiàn)穩(wěn)定畫圓,在代碼實現(xiàn)時曾設(shè)計了先畫線段再左右擺動畫圓,結(jié)果不能實現(xiàn)功能。
4 總結(jié)
設(shè)計該系統(tǒng)時,到的最大的困難是機械問題,包括合適的直流風(fēng)機的選型,擺放位置,發(fā)現(xiàn)四只直流風(fēng)機放置時沒有相互隔離,導(dǎo)致氣體對流,在控制時無法實現(xiàn)要求的功能,于是在實驗室中設(shè)計了隔離輕質(zhì)固定殼,有效的隔離了對流,從而解決了在機械上出現(xiàn)的嚴重問題。該系統(tǒng)較好的實現(xiàn)了系統(tǒng)要求,但是還存在問題,經(jīng)過分析,誤差存在的主要原因有風(fēng)力擺機械結(jié)構(gòu)有摩擦,MPU-6050采集到的數(shù)據(jù)誤差,直流風(fēng)機的反應(yīng)滯后,姿態(tài)解算算法造成的誤差等。因此,可以優(yōu)化機械結(jié)構(gòu),減少摩擦力,采用反應(yīng)更靈敏的直流風(fēng)機,修改姿態(tài)解算算法或者選擇更合適的算法。
參考文獻:
[1]卓勤,黃開勝,邵貝貝等編.學(xué)做智能車-挑戰(zhàn)“飛思卡爾”杯[M].北京:北京航空航天大學(xué)出版社,2007:266-369.
[2]付少波主編.傳感器及其應(yīng)用電路[M].化學(xué)工業(yè)出版社,2011.
作者簡介:汪世鵬(1994-),男,安徽安慶人,本科在讀,研究方向:電子信息工程。