《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于ARM的波浪浮標設計
基于ARM的波浪浮標設計
2014年電子技術(shù)應用第9期
李俊文1,劉惠康1,張孝春2
1.武漢科技大學 信息科學與工程學院,湖北 武漢430081; 2.武漢大學 土木建筑工程學院,湖北 武漢430072
摘要: 針對波浪的頻率提取,提出了基于ARM與Linux系統(tǒng)的波浪浮標。以32位SP5V210作為核心處理器,擴展了加速度傳感器模塊、GPS定位及GPRS網(wǎng)絡傳輸模塊。借助希爾伯特算法對采集到的加速度進行分解和計算,推算出波浪的瞬時頻率;對角加速度進行卡爾曼濾波之后將其積分,獲取浮體姿態(tài)角。最終將所需要的數(shù)據(jù)通過GPRS網(wǎng)絡發(fā)送回監(jiān)控中心。試驗證明系統(tǒng)能夠有效地實現(xiàn)瞬時頻率的計算,保證各數(shù)據(jù)采集與發(fā)送的準確性與可靠性。
The design of wave buoy based on ARM
Li Junwen1,Liu Huikang1,Zhang Xiaochun2
1.School of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan 430081,China;2.School of Civil and Architectural Engineering,Wuhan University,Wuhan 430072,China
Abstract: For the extraction of wave frequency, a wave buoy that based on the ARM and Linux system is introduced. This system used SP5V210 which is a 32-bit controller as its control unit, expanding the acceleration sensor module, GPS and GPRS network transmission module.The acceleration is decomposed and calculated with the Hilbert algorithm,calculating the instantaneous frequency of wave. In order to acquire the attitude angle, we have to compute the integral of the angular acceleration which is through the Kalman filter. Finally, the necessary data is sent back to the monitoring center through the GPRS network. It is proved by practice that the system can effectively achieve the instantaneous frequency and ensure the stability and reliability of the data acquisition and transfer.
Key words : Hilbert algorithm;instantaneous frequency;acceleration;Kalman filter

    隨著全球經(jīng)濟的飛速發(fā)展,對能源的需求逐日增加,以往以煤、石油等非再生的古老能源已經(jīng)不能滿足現(xiàn)在社會對能源的需求。我國有著廣闊的海岸線,對海浪能的開發(fā)利用成為目前開發(fā)新能源的重要方式。

    在眾多海浪發(fā)電裝置設備中均存在著對海浪能量的轉(zhuǎn)換效率低下的問題。針對效率轉(zhuǎn)換問題,蔡元奇教授提出了利用實時調(diào)節(jié)海浪發(fā)電裝置中擺子的固有自振頻率與海浪頻率相同的方法,進而與海浪產(chǎn)生諧振,從而減少了發(fā)電裝置的能量損耗,提高轉(zhuǎn)換效率[1-2]。因此,需要實時掌握海浪的頻率參數(shù),要保證得到的海浪頻率的準確可靠。

    本文設計了多功能海浪識別儀,以Cortex-A8作為主處理器,基于Linux操作系統(tǒng),有很強的可移植性與擴展性。通過加速度傳感器采集浮標的加速度,對此信號采取EMD處理,并對分解之后的IMF進行閾值篩選,獲得有效分量,然后對該分量進行希爾伯特黃變換,從而準確計算出海浪的實時頻率[3]。通過陀螺儀、電子羅盤、GPS可以精確定位波浪識別儀的準確方位以及姿態(tài)。通信網(wǎng)絡采用GPRS網(wǎng)絡,實時將采集到的數(shù)據(jù)傳輸?shù)桨哆叡O(jiān)控中心。

1 系統(tǒng)總體結(jié)構(gòu)及功能

    海浪數(shù)據(jù)采集傳輸系統(tǒng)主要由數(shù)據(jù)采集、數(shù)據(jù)傳輸及數(shù)據(jù)處理三部分[4]組成,系統(tǒng)框圖如圖1所示。數(shù)據(jù)采集部分由加速度傳感器、陀螺儀、電子羅盤及GPS組成,主要作用是采集浮體的線加速度、角加速度、方位角以及GPS坐標。數(shù)據(jù)傳輸部分由GSM/GPRS收發(fā)模塊組成,能夠通過網(wǎng)絡使手機短信實時接收現(xiàn)場數(shù)據(jù)。數(shù)據(jù)處理部分由S5PV210處理器完成數(shù)據(jù)篩選、算法及處理。

