基于MPU6050模塊的飛行姿態(tài)記錄系統(tǒng)設(shè)計
摘要:為了實現(xiàn)對固體燃料低空模型火箭飛行姿態(tài)自動記錄的需求,提出了一種基于MPU6050模塊的飛行姿態(tài)記錄系統(tǒng)設(shè)計方案,并完成系統(tǒng)的軟硬件設(shè)計。該系統(tǒng)的硬件部分主要用來采集加速度模擬量并進行存儲,軟件部分采用C語言進行編程,完成數(shù)據(jù)讀寫和上傳,數(shù)據(jù)處理借助上位機軟件進行,還原實際飛行姿態(tài)。實際應(yīng)用表明,該系統(tǒng)具有成本低廉、靈敏度高的特點,達到了設(shè)計要求。
本文引用地址:http://www.j9360.com/article/201609/303569.htm固體燃料低空模型火箭在發(fā)射原理和氣動結(jié)構(gòu)上都與實用探空火箭一致,同時具備重量輕、安全性高和價格相對低廉的特點,因此在本科教學及學科競賽中被廣泛使用。
目前的固體燃料低空模型火箭(以下簡稱模型火箭)受到成本和運載能力的限制并未加裝任何傳感器,對于模型火箭發(fā)射后的飛行姿態(tài)大都通過視頻的方式記錄,但是受到模型火箭飛行速度快、拍攝視角固定等問題的限制,傳統(tǒng)的飛行姿態(tài)記錄方式效果并不理想,所得結(jié)果也缺乏進一步討論的價值,缺少量化的飛行姿態(tài)數(shù)據(jù)也制約了模型火箭本身的改進和發(fā)展。可見設(shè)計出一種可量化的飛行姿態(tài)記錄系統(tǒng)非常有必要。
MPU6050模塊有著高速、精確的加速度采集能力,提供SPI和IIC兩種通訊方案,能夠根據(jù)系統(tǒng)程序指令,同時進行線加速度和角加速度的采集工作;M24C08芯片可以存儲1024字節(jié)數(shù)據(jù),支持IIC通訊協(xié)議,具有體積小、重量輕、數(shù)據(jù)穩(wěn)定性強的特點;單片機以其較高的靈活性和穩(wěn)定性廣泛應(yīng)用在自動控制系統(tǒng)中。本系統(tǒng)既是三者的結(jié)合,由傳感器、存儲器和單片機部分構(gòu)成,對固體燃料低空模型火箭飛行過程中的加速度進行實時采集和記錄,箭體返回后,配合上位機數(shù)據(jù)處理軟件,對加速度數(shù)據(jù)進行處理,最終還原出模型火箭的真實飛行姿態(tài)。
1 系統(tǒng)的整體結(jié)構(gòu)及功能描述
系統(tǒng)以STC89C52RC單片機為主控芯片,結(jié)合MPU6050模塊和M24C08芯片,可對模型火箭飛行中的加速度進行實時采集并存儲,模型火箭回收后通過串口通訊將數(shù)據(jù)傳遞給上位機,并在相關(guān)軟件的輔助下進行數(shù)據(jù)處理,最終還原出模型火箭實際飛行姿態(tài)。MPU6050模塊解決了模型火箭高速飛行過程中加速度數(shù)字化的問題,并且具有采集速度快、精度高和可編程控制的特點,M24C08芯片具有支持IIC協(xié)議、重量輕和數(shù)據(jù)穩(wěn)定性強的特點,雖然存儲容量較小,但鑒于模型火箭滯空時間短的特點,其數(shù)據(jù)存儲容量能夠滿足需求。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,本系統(tǒng)選擇STC89C52RC單片機為IIC通訊的主機,所有對話由單片機發(fā)起,單片機按照固定時間間隔詢問MPU6050模塊模型火箭實時加速度情況,MPU60 50做出應(yīng)答后單片機向M24C08芯片發(fā)起對話,要求M24C08芯片記錄當前加速度數(shù)值。以上周期性采樣從模型火箭點火開始到飛行完成降落傘開啟結(jié)束不間斷進行,模型火箭回收后,進行數(shù)據(jù)上傳和處理工作。

