孫春虎,陳海波,方愿捷
?。ǔ埠W(xué)院 機械與電子工程學(xué)院,安徽 巢湖 238000)
摘要:基于LabVIEW設(shè)計了一種飛行器加速度、角速度及姿態(tài)角測量平臺系統(tǒng)。硬件系統(tǒng)采用計算機、6軸慣性導(dǎo)航模塊及USB轉(zhuǎn)TTL模塊;軟件系統(tǒng)基于LabVIEW編寫了飛行器加速度、角速度及姿態(tài)角的三維數(shù)據(jù)測量平臺系統(tǒng)。該系統(tǒng)還可應(yīng)用于船舶、汽車導(dǎo)航系統(tǒng)的加速度、角速度及姿態(tài)角的三維數(shù)據(jù)測量顯示。實驗結(jié)果表明,該系統(tǒng)易于控制,能方便地觀察加速度、角速度及姿態(tài)角的三維數(shù)據(jù)曲線,并且當6軸慣性導(dǎo)航模塊改變狀態(tài)時,輸出曲線均能隨之改變并能快速達到新的穩(wěn)定狀態(tài)。
關(guān)鍵詞:6軸慣性導(dǎo)航模塊; USB轉(zhuǎn)TTL模塊;LabVIEW;串口通信
0引言
通過對飛行器的實時加速度(慣性)的測量,并進行積分,可獲得飛行器實時速度和實時位置數(shù)據(jù)。根據(jù)慣性導(dǎo)航系統(tǒng),從當前點的位置根據(jù)連續(xù)測得的運載體航向角和速度可推算出其下一點的位置,因而可連續(xù)測出飛行器的當前位置。實時角速度是飛行器研制過程中很重要的參數(shù)之一,它決定了飛行器能否穩(wěn)定飛行,因而在飛行器飛行時必須知道每一時刻的飛行器角速度。飛行器姿態(tài)角的測量意義在于確定飛行器的當前姿態(tài),以便進行姿態(tài)控制[1]。
本文利用計算機、6軸慣性導(dǎo)航模塊及USB轉(zhuǎn)TTL模塊,結(jié)合Labview軟件實現(xiàn)飛行器加速度、角速度及姿態(tài)角的三維數(shù)據(jù)測量顯示。該系統(tǒng)還可應(yīng)用于船舶、汽車導(dǎo)航系統(tǒng)的加速度、角速度及姿態(tài)角的三維數(shù)據(jù)測量顯示。
實驗結(jié)果表明該系統(tǒng)易于控制,能方便地觀察加速度、角速度及姿態(tài)角的三維數(shù)據(jù)曲線,并且當6軸慣性導(dǎo)航模塊改變狀態(tài)時,輸出曲線均能隨之改變并快速達到新的穩(wěn)定狀態(tài)。
1測量系統(tǒng)總體設(shè)計
測量系統(tǒng)總體設(shè)計如圖1所示。
測量系統(tǒng)總體設(shè)計包括:計算機系統(tǒng)、USB轉(zhuǎn)TTL模塊及6軸慣性導(dǎo)航模塊。計算機系統(tǒng)主要是裝有LabVIEW軟件的計算機,USB轉(zhuǎn)TTL模塊用于計算機系統(tǒng)與6軸慣性導(dǎo)航模塊的相互通信,6軸慣性導(dǎo)航模塊用于測量實時加速度、角速度及姿態(tài)角。
2測量系統(tǒng)硬件設(shè)計
測量系統(tǒng)硬件設(shè)計主要包括:USB轉(zhuǎn)TTL模塊設(shè)計和6軸慣性導(dǎo)航模塊設(shè)計。
2.1USB轉(zhuǎn)TTL模塊設(shè)計
由于USB串口采用的是RS232電平,為負邏輯,而6軸慣性導(dǎo)航模塊采用的是TTL電平,為正邏輯,因而要使兩者通信就必須進行電平轉(zhuǎn)換,以實現(xiàn)電平的一致性。USB轉(zhuǎn)TTL模塊原理圖[2]如圖2所示。
USB轉(zhuǎn)TTL模塊通過USB口的管腳1供電,管腳2、3用于電腦發(fā)送或接收RS232電平數(shù)據(jù),P1口用于6軸慣性導(dǎo)航模塊發(fā)送或接收RS232電平數(shù)據(jù)。
2.26軸慣性導(dǎo)航模塊設(shè)計
6軸慣性導(dǎo)航模塊[3]采用高精度陀螺加速度計MPU6050,模塊內(nèi)部集成了姿態(tài)解碼器,結(jié)合動態(tài)卡爾曼濾波算法,姿態(tài)測量精度0.01°,穩(wěn)定性極高;數(shù)據(jù)輸出接口有串口和I2C口,I2C接口可以滿足高級用戶訪問底層測量數(shù)據(jù)的需求,但無姿態(tài)輸出,且所測數(shù)據(jù)均為X、Y、Z軸上的三維數(shù)據(jù);波特率有115 200 bit/s和9 600 bit/s兩種模式,對應(yīng)的數(shù)據(jù)輸出幀率分別為100 Hz和20 Hz。6軸慣性導(dǎo)航模塊管腳圖如圖3所示。
由圖3可知:管腳1~4用于串口數(shù)據(jù)通信,管腳5~8用于I2C口數(shù)據(jù)通信,本文選用串口數(shù)據(jù)通信。
3測量系統(tǒng)數(shù)據(jù)包內(nèi)容和計算公式分析
測量模塊發(fā)送到計算機的每幀數(shù)據(jù)分為3個數(shù)據(jù)包,分別為加速度包、角速度包和姿態(tài)角包。由于這3個數(shù)據(jù)包分析方法相同,這里只以姿態(tài)角包為代表進行內(nèi)容和計算公式的分析。
姿態(tài)角包的內(nèi)容如表1所示。當計算機接收到連續(xù)兩個數(shù)據(jù)內(nèi)容為0x55、0x53時,則可判斷此時接收到的數(shù)據(jù)包為姿態(tài)角包;從下一個數(shù)據(jù)開始的連續(xù)6個數(shù)據(jù)為X、Y、Z軸上的三維數(shù)據(jù);每維數(shù)據(jù)為16 bit,以低字節(jié)、高字節(jié)的次序傳送。
姿態(tài)角X、Y、Z軸上的三維數(shù)據(jù)(滾轉(zhuǎn)角、俯仰角和偏航角)計算公式如式(1)、式(2)、式(3)所示。
由式(1)、(2)、(3)可以看出:計算滾轉(zhuǎn)角、俯仰角和偏航角時都需要將高字節(jié)數(shù)據(jù)左移8 bit,然后與低字節(jié)按位或得到16 bit數(shù)據(jù),再除以32 768,最后乘以180即可得到各自角度。若此時16 bit數(shù)據(jù)小于32 768時,則此時角度為正值;否則此時角度為負值。
4測量系統(tǒng)軟件設(shè)計
測量系統(tǒng)軟件設(shè)計包括:前面板設(shè)計;串口讀寫設(shè)計;加速度、角速度和姿態(tài)角度讀取及計算設(shè)計;加速度、角速度和姿態(tài)角顯示設(shè)計。
4.1前面板設(shè)計
前面板設(shè)計[4]如圖4所示。 通過前面板可以對串口號、波特率、數(shù)據(jù)位等通信參數(shù)進行設(shè)置;加速度、角速度和角度輸出控制開關(guān)可以在波形圖表上顯示相關(guān)量的三維數(shù)據(jù)曲線;AX、AY、AZ為加速度三維數(shù)據(jù)顯示;WX、WY、WZ為角速度三維數(shù)據(jù)顯示;RX、RY、RZ為姿態(tài)角三維數(shù)據(jù)顯示。
4.2串口讀寫設(shè)計
VISA配置節(jié)點用于通信的初始化設(shè)置;VISA寫節(jié)點用于向6軸慣性導(dǎo)航模塊寫入初始化控制字,以選擇通信接口模式和波特率設(shè)定;延時500 ms是使6軸慣性導(dǎo)航模塊有足夠的時間完成初始化;VISA串口字節(jié)數(shù)節(jié)點用于統(tǒng)計輸入緩沖區(qū)的字節(jié)數(shù);VISA讀節(jié)點從讀取緩沖區(qū)讀取指定字節(jié)數(shù)的數(shù)據(jù)。串口讀寫設(shè)計[5~6]如圖5所示。
4.3加速度、角速度和姿態(tài)角讀取及計算設(shè)計
由于加速度、角速度和姿態(tài)角讀取及計算過程相似,這里只以姿態(tài)角為代表進行讀取和計算設(shè)計。姿態(tài)角讀取與計算設(shè)計[7]如圖6所示。
搜索1維數(shù)組函數(shù)用于找到角度包的包頭及在數(shù)組中的位置;然后就可以根據(jù)表1和式(3)求解角度的三維數(shù)據(jù)RX、RY、RZ;圖中子VI函數(shù)實現(xiàn)姿態(tài)角的正負值判別與處理。
4.4加速度、角速度和角度顯示設(shè)計
加速度、角速度和姿態(tài)角顯示設(shè)計的目的是:當這3個控制開關(guān)任何1個按下時,波形圖表應(yīng)顯示該控制量所對應(yīng)的三維數(shù)據(jù)曲線。如果同一時刻有兩個以上按鍵按下,那么在1個波形圖表上將顯示6條或9條數(shù)據(jù)曲線,造成相互重疊且不方便觀察,因此,任一時刻只允許1個控制按鍵按下,顯示3條曲線。程序框圖[8]如圖7所示。
5測量系統(tǒng)實驗結(jié)果及分析
實驗1:將串口設(shè)為COM4、波特率9 600 bit/s、數(shù)據(jù)位8位、停止位1位、無校驗位;根據(jù)系統(tǒng)總體圖連好硬件,并把6軸慣性導(dǎo)航模塊放在某一固定位置保持不動;分別打開加速度、角速度和姿態(tài)角開關(guān),運行LabVIEW程序;所得到對應(yīng)的三維數(shù)據(jù)曲線如圖8~圖10所示。
實驗2:將串口設(shè)為COM3、波特率9 600 bit/s、數(shù)據(jù)位8位、停止位1位、無校驗位;根據(jù)系統(tǒng)總體圖連好硬件,并把6軸慣性導(dǎo)航模塊先放在某一固定位置;打開姿態(tài)角開關(guān),然后運行LabVIEW程序;等輸出波形穩(wěn)定后,再把6軸慣性導(dǎo)航模塊放到另一固定位置。所得到姿態(tài)角的三維數(shù)據(jù)曲線如圖11所示。
由圖8可以看出,此時加速度三維數(shù)據(jù)AX、AY、AZ輸出波形還是很穩(wěn)定的,且AX≈1.04 m/s2、AY≈1.09 m/s2、AZ≈10.42 m/s2。
由圖9可以看出,此時角速度三維數(shù)據(jù)WX、WY、WZ輸出波形還是較穩(wěn)定的,且WX≈-1.71 rad/s、WY≈0.79 rad/s、WZ≈-1.16 rad/s。
由圖10可看出,此時姿態(tài)角三維數(shù)據(jù)RX、RY、RZ輸出波形是非常穩(wěn)定的,且RX≈5.80°、RY≈-5.54°、RZ≈0°。
由圖11可看出,當6軸慣性導(dǎo)航模塊位置改變時,姿態(tài)角三維數(shù)據(jù)RX、RY、RZ輸出波形也會快速改變并進入一種新的穩(wěn)定狀態(tài),且穩(wěn)定時RX≈17.28°、RY≈-5.52°、RZ≈-2.46°。
由實驗1、實驗2可得出結(jié)論:該加速度、角速度及姿態(tài)角檢測系統(tǒng)還是很穩(wěn)定和精確的;且當6軸慣性導(dǎo)航模塊位置改變時,檢測系統(tǒng)也能快速響應(yīng)并顯示新的穩(wěn)定位置數(shù)據(jù),具有很強的實時顯示特性。
6結(jié)論
本文所設(shè)計的飛行器加速度、角速度和姿態(tài)角測量顯示系統(tǒng)具有較強的穩(wěn)定性和精確性;并能對飛行器的位置變化產(chǎn)生快速響應(yīng)和實時顯示特性。所設(shè)計的飛行器加速度、角速度和姿態(tài)角測量系統(tǒng)具有一定的參考與應(yīng)用價值。
參考文獻
[1] 黃和悅.DIY四軸飛行器--基于MSP430F5系列單片機與Android[M].北京:電子工業(yè)出版社,2004.
[2] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009.
?。?] 李堯.四旋翼飛行器控制系統(tǒng)設(shè)計[D]. 大連:大連理工大學(xué),2013.
?。?] 張重雄,張思維.虛擬儀器技術(shù)分析與設(shè)計[M]. 北京:電子工業(yè)出版社,2012.
?。?] 李晴.基于Labview的串口通信應(yīng)用[J]. 常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2009,8(3):8-10.
?。?] 呂向鋒,高洪林,馬亮,等.基于LabVIEW串口通信的研究[J]. 國外電子測量技術(shù),2009,28(12):27-29.
?。?] 暢國忠,周泓,余鋒,等.基于VISA的事件處理方法與實現(xiàn)[J]. 測控技術(shù),2009,19(9):45-48.
[8] 盧海峰,江朝元,陽小光.基于串口通信的在線監(jiān)測系統(tǒng)關(guān)鍵技術(shù)研究[J]. 儀器儀表學(xué)報,2006,27(S3):2043-2044.