打印
[资料分享]

基于PIC16F628A单片机的无线智能远传水表的设计

[复制链接]
696|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2019-5-21 16:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
基于PIC16F628A单片机的无线智能远传水表的设计

    0 概述

 随着无线电技术、通讯技术和单片机技术的发展,无线智能远传水表系统以其安装便利、维护快捷、不受安装环境和布线限制等优点,成为了水表行业智能管理的主导系统。该系统一般由四部分组成,即自来水公司微机数据管理系统、现场数据下载器(手抄机)、数据集中器、无线远传智能水表。其中无线智能远传水表是整个系统的基础部分,是信息的产生单元。它一般是在原基表的基础上,加装新型传感器和控制电路板构成。






  1 无线智能远传水表实现的功能

  通过广泛的市场调研确定无线智能远传水表应实现以下功能:自动定时或定量上报水量功能;根据集中器命令控制水表阀门开关功能;自动报告远传水表被破坏或受干扰、用水量异常(过大或过小)、电池电能不足的功能;按管理部门的需要进行参量设制功能。


  2 硬件电路的设计

  无线智能远传水表的无线通信频率选择公用频段(ISM频段)。该表采用电池供电,保证市电停电时,不影响表具对信息的采集和存储。根据行业标准的要求,电池的使用寿命大于6年,因此整个产品的设计要充分考虑耗电量问题。电池选择高能锂电池,通过选择低功耗器件、设定精密的微功耗工作方式来确保电池的使用寿命。通过采用双传感器、软件纠错、抗干扰技术、加密技术来保障数据采集、存储、传输的准确度。

  2.1 无线智能远传水表的组成单元及功能

  无线智能远传水表主要包括以下单元:单片机、输入采集、无线数传、电源、阀门控制、电压检测单元。其构成框图如图1所示。


      2.2 各单元电路的硬件设计

  2.2.1 输入信号采集单元

  传感器选择接触阻抗低、四轴飞行器功耗、可靠性好的小型干簧管。作为磁传感器,在磁铁进入干簧管吸合临界区的时候,干簧管会产生多次吸合,导致重复计量。为了提高计量的准确性和抗干扰性,在产品中采用双传感器设计。无论单个传感器吸合多少次都按照吸合一次计算,只有两个传感器各吸合一次才算是一次有效计量。本设计计量单位为0.1t。当两个传感器同时吸合时,认为是外界强磁干扰,水表执行关闭阀门动作。设置单片机RB0、RB4引脚作为检测端。


  2.2.2 单片机的设计

  单片机选择的是功耗低、抗干扰能力强、编程调试方便、价格低的PICl6F628A芯片。该单片机指令为单字节指令,避免程序“跑飞”造成”死机”。高可靠性的看门狗自带RC振荡器,能够避免程序锁死,进一步增加了抗干扰能力。休眠(断电)模式功耗为微功耗,工作时可从休眠状态唤醒,精密设计其工作过程,可使功耗达到节约的极限。为了降低整机的功耗,单片机的主时钟选用内部时钟4M(通过设置电源控制寄存器PCON的BIT3=1实现),这样单字节指令执行时间为1s,调用和条件转移指令需要2 μs。设置单片机工作平时在睡眠状态,只有在定时时间到或有水量信息时才被中断唤醒。为了降低整机的功耗,定时器1的时钟脉冲选择片外晶体振荡电路,晶体频率是32.768k,配谐电容为22p,内部采用8分频(通过设置控制寄存器T1CON的BIT4,BIT5=1),这样当脉冲个数为24225个时(5FH,0FFH),定时时间达到10s。


  2.2.3 无线数传单元的设计

  无线数传芯片选择的是高集成度、多通道的RF收发芯片CCll00,该芯片控制方便、功能强大、体积小、价格低、功耗低、抗干扰性强。CCll00的引脚SPI_SCK连接单片机引脚RAl(输出);SPI_SI连接单片机RA2引脚(输出);SPI_SO连接单片机RA3引脚(输入);SPI_CS连接单片机RA6引脚(输出);GDO0连接单片机RA7引脚(输入)。

  CC1100的软件设计主要是利用TI公司提供的对该芯片的内部寄存器设置软件Smart Studio对CCll00控制寄存器进行设置,在软件参数配置时要注意选择输出功率为10dBm,中心频率为433.92MHz,数据传输速率为10kbps,将这些主要参数输入后,专用配置软件将CCll00所有的控制寄存器的参数值自动换算到该芯片的最优化设置,将这些参数通过单片机,按照约定的地址写入到CCll00特定寄存器,就可保证CCll00稳定可靠地工作。在程序设计中要定期刷新CCll00控制寄存器的设置,防止寄存器中的内容在强烈外界干扰环境中改变,使芯片不能正常工作。CCll00的软件设计要注意,在无线数据传输过程中要关闭其它附属设备的工作状态,保持传输数据的可靠性和稳定性。


  2.2.4 阀门控制单元的设计

  驱动电磁阀开关的芯片选择的是L9110芯片。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过800mA的持续电流,峰值电流能力可达1.5A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,驱动性能安全可靠。单片机RB5引脚设置为关阀控制;RB3引脚设置为开阀控制;RB2引脚设置阀门开到位判断;RBl引脚设置阀门关到位判断。


  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%以上,具有良好的经济和社会效益。



使用特权

评论回复

相关帖子

沙发
dirtwillfly| | 2019-5-21 22:41 | 只看该作者
采用CC1100的无限远传水表,觉得方案很合适。
感谢楼主分享

使用特权

评论回复
板凳
eastin| | 2019-6-17 09:42 | 只看该作者
好**,感谢分享!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