陸 健,張自嘉,2*
(1.南京信息工程大學信息與控制學院,南京 210044;2.南京信息工程大學氣象災害預報預警與評估協同創新中心,南京 210044)
?
基于ARM和CPLD的無線風速儀設計*
陸 健1,張自嘉1,2*
(1.南京信息工程大學信息與控制學院,南京 210044;2.南京信息工程大學氣象災害預報預警與評估協同創新中心,南京 210044)
分析了在平面三角形陣列中利用超聲波時差法測量風速風向的基本原理,設計了基于ARM和CPLD微處理器的無線風速儀。給出了以LPC1768和EPM240T100C5芯片為核心的超聲波無線風速儀的設計實現方法。重點闡述了超聲波驅動電路、信號調理電路、無線收發模塊以及系統軟件的設計。實驗結果表明,該系統可以精確測量風速與風向,且工作可靠穩定。
超聲波測風;時差法;ZigBee;LPC1768;EPM240T100C5
風速儀在氣象、民航、公路、橋梁、農業和新能源領域都發揮著重要的作用。超聲波式風速儀正逐漸取代傳統機械式風速儀成為風速儀發展的主流。目前,超聲波式風速儀結構上多采用將兩對收發一體的超聲波換能器正交放置在同一水平面上構成測量陣列,當風沿換能器構成的正交方向上傳播時,會引起湍流導致錯誤測量。采用有線方式進行數據傳輸的風速儀,其布線復雜、抗干擾性差及維護困難。同時現有的超聲波風速儀電路結構較復雜、功耗較大且成本高。在分析了現有超聲波風速儀缺點的基礎上,本文提出并設計了一種基于ARM和CPLD的高精度、低成本的無線風速儀。
超聲波測風技術是利用超聲波信號在空氣中傳播時承載空氣流動的信息來實現對風速風向測量。目前,超聲波測量風速的方法大致可以分為時差法、頻率差法、多普勒法、相關法等[1]。與其他方法相比,時差法測量原理簡單,測量精度高,性能穩定,受外界環境因素影響小且電路易實現。目前超聲波風速儀大多采用時差法實現對風速風向的測量。時差法測量風速風向原理如圖1所示,兩超聲波換能器之間的距離固定,超聲波在空氣中傳播時,由于受順向和逆向影響,存在一定的時間差,通過獲得該時間差就可以確定所測風的風速和風向值[2]。

圖1 時差法測量風速風向原理
設空氣中的聲速為C,風速為VS,兩超聲波換能器之間的距離為L。超聲波在順向和逆向情況下的傳播的時間分別為t1和t2:
(1)
由式(1)可得:
(2)
根據式(2)可知,只需測得超聲波在固定距離上順向和逆向所傳播的時間,就可以獲得所測風的風速值。同時時差法測風可以消除溫度等環境因素引起的聲速變化而導致的測量錯誤。
基于ARM和CPLD的無線風速儀的硬件結構如圖2所示。系統主要包括以下模塊:ARM主控制器模塊、CPLD協處理器模塊、超聲波驅動電路模塊、信號接收處理模塊、ZigBee通信模塊、上位機單元、存儲模塊以及超聲波換能器陣列單元。