qrs5-t1.gif

2 系統(tǒng)硬件設計

2.1 S5PV210處理器

    S5PV210是三星公司推出的高性能應用處理器,采用了Cortex-A8內(nèi)核,運行主頻可達1 GHz,可搭載Linux系統(tǒng),帶有2路SPI、4路I2C與4路UART接口。

2.2 加速度傳感器

    選用基于VTI的3D-MEMS電容傳感技術(shù)的高性能低功耗的SCA3060三軸加速度傳感器,±2 g的測量量程、精度可達1 mg,完全滿足設備測量環(huán)境的客觀要求。將采集到的三個軸方向上的加速度數(shù)據(jù)通過SPI總線傳輸給處理器。電路圖如圖2所示。

qrs5-t2.gif

2.3 陀螺儀模塊

    選用L3GD20三軸陀螺儀芯片。它提供了較寬的測量量程,用戶有足夠的選擇空間。為了滿足測量所需,同時保證測量精度,該系統(tǒng)中選用±500°/s量程,測量精度可達±0.015°/s。該芯片采用I2C總線方式與處理器進行數(shù)據(jù)傳輸。

2.4 GPS模塊

    采用Gstar GS-87模塊,它是一個高效能、低功耗的智能型衛(wèi)星接收模塊。其工作電壓為3.3 V,定位精度可達10 m以內(nèi),通過串口與處理器進行通訊,通過GPRS網(wǎng)絡將所需數(shù)據(jù)傳回監(jiān)控中心。

2.5 GSM/GPRS模塊

    選用中興的MF210模塊,本設計中利用SIM卡通過聯(lián)通網(wǎng)絡進行實時數(shù)據(jù)傳輸,外圍電路圖如圖3所示。

qrs5-t3.gif

2.6 電子羅盤

    選用SCH9005集成電路模塊,該芯片集成了高精度氣壓傳感器和高精度磁傳感器,且具有溫度測量、氣壓測量、指南針方位測量功能。氣壓測量分辨率為±1 hPa,測量范圍是300 hPa~1 000 hPa,羅盤精度為±2°,分辨率為1°,以地磁的正北角為0°,模塊采用I2C接口將數(shù)據(jù)傳送給處理器。

3 系統(tǒng)軟件設計

3.1 數(shù)據(jù)采集部分

    Linux操作系統(tǒng)中,上層用戶空間通過調(diào)用內(nèi)核空間的系統(tǒng)接口函數(shù)來完成對底層硬件的操作。因而要完成芯片的功能,首先需要編寫底層的驅(qū)動程序,其次是上層的應用程序。本設計中所選芯片運用到了I2C、SPI、UART 3種通信協(xié)議方式。雖然Linux系統(tǒng)內(nèi)核一般自帶有3種總線的驅(qū)動程序,但是其總線子系統(tǒng)框架復雜,不易移植,且編寫應用程序時不方便,因而考慮重新編寫基于對GPIO端口操作的字符設備驅(qū)動來完成對傳感芯片的數(shù)據(jù)操作[5]。

    S5PV210芯片帶有3路I2C、兩路SPI接口和4路UART接口。電子羅盤和陀螺儀選用I2C方式通信,在I2C字符驅(qū)動程序中,直接通過地址映射對寄存器進行操作,配置寄存器I2CCON、I2CSTAT,設置其工作方式為主機模式,使能I2C中斷,設定其工作頻率為400 kHz。

    GPS和GPRS的串口傳輸選用“dev/ttyS0”和“dev/ttyS1”,在上層用戶空間中直接編寫應用程序,設置串口波特率為9 600 bit/s,8 bit數(shù)據(jù)傳輸,無奇偶校驗位。程序讀取GPS返回的GPRMC(推薦定位信息),該信息包含了UTC時間,定位狀態(tài),經(jīng)緯度,地面速率以及航向角。

