隨著全球經濟的飛速發展,對能源的需求逐日增加,以往以煤、石油等非再生的古老能源已經不能滿足現在社會對能源的需求。我國有著廣闊的海岸線,對海浪能的開發利用成為目前開發新能源的重要方式。
在眾多海浪發電裝置設備中均存在著對海浪能量的轉換效率低下的問題。針對效率轉換問題,蔡元奇教授提出了利用實時調節海浪發電裝置中擺子的固有自振頻率與海浪頻率相同的方法,進而與海浪產生諧振,從而減少了發電裝置的能量損耗,提高轉換效率[1-2]。因此,需要實時掌握海浪的頻率參數,要保證得到的海浪頻率的準確可靠。
本文設計了多功能海浪識別儀,以Cortex-A8作為主處理器,基于Linux操作系統,有很強的可移植性與擴展性。通過加速度傳感器采集浮標的加速度,對此信號采取EMD處理,并對分解之后的IMF進行閾值篩選,獲得有效分量,然后對該分量進行希爾伯特黃變換,從而準確計算出海浪的實時頻率[3]。通過陀螺儀、電子羅盤、GPS可以精確定位波浪識別儀的準確方位以及姿態。通信網絡采用GPRS網絡,實時將采集到的數據傳輸到岸邊監控中心。
1 系統總體結構及功能
海浪數據采集傳輸系統主要由數據采集、數據傳輸及數據處理三部分[4]組成,系統框圖如圖1所示。數據采集部分由加速度傳感器、陀螺儀、電子羅盤及GPS組成,主要作用是采集浮體的線加速度、角加速度、方位角以及GPS坐標。數據傳輸部分由GSM/GPRS收發模塊組成,能夠通過網絡使手機短信實時接收現場數據。數據處理部分由S5PV210處理器完成數據篩選、算法及處理。
2 系統硬件設計
2.1 S5PV210處理器
S5PV210是三星公司推出的高性能應用處理器,采用了Cortex-A8內核,運行主頻可達1 GHz,可搭載Linux系統,帶有2路SPI、4路I2C與4路UART接口。
2.2 加速度傳感器
選用基于VTI的3D-MEMS電容傳感技術的高性能低功耗的SCA3060三軸加速度傳感器,±2 g的測量量程、精度可達1 mg,完全滿足設備測量環境的客觀要求。將采集到的三個軸方向上的加速度數據通過SPI總線傳輸給處理器。電路圖如圖2所示。
2.3 陀螺儀模塊
選用L3GD20三軸陀螺儀芯片。它提供了較寬的測量量程,用戶有足夠的選擇空間。為了滿足測量所需,同時保證測量精度,該系統中選用±500°/s量程,測量精度可達±0.015°/s。該芯片采用I2C總線方式與處理器進行數據傳輸。
2.4 GPS模塊
采用Gstar GS-87模塊,它是一個高效能、低功耗的智能型衛星接收模塊。其工作電壓為3.3 V,定位精度可達10 m以內,通過串口與處理器進行通訊,通過GPRS網絡將所需數據傳回監控中心。
2.5 GSM/GPRS模塊
選用中興的MF210模塊,本設計中利用SIM卡通過聯通網絡進行實時數據傳輸,外圍電路圖如圖3所示。
2.6 電子羅盤
選用SCH9005集成電路模塊,該芯片集成了高精度氣壓傳感器和高精度磁傳感器,且具有溫度測量、氣壓測量、指南針方位測量功能。氣壓測量分辨率為±1 hPa,測量范圍是300 hPa~1 000 hPa,羅盤精度為±2°,分辨率為1°,以地磁的正北角為0°,模塊采用I2C接口將數據傳送給處理器。
3 系統軟件設計
3.1 數據采集部分
Linux操作系統中,上層用戶空間通過調用內核空間的系統接口函數來完成對底層硬件的操作。因而要完成芯片的功能,首先需要編寫底層的驅動程序,其次是上層的應用程序。本設計中所選芯片運用到了I2C、SPI、UART 3種通信協議方式。雖然Linux系統內核一般自帶有3種總線的驅動程序,但是其總線子系統框架復雜,不易移植,且編寫應用程序時不方便,因而考慮重新編寫基于對GPIO端口操作的字符設備驅動來完成對傳感芯片的數據操作[5]。
S5PV210芯片帶有3路I2C、兩路SPI接口和4路UART接口。電子羅盤和陀螺儀選用I2C方式通信,在I2C字符驅動程序中,直接通過地址映射對寄存器進行操作,配置寄存器I2CCON、I2CSTAT,設置其工作方式為主機模式,使能I2C中斷,設定其工作頻率為400 kHz。
GPS和GPRS的串口傳輸選用“dev/ttyS0”和“dev/ttyS1”,在上層用戶空間中直接編寫應用程序,設置串口波特率為9 600 bit/s,8 bit數據傳輸,無奇偶校驗位。程序讀取GPS返回的GPRMC(推薦定位信息),該信息包含了UTC時間,定位狀態,經緯度,地面速率以及航向角。
3.2 數據傳輸部分
系統采用GPRS網絡傳輸方式實現現場和岸邊通信。
對于GPRS網絡傳輸時,處理器將經過處理后得到的海浪頻率、儀器的傾斜角、GPS地理方位等數據發送給GPRS網絡,GPRS網絡提供通信鏈路,將這些信息發送給固定IP地址,在監控中心的上位機程序需要進行socket網絡編程,通過靜態IP地址看到數據。
在ARM發送端,Linux系統啟動之后,首先要對串口進行初始化,配置串口參數,其次,對GSM模塊設置AT指令,主要用到的指令有AT+CGDCONT=1,“IP”,“CMNET”接入網絡;AT+TCPSERV設置上位機IP地址,AT+TCPPORT配置上位機監聽端口設置。然后,通過AT+CONNETCIONSTART請求建立網絡連接,再通過AT+OTCP登陸網絡,數據傳輸時,將數據打包封裝直接發送到GPRS網絡,流程如圖4所示。
3.3 數據處理
3.3.1 海浪頻率的提取
以所測得的三軸加速度為數據分析對象推算出海浪頻率,由于海浪波形具有隨機性,混亂性,而且在測量加速度信號時,采集系統的測量誤差、外界環境的干擾或其他因素的影響,使得測量到的加速度信號包含大量的噪聲。這些噪聲理論上可以使用傅里葉變換和小波變換進行分析處理,可是在實測數據中,發現所測信號為非平穩非線性信號,而傅里葉變化并只能處理平穩信號,雖然小波變換在理論上能夠處理非平穩非線性信號,但是在實際實踐過程中,發現處理效果并不理想,所以引入了希爾伯特黃變換算法。
該算法可以簡單的表示為兩個步驟,首先需對原始信號進行EMD分解。EMD分解主要目的是將原始信號分解為多個IMF分量。IMF具有以下兩個特點:其極點數個數和零點數個數最多相差一個;其極大值點確定的包絡線與極小值點確定的包絡線的和必須為零。
(1)將信號x(t)的極大值與極小值形成的包絡線取平均得到均值曲線l(t),之后用原始信號x(t)減去均值曲線l(t)得到l1(t),判斷l1(t)是否滿足IMF分量的兩個條件,若滿足則得到第一個IMF,若不滿足,則將l1(t)視為新的原始信號繼續重復以上步驟。最后得到n個IMF與一個殘余分量r。
在n個IMF中,為了獲取原始信號中的主要成分信號分量,將分量信號與原始信號的相關系數設為篩選參考量,當相關系數大于0.7時,可確定該IMF為原始信號主要成分,篩選閾值設為0.7。
(2)進行Hilbert變換。對于信號x(t),Hilbert變換定義為:
對每一個IMF進行Hilbert變換,從而得到了信號的瞬時頻率。借助Hilbert變換,可得到x(t)的解析信號:
3.3.2 浮體傾角的提取
L3GD20陀螺儀可以測得三個方向上的角加速度,對各方向上的角加速度積分即可得到該方向上的傾角度數。由于陀螺儀在輸出時,會存在數據漂移,如果直接對數據積分會造成偏移誤差越來越大,最后導致數據無法使用。因此,用卡爾曼濾波對數據進行處理[7],卡爾曼濾波實質上是依據實測數據對隨機量進行最小二乘估計,可以對物體的實時運行狀態進行估計和預測。
3.4 軟件整體流程
海洋波浪作為觀測對象,其頻率很低不會超過5 Hz,根據采樣定理,將三軸加速度傳感器的采樣頻率設定為10 Hz。采樣點數為2 048,采樣時間為3.5 min。將陀螺儀采樣頻率設為20 Hz。軟件整體流程如圖5所示。
4 實驗條件及結果
為了較為準確地測試系統采集數據的穩定性及準確性,將測試地點選為湖水面積為33 km2的東湖內,湖面的波浪相比于海浪,沒有海風的作用、氣壓變化、地形因素等客觀條件影響,其波浪形成條件雖然不如海浪嚴苛和復雜,且波浪振幅和頻率均比海浪小。但是,兩者之間具有波浪的共性,均是由風產生的水面波動,均可視作由無限多個振幅不同、頻率不同、方向不同、相位雜亂的波組成,因此可以作為測試場地達到我們測量波浪頻率的目的。
試驗現場平均波高為3~5 cm,頻率為1 Hz左右,但是由于試驗期間受到沖鋒舟的影響,致使波高有時達到10 cm左右,頻率降低到0.5 Hz左右。
利用MATLAB對采集到的角度與線加速度進行分析,其角度曲線圖如6所示,經過卡爾曼濾波之后的角加速度進行積分,不會再產生多大的漂移與誤差,效果良好,其波形近似正弦曲線,間接反映出良好的波浪震蕩特性。角度的大小可近似反應波浪振幅的強度,當角度震蕩越大,波浪振幅強度越強。
由希爾伯特算法計算得到的頻率數據如表1所示,算法處理時間約為10 s,能夠很迅速地處理數據,分析得出波浪頻率,保證實時性。計算所得頻率與實際頻率相符,經多次驗證,該算法能夠很好地從非平穩非線性的隨機信號中,獲取信號主要成分,能夠保證數據輸出的可靠性。
本文借助ARM及Linux開發平臺完成了對波浪頻率、溫度及氣壓的測量,實現了浮標的姿態及定位,通過GPRS網絡實時地將數據反饋到監控中心,達到了遠程海浪數據監測的目的。
該設計具有良好的實時性、可靠性及準確性。其創新點在于將希爾伯特算法運用于加速度信號的分析當中,并且通過希爾伯特變換計算出了波浪的瞬時頻率,同時以Linux系統為平臺,具有很強的擴展性,方便波浪浮標采集系統的二次開發。
參考文獻
[1] 蔡元奇.共振波力發電裝置:中國,CN201110233308.7[P].2011-08-16.
[2] 蔡元奇.共振波力發電裝置:中國,CN201120295878.4[P].2011-08-16.
[3] 文圣常.海浪理論與計算原理[M],北京:科學出版社,1984.
[4] 劉國棟.波浪浮標數據處理方法研究[D].天津:天津大學,2011.
[5] 徐海林.基于ARM-Linux的IIC串行通信[J].微處理器與可編程控制器,2013(20):85-86.
[6] 賈瑋.基于DSP的EMD算法實現[D].太原:中北大學,2009.
[7] 張杰.基于MEMS陀螺儀和加速度計的動態傾角傳感器[J].2012(9):141-142.