圖2 風速儀硬件原理框圖
為了保證和提高整個系統測量的精確性,選用Altera公司的CPLD芯片EPM240T100C5作為系統的協處理器,EPM240T100C5是Altera公司一款革命性的CPLD產品,性能穩定、低功耗、性價比高。系統通過CPLD處理器來實現對超聲波渡越時間精確計時,同時CPLD處理器也接收主控制器ARM的信號,來驅動超聲波換能器發射超聲波信號,并對接收的超聲波回波信號進行處理,CPLD最終將測得的數據送給主控制器ARM進行處理。系統選用NXP公司的32位微控制器LPC1768芯片作為系統的控制和運算核心,該芯片屬于Cortex-M3系列具有強大的數據計算處理能力、低功耗且對外設支持能力強大。主控制器LPC1768主要完成向CPLD發送控制命令,處理計算CPLD獲得的數據并將數據送至上位機。無線收發模塊基于ZigBee技術[3],采用TI公司的ZigBee芯片CC2530,CC2530具有較高靈敏度、抗干擾能力強,在不加功率放大情況下,室外傳輸距離可達400 m,通過增加功率放大器可實現遠距離數據傳輸。通過上位機軟件發控制命令給協調器,與傳感器節點建立連接,CC2530節點模塊從ARM主控制器中獲得風速風向數據,將數據發送給協調器,并通過協調器將數據送至上位機顯示保存[4]。
2.1 超聲波換能器系統設計
系統采用3個收發一體的超聲波換能器構成平面三角陣列來實現對二維平面上風速風向的測量。超聲波換能器陣列結構如圖3所示,超聲波探頭之間保持60度的偏離角,構成等邊三角形陣列,形成3個矢量測量基準。根據換能器陣列結構的設計,選用的超聲波換能器應具有高的靈敏度,并具有一定的開角,本設計中采用型號為DYA-125-02A收發一體式的超聲波換能器,其工作中心頻率為125 kHz,工作電壓為120 V,半功率角為13°,銳度角為35°。陣列中各超聲波探頭之間距離保持25 cm。超聲波換能器按次序發射一定頻率的超聲波信號并測量其順向和逆向傳播的時間,通過計算可以得到所測風的風速和風向值。該結構可以消除當風向與超聲波收發方向路徑一致時引起的湍流,提高測量精確度,同時該結構電路實現更加簡單,裝置主體更趨向于小型化。

圖3 超聲波換能器陣列結構圖
如圖3所示的超聲波換能器陣列,當風向與任意兩換能器連線方向一致時,會引起湍流,此時可采用其他2種測量基準,保證測量結果的準確性。假設如圖3所示,風速為V,其在AB和BC路徑上的風速分量為V1和V2,風與BC方向上的夾角為a度,測得A、B組超聲波換能器輪流發送超聲波信號時順向和逆向時間為t1和t2,測得B、C組超聲波換能器順向和逆向時間為t3和t4,風速測量原理如圖4所示。

圖4 風速系統測量原理
風速儀在室外安裝時,使超聲波換能器A指向正北方向。根據式(2)可以得到風在AB、BC方向上的風速風量V1和V2,根據矢量合成原理,可以得到風速值和風向值:
(3)
(4)
2.2 系統硬件設計
2.2.1 超聲波驅動電路模塊設計
系統中ARM處理器主要用于發送控制命令、數據運算及與CC2530模塊通信將數據送出[5]。CPLD處理器接收ARM控制命令執行超聲波信號發送、接收及渡越時間測量。圖5為超聲波驅動單元電路原理圖。

圖5 超聲波驅動單元電路原理圖

圖7 超聲波信號調理電路
設計中采用單端正激式脈沖變壓器P3構成升壓電路來驅動超聲波換能器發送超聲波信號,確保在變壓器原邊的開關三極管導通時,變壓器副邊同時對負載供電,同時為了防止在開關三極管斷開時,處于“空載”狀態的變壓器其中存儲的磁能使電感器飽和而燒毀開關器件,設計中通過二極管1N4148,D3和電阻構成磁通復位電路來釋放多余的磁能。本設計中脈沖變壓器的匝數比為1/15,可將原邊的低壓方波脈沖升至120 V左右,從而驅動超聲波換能器發出超聲波信號。實際測試中,CPLD從Q3端至少需要產生15個頻率為125 kHz的方波脈沖信號才可驅動超聲波換能器發出超聲波信號。為了保護Y1后續信號調理電路,采用兩個1N4148構成鉗位保護電路,防止脈沖高壓驅動超聲波換能器時損壞后續電路。圖6為超聲波換能器接收端實測波形示波器圖像,回波波形與理論接收信號一致,信號干擾較小,便于信號調理電路進行后續處理。

