基于TMS320F28335的氣球吊籃姿態(tài)監(jiān)測裝置設(shè)計
掃描二維碼
隨時隨地手機看文章
摘要:針對氣球吊籃對姿態(tài)控制的要求,本文給出以TMS320F28335為平臺,開發(fā)設(shè)計出具有姿態(tài)數(shù)據(jù)采集、姿態(tài)數(shù)據(jù)處理、以及姿態(tài)實時監(jiān)測功能的裝置。姿態(tài)監(jiān)測裝置中用MEMS電子陀螺儀和地磁計獲得姿態(tài)的采樣數(shù)據(jù),采樣數(shù)據(jù)通過TMS320F28335解算為航偏角、俯仰、橫滾三姿態(tài)數(shù)據(jù),PC作為顯示終端監(jiān)控姿態(tài)實時變化,裝置能夠滿足氣球吊籃對姿態(tài)監(jiān)控和測量的要求。
科學氣球在大氣物理、空間科學、遙感等領(lǐng)域具有突出的應(yīng)用優(yōu)點。如今科學氣球作為高空探測的平臺,因為其成本便宜,施放簡單,易于維護的優(yōu)點,一直作為高空探測的重要手段??茖W氣球因為體積大會在高空飛行過程中受到紊亂氣流影響,致使表面風壓不同造成隨機緩慢的旋轉(zhuǎn)現(xiàn)象,這也將導(dǎo)致掛載吊籃姿態(tài)的跟隨變化。然而在一些領(lǐng)域需要一種可控的探測平臺,這就需要吊籃的姿態(tài)可以控制??茖W氣球在飛行過程中吊籃處于視野觀測范圍外,需要設(shè)計一種搭載在科學氣球吊籃內(nèi)部并且能夠?qū)崟r測量吊籃飛行狀態(tài),將實時狀態(tài)反饋給姿態(tài)控制系統(tǒng),從而實現(xiàn)吊籃的姿態(tài)控制,作為科學氣球吊籃姿態(tài)控制的重要組成部分。文中提出了一種姿態(tài)測量系統(tǒng)設(shè)計和實現(xiàn),文中描述了硬件設(shè)計、軟件程序設(shè)計和最后測試結(jié)果。
1 系統(tǒng)結(jié)構(gòu)及工作原理
科學氣球吊籃姿態(tài)測量系統(tǒng)分為掛載部分和地基部分,除PC終端將置于地面進行實時監(jiān)測,其余模塊均屬于掛載部分,這些模塊將跟隨科學氣球吊籃升空,在科學氣球吊籃穩(wěn)定飛行過程中實現(xiàn)實時測量、運算以及回傳數(shù)據(jù)到地面設(shè)備。
掛載部分包括TMS320F28335平臺、電子羅盤、地磁傳感器、電源、無線數(shù)傳模塊。主要系統(tǒng)結(jié)構(gòu)如圖1所示,數(shù)據(jù)處理核心為TMS320F28 335的數(shù)字信號控制器(DSCs),外圍包括傳感器調(diào)理板,通信模塊,電源模塊,外部擴展模塊。
設(shè)計中利用底板作為外設(shè)及傳感器模塊連接硬件接口,其中PC端采用RS232連接在底板,單片機采用TTL電平串口連接底板,HM5883和MPU 6050采用I2C總線連接到單片機上。系統(tǒng)穩(wěn)定工作時,HM5883以及MPU6050數(shù)據(jù)通過單片機發(fā)送給TMS320F28335,姿態(tài)數(shù)據(jù)由TMS320F28335發(fā)送給PC終端。
2 系統(tǒng)的硬件設(shè)計
TMS320F28335為TI公司最新DSPC28X系列32位浮點DSCs(Digital Signal Controllers),具有150 MHz的時鐘工作頻率,其芯片內(nèi)核供電為1.9 V,I/O口供電問3.3 V,芯片上集成256 kx16 bit Flash以及34 kx16 bit SARAM,并且具有3個SCI口(SCIA、SCIB、SCIC),芯片高性能能夠滿足系統(tǒng)數(shù)據(jù)收發(fā)和姿態(tài)解算的要求。單片機選用STM32芯片,這種芯片是基于ARM Cortex—M3內(nèi)核,具有72 MHz工作頻率,64 kB閃存存儲器。
姿態(tài)傳感器選用應(yīng)美盛公司的MPU6050芯片,這種微機電姿態(tài)傳感器為全球首款整合了三軸陀螺儀和三軸加速度運動處理器件,具有131 LSBs/°/sec靈敏度,其角度測量范圍在±250~±2000°/s。HMC5883(HMC5883L)是霍尼韋爾公司的高分辨率的磁阻傳感器,具有霍尼韋爾公司最先進的(AMP)技術(shù),可以有效的使得羅盤精度控制在1°左右。這里MPU6050和HMC5883均為數(shù)字型傳感器,芯片分別內(nèi)嵌16 bit和12 bit ADC模塊,量化數(shù)據(jù)通過I2C總線傳出。
圖2中為MPU6050電路設(shè)計框圖,其擁有2條I2C通道,并且通過內(nèi)部串行通道選擇器相連接,圖中的連接方式可以組成三軸陀螺儀、三軸加速度和三軸地磁計組成的9軸姿態(tài)傳感器件;MPU6050的FSYNC和INT連接到STM32上。
電路設(shè)計如圖3中MPU6050供電電壓范圍為2.375~3.46 V,設(shè)計中采用LM1117-3.3 V供電芯片設(shè)計,MPU6050有VDD供電電源端以及VLOGIC邏輯電源端口,其供電要求VDD超前VLOGIC>0 ms,且VDD上升沿滿足<100 ms,VLOGIC上升沿<3 ms,VLOGIC連接線上串聯(lián)10 mH電感可滿足要求,SDA與SCL分別為I2C總線的是數(shù)據(jù)線和控制線連接到STM32單片機的PB6、PB7,HMC5338地磁極SDA、和SCL分別連接到MPU6050的AUX_SDA和AUX_SCL端即可組成圖1中的9軸傳感器。
圖4為STM32最小系統(tǒng)電路,利用STM32單片機作為量化數(shù)據(jù)的預(yù)采集處理并與DSCs進行應(yīng)答式數(shù)據(jù)傳送,這種方式比連續(xù)異步傳輸方式節(jié)約系統(tǒng)資源,同時減小DSCs的片上資源消耗和程序復(fù)雜程度。設(shè)計中考慮STM32獲取數(shù)據(jù)準備完成信號由HMC_INT管腳產(chǎn)生,PA5口連接到HMC 5883傳感器15管腳,同時串口通道與DSCs的SCITXDB與SCIRXDB連接,用于采樣數(shù)據(jù)交換。
3 系統(tǒng)的軟件設(shè)計
系統(tǒng)軟件設(shè)計包括STM32片上程序、DSCs片上程序和上位機顯示程序。首先由STM32依次初始化MPU6050和HMC5883,MPU6050初始化包括時鐘、陀螺儀量程、加速度量程、I2C與HMC5883連通方式和中斷信號產(chǎn)生條件。HMC5883初始化包括設(shè)置HMC5883工作模式、更新速率設(shè)置和傳感器FIFO初始化。
圖5為信號處理流程圖,模擬信號通過AD采樣獲得量化數(shù)據(jù),對量化數(shù)據(jù)進行初級平滑濾波后獲得采樣數(shù)據(jù),采樣數(shù)據(jù)通過速率115200串口發(fā)送給TMS320F28335,傳輸過程有0.02%的誤差率,當TMS320F28335串口14級緩沖FIFO數(shù)據(jù)完全載入后會向內(nèi)核產(chǎn)生SICBRXINT中斷信號,內(nèi)核響應(yīng)中斷并調(diào)用中斷服務(wù)子程序,將FIFO緩沖寄存器中的數(shù)據(jù)導(dǎo)入到緩存數(shù)組中,然后調(diào)用四元數(shù)解算子函數(shù)對采樣數(shù)據(jù)進行解算獲取姿態(tài)傳感的航偏角、俯仰、橫滾等姿態(tài)數(shù)據(jù)。最后將姿態(tài)數(shù)據(jù)通過串口發(fā)送給PC進行實時更新和顯示。
圖6為DSCs程序設(shè)計流程圖。程序采主體采用中斷結(jié)構(gòu)設(shè)計,將時間軸分成若干片段,使DSCs時分多用,DSCs程序中主要包含:
在Time0中斷服務(wù)子程序中,用CpuTimer0.InterruptCount作為時間片選標志位,通過對其去余操作,使DSCs在不同時間處理不同任務(wù),這在時間邏輯性便于理解和掌握,使用switch—case語句調(diào)用過程函數(shù);CpuTimer0.InterruptCount%5=1時,開啟串口接收中斷開啟,數(shù)據(jù)采用14級FIFO設(shè)置,當接收BUFF達到14級后,SCI模塊將產(chǎn)生FIFO中斷信號通過PIE模塊傳送給CPU,CPU保存寄存器值以及當前程序指針入棧,響應(yīng)中斷服務(wù)子程序更新采樣數(shù)據(jù)緩存數(shù)組;同樣CpuTimer0.InterruptCount%5=2時,調(diào)用COT_IMU()(姿態(tài)解算子程序)獲取測量航偏角、橫滾角,俯仰角姿態(tài)數(shù)據(jù):CpuTimer0.InterruptCount%5=4時,DSCs將會調(diào)用UPto_PC_SCIC()函數(shù),把姿態(tài)數(shù)據(jù)編碼后發(fā)送給上位機,由上位機軟件對數(shù)據(jù)進行解碼和動態(tài)顯示。
圖7為PC上位機程序設(shè)計流程圖,程序采用以VB+Direct3D顯示技術(shù),程序設(shè)計中為了讓下位機和上位機通信良好,上位機串口采用定時查詢方式。當時間達到條件后,系統(tǒng)將對接收數(shù)據(jù)進行解碼了校驗,將新的姿態(tài)數(shù)據(jù)賦予D3D對象,等待刷新時重繪圖像。
上代碼主要描述顯示刷新部分,通過調(diào)用timer控件更新視角速度可以方便變得調(diào)整顯示效果,設(shè)置其刷新時間通過改變Timer.Interval屬性中的值,縮短刷新時間會使得顯示效果更佳流暢,通過上位機程序?qū)⒉蓸拥淖藨B(tài)數(shù)據(jù)記錄下來以便分析。
4 結(jié)果
經(jīng)過測試和試驗,本文中所述姿態(tài)測量系統(tǒng)工作穩(wěn)定,并且能夠獲取實時姿態(tài)信息,其姿態(tài)解算速率控制在400 Hz/s,顯示刷新速率控制在>60幀,串口速率設(shè)置在115 200 bps,傳輸誤碼率在0.02%,下位機上傳數(shù)據(jù)幀數(shù)在20幀/s,姿態(tài)監(jiān)控范圍:俯仰角-90°至90°,航偏角-180至180°,橫滾角-180°至180°,姿態(tài)測量準確有效。
圖9中對姿態(tài)測量系統(tǒng)做了短時間測試獲得的監(jiān)測數(shù)據(jù)。其中縱向坐標為角度信息,橫向坐標為時間信息,(上)(中)(下)三幅子圖為單姿態(tài)測試,圖中可以看出,在14s左右的測量過程中,姿態(tài)傳感器的響應(yīng)速度非常靈敏,通過對(下)圖中180°到-180°跳變分析,系統(tǒng)響應(yīng)速度在0.05s左右。由此系統(tǒng)在運行過程中姿態(tài)數(shù)據(jù)更新速度達到20fps,完全能夠滿足吊籃緩慢運動下對完成姿態(tài)測量的要求。
5 結(jié)束語
科學氣球吊籃在空中的姿態(tài)直接影響探測儀器工作,獲取科學氣球吊籃的姿態(tài)信息有助于對吊籃姿態(tài)的控制,也是作為姿態(tài)控制反饋中的重要環(huán)節(jié),姿態(tài)測量系統(tǒng)的精度直接影響到姿態(tài)控制性能和精度。本文描述的姿態(tài)檢測系統(tǒng)硬件設(shè)計和軟件設(shè)計,利用TMS320F28335的優(yōu)越性能,選用MPU6050和HMC5883測量元件實現(xiàn)系統(tǒng)硬件和軟件設(shè)計,采用D3D技術(shù)實現(xiàn)姿態(tài)實時監(jiān)控并且達到預(yù)期效果。