2.2.5 电源电压检测元件的选择与设计
电压检测芯片选择的是小功率的MCPlll芯片。当电源电压高于检测电压时,MCPlll输出保持高电平;若低于检测电压时输出将变为低电平,提醒电源电量的不足。设置单片机引脚RA5为电源电压检测输入引脚,低电平有效。该产品设定MCPlll的检测电压为3V;在检测到电池电压低提出报警后,仍能保证控制电路板正常工作三个月以上,为更换电池提供时间余量。
无线智能远传水表连接示意图如图2所示。
3 软件设计
智能无线远传水表的软件采取模块化设计,程序主要有以下主子程序组成:主程序模块、定时中断处理程序模块、水量采样处理程序模块、接收无线数据处理程序模块、数据发射程序模块。
3.1 主程序设计
智能无线远传水表上电后,系统软件逐个检测各个功能模块的工作状态。主要包括传感器模块检测、定时器模块检测、阀门执行机构检测、特别是对CCll00的工作参数设置以及设置完成的结果检测,这些模块检测正常后系统检测灯熄灭,系统进入低功耗工作状态。进入低功耗工作的系统只有靠中断才能开启。开启系统由低功耗进入工作状态的方式有两种:一种是当有传感器信号进入时,传感器信号开启中断系统;另一种是定时器时间到后开启中断系统。开启后的系统执行完中断的操作后回到低功耗模式。
3.2 定时中断处理程序设计
定时启动时间是10s一次,启动以后主要功能是:开启接收机接收查看是否有无线电信号进来。如果没有,进入低功耗状态,如果有,则判断是不是协议规定的命令。如果是规定的命令执行相应的操作,否则关闭接收机,进入低功耗。定时24小时自动发射数据一次,定时一个月“洗阀”一次。
3.3 水量采样处理程序设计
当水表的传感器有信号来的时候,经软件滤波后判断是否为有效信号。若是无效信号则直接退出中断,若为有效信号时就进行计数和水量运算,运算后将数据存储在单片机内部的存储器内。分析是否达到发射水量,达到发射水量则发射数据,否则退出中断。
3.4 接收无线数据处理程序设计
设置CCll00为接收状态,若有接收信号,则等待接收数据,读CCll00寄存器中的接收数据。读完规定字节数的数据后,进行数据解码,判断数据的正确性。数据正确,依据规定的命令进行相应的操作;否则退出接收状态。
4 结论
通过对无线远传智能水表进行的供电参数、无线电性能、信号输出测试、控制功能测试、水表性能测试,其主要参数全部达标,实现了设计时要求的技术指标和性能。本产品在天津自来水公司进行了试用,数据采集的准确率大于92%以上,具有良好的经济和社会效益。