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