3.2 數(shù)據(jù)傳輸部分

    系統(tǒng)采用GPRS網(wǎng)絡傳輸方式實現(xiàn)現(xiàn)場和岸邊通信。

    對于GPRS網(wǎng)絡傳輸時,處理器將經(jīng)過處理后得到的海浪頻率、儀器的傾斜角、GPS地理方位等數(shù)據(jù)發(fā)送給GPRS網(wǎng)絡,GPRS網(wǎng)絡提供通信鏈路,將這些信息發(fā)送給固定IP地址,在監(jiān)控中心的上位機程序需要進行socket網(wǎng)絡編程,通過靜態(tài)IP地址看到數(shù)據(jù)。

    在ARM發(fā)送端,Linux系統(tǒng)啟動之后,首先要對串口進行初始化,配置串口參數(shù),其次,對GSM模塊設置AT指令,主要用到的指令有AT+CGDCONT=1,“IP”,“CMNET”接入網(wǎng)絡;AT+TCPSERV設置上位機IP地址,AT+TCPPORT配置上位機監(jiān)聽端口設置。然后,通過AT+CONNETCIONSTART請求建立網(wǎng)絡連接,再通過AT+OTCP登陸網(wǎng)絡,數(shù)據(jù)傳輸時,將數(shù)據(jù)打包封裝直接發(fā)送到GPRS網(wǎng)絡,流程如圖4所示。

qrs5-t4.gif

3.3 數(shù)據(jù)處理

3.3.1 海浪頻率的提取

    以所測得的三軸加速度為數(shù)據(jù)分析對象推算出海浪頻率,由于海浪波形具有隨機性,混亂性,而且在測量加速度信號時,采集系統(tǒng)的測量誤差、外界環(huán)境的干擾或其他因素的影響,使得測量到的加速度信號包含大量的噪聲。這些噪聲理論上可以使用傅里葉變換和小波變換進行分析處理,可是在實測數(shù)據(jù)中,發(fā)現(xiàn)所測信號為非平穩(wěn)非線性信號,而傅里葉變化并只能處理平穩(wěn)信號,雖然小波變換在理論上能夠處理非平穩(wěn)非線性信號,但是在實際實踐過程中,發(fā)現(xiàn)處理效果并不理想,所以引入了希爾伯特黃變換算法。

    該算法可以簡單的表示為兩個步驟,首先需對原始信號進行EMD分解。EMD分解主要目的是將原始信號分解為多個IMF分量。IMF具有以下兩個特點:其極點數(shù)個數(shù)和零點數(shù)個數(shù)最多相差一個;其極大值點確定的包絡線與極小值點確定的包絡線的和必須為零。

   (1)將信號x(t)的極大值與極小值形成的包絡線取平均得到均值曲線l(t),之后用原始信號x(t)減去均值曲線l(t)得到l1(t),判斷l(xiāng)1(t)是否滿足IMF分量的兩個條件,若滿足則得到第一個IMF,若不滿足,則將l1(t)視為新的原始信號繼續(xù)重復以上步驟。最后得到n個IMF與一個殘余分量r。

    qrs5-gs1.gif

    在n個IMF中,為了獲取原始信號中的主要成分信號分量,將分量信號與原始信號的相關(guān)系數(shù)設為篩選參考量,當相關(guān)系數(shù)大于0.7時,可確定該IMF為原始信號主要成分,篩選閾值設為0.7。

    (2)進行Hilbert變換。對于信號x(t),Hilbert變換定義為:

    qrs5-gs2.gif

    對每一個IMF進行Hilbert變換,從而得到了信號的瞬時頻率。借助Hilbert變換,可得到x(t)的解析信號:

qrs5-gs3.gif

3.3.2 浮體傾角的提取

    L3GD20陀螺儀可以測得三個方向上的角加速度,對各方向上的角加速度積分即可得到該方向上的傾角度數(shù)。由于陀螺儀在輸出時,會存在數(shù)據(jù)漂移,如果直接對數(shù)據(jù)積分會造成偏移誤差越來越大,最后導致數(shù)據(jù)無法使用。因此,用卡爾曼濾波對數(shù)據(jù)進行處理[7],卡爾曼濾波實質(zhì)上是依據(jù)實測數(shù)據(jù)對隨機量進行最小二乘估計,可以對物體的實時運行狀態(tài)進行估計和預測。