圖6 超聲波接收信號
2.2.2 超聲波信號調理電路設計
時差法測量回波渡越時間的方法主要有包絡檢波法、閾值比較法和波形匹配法[6]。采用閾值比較法的電路實現比較簡單,但受風速等環境因素影響,超聲波在傳播過程中其幅值會發生變化,導致測量精度降低。波形匹配法需預先采集大量標準波,將接收端信號與標準波進行比對,實現電路復雜,且標準波采樣難度大。本設計中采用包絡檢波法來實現對回波渡越時間的測量,傳播過程中信號幅值會發生變化,但接收端回波具有很好的一致性,其首波點與回波包絡峰值的之間周期數是確定的,通過測定回波信號包絡峰值點到達時的時間,就可以得到超聲波的渡越時間。超聲波信號調理電路如圖7所示。
設計中采用一片MAX4052多路復用器來簡化整個超聲波信號調理電路設計的復雜度,降低PCB制板難度,消除了單獨采用多路信號調理電路時所帶來的電磁干擾,提高了系統的穩定性和測量精度。超聲波換能器接收端回波信號電壓等級一般在毫伏級,為了滿足后續電路輸入要求,需要對回波信號進行放大并提高信號信噪比,放大電路設計應盡可能選用低噪聲運放,減少放大器級數,前級的增益帶寬應盡量的大。因此,系統使用兩片MC1458構成放大電路實現兩級放大,該放大電路對接收端回波信號放大倍數在2 000倍左右,放大后輸出電壓能滿足后續電路的輸入要求。信號經放大處理送入包絡檢波電路,獲得平滑的包絡信號,將環境因素對回波信號幅值的影響降到最低,提高測量精度。設計中采用超高速高精度TLV3502芯片構成電壓比較電路,比較器電路的基準電壓為2.2 V,包絡信號經比較器電路獲得數字方波信號,在方波信號下降沿觸發CPLD獲得渡越時間。
2.2.3 計時單元及CC2530模塊
超聲波渡越時間的測量直接影響風速儀測量結果的精度,因此系統必須具有高精度的計時單元和高速處理的速度。利用CPLD的可并行執行的特性[7-8],可使CPLD在驅動超聲波傳感器同時啟動內部計時單元,與其他處理器僅能按順序流程執行相比,消除了代碼運行所導致的計時誤差。同時并發執行可提高信號處理速度滿足實時性要求。本設計中CPLD控制器外接100 MHz晶振,其內部計時單元的分辨率達到10 ns,使系統測量的結果更加精確。
無線收發單元采用TI公司以C51為內核的ZigBee芯片CC2530,其具有兩個支持多種串行通信協議的USART,可與主控制器采用串口通信,同時CC2530具有多種不同的運行模式,可在不同運行模式之間切換來進一步確保整個系統的低能源消耗。本設計中LPC1768與CC2530采用串口通信,其連接電路如圖8所示。LPC1768的串行數據輸入端RXD0與CC2530的串行數據輸出端P0_3相連,CC2530的串行數據輸入端P0_2與LPC1768的數據輸出端TXD0相連。該處CC2530的設備類型設置為傳感器節點,而上位機部分的CC2530設備類型設置為協調器,實現無線接收各測量節點的數據,并送至上位機處理。

圖8 CC2530與LPC1768連接原理圖
2.3 系統軟件設計
風速儀的軟件設計主要包括LPC1768、EPM240T100C5以及CC2530收發部分軟件設計。LPC1768的軟件設計主要包括初始化程序、測量控制子程序、ARM與CPLD數據傳輸子程序、SD存儲子程序、串口通信子程序這5部分。EPM240T100C5的軟件設計主要包括:初始化程序、計時子程序、超聲波發送子程序、CPLD與ARM數據傳輸子程序。LPC1768編程調試環境為MDK-ARM,采用C語言開發,EPM240T100C5編程調試環境為Quartus Ⅱ 8.1,采用Verilog語言開發,調試過程采用Modelsim進行仿真。圖9所示為風速儀測量一路數據時程序流程圖。
本文所設計的基于ARM和CPLD的無線風速儀的上位機軟件部分采用Visual Studio 2010開發。上位機軟件通過串口發送命令至協調器,由協調器將選中的風速儀節點加入網絡并接收節點數據,將數據送至上位機顯示保存。測試過程中,風速儀與我校氣象站風杯式風速儀放置于同一地點測量,并設定以10 min為時間間隔連續工作12 h進行測量,上位機采集數據如圖10所示。

圖11 數據對比結果圖

圖9 超聲波測量程序流程圖

