景號(hào)然 , 王 勇 , 孫寶來(lái)
(1.成都信息工程學(xué)院 電 子工程學(xué)院,四川 成 都 610225;2.中國(guó)科學(xué)院 大 氣物理研究所LAGEO實(shí)驗(yàn)室,北京 1 00029)
科學(xué)氣球在大氣物理、空間科學(xué)、遙感等領(lǐng)域具有突出的應(yīng)用優(yōu)點(diǎn)[1]。如今科學(xué)氣球作為高空探測(cè)的平臺(tái),因?yàn)槠涑杀颈阋?,施放?jiǎn)單,易于維護(hù)的優(yōu)點(diǎn),一直作為高空探測(cè)的重要手段[2]。科學(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ò)程中吊籃處于視野觀測(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)控制的重要組成部分[3-5]。文中提出了一種姿態(tài)測(cè)量系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn),文中描述了硬件設(shè)計(jì)、軟件程序設(shè)計(jì)和最后測(cè)試結(jié)果。
科學(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)、電子羅盤、地磁傳感器、電源、無(wú)線數(shù)傳模塊。主要系統(tǒng)結(jié)構(gòu)如圖1所示,數(shù)據(jù)處理核心為TMS320F28335的數(shù)字信號(hào)控制器(DSCs),外圍包括傳感器調(diào)理板,通信模塊,電源模塊,外部擴(kuò)展模塊。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure diagram of the power control unit test system
設(shè)計(jì)中利用底板作為外設(shè)及傳感器模塊連接硬件接口,其中PC端采用RS232連接在底板,單片機(jī)采用TTL電平串口連接底板,HM5883和MPU6050采用I2C總線連接到單片機(jī)上。系統(tǒng)穩(wěn)定工作時(shí),HM5883以及MPU6050數(shù)據(jù)通過(guò)單片機(jī)發(fā)送給TMS320F28335,姿態(tài)數(shù)據(jù)由TMS320F28335發(fā)送給PC終端。
TMS320F28335為TI公司最新DSPC28X系列32位浮點(diǎn)DSCs(Digital Signal Controllers),具有 150 MHz的時(shí)鐘工作頻率,其芯片內(nèi)核供電為1.9 V,I/O口供電問(wèn)3.3 V,芯片上集成256 k×16 bit Flash以及34 k×16 bit SARAM,并且具有3個(gè) SCI口(SCIA、SCIB、SCIC),芯片高性能能夠滿足系統(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)處理器件,具有131LSBs/°/sec靈敏度,其角度測(cè)量范圍在±250-±2000°/s。 HMC5883(HMC5883L)是霍尼韋爾公司的高分辨率的磁阻傳感器,具有霍尼韋爾公司最先進(jìn)的(AMP)技術(shù),可以有效的使得羅盤精度控制在1°左右。這里MPU6050和HMC5883均為數(shù)字型傳感器,芯片分別內(nèi)嵌16 bit和12 bit ADC模塊,量化數(shù)據(jù)通過(guò)I2C總線傳出。
圖2中為MPU6050電路設(shè)計(jì)框圖,其擁有2條I2C通道,并且通過(guò)內(nèi)部串行通道選擇器相連接,圖中的連接方式可以組成三軸陀螺儀、三軸加速度和三軸地磁計(jì)組成的9軸姿態(tài)傳感器件;MPU6050的FSYNC和INT連接到STM32上。
圖3 HMC5883及MPU6050應(yīng)用電路Fig.3 Application circuit design of HMV5883 and MPU6050
電路設(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上升沿滿足<100 ms,VLOGIC上升沿<3 ms,VLOGIC連接線上串聯(lián)10 mH電感可滿足要求,SDA與SCL分別為I2C總線的是數(shù)據(jù)線和控制線連接到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口連接到HMC5883傳感器15管腳,同時(shí)串口通道與DSCs的SCITXDB與SCIRXDB連接,用于采樣數(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程序中主要包含:
圖4 STM32應(yīng)用電路設(shè)計(jì)Fig.4 Application Circuit Design of STM32
圖5 姿態(tài)數(shù)據(jù)處理框圖Fig.5 Structure diagram of attitude measurement data
圖6 DSCs程序設(shè)計(jì)框圖Fig.6 Schematic diagram of the 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 顯示程序設(shè)計(jì)框圖Fig.7 Schematic diagram of display program
圖7為PC上位機(jī)程序設(shè)計(jì)流程圖,程序采用以VB+Direct3D顯示技術(shù),程序設(shè)計(jì)中為了讓下位機(jī)和上位機(jī)通信良好,上位機(jī)串口采用定時(shí)查詢方式。當(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)以便分析。
經(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,完全能夠滿足吊籃緩慢運(yùn)動(dòng)下對(duì)完成姿態(tài)測(cè)量的要求。
科學(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ù)期效果。
[1]李惕碚,顧逸東.我國(guó)的高空科學(xué)氣球與高能天文觀測(cè)[J].自然雜志.1984,7(3):163-169.
LI Ti-bei,GU Yi-dong.High altitude balloon and high-energy astronomical observation in China.Nature Journal[J].1984,7(3):163-169.
[2]崔爾杰.近空間飛行器研究發(fā)展現(xiàn)狀及關(guān)鍵技術(shù)問(wèn)題[J].力學(xué)進(jìn)展,2009,37(6):658-673.
CUI Er-jie.Near space vehicle research and development status and key technology issues[J].Advance in Mechanics,2009,37(6):658-673.
[3]王鴻輝,袁朝輝,何長(zhǎng)安.平流層氣球吊籃及姿態(tài)控制系統(tǒng)設(shè)計(jì)[A].計(jì)算機(jī)工程與應(yīng)用,2005,26(3):224-229.
WANG Hong-hui,YUAN Zhao-hui,HE Chang-an.The design of stratospheric balloon-borne gondola and motion control system[A].Computer Engineering and Application,2005,26(3):224-229.
[4]孫兆偉,楊旭,楊滌.小衛(wèi)星磁力矩器與反作用飛輪聯(lián)合控制算法研究[J].控制理論與應(yīng)用,2002,19(2):174-177.
SUN Zhao-wei,YANG Xu,YANG Di.The combined control algorithm for magnetorquer and reaction wheel of small satellite[J].Control Theory and Applications,2002,19(2):174-177.
[5]李榮冰,劉建業(yè),曾慶華,等.基于MEMS技術(shù)的微型慣性導(dǎo)航系統(tǒng)的發(fā)展現(xiàn)狀[J].中國(guó)慣性學(xué)報(bào),2004,12(6):88-95.
LI Rong-bing,LIU Jian-ye,ZENG Qing-hua,et al.Evolution of MEMS based micro inertial navigation systems[J].Journal of Chinese Inertial Technology,2004,12(6):88-95.
[6]劉桂林,張志文.基于DSP的MEMS陀螺儀信號(hào)處理平臺(tái)的設(shè)計(jì)[J.現(xiàn)代電子技術(shù),2009,32(9):127-129.
LIU Gui-lin,ZHANG Zhi-wen.Design of signal processing platform for MEMS gyroscope based on DSP [J].Modern Electronics Technique,2009,32(9):127-129.
[7]方憶湘,曹慧琴,黃鳳山.在VB中使用DrirectX-3D處理三維圖像[J].河北科技大學(xué)學(xué)報(bào),2002,23(3):74-77.
FANG Yi-xiang,CAO Hui-qin,HUANG Feng-shan.Use DrirectX-3D Technology Processing Three-dimensional Images in VB.Journal of Hebei University of Science and Technology,2002,23(3):74-77.
[8]范逸之,陳立元.Visual Basic與RS-232串行通訊控制[M].北京:中國(guó)青年出版社,2002.
[9]任潤(rùn)柏,周荔丹,姚剛.TMS320F28×源碼解讀[M].北京:電子工業(yè)出版社,2010.
圖8 監(jiān)測(cè)界面Fig.8 Interface chart of the system
圖9 監(jiān)測(cè)數(shù)據(jù)Fig.9 Data recording