3.4 軟件整體流程

    海洋波浪作為觀測對象,其頻率很低不會超過5 Hz,根據(jù)采樣定理,將三軸加速度傳感器的采樣頻率設定為10 Hz。采樣點數(shù)為2 048,采樣時間為3.5 min。將陀螺儀采樣頻率設為20 Hz。軟件整體流程如圖5所示。

qrs5-t5.gif

4 實驗條件及結(jié)果

    為了較為準確地測試系統(tǒng)采集數(shù)據(jù)的穩(wěn)定性及準確性,將測試地點選為湖水面積為33 km2的東湖內(nèi),湖面的波浪相比于海浪,沒有海風的作用、氣壓變化、地形因素等客觀條件影響,其波浪形成條件雖然不如海浪嚴苛和復雜,且波浪振幅和頻率均比海浪小。但是,兩者之間具有波浪的共性,均是由風產(chǎn)生的水面波動,均可視作由無限多個振幅不同、頻率不同、方向不同、相位雜亂的波組成,因此可以作為測試場地達到我們測量波浪頻率的目的。

    試驗現(xiàn)場平均波高為3~5 cm,頻率為1 Hz左右,但是由于試驗期間受到?jīng)_鋒舟的影響,致使波高有時達到10 cm左右,頻率降低到0.5 Hz左右。

    利用MATLAB對采集到的角度與線加速度進行分析,其角度曲線圖如6所示,經(jīng)過卡爾曼濾波之后的角加速度進行積分,不會再產(chǎn)生多大的漂移與誤差,效果良好,其波形近似正弦曲線,間接反映出良好的波浪震蕩特性。角度的大小可近似反應波浪振幅的強度,當角度震蕩越大,波浪振幅強度越強。

qrs5-t6.gif

    由希爾伯特算法計算得到的頻率數(shù)據(jù)如表1所示,算法處理時間約為10 s,能夠很迅速地處理數(shù)據(jù),分析得出波浪頻率,保證實時性。計算所得頻率與實際頻率相符,經(jīng)多次驗證,該算法能夠很好地從非平穩(wěn)非線性的隨機信號中,獲取信號主要成分,能夠保證數(shù)據(jù)輸出的可靠性。

qrs5-b1.gif

    本文借助ARM及Linux開發(fā)平臺完成了對波浪頻率、溫度及氣壓的測量,實現(xiàn)了浮標的姿態(tài)及定位,通過GPRS網(wǎng)絡實時地將數(shù)據(jù)反饋到監(jiān)控中心,達到了遠程海浪數(shù)據(jù)監(jiān)測的目的。

    該設計具有良好的實時性、可靠性及準確性。其創(chuàng)新點在于將希爾伯特算法運用于加速度信號的分析當中,并且通過希爾伯特變換計算出了波浪的瞬時頻率,同時以Linux系統(tǒng)為平臺,具有很強的擴展性,方便波浪浮標采集系統(tǒng)的二次開發(fā)。

參考文獻

[1] 蔡元奇.共振波力發(fā)電裝置:中國,CN201110233308.7[P].2011-08-16.

[2] 蔡元奇.共振波力發(fā)電裝置:中國,CN201120295878.4[P].2011-08-16.

[3] 文圣常.海浪理論與計算原理[M],北京:科學出版社,1984.

[4] 劉國棟.波浪浮標數(shù)據(jù)處理方法研究[D].天津:天津大學,2011.

[5] 徐海林.基于ARM-Linux的IIC串行通信[J].微處理器與可編程控制器,2013(20):85-86.

[6] 賈瑋.基于DSP的EMD算法實現(xiàn)[D].太原:中北大學,2009.

[7] 張杰.基于MEMS陀螺儀和加速度計的動態(tài)傾角傳感器[J].2012(9):141-142.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。