基于MPU6050模塊的飛行姿態(tài)記錄系統(tǒng)設(shè)計(jì)
摘要:為了實(shí)現(xiàn)對固體燃料低空模型火箭飛行姿態(tài)自動記錄的需求,提出了一種基于MPU6050模塊的飛行姿態(tài)記錄系統(tǒng)設(shè)計(jì)方案,并完成系統(tǒng)的軟硬件設(shè)計(jì)。該系統(tǒng)的硬件部分主要用來采集加速度模擬量并進(jìn)行存儲,軟件部分采用C語言進(jìn)行編程,完成數(shù)據(jù)讀寫和上傳,數(shù)據(jù)處理借助上位機(jī)軟件進(jìn)行,還原實(shí)際飛行姿態(tài)。實(shí)際應(yīng)用表明,該系統(tǒng)具有成本低廉、靈敏度高的特點(diǎn),達(dá)到了設(shè)計(jì)要求。
本文引用地址:http://www.ex-cimer.com/article/201609/303569.htm關(guān)鍵詞:傳感器;加速度;自動記錄;單片機(jī)
固體燃料低空模型火箭在發(fā)射原理和氣動結(jié)構(gòu)上都與實(shí)用探空火箭一致,同時具備重量輕、安全性高和價格相對低廉的特點(diǎn),因此在本科教學(xué)及學(xué)科競賽中被廣泛使用。
目前的固體燃料低空模型火箭(以下簡稱模型火箭)受到成本和運(yùn)載能力的限制并未加裝任何傳感器,對于模型火箭發(fā)射后的飛行姿態(tài)大都通過視頻的方式記錄,但是受到模型火箭飛行速度快、拍攝視角固定等問題的限制,傳統(tǒng)的飛行姿態(tài)記錄方式效果并不理想,所得結(jié)果也缺乏進(jìn)一步討論的價值,缺少量化的飛行姿態(tài)數(shù)據(jù)也制約了模型火箭本身的改進(jìn)和發(fā)展??梢娫O(shè)計(jì)出一種可量化的飛行姿態(tài)記錄系統(tǒng)非常有必要。
MPU6050模塊有著高速、精確的加速度采集能力,提供SPI和IIC兩種通訊方案,能夠根據(jù)系統(tǒng)程序指令,同時進(jìn)行線加速度和角加速度的采集工作;M24C08芯片可以存儲1024字節(jié)數(shù)據(jù),支持IIC通訊協(xié)議,具有體積小、重量輕、數(shù)據(jù)穩(wěn)定性強(qiáng)的特點(diǎn);單片機(jī)以其較高的靈活性和穩(wěn)定性廣泛應(yīng)用在自動控制系統(tǒng)中。本系統(tǒng)既是三者的結(jié)合,由傳感器、存儲器和單片機(jī)部分構(gòu)成,對固體燃料低空模型火箭飛行過程中的加速度進(jìn)行實(shí)時采集和記錄,箭體返回后,配合上位機(jī)數(shù)據(jù)處理軟件,對加速度數(shù)據(jù)進(jìn)行處理,最終還原出模型火箭的真實(shí)飛行姿態(tài)。
1 系統(tǒng)的整體結(jié)構(gòu)及功能描述
系統(tǒng)以STC89C52RC單片機(jī)為主控芯片,結(jié)合MPU6050模塊和M24C08芯片,可對模型火箭飛行中的加速度進(jìn)行實(shí)時采集并存儲,模型火箭回收后通過串口通訊將數(shù)據(jù)傳遞給上位機(jī),并在相關(guān)軟件的輔助下進(jìn)行數(shù)據(jù)處理,最終還原出模型火箭實(shí)際飛行姿態(tài)。MPU6050模塊解決了模型火箭高速飛行過程中加速度數(shù)字化的問題,并且具有采集速度快、精度高和可編程控制的特點(diǎn),M24C08芯片具有支持IIC協(xié)議、重量輕和數(shù)據(jù)穩(wěn)定性強(qiáng)的特點(diǎn),雖然存儲容量較小,但鑒于模型火箭滯空時間短的特點(diǎn),其數(shù)據(jù)存儲容量能夠滿足需求。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,本系統(tǒng)選擇STC89C52RC單片機(jī)為IIC通訊的主機(jī),所有對話由單片機(jī)發(fā)起,單片機(jī)按照固定時間間隔詢問MPU6050模塊模型火箭實(shí)時加速度情況,MPU60 50做出應(yīng)答后單片機(jī)向M24C08芯片發(fā)起對話,要求M24C08芯片記錄當(dāng)前加速度數(shù)值。以上周期性采樣從模型火箭點(diǎn)火開始到飛行完成降落傘開啟結(jié)束不間斷進(jìn)行,模型火箭回收后,進(jìn)行數(shù)據(jù)上傳和處理工作。
2 系統(tǒng)硬件設(shè)計(jì)
MPU6050模塊、STC89C52RC單片機(jī)與M24C08芯片之間采用IIC通訊,其電路圖如圖2所示。本系統(tǒng)設(shè)定只有 STC89C52RC單片機(jī)可以發(fā)起對話,其余原件只能做出應(yīng)答,其中STC 89C52RC單片機(jī)的P1.2管腳與IIC通訊線路的時鐘線(SCL)連接,P1.3管腳與數(shù)據(jù)線(SDA)連接,程序根據(jù)邏輯需要按照IIC通訊協(xié)議控制時鐘線和數(shù)據(jù)線的電平變化,以發(fā)起所需對話。MPU6050模塊和M24C08芯片都支持IIC通訊,分別將其時鐘管腳和數(shù)據(jù)管腳與通訊線路的相應(yīng)管腳相連接,連接完成后的IIC通訊線路即可實(shí)現(xiàn)主從之間的問答式通訊。
實(shí)際使用中為了提高采集可靠性,在火箭放飛過程中單片機(jī)只固化采集存儲程序,待模型火箭回收后重新給單片機(jī)固化相應(yīng)的數(shù)據(jù)讀取程序,數(shù)據(jù)才能被傳遞給上位機(jī),但程序反復(fù)固化操作中往往會出現(xiàn)人員誤操作,引起M24C08芯片中的數(shù)據(jù)損壞,導(dǎo)致整個放飛失去意義,因此在M24C08的數(shù)據(jù)管腳設(shè)計(jì)了保護(hù)跳線,模型火箭回收后斷開保護(hù)跳線,待確認(rèn)程序固化正確后接通跳線,上傳數(shù)據(jù)。
MPU6050模塊是以MPU6050芯片為核心配合必要的外圍器件形成的加速度測量模塊。其中MPU6050芯片整合了3軸陀螺儀和3軸線加速度計(jì),極大的減小了包裝空間,同時避免了加速度計(jì)和陀螺儀組合時的軸間差問題,并能夠以400 kHz的速度提供16位精度的加速度數(shù)據(jù)。由于芯片本身對于外圍器件要求較高,因此本系統(tǒng)硬件設(shè)計(jì)中選用了MPU6050模塊,保證了數(shù)據(jù)的可靠性。在裝配中采取模塊與主板層疊的安裝方式,進(jìn)一步減小了整個系統(tǒng)的體積,系統(tǒng)實(shí)物圖如圖3所示。
3 系統(tǒng)軟件設(shè)計(jì)及數(shù)據(jù)處理
系統(tǒng)程序設(shè)計(jì)包括數(shù)據(jù)采集存儲和數(shù)據(jù)讀取上傳兩部分構(gòu)成,為了提高系統(tǒng)的可靠性,兩部分程序不同時固化在單片機(jī)中,在模型火箭發(fā)射時固化數(shù)據(jù)采集存儲程序,模型火箭回收后固化數(shù)據(jù)讀取上傳程序。數(shù)據(jù)采集存儲程序每隔0.1 s采集一組模型火箭加速度值,并存儲到M24C08芯片中,雖然MPU6050可以提供16位精度數(shù)據(jù),但低八位數(shù)據(jù)抖動嚴(yán)重,所以系統(tǒng)只記錄高8位數(shù)據(jù),這樣M24C08芯片可以記錄170組(每組6個)加速度數(shù)據(jù),記錄持續(xù)時間為17s。模型火箭點(diǎn)火延時2 s,導(dǎo)軌飛行1秒,滯空飛行14 s,數(shù)據(jù)采集存儲程序工作時間可對3個過程實(shí)現(xiàn)完全覆蓋。數(shù)據(jù)讀取上傳程序讀取M24C08中的數(shù)據(jù)并以串口通訊方式傳遞給上位機(jī)。
數(shù)據(jù)處理分為數(shù)據(jù)接收、數(shù)據(jù)預(yù)處理和姿態(tài)還原3個部分,數(shù)據(jù)接收部分利用串口助手軟件接收下位機(jī)上傳的數(shù)據(jù),同時將八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制。數(shù)據(jù)預(yù)處理主要是對數(shù)據(jù)進(jìn)行定性分析:出現(xiàn)角加速度不為零的情況說明模型火箭飛行中出現(xiàn)旋轉(zhuǎn);前2 s(模型火箭靜止?fàn)顟B(tài))出現(xiàn)X/Y軸線加速度不為零說明發(fā)射架水平度不符合要求;第3 s(模型火箭導(dǎo)軌飛行)開始出現(xiàn)X/Y軸線加速度不為零說明導(dǎo)軌裝配出現(xiàn)問題。在數(shù)據(jù)預(yù)處理階段未發(fā)現(xiàn)上述問題則進(jìn)入姿態(tài)還原階段,該階段借助Matlab軟件對X/Y/Z三軸線加速度進(jìn)行計(jì)算,還原模型火箭飛行姿態(tài),算法公式如圖4所示。
評論