基于HT46R65的預付費熱能表設(shè)計
1 工作原理
該熱能表用于熱水作為傳熱媒介的戶用采暖系統(tǒng),計量熱水通過進水管道和回水管道所釋放的熱量;主要由流量計(水表)、數(shù)字式溫度傳感器、非接觸式IC卡讀卡模塊(ZLG500)、液晶顯示模塊等組成。流量計用于計量流過采暖設(shè)備的熱水的體積;兩片溫度傳感器分別用于測量進水溫度和回水溫度;非接觸式IC卡用于方便用戶付費購暖和供暖部門管理,液晶用于顯示一些基本信息。原理是根據(jù)流量計提供的流經(jīng)管道的熱水體積和配對溫度傳感器測量進水與回水的溫度數(shù)據(jù)送至計算器,計算出消耗的熱能,熱能數(shù)據(jù)經(jīng)處理后在LCD上顯示出來。非接觸式IC卡被識別后讀出卡中的熱能數(shù)值,然后把卡中的熱能數(shù)據(jù)清零。隨著使用的熱能量增加,剩余的熱能量相應減小。當剩余的熱能量為零時,水表閥門自動關(guān)閉,停止供暖,等待用戶購暖充值,重新開啟供暖。
消耗熱能Q的計算公式如下:
其中:C為水的比熱容(C=0.011 67 kWh/L·℃);V為流過采暖設(shè)備的熱水體積;t進水、t回水為流過采暖設(shè)備的兩個溫度。
剩余熱能Q2=Q1-Q(Q1為用戶所購買熱能和),一段時間內(nèi)屏幕所能顯示的總消耗熱能Q3=∑Q。
2 熱能表結(jié)構(gòu)
2.1 硬件部分
硬件部分主要由HT46R65、電源模塊、時鐘電路、溫度傳感器DS18B20、水表流量計、鍵盤和液晶LCD顯示電路、讀卡器、閥門電機控制電路等部分組成。外圍組件與MCU的相互關(guān)系如圖1所示,其中ZLG500與HT46R65的接線如圖2所示。
下面對圖1中各部分進行簡單說明。
溫度采集模塊:采用2片Dallas公司的DS18B20溫度傳感器,分別采集進水溫度和回水溫度。DS18B20屬于單總線(1-Wire)數(shù)字式溫度傳感器,具有結(jié)構(gòu)簡單,操作靈活,無須外接電路,對電源電壓波動不敏感(在保證溫度轉(zhuǎn)換精度為±0.5℃的情況下,電源電壓可為+3.3~+5.5 V)等優(yōu)點。
流量檢測模塊:用干簧管傳感器水表來檢測熱水流量。每當流過水管的水量達到1 L時,產(chǎn)生一個脈沖信號;可以通過中斷或查詢的方法來檢測脈沖信號,然后根據(jù)采集的溫度來計算消耗的熱能量。
讀卡模塊:采用ZLG500,用來讀取非接觸式IC卡中的熱能數(shù)據(jù)(對熱能表充值);然后與剩余的熱能相加存到熱能寄存器中,并在讀卡成功后將卡中的數(shù)據(jù)清零。驅(qū)動蜂鳴器響表示讀卡成功。
控制閥門電機模塊:利用HT46R65的兩個端口直接驅(qū)動電機。若正向通電,則開啟電機;反之,則關(guān)閉電機,平時端口都設(shè)定為低電平。若熱能寄存器的值為零,則關(guān)閉閥門;否則,閥門是打開的。
鍵盤和液晶顯示模塊:液晶用于顯示一些相關(guān)的信息(如熱能和溫度),按鍵用來切換顯示信息。充分利用HT單片機的液晶顯示驅(qū)動模塊,直接驅(qū)動液晶顯示屏,不必購買集成的液晶顯示模塊,降低了成本。
熱能表主要功能是對用戶的實際熱能使用量進行計量。用戶購買的熱能存儲在非接觸式IC卡中,然后讀卡對表進行充值。通過這種方式繳納取暖費,用多少支付多少,用完后自動關(guān)閉供暖。該熱能表能快速、直觀地將剩余熱能量、消耗的熱能量、進水溫度和回水溫度顯示在LCD上,用戶使用方便,也便于供暖部門管理和收取取暖費。
2.2 軟件部分
軟件部分由數(shù)個子模塊組成。C語言主程序中內(nèi)嵌了讀卡模塊通信、讀卡后數(shù)據(jù)傳輸、溫度采集、熱能計算以及液晶顯示數(shù)個匯編程序,充分利用了HT-IDE3000的混合語言編程環(huán)境。軟件流程如圖3所示。在計算消耗的熱能量過程中,Q=C?V?△t。假設(shè)△t=26℃,V=1 L,則Q=0.011 67×1×26=0.303 42 kWh。HT-IDE3000不支持浮點數(shù)運算操作,如果直接計算然后累加,則帶來很大的舍去誤差。為了提高計算的精度,在程序中編寫了大量浮點數(shù)處理和計算的程序:把一個數(shù)轉(zhuǎn)換成相應的3字節(jié)浮點數(shù)、浮點數(shù)減法、浮點數(shù)乘法、浮點數(shù)加法,把浮點數(shù)轉(zhuǎn)換成相應的數(shù)值進行顯示等。浮點數(shù)運算具有計算精度高、表示的數(shù)值范圍大等優(yōu)點。浮點數(shù)運算的法則說明如下:浮點數(shù)加減法執(zhí)行前需要對齊階碼,然后尾數(shù)相加減;浮點數(shù)乘法是尾數(shù)相乘,階碼相加。以ZLG500與HT46R65之間通信的匯編程序模塊為例,簡單說明如下(系統(tǒng)的晶振頻率為4 MHz):匯編程序SPI_INIT將SPI接口初始化為空閑狀態(tài),接SS線的外部中斷1為下降沿觸發(fā),且將定時器1配置成SPI接口的看門狗定時器。寫數(shù)據(jù)時,首先是MCU在SS線上產(chǎn)生一個下降沿,發(fā)出請求數(shù)據(jù)傳輸?shù)男盘?;等待ZLG500響應后,本次數(shù)據(jù)傳輸開始,ZLG500在SCLK為高時讀取SDA-TA線上的數(shù)據(jù)。傳輸完畢后,MCU在SS線上產(chǎn)生一個上升沿結(jié)束本次傳輸。(具體程序略——編者注。)
3 熱能表的功能
熱能表具有如下功能:
①測取進水和回水管道中熱水的溫度。
②計算熱能Q、Q2、Q3。
③帶鍵盤操作和LCD顯示,通過按鍵切換屏幕顯示的內(nèi)容。顯示的數(shù)據(jù)有t高溫、t低溫、Q2、Q3。
④自動開啟或關(guān)閉供暖。
⑤HT46R65單片機和ZLG500讀卡模塊之間建立連接和通信,及時、準確地讀卡和寫卡,實現(xiàn)預付費功能。
結(jié) 語
試驗證明,本熱能表能準確計算用戶消耗的熱能量,實現(xiàn)了先交費后使用的功能,并在2006年天津市“盛群”杯競賽中獲一等獎;但仍有一些需要改進的地方,如靈敏度不夠高。該熱能表安裝操作簡單,計算準確,實現(xiàn)了按實際熱能使用量收取暖費。采用非接觸式IC卡預付費技術(shù),是一種發(fā)展趨勢,既方便用戶,也解決了長期困擾供應部門的“收費難”問題,可廣泛應用于集中供熱、分戶計量的采暖設(shè)施中。