基于非接觸式IC卡的智能水控器設計
摘要:為適應校園智能化管理發展趨勢,文中介紹了一種基于非接觸式IC卡的智能水控器設計方案。該設計通過對STC11F16XE單片機、MF RC500讀卡芯片、雙干簧管傳感器、L9110電機驅動芯片等器件的綜合運用,可以實現刷卡流水,并能按流量實時扣費功能,從而有效提高學生節水意識。文中重點闡述了該智能水控器的硬件電路設計和軟件思路。實驗結果表明,該設計方案可行,系統運行穩定,可以滿足計量準確要求。
0 引言
隨著社會經濟的發展,國民經濟依賴水資源的程度越來越高,而水資源緊缺卻日益嚴重。在校園內,當代學生又大多數缺乏獨立生活的能力,對能源的節約意識不夠強,常會出現公共用水浪費現象。因此如何既能保障學生的正常用水,同時又避免不必要的浪費,已經成為學校后勤管理服務所關注的焦點。本文研究的基于非接觸式IC卡智能水控器既可以有效提高學生的節水意識,同時又能適應目前校園智能化管理的發展趨勢。
1 智能水控器原理
非接觸式IC卡智能水控器以射頻識別技術為核心,這里非接觸式IC卡采用的是PHILIPS公司的Mifare 1卡。系統工作時,其智能水控器的內部專用讀卡芯片相連的天線線圈會不斷向外發射一組13.56MHz固定頻率的電磁波,當Mifare 1卡靠近時,卡內的LC串聯諧振電路產生共振,從而使電容充電而產生電荷。當電容充電達到2V時,該電容就作為電源為卡上的其他電路提供工作電壓,這樣就可將卡內數據發射出去或接收水控器的數據并保存。
智能水控器應用于已采用校園一卡通系統的學校,安裝在有水龍頭流水的場所。當用戶將卡放置到水控器卡感應區,讀卡芯片就會獲取卡上的信息,并將相關數據發送回單片機,由單片機控制數碼管顯示用戶余額,再對余額進行判斷看是否大于單位扣費金額,若余額足夠則控制電磁閥打開,出水,流量傳感器將流經的水轉換成電脈沖信號輸入單片機,之后單片機通過預設費率將用水量轉換成金額并進行扣費,數碼管動態實時顯示用戶當前金額。當卡拿走后,單片機自動關閉電磁閥,停止供水,水控器隨即進入待機狀態,僅顯示當前時間和水溫??ㄏM信息可通過上位機軟件發送指令來查詢。
2 智能水控器硬件設計
根據功能設計要求,智能水控器硬件電路主要包括主控模塊、射頻模塊、電磁閥控制模塊、流量計量模塊、顯示模塊等。
主控模塊由單片機及其外圍電路組成。通過綜合考慮存儲器容量、I/O口數量、開發費用等因素,本設計中的單片機芯片選擇了宏晶科技公司開發的8位微處理器STC11F16XE。STC11F16XE指令代碼完全兼容傳統8051,其速度快8-12倍,且價格低。這種處理器的片內有16kbytes的可反復擦寫100000次以上的FLASH只讀程序存儲器,足夠裝載程序,無需拓展。內含1280字節RAM,有32k字節EEPROM,可以保存系統需要的特定參數,即使掉電后也能操持數據,因此大大減少了電路的復雜性和降低開發成本。片上最多有40個I/O,每個I/O口驅動能力均可達到20mA,可以滿足系統多模塊接口要求。其內部電路還引進了看門狗功能,抗干擾能力強。
STC11F16XE芯片周圍聯系著射頻、電磁閥控制、流量計量、溫度傳感、時鐘、顯示、通信等功能模塊,是整個水控系統電路的控制核心。單片機端口與其它模塊的接口電路如圖2所示。
2.2 射頻模塊
與Mifare 1卡配套對應讀寫裝置有卡讀寫組件和專用讀卡芯片。因產品小型化設計要求,只考慮采用讀卡芯片。由于本設計采用并行接口進行數據傳送,因此將射頻模塊讀卡芯片確定為MF RC500 。
MF RC500是一個小型的、最大操作距離達10厘米的Mifare卡射頻基站。其功能包括調制、解調、產生射頻信號、安全管理和防沖撞機制。MFRC500內部結構可分為射頻區和接口區:射頻區內含調制解調器和電源供電電路,直接與天線連接;接口區有與單片機相連的端口,還含有與射頻區相連的收/發器、64B的數據緩沖器、存放3套寄存器初始化文件的EEPROM、存放16套密鑰的只寫存儲器以及經過三次驗證和數據加密的密碼機制、防沖撞處理的防沖撞模塊和控制單元。
MFRC500根據其寄存器的設定對發送數據進行調制,首先得到發送信號,之后通過由天線驅動引腳TX1和TX2驅動的天線以13.56MHz的電磁波形式發送出去。與此同時,在其射頻范圍內的Mifare卡采用RF場的負載調制進行響應。天線接收到卡片的響應信號后,再經過天線匹配電路送到MFRC500的接收引腳RX,最后由芯片內部的接收器對接收信號進行解調、譯碼,并根據寄存器的設定進行處理后,將數據發送到并行接口D0-D7由單片機讀取。
2.3 電磁閥控制模塊
本設計中采用5V雙穩態電磁閥對水流通斷進行控制。由于單片機I/O口驅動能力有限,且電磁閥會對單片機產生較大干擾,需增加驅動電路。考慮到使用組合三極管,但這種由分立元件組成的電路制作麻煩,且成功率不高,因此采用了集成芯片L9110,從而使外圍器件成本降低,提高了整機可靠性。L9110是為控制和驅動電機設計的兩通道推挽式功率放大專用集成電路器件,其電源電壓范圍較寬,為2.5V-12V,每個通道具有800mA的連續電流輸出能力,峰值電流能力可達1.5-2.0A。它與TTL/CMOS輸出電平相兼容,具有良好的抗干擾性,可直接連接單片機。
2.4 流量計量模塊
本設計流量計量模塊主要是在普通水表上加裝傳感器件,并進行流量信號的采集和處理。經對比,光電傳感器和霍爾傳感器雖然靈敏度高又無觸點,但功耗都較高,增加系統供電復雜性,且易受電源干擾。而干簧管傳感器僅在接觸的瞬間有極小的消耗,但其物理結構存在著缺陷,會影響數據采集精度。故采用了雙干簧管傳感器,兩干簧管以一定角度安裝在水表計數轉盤附近,磁鐵安裝在水表計數盤上。當計數盤轉動,磁鐵旋轉靠近干簧管時,簧片觸點吸合;磁鐵遠離時,簧片觸點斷開,發出一脈沖信號。當計數盤旋轉一周,兩干簧管均有一脈沖信號,且兩信號相位差與兩干簧管安裝的角度一致,此時,單片機累記一次水量。這種設計可以有效減少因供水管道問題引起的計量誤差,且可以防止強磁干擾智能水控器正常工作。
2.5 顯示模塊
本系統待機狀態下顯示當前時間和水溫,刷卡用水時需要顯示消費余額和溫度,因為這些參數都僅需要顯示數字,從產品成本角度考慮,只需要采用LED數碼管顯示即可。設計采用八位七段數碼管顯示,待機時數碼管前兩位用于顯示當前水溫,后六位用于顯示時間;刷卡工作時前兩位用于顯示當前水溫,而后六位為當前IC卡的余額,可精確到分。另外還需要四個按鍵對時間進行調整,確保走時準確。為節省單片機端口,設計中采用了串行通訊方式驅動專門的數碼管芯片HD7279。該芯片是一片具有串行接口的,無需外圍元件便可直接驅動8位共陰式數碼管以及掃描64鍵矩陣鍵盤(或64只獨立LED)的智能顯示驅動芯片。其內部含有BCD譯碼器,可直接接受BCD碼,并且具有識別多種指令的能力,如消隱、閃爍、左移、右移,段尋址等。
2.6 時鐘模塊
時鐘模塊選擇了典型串行實時時鐘芯片DS1302,溫度檢測模塊采用了DS18B20集成溫度傳感器,通信模塊采用RS232串行通訊實現水控器與上位機之間通信,報警模塊電路主要由PNP三極管和蜂鳴器構成,由于篇幅有限,這里不再詳述。
3 智能水控器軟件設計
確定硬件電路后,必須有軟件的支持才能實現功能運行,而且軟件的設計在很大程度上直接影響智能水控器運行的性能。本設計采用C51語言編寫程序,該程序按功能設計要求,采用模塊化設計方法,包括主程序,卡操作功能程序,數據顯示功能程序,電磁閥控制功能程序,消費處理功能程序,數據存儲功能程序,數據上傳功能程序。而每個功能程序由若干函數組成。其中主程序包括了單片機的初始化,顯示緩存,MF RC500初始化等系統初始化程序。
4 智能水控器技術參數
根據本文的設計研制出的樣機除實現功能外,還參考中華人民共和國城鎮建設行業標準CJ/T133—2001《IC卡冷水水表》,將樣機放置于溫度為5℃-110℃,相對濕度為5%-75%,大氣壓力為86kPa-106kPa的試驗環境中進行了主要參數測試。
測試顯示:非接觸式IC卡智能水控器可以連續正常運行,正常工作電壓值為9V,靜態功耗約為0.5W,最大的動態功耗將近1W,與基表顯示誤差小于±0.5%。
5 結束語
本文主要論述了非接觸式IC卡智能水控器的設計。按照智能水控器設計要求,采用STC11F16XE為主控芯片,結合射頻讀卡芯片MFRC500及電磁閥控制等外圍接口電路完成整體設計。這種樣機可正常顯示當前時間、水溫,并能正常進行用水消費控制,還可將用戶消費信息保存,并上傳至上位機。技術參數測試結果表明:該設計方案可行,系統運行穩定,可以滿足計量準確要求。
相關閱讀:
聲明:本站部分內容根據互聯網資料整理而成,若侵犯您的權益,請聯系我們,我們會盡快處理。