2 系統(tǒng)硬件設(shè)計
MPU6050模塊、STC89C52RC單片機與M24C08芯片之間采用IIC通訊,其電路圖如圖2所示。本系統(tǒng)設(shè)定只有 STC89C52RC單片機可以發(fā)起對話,其余原件只能做出應(yīng)答,其中STC 89C52RC單片機的P1.2管腳與IIC通訊線路的時鐘線(SCL)連接,P1.3管腳與數(shù)據(jù)線(SDA)連接,程序根據(jù)邏輯需要按照IIC通訊協(xié)議控制時鐘線和數(shù)據(jù)線的電平變化,以發(fā)起所需對話。MPU6050模塊和M24C08芯片都支持IIC通訊,分別將其時鐘管腳和數(shù)據(jù)管腳與通訊線路的相應(yīng)管腳相連接,連接完成后的IIC通訊線路即可實現(xiàn)主從之間的問答式通訊。

實際使用中為了提高采集可靠性,在火箭放飛過程中單片機只固化采集存儲程序,待模型火箭回收后重新給單片機固化相應(yīng)的數(shù)據(jù)讀取程序,數(shù)據(jù)才能被傳遞給上位機,但程序反復固化操作中往往會出現(xiàn)人員誤操作,引起M24C08芯片中的數(shù)據(jù)損壞,導致整個放飛失去意義,因此在M24C08的數(shù)據(jù)管腳設(shè)計了保護跳線,模型火箭回收后斷開保護跳線,待確認程序固化正確后接通跳線,上傳數(shù)據(jù)。
MPU6050模塊是以MPU6050芯片為核心配合必要的外圍器件形成的加速度測量模塊。其中MPU6050芯片整合了3軸陀螺儀和3軸線加速度計,極大的減小了包裝空間,同時避免了加速度計和陀螺儀組合時的軸間差問題,并能夠以400 kHz的速度提供16位精度的加速度數(shù)據(jù)。由于芯片本身對于外圍器件要求較高,因此本系統(tǒng)硬件設(shè)計中選用了MPU6050模塊,保證了數(shù)據(jù)的可靠性。在裝配中采取模塊與主板層疊的安裝方式,進一步減小了整個系統(tǒng)的體積,系統(tǒng)實物圖如圖3所示。

3 系統(tǒng)軟件設(shè)計及數(shù)據(jù)處理
系統(tǒng)程序設(shè)計包括數(shù)據(jù)采集存儲和數(shù)據(jù)讀取上傳兩部分構(gòu)成,為了提高系統(tǒng)的可靠性,兩部分程序不同時固化在單片機中,在模型火箭發(fā)射時固化數(shù)據(jù)采集存儲程序,模型火箭回收后固化數(shù)據(jù)讀取上傳程序。數(shù)據(jù)采集存儲程序每隔0.1 s采集一組模型火箭加速度值,并存儲到M24C08芯片中,雖然MPU6050可以提供16位精度數(shù)據(jù),但低八位數(shù)據(jù)抖動嚴重,所以系統(tǒng)只記錄高8位數(shù)據(jù),這樣M24C08芯片可以記錄170組(每組6個)加速度數(shù)據(jù),記錄持續(xù)時間為17s。模型火箭點火延時2 s,導軌飛行1秒,滯空飛行14 s,數(shù)據(jù)采集存儲程序工作時間可對3個過程實現(xiàn)完全覆蓋。數(shù)據(jù)讀取上傳程序讀取M24C08中的數(shù)據(jù)并以串口通訊方式傳遞給上位機。
數(shù)據(jù)處理分為數(shù)據(jù)接收、數(shù)據(jù)預處理和姿態(tài)還原3個部分,數(shù)據(jù)接收部分利用串口助手軟件接收下位機上傳的數(shù)據(jù),同時將八進制數(shù)轉(zhuǎn)換為十進制。數(shù)據(jù)預處理主要是對數(shù)據(jù)進行定性分析:出現(xiàn)角加速度不為零的情況說明模型火箭飛行中出現(xiàn)旋轉(zhuǎn);前2 s(模型火箭靜止狀態(tài))出現(xiàn)X/Y軸線加速度不為零說明發(fā)射架水平度不符合要求;第3 s(模型火箭導軌飛行)開始出現(xiàn)X/Y軸線加速度不為零說明導軌裝配出現(xiàn)問題。在數(shù)據(jù)預處理階段未發(fā)現(xiàn)上述問題則進入姿態(tài)還原階段,該階段借助Matlab軟件對X/Y/Z三軸線加速度進行計算,還原模型火箭飛行姿態(tài),算法公式如圖4所示。
評論