技術文章
E+H嵌入式超聲波熱量表系統的研制
閱讀:2467 發布時間:2011-12-14長期以來,我國的供暖系統是按面積收費而不是按用戶的能耗收費,用戶不能根據居室條件自行調節供暖時間和溫度,智能化程度低,造成了能源的浪費。國家建設部已將熱量計量收費列入《建筑節能“九五”計劃和2010年規劃》,熱量的計量收費已作為建筑節能的一項基本措施[1]。近年來,家庭型熱量表開始逐漸推廣,但現在普遍使用的機械式熱量表的流量測量部件多采用葉輪結構,對水質的要求高,易造成葉輪軸承的磨損,外界環境變化對測量有較大的影響,故障率較高,使用壽命短。而傳統的超聲波熱量測量一般側重于大管徑的管道上,不適合家庭熱量表的使用。針對以上的問題,本文提出了一種基于嵌入式操作系統C/OS的超聲波熱量表系統,應用德國ACAM公司設計的TDC-GP2時間轉換芯片,可以方便準確的實現對流量和溫度的測量。嵌入式操作系統的應用,提高了CPU利用率,減少了出錯率,增加了該系統的穩定性和可擴展性,可用于家庭儀表的綜合開發。
德國E+H超聲波熱量表測量算法
超聲波熱量表是將超聲波應用到熱量表的流量測量中,利用時差法測量原理測量出超聲波在順、逆流中的時間差,間接測量出液體的流速,再獲取當前的供、回水溫度,利用焓差法就可以計算出熱量了。時差法測量流量的原理如圖1所示。
圖1 時差法測量原理
時差法超聲波測量是根據超聲波在順流和逆流的液體中傳播時,順流傳播的速度高于逆流傳播的速度,同一傳播距離就可以得出兩個不同的傳播時間,從而得出它們的傳播時間差值,再計算出液體的流速。在圖1中,有兩個換能器:順流換能器、逆流換能器,分別安裝在管徑的兩側,交替作為超聲波的發射和接收器,管道的直徑為D,超聲波的傳播方向與液體的流向所成的夾角為α,液體的流速為v,超聲波在液體中的傳播速度為c。設超聲波在順逆流中傳播的時間分別為T1和T2,如圖1所示坐標中,液體在沿超聲波傳播方向的分速度為vcosα,超聲波的傳播路徑為D/sinα,則T1和T2可以通過下面的公式求得
式中:t'為延遲時間。
順、逆流時間差為
超聲波在水中傳播速度c約為1500m/s,C2>>v2cos2α,式(3)可簡化為
(4)
從而可以求得液體的流速
(5)
這里所求得的v是線平均流速,而所需測量的是面平均流速,需要進行修正,乘以一個流量修正系數K,因此瞬時體積流量公式為
(6)
熱量計算算法焓差法為
將式(6)代入到式(7)中,就可以計算出熱量
(8)
式中Q——吸收或釋放的熱量(J),——進口和出口液體的焓值(J/Kg);qv——瞬時體積流量(m3/s);ρ——進水口或出水口液體密度(Kg/m3),
——入口和出口液體的定壓比熱容(J/(Kg•℃)),
——入口和出口液體的溫度(℃)。
從式(8)中可以看出,只需要測出超聲波的順、逆流時間差t和進出水的溫度就可以求出熱量Q。另外比熱容c和載熱液體密度都是溫度和壓力的函數,在實際運算中,壓力變化對計算結果的影響較小,可以忽略,因此在本設計的運算中將這兩個參數作為溫度的變量考慮,采用查表法計算,從而保證測量的精度。
硬件系統設計及器件的選擇
硬件系統總體設計
本系統硬件采用模塊化設計,硬件系統包括電源管理模塊、TDC-GP2模塊、鍵盤模塊、液晶顯示模塊、M-BUS通訊模塊。超聲波熱量表硬件系統結構如圖2所示。
圖2 硬件系統結構
德國E+H溫度傳感器安裝在進水管和出水管上,用來測量進水管和出水管的溫度。超聲波傳感器安裝在進水管流體管線的兩側,并相距一定的距離,用來接收和發射超聲波,通過時間芯片TDC-GP2記錄時間,進行相應的處理后,微處理器根據熱量計算算法算出向用戶提供的熱量,與存儲器中以前的熱量值相加,通過M-bus通訊模塊可以將數據傳送給上位機,同時用戶可以對鍵盤操作,通過LCD讀出所用熱量和溫度值等。
器件芯片選擇與詳細設計
MCU的選擇
MSP430F1611是TI公司推出的高集成度、高精度的單芯片系統,是目前工業界中具有zui低功耗的16位RISC混合信號處理器[2]。具有極低的工作電壓,超低功耗特性,能夠在1.8~3.6V電壓、1MHZ的時鐘條件下運行,耗電電流(在0.1~400uA之間)因不同的工作模式(有6種工作模式)而不同。運算速度高,在8MHZ晶振驅動下,實現125ns的指令周期。MSP430單片機內部具有3個時鐘信號,包括1個高頻時鐘,1個低頻時鐘和1個DCO。靈活的時鐘選擇使得系統可以在zui合理的時鐘下進行工作,大大降低了系統的功耗,方便了系統的設計。MSP430還有著豐富的外圍接口,包括標準串口,SPI接口,I2C接口,方便連接多種設備。擁有豐富的片上外圍芯片,系統無須外擴ADC、DAC、定時器、看門狗等外圍芯片,提高了系統的穩定性與可靠性。MSP30F1611內部具有10kB的RAM和48kB的FLASH,充足的存儲空間,可以保證嵌入式操作系統的任務正常運行,方便系統的設計與實現。另外MSP430具有中斷喚醒功能,可以通過中斷使單片機從休眠模式轉為活動模式,非常符合熱量表系統的設計要求。
e+h 流量和溫度的測量
為減小超聲波熱量表的流量計量誤差,降低熱量表的成本,提高精度,選用性能*、價格較低的TDC-GP2。TDC-GP2精度高、封裝小,具有高速脈沖發生器、停止信號使能、溫度測量和時鐘控制功能。極低的損耗電流保證在這些應用中電池具有較長的有效使用時間,特別適合于超聲波流量和熱量測量方面的應用[3]。
流量的測量
根據式(6)可知,流量測量的關鍵是對順、逆流時差Δt的測量。TDC-GP2測量時間十分,依賴于芯片內部的基礎邏輯門的延遲時間,測量時間的有效值可以達到50ps。
E+H TDC-GP2的流量測量模塊原理如圖3所示,數字TDC-GP2測量單元由start信號觸發,接收到stop信號停止,通過環形振蕩器的位置和粗值計數器可以計算出start信號和stop信號之間的時間間隔,測量精度范圍可達20位。首先MSP430啟動飛行時間的測量,fire引腳發射脈沖信號,同時啟動start信號,開始計時,脈沖信號激勵超聲波傳感器產生超聲波;超聲波信號穿過管道中的流動液體,接收換能器將接收到的超聲波信號轉換成電信號,經過模擬電路部分的濾波放大,觸發TDC-GP2的stop信號,停止計時,zui后由TDC-GP2中的ALU計算出通過流體的時間。在啟動fire時,MSP430通過模擬電路部分對測量方向進行定時切換,這樣就可以分別得出順流和逆流方向的時間,zui后由MSP430對兩次時間進行差值運算,得出Δt。
圖3 流量測量模塊
溫度的測量
TDC-GP2內部包含了一基于PICOSTRAIN的高精度低功耗測量單元,測量出每個電阻和電容組成的RC電路的放電時間[3]。TDC-GP2的溫度測量模塊設計如圖4所示,溫度傳感器采用Ptl000鉑電阻。溫度的測量是全自動的,通過微控制器發送啟動代碼啟動后,TDC-GP2自動控制4次測量,分別將結果存入相應的寄存器中,然后由微控制器讀取并分別做比值運算,通過查表就可以得出冷水和熱水的溫度了。溫度測量的精度可以達到0.004℃。
圖4 溫度測量模塊
另外,MSP430通過SPI接口與TDC-GP2進行通信,對TDC-GP2初始化設置,發送控制命令,讀取寄存器的測量值。
其它模塊的設計
為實現遠程抄表,本系統設計了基于M-bus總線的通訊模塊,M-bus儀表總線(歐洲EN1434-3標準)是專為消耗測量儀器和計數器傳送信息的數據總線,用于水表、電表、氣表等各種測量裝置的自動抄表總線結構,用兩條無極性的傳輸線來同時作為供電線路和傳輸串行數據的傳輸線,主從式異步半雙工傳輸,采用主叫/應答的通信方式,有專門設計的報文格式,具有布線簡單、抗干擾能力強和成本低等優點[4]。具體選用TI的終端收發芯片TSS721A來實現,其內含的接口電路可以調節儀表總線結構中主從機之間的電平,將整個數據發送功能集成于一體,遠程供電與電池供電并用,總線正常供電時提供3.3v穩壓源,給微處理器供電。當總線供電故障時,接通備用電池為系統供電,zui大的節省了電能。
LCD液晶顯示模塊采用長沙太陽人電子公司的SMS0810B熱量表顯示模塊[5]。在簡化硬件的同時功能卻大大加強,顯示容量為8位帶小數點數字+15段符號,與CPU的接口方式為三線式串行接口,接口簡單,編程方便,大大降低了研制時間。為降低功耗,通常LCD處于關閉狀態。當有健按下時,LCD顯示熱量累積值,再次按下按鍵時,顯示相應的數據。
系統中未使用復雜的按鍵,只使用了一個獨立按鍵,根據按鍵次數通過中斷來顯示入水溫度、出水溫度、流量、熱量和時間。
嵌入式系統軟件設計
傳統的嵌入式軟件系統一般采用的都是前后臺式的軟件設計方法,使用這種方法編寫的嵌入式系統軟件一般只能滿足簡單流程的要求。本系統將嵌入式操作系統C/OS-Ⅱ引入到軟件系統的設計過程中,提高了整個系統的穩定性、實時性和可靠性 C/OS-Ⅱ是由JeanJ.Labrosse編寫的免費公開源代碼的實時操作系統,不僅具有結構小巧、可固化、可裁減、多任務和可剝奪型的實時內核等特點,而且其實時性、穩定性和可靠性也得到了廣泛的認可。根據2.2.1可知MSP430F1611*符合C/OS-Ⅱ實時系統移植的條件,使用C語言交叉編譯器IAREmbeddedWorkbench可以很方便地進行編程和移植。
C/OS-Ⅱ的移植比較方便,主要修改與處理器相關的幾個文件,它們是OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM等[6]。在具體應用設計過程中,首先按照系統要求劃分任務,確定任務優先級,各個任務完成相對獨立的功能,任務的調度按優先級的高低進行的[7]。任務間要有數據進行交換,采用消息機制進行任務間的通信,多個數據組成消息隊列,依次完成數據的傳遞。根據應用系統完成的功能將系統分成7個任務,優先級的設置是按照整個系統運行的時序來確定的,對系統安全運行較重要的和對實時性要求較嚴格的任務,設定較高的優先級。各任務的優先級由高到低依次如下:流量測量任務,溫度測量任務,計算任務,數據存儲任務,鍵盤任務,LCD顯示任務,通信任務。通過使用C/OS-Ⅱ的信號量、消息的系統服務來完成不同任務之間的通信,從而保證多任務調度的同步。每個任務的執行時間具有相對的確定性,在計算測量結果時,加入必要的誤差消除算法可以保證測量結果的準確性[8]。在設計過程中,針對于系統本身低功耗的特點,當系統空閑的時候應該使其進入低功耗狀態,因此根據實際情況的需要把空閑任務設為低功耗的休眠模式,優先級zui低。C/OS-Ⅱ系統任務調度流程圖如圖5所示。
本文采用基于e+h超聲波測量的時間測量芯片TDC-GP2和嵌入式操作系統C/OS-Ⅱ來設計熱量表系統,該系統耗能低,測量精度高,性能穩定,使用壽命長,較好地解決了傳統的機械式熱量表的流量計部件受熱變形、運動磨損及臟堵等問題。將嵌入式操作系統C/OS-Ⅱ移植到MSP430中給設計者提供了一個操作平臺,可擴展性有很大的提高,設計過程變得更加簡單,實時性、穩定性和可靠性都有很高的保障。移植了操作系統的處理器可以很方便地應用到建設部正在推廣“三表合一”中去,使用同一塊MSP430單片機來完成多種不同的實時任務,既充分發揮了MSP430系列單片機的功能,又大大節約了生產成本。