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

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

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

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