基于单片机的IC卡智能水表控制系统设计附程序+图 联系客服

发布时间 : 星期四 文章基于单片机的IC卡智能水表控制系统设计附程序+图更新完毕开始阅读6dd0da7804a1b0717fd5ddc6

电源,以保证掉电后的一系列正常动作[14]。

3.9.2 超级电容的应用

传统的智能水表在控制水阀开启和关断时,普遍采用的方法是内装锂电池。锂电池

的优点是重量轻、能量大、自放电率低等。虽然如此,由于智能水表都没有设计再充电电路,锂电池使用到一定时间后,将无法为控制电路提供能量,不得不更换电池。上门为用户更换电池或水表,这对于水表生产厂家和自来水公司来说都是一件繁琐的事情。更危险的是,电池电量不足的情况出现是随机的,如果不精确和及时的监测电池电量,将无法可靠地关断水阀,造成无法计费、逃水现象等情况出现。这是内部安装了锂电池的智能水表的致命缺点,直接影响到它的推广和使用。针对这一问题,水表生产厂家设计了很多方案,如:尽量降低功耗,在静态时控制漏电流在10μA以内,保证电池可以连续使用5年以上,这对电路的设计和元器件的选型提出了更高的要求,增加了设计难度和成品检测的工序,如加上可靠的电池电量监测电路,也会使成本增加。 为了解决这一制约智能水表发展的瓶颈问题,已有不少厂家尝试了一种全新的方案,那就是用超级电容(Super-Capacitor)代替锂电池应用于智能水表。超级电容是近几年才批量生产的一种无源器件,性能介于电池与普通电容之间,具有电容的大电流快速充放电特性,同时也有电池的储能特性,并且重复使用寿命长,放电时利用移动导体间的电子(而不依靠化学反应)释放电流,从而为设备提供电源,见图3.17

图3.17 超级电容

D以美国库柏(Cooper)超级电容为例,与锂离子电池进行比较,有如下一些明显特性:

1. 超低串联等效电阻(ESR),功率密度(Power Density)是锂离子电池的数十倍以上,适合大电流放电,(一枚4.7F电容能释放瞬间电流18A以上)为水表控制电机阀或电磁阀的可靠开启提供了保障。 C 2. 超长寿命,充放电大于50万次,是锂离子电池的500倍,是镍氢和镍镉电池的1000倍,如果对超级电容每天充放电20次,连续使用可达68年。 3. 可以大电流充电,充放电时间短,对充电电路要求简单,无记忆效应。 4. 免维护,可密封。 5. 温度范围宽-40~+70℃,普通电池是-20~60℃。 与内装锂电池的智能水表相比,这种方案是用超级电容替换锂电池封装在水表中,同时外接干电池供电。平时干电池提供水表电路所需能量和对超级电容的充电,在需要开启水阀时,由外接干电池提供能量将水阀开启;在需要关断水阀时,如果外接电池不能提供能量将水阀关断,那么超级电容将在此刻提供能量来关断水阀。如同一个储水箱,平时将水存储起来,在停水时才起作用。 R14200BT1BATTERYD2VCCBDIODEC10.22FLOADA 图3.18 超级电容的应用电路 1 2图3.18是应用示意图。正常情况下,电池通过电阻R14、二级管D1向负载和超级电容充电。电阻R14的作用是限制电流过大,因为超级电容内阻很小,充电时电流较大可能造成电池损坏。二级管D1防止反向电流。当电池电压过低,或突然断电时(如取下电池),由超级电容继续为电路提供电源,同时,超级电容存储的能量足以关断阀门。

这种方案明显优于以前的设计,优点如下:将电池从水表中分离出来,从而可以不考虑电池寿命对水表的影响,大大延长了水表的使用时间;另一方面,超级电容的大电流放电特性保障了水阀关断的可靠性,在外接干电池电量不足时,仍能利用存储在超级电容上的能量将水阀关断;以前一味追求的漏电流指标,主要是为了保障电池的使用寿

命,改用超级电容后,漏电流指标变得不再重要。如果电池电量不足,用户可以随时更换。这样,不仅使电路设计简化,减少产品的出厂检验工序,还使产品的成本降低[15]。 这种方案克服了现阶段智能水表的缺点,为智能水表的发展找到了一条新的途径。目前国内已有多家水表生产厂应用该方案,实践证明,它是切实可行的。所以本设计亦采用了这种方案。在本设计中,我们选用了深圳市索普康电子有限公司的超级电容,其型号为5R5H105、产品规格为3.3V0.22F。

3.10 检测模块的设计

检测模块主要对以下四种情况进行检测 (1) 水表被拆卸;(2) 电池欠压或取出电池;(3) 有按键按下;(4) 有IC卡插入。当有以上四种情况之一时,外部中断INT1(P3.5)产生中断。当产生中断后,中断程序马上依次检测P3.6口(F_KEY)、P3.2口(V_MONI)、P3.3口(OPEN_D)、P1.5口(SW_T),如图3.19所示,以确认是哪种情况产生的中断后作出相应处理。该电路由一个电压检测器HT7039、两个与非门、一个或非门、一个常闭开关和一个常开开关组成。例如,当电池欠压或取出电池时,HT7039输出为低电平,U8输出为高电平,那么U9输出为低电平(即P3.5为低电平),产生中断。其他情况同理可

4得[11] [14]。 56VCC1U7U82S1SW SPSTVCCU9DT_F(P3.5)GNDoutNANDU10HT7033S2SW SPSTNANDNOR3SW_T(有IC卡插入)OPEN_D(调用显示)V_MONI(电池电压检测)F_KEY(防拆卸) 图3.19 检测模块电路 C

第4章 IC卡智能水表的软件设计

本软件我们用MCS-51汇编语言编制,采用了结构化,模块化的程序设计方法。它由主程序、外部中断0子程序、外部中断1子程序、IC卡与片外数据存储器的读写软件设计、显示子程序等模块组成。本章还给出了详细的流程图。具体程序见附录B。

4.1 主程序的设计

主程序主要完成系统的初始化,各种情况的判断如电压情况、按键是否按下、水量判断等,在适当情况下还要进行显示、关闭阀门等操作,平时处于睡眠状态。当表内剩余水量小于5 m3时,表内蜂鸣器发出提示报警,以提醒用户剩余水量不多,请速购水;当表内剩余水量为0 m3时,切断阀门,停止供水,直到新的水量被购来为止。从而达到用水必须预先交费的目的,省去了人工抄表收费环节。主程序的流程图如图4.1所示[16-18]。具体程序见附录B。

4.2 外部中断0子程序

外部中断0子程序也即水表脉冲计量程序,它只要是对用户水量进行处理。当用户在进行用水操作时,由流量传感器产生的脉冲信号使INT0进入中断响应程序。

根据机械水表的测量原理,水的流量与水表齿轮的转速可以近似成一定的线性关系。显然,水表齿轮所转的圈数与传感器产生的脉冲信号是一一对应的关系。根据这一原理,我们可确定流量的计算公式为:

Q?K?N (4.1)

在式(4.1)中,Q为流量,单位为m3 ;K为基表系数,单位为m3/r;N为转数,单位为r。在这里,由于K(基表系数)是一个常数。因此,Q与N是一一对应关系。我们采用了6位数据显示,其中只含有一位小数。当Q为0.1 m3时,由于K已知,N即可以求出。在本系统编程中,我们设定M为测得脉冲数,N为Q为0.1 m3时对应的转数值,“剩余水量-1,用水总量+1”中的“1”表示0.1 m3的水量[3]。其具体流程图如图4.2所示。具体程序见附录B。