摘 要: 介绍了热量表中基于MFRC522的预付费模块的组成及工作原理,提出了预付费功能的硬件电路和软件控制流程设计方案。通过对IC卡电路和驱动电磁阀的电源控制,实现了系统的低功耗、高效率,为解决热力公司收费难、提高居民节约意识创造了条件。
随着我国科技、经济的发展和国家能源政策的调整,“集中供暖、分户计量”的模式成为城镇供暖系统中的首选模式,因而热量表在供暖系统中得到了广泛的应用。但由于此种模式的热计量收费涉及到千家万户的直接利益,用热情况复杂,从而造成了热力公司收费比较困难。MFRC522是Philips公司最新推出的一款非接触式IC卡读写基站芯片,应用于13.56 MHz的非接触式通信系统中。本文设计的基于MF RC522的热量表预付费模块,是以射频IC卡作为信息的载体来存储所购买热量,热量表读取卡中数据后再把卡中数据清零,实现了“先购热、后用热”的消费模式,为解决供暖收费难、提高居民节约意识和提高资源利用率创造了条件。
1 预付费模块组成及工作原理
热量表是用于测量并显示水流经热交换系统所释放或吸收能量的仪表,它通过采集入水口、出水口的温度和水的流量,计算出系统所释放的热量。预付费模块就是为实现“先购热、后用热”而设置的,基于MFRC522的预付费模块如图1所示。
系统工作原理:当需要读卡操作时,先由按键电路把单片机从低功耗模式唤醒,单片机收到有效读卡信息后打开射频卡读写电路的电源,对进入射频场的IC卡请求应答,当判断有本系统的IC卡后进行通信,读取卡中的热量值,加到热量表原有的热量值中,对所购热值和现有热值进行存储,并把IC卡中的热量值清零,同时在LCD显示器中显示IC卡号、本次购买热量和热量表现有热量等信息。若读取IC卡之前热量表中的热值为0,读取后现有热值大于0,则打开阀门控制电路的电源,执行打开供暖管道进水口的操作,当微处理器检测到阀门有效打开后,关闭阀门控制电路的电源。系统对射频场扫描一段时间后关闭射频读写模块的电源。
当热量表中的现有热值等于0 KJ时,系统将打开阀门控制电路的电源,执行关闭供暖管道的进水阀门操作,当微处理器检测到阀门有效关闭后,关闭阀门控制电路的电源。
2 硬件设计
热量表预付费模块的硬件主要由微处理器、IC卡读写电路、阀门驱动电路和按键及显示电路等组成。
2.1 微处理器
由于热量表是电池供电的仪器,1块电池需要工作5年以上,这对微处理器的低功耗性能提出严格要求。MSP430F149是TI公司推出的16位超低功耗单片机,其供电电压范围是1.8~3.6 V,在休眠条件下工作电流只有0.8 μA,从休眠方式唤醒只需要6 μs;具有6个数据端口,P1和P2口全部可以做外中断处理,2个串口通信模块,且这两个串口都可以通过软件设置成UART方式或者SPI方式,5种节能模式非常适合用在超低功耗的产品中使用。因此选用MSP430F149作为本系统的微处理器。
2.2 射频IC卡读写电路
射频IC卡读写电路的主要功能是完成对IC卡的识别、读取卡中数据、对卡中数据清零等操作,该电路主要由MFRC522基站芯片及其匹配天线组成。MFRC522是Philips公司最新推出的一款非接触式低功耗读写基站芯片,该读卡芯片完全集成了13.56 MHz下所有类型的被动非接触式通信方式和协议,支持ISO14443A所有的层,可以方便地读取 Mifare 1 S50、S70等卡片,具有三种接口方式:SPI模式、UART模式、I2C模式,可与各种类型的MCU进行通信。
MSP430F149具有SPI接口,因此在本系统中射频基站芯片和微处理器的通信就采用SPI方式,采用如图2所示的典型应用电路。该电路主要由电源控制电路、低通滤波电路、接收电路和天线匹配电路组成。本设计天线采用直接匹配天线方法。电源控制电路(R15,R16,R17,Q5,Q12)使射频电路电源的通断处于可控状态,只有当需要读卡时才给射频IC卡电路供电,平时不需要读卡时射频IC卡电路的电源处于断开状态,以降低系统功耗。低通滤波电路(L1,C17;L2,C20)是为抑制系统电路中由石英振荡器产生的高阶谐波而设置的,接收电路(R25,R26,C13,C14)用于接收返回信号,其中电阻、电感、电容的取值采用推荐值。天线匹配电路(C15, C18,C19;C23,C22,C21)的作用是将天线调谐到最优,具体取值的时候要根据所设计的天线的长宽和天线的电感来综合考虑选取电容的值。
2.3 阀门驱动接口电路
阀门控制电路及低电压电动阀门配合IC卡读写电路实现预付费功能,是预付费系统的执行机构,完成对供暖管道的开、关控制操作。该电路采用单独电源供电,单片机只需提供相关操作信号即可。主要由电源电路、驱动电路和低电压电动阀门组成,如图3所示。
低电压电动阀门选用天津珠峰阀门厂的电动铜球阀,其热水工作温度是0~100 ℃,工作电压是DC 3 V~6 V,阀门控制引出4根线,分别是开阀线、关阀线、地线和反馈线,非常适合本系统。工作过程如下:当开阀线和地线接通电源后,阀门自动转动到全开位置后内部自动断电;当关阀线和地线接通电源时,阀门自动转动到全闭位置后内部自动断电;当执行阀门的开阀或关阀时,反馈线会输出高电平;当阀门开到位或关到位时,反馈线输出低电平,这样用单片机控制就非常简单、高效。
阀门控制电路电源部分主要由电池和电源电压检测电路组成,电源采用3.6 V的电池供电。由于电机的最低工作电压是3 V,所以采用3.1 V的电压检测芯片,当电源电压低于3.1 V时,触发单片机中断,系统会关闭进水阀,同时提示用户更换阀门控制电路的电源。
驱动电路主要控制阀门电机的转动方向,当需要开阀或关阀操作时,打开相应的电路即可。当检测到阀门已打开或已关闭后,关闭电路的电源,以降低功耗。如图3所示,关阀电路(Q2,Q7,Q11)受CLO_M端控制,当CLO_M为高电平时,Q2、Q7、Q11导通,关阀端为高电平,开阀端为低电平,执行关阀操作。当检测到反馈端的电平变为低时使CLO_M端为低,切断电源;开阀电路(Q9、Q10、Q3)受OPEN_M端控制,工作过程和关阀过程类似。
2.4 按键及LCD显示电路
按键电路主要功能是完成把微处理器从低功耗模式唤醒并进行读卡操作。本系统的按键电路选用由1个电阻、1个电容和1个按键组成的简易键盘,按键电路的输出端接到微处理器的具有边沿中断功能的端口,当按键按下时,触发单片机中断,执行读卡操作。电路中的电阻是限流电阻,以防止电路中的电流太大损坏单片机的端口,电容的作用是消除按键抖动。
LCD显示模块对卡号、现有热量、本次所购热量等信息进行显示。考虑到系统的低功耗,选用LCD12864芯片,其电路如图4所示。它可以在3 V电压下工作,不仅能显示英文字符,还能显示汉字,做到了信息的全中文显示。不开启背光,工作电流典型值也只有1.2 mA,在平时不显示的时候关闭模块电源,使显示模块消耗的能量很少,完全适合电池供电的低功耗系统。
3 软件设计
软件采用了模块化设计,包括主程序和中断服务程序。中断服务程序如图5所示。
主程序完成系统的初始化等操作后进入低功耗模式等待中断,按键中断服务程序完成读卡功能、开关阀等操作。对于本预付费模块,主要是按键中断服务程序的设计。本按键中断程序中,射频卡开启的时间采用定时器来控制,这样软件操作更加合理、功耗小、执行效率高。
本文设计的热量表预付费模块以MFRC522为核心,结合电动阀门实现了预付费功能。通过在软件方面采用中断方式,在硬件电路中加入电源控制端,使电源可控,因而降低了系统的功耗,实现了系统低成本、高效率,同时实现信息的全中文和标准量纲显示。该模块具有功耗低、运行稳定的特点,可以很方便地移植到其他系统中,进而提升产品的性能,在实际应用中具有较高的参考价值。