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