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