基于非接触式IC卡的智能水控器设计
2.4 流量计量模块
本设计流量计量模块主要是在普通水表上加装传感器件,并进行流量信号的采集和处理。经对比,光电传感器和霍尔传感器虽然灵敏度高又无触点,但功耗都较高,增加系统供电复杂性,且易受电源干扰。而干簧管传感器仅在接触的瞬间有极小的消耗,但其物理结构存在着缺陷,会影响数据采集精度。故采用了双干簧管传感器,两干簧管以一定角度安装在水表计数转盘附近,磁铁安装在水表计数盘上。当计数盘转动,磁铁旋转靠近干簧管时,簧片触点吸合;磁铁远离时,簧片触点断开,发出一脉冲信号。当计数盘旋转一周,两干簧管均有一脉冲信号,且两信号相位差与两干簧管安装的角度一致,此时,单片机累记一次水量。这种设计可以有效减少因供水管道问题引起的计量误差,且可以防止强磁干扰智能水控器正常工作。
2.5 显示模块
本系统待机状态下显示当前时间和水温,刷卡用水时需要显示消费余额和温度,因为这些参数都仅需要显示数字,从产品成本角度考虑,只需要采用LED数码管显示即可。设计采用八位七段数码管显示,待机时数码管前两位用于显示当前水温,后六位用于显示时间;刷卡工作时前两位用于显示当前水温,而后六位为当前IC卡的余额,可精确到分。另外还需要四个按键对时间进行调整,确保走时准确。为节省单片机端口,设计中采用了串行通讯方式驱动专门的数码管芯片HD7279。该芯片是一片具有串行接口的,无需外围元件便可直接驱动8位共阴式数码管以及扫描64键矩阵键盘(或64只独立LED)的智能显示驱动芯片。其内部含有BCD译码器,可直接接受BCD码,并且具有识别多种指令的能力,如消隐、闪烁、左移、右移,段寻址等。
2.6 时钟模块
时钟模块选择了典型串行实时时钟芯片DS1302,温度检测模块采用了DS18B20集成温度传感器,通信模块采用RS232串行通讯实现水控器与上位机之间通信,报警模块电路主要由PNP三极管和蜂鸣器构成,由于篇幅有限,这里不再详述。
3 智能水控器软件设计
确定硬件电路后,必须有软件的支持才能实现功能运行,而且软件的设计在很大程度上直接影响智能水控器运行的性能。本设计采用C51语言编写程序,该程序按功能设计要求,采用模块化设计方法,包括主程序,卡操作功能程序,数据显示功能程序,电磁阀控制功能程序,消费处理功能程序,数据存储功能程序,数据上传功能程序。而每个功能程序由若干函数组成。其中主程序包括了单片机的初始化,显示缓存,MF RC500初始化等系统初始化程序,主程序流程图如图3所示。本文引用地址:https://www.eepw.com.cn/article/172874.htm
4 智能水控器技术参数
根据本文的设计研制出的样机除实现功能外,还参考中华人民共和国城镇建设行业标准CJ/T133—2001《IC卡冷水水表》,将样机放置于温度为5℃-110℃,相对湿度为5%-75%,大气压力为86kPa-106kPa的试验环境中进行了主要参数测试。
测试显示:非接触式IC卡智能水控器可以连续正常运行,正常工作电压值为9V,静态功耗约为0.5W,最大的动态功耗将近1W,与基表显示误差小于±0.5%。
5 结束语
本文主要论述了非接触式IC卡智能水控器的设计。按照智能水控器设计要求,采用STC11F16XE为主控芯片,结合射频读卡芯片MFRC500及电磁阀控制等外围接口电路完成整体设计。这种样机可正常显示当前时间、水温,并能正常进行用水消费控制,还可将用户消费信息保存,并上传至上位机。技术参数测试结果表明:该设计方案可行,系统运行稳定,可以满足计量准确要求。
评论