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