圖10 上位機采集數據
為了檢驗系統測量的準確性,測量結果與同一地點的風杯式風速儀測量結果進行對比如圖11所示。
與傳統風杯式風速儀測量結果對比,系統測量具有一定誤差,根據測量的原理和系統硬件設計,分析了其測量誤差的主要來源。首先是超聲波換能器陣列中每兩組換能器之間的距離誤差Δd引起的誤差,3個超聲波換能器均固定于各支架的頂端,支架的形變以及安裝時各換能器之間的距離誤差都會引起d的誤差。本設計中每兩個換能器之間距離d為25 cm,若Δd為5 mm則風速值的相對誤差將達到2%,因此對于d的校準必須精確。其次是渡越時間誤差Δt,超聲波換能器在發送和接收超聲波脈沖信號時存在延時效應,同時超聲波驅動電路和信號調理電路也存在電路的延遲均會引起渡越時間t的誤差。而通過相應的電路軟件仿真和超聲波換能器數據手冊可獲得電路的延遲時間和換能器延時時間,通過軟件補償可消除渡越時間誤差。可見由系統各部分引起的測量誤差,均屬可控誤差,滿足系統測量要求,系統各單元設計安排具有合理性。
但從數據對比結果來看,系統所測得的數據還是比較準確,系統基本能夠滿足設計要求實現對風的測量,且在長時間工作狀態下,性能穩定可靠。可能由于環境等因素影響導致無線收發模塊出現數據丟包現象。但從總體測量結果上可以看到系統在可靠性和測量精度上均能達到較高的水平。
本文基于時差法設計實現了一種基于ARM和CPLD的無線風速儀。闡述了系統工作的基本原理和硬件設計結構,重點介紹了系統部分硬件電路設計和系統軟件設計,系統設計中充分考慮了成本和低功耗問題。測量結果表明:本測量系統能夠實現對風的準確測量,并能夠穩定地將數據通過無線模塊發送至上位機處理,軟硬件設計合理,設計成本低,解決了現有風速儀所面臨的問題,具有一定的實際工程應用價值。
[1]Taro Nakai,Kou Shimoyama. Ultrasonic Anemometer Angle of Attack Errors Under Turbulent Conditions[J]. Agricultural and Forest Meteorology,2012(162-163):14-26.
[2]孫艷成,王然,李影. 一種超聲倒車雷達系統的設計[J]. 電子器件[J]. 2011(6):681-685.
[3]陳序. 基于CC1101的風速儀無線采集系統[J]. 起重運輸機械,2013(3):99-101.
[4]萬蓉飛,修春波,盧少磊. 基于ZigBee技術的風速測量裝置系統的設計[J]. 中南大學學報(自然科學版),2013(S1):162-165.
[5]范寒柏,王濤,陳邵權. 超聲波風速儀的電路研究與開發[J]. 儀表技術與傳感器,2012(12):23-25.
[6]杜偉略,談向萍. 低功耗超聲波風向風速傳感器設計[J]. 測控技術,2013(9):12-13.
[7]丁向輝,李平. 基于FPGA和DSP的超聲波風向風速測量系統[J]. 應用聲學,2011(1):46-52.
[8]吳宗玲,閏連山,曾德兵. 基于ARM+CPLD的高精度超聲波風速儀的設計[J]. 傳感器與微系統,2012(6):101-103,107.

陸健(1989-),男,漢,江蘇淮安人,南京信息工程大學信息與控制學院在讀碩士研究生,主要研究方向為超聲波檢測、嵌入式儀器儀表,lujian.nuist@hotmail.com;

張自嘉(1964-),男,南京信息工程大學信息與控制學院教授,碩士生導師,研究方向包括傳感與測量系統、智能儀器儀表、新型氣象觀測方法與儀器,zhzijia@126.com。
DesignofWirelessUltrasonicAnemometerBasedonARMandCPLD*
LUJian1,ZHANGZijia1,2*
(1.Institute of Information and Control,Nanjing University of Information Science and Technology,Nanjing 210044,China;2.Collaborative Innovation Center on Forecast and Evaluation of Meteorological Disasters,Nanjing University of Information Science and Technology,Nanjing 210044,China)
The principle of measurement of wind speed and direction using ultrasonic Time-of-Flight was introduced in the triangle array. The design of ultrasonic anemometer based on ARM and CPLD was described. The method of ultrasonic anemometer based on LPC1768 and EPM240T100C5 was given. The driving circuit,signal conditioning circuit,wireless transceiver module and the software design were introduced. The experiments testify the system can accurately measure wind speed and direction. It also has other advantages such as good reliability.
ultrasonic wind measurement;Time-of-Flight;ZigBee;LPC1768;EPM240T100C5
項目來源:國家自然科學基金項目(61172029)
2013-12-12修改日期:2014-02-13
TH815
:A
:1005-9490(2014)06-1130-06
10.3969/j.issn.1005-9490.2014.06.025