本文给出了一种低成本、低功耗,用于矿山供水系统的远程状态监测装置设计实例。该装置设计基于宏晶公司生产的单片机,结合PCF8563时钟芯片实现低功耗定时唤醒,保证了系统具有极低的待机功耗与准确的工作周期。装置外围电路设计均考虑了低功耗与低成本的要求。实际试用证明,该装置达到设计要求,成功解决了原供水系统存在的水位监控不便的问题。
1 引言
在现代工业及民用领域中,单片机广泛应用于汽车电子、安防、电机控制、家电控制、工业测控、电动工具等场合。其中,选用合理的硬件结构和软件设计,往往能以较低的成本,极低的功耗,搭建可靠的单片机系统,实现需要的功能。
2 设计背景
本文介绍了某磷矿供水系统无线监控装置的设计思路与设计过程。该磷矿在山区,储水池位于山顶,容量约3000立方米,向厂区提供生产用水及生活区用水。水源地和水泵房位于山腰平缓地带,储水池与水泵房直线距离约450米,高差约120米。为了正常供水,必须保证水池水位高于出水口、低于水池上限。该水池曾经进行过自动化改造,采用电缆传回水位信号,控制水泵房水泵自动运行与停止。
但该方案多次由于矿山周边闲杂人员盗割电缆,鼠害损毁电缆等原因造成停水或溢水,严重的时候甚至造成生产区停工,后改为人工值守。但人工值守需24小时值班,工作环境差,人力成本高。经过建议,矿山方面同意试用远程无线监控装置对供水系统进行自动化改造,但要求装置具有低成本高可靠性的特点。
3 方案设计
储水池取消人工值守后,水池处无电力供应,水池水位监控及无线传输装置全部需要电池提供电源,设计采用3节AA碱性电池供电,设计电池使用寿命一年。
单片机采用笔者一贯采用并且已经比较熟悉的51系列单片机,出于抗干扰及低成本的考虑,选用宏晶公司生产的STC11L04E单片机。
该单片机具有4K Flash程序存储器,256字节SRAM,1K EEPROM,具有掉电外部中断唤醒与低电压复位,最高时钟频率35MHz。
无线通讯部分采用飞思卡尔无线串口模块以降低开发成本及提高可靠性。水池水位变化相对于单片机处理速度是一极缓慢变化过程,因此采用定期检测水位发送信息的间断工作模式。
3.1 硬件原理
电路原理见图1。单片机工作于断续状态,工作周期可用两位8421编码的拨码盘设置为1~99分钟。为了实现低功耗,非检测期间单片机必须工作于掉电状态,而为了实现定时检测水位,装置必须进行计时。
为了实现单片机掉电期间的计时及定时唤醒,加入一低能耗的PCF8563时钟芯片。单片机进入掉电前对PCF8563进行定时设置,随后进入掉电状态。设定时间到后,由PCF8563唤醒单片机继续下一个检测周期。
图1水位监测装置电原理图
为了提高可靠性,同时也为了降低成本,采用电极式水位传感器,仅需要两根线头裸露的电线即可实现水位监测,无机械活动部件,对水质适应性好,成本低可靠性高。水位传感器信号放大整形部分应用电源管理,仅检测瞬间供电,降低装置功耗。8563与单片机之间通过I2C总线进行数据通信。
I2C总线需要加上拉电阻,有文章指出为了避免电流损耗,进行低功耗设计时I2C上拉电阻需要加电源管理,但笔者经过分析与实践证实,单片机IO口设置为开漏输出状态时,该上拉电阻不会在非工作期间造成电流损耗。为减少幅面,水位传感器仅画出其中一个,实际共两个,上限与下限水位传感器各一个。
3.2 软件设计
普通8051单片机进入掉电模式后,只能由外部复位唤醒单片机,复位后程序从起始位置开始执行,而宏晶STC11系列单片机提供5个外部引脚,可设置其下降沿唤醒单片机。该装置在每个检测周期开始时,由PCF8563唤醒单片机,继续执行掉电指令的下一条指令后,转入执行相应的中断服务程序,一个典型的检测周期如图2所示。由于STC11系列单片机没有I2C接口,因此需要用两个引脚通过软件模拟I2C总线。
图2 软件流程图
检测到当前状态后,单片机对数据添加校验值并封包,生成完整的报文,通过无线模块发送到水泵房。为了以后便于扩展,笔者自定义了以下的报文格式。其中数据字节可以扩充,其数量由第四个字节决定,最大不超过255字节,当前使用的监控装置默认数据长度为1个字节。
表1 无线数据报格式
3.3 无线通信方案
无线模块采用飞思卡尔串口通信模块。最大发射功率27dBm,调制方式为FSK,工作频率选择为433MHz,接收灵敏度-114dBm,该模块发射功率及频段满足国家无线电管制要求,可以免执照运行。
同时,由于矿山地处偏僻地区,且传输距离较近,受到其他业余无线电台干扰的可能性非常小,即使受到干扰,接收方报文校验失败,可以及时向水泵房值班人员报警避免造成损失,因此,采用该模块可以满足装置的设计要求。
该模块支持波特率由1.2kbps至38.4kbps共6种速率,但根据笔者以往的经验,降低波特率可以提高模块的接收灵敏度,因此实际使用的波特率为2.4kbps。
3.4 功耗评估
每个检测周期唤醒后,单片机等待32768个时钟周期以使时钟稳定振荡,随后对无线模块和水位传感器上电,延时100ms后读传感器信息,随后关闭传感器电源,数据封包后发送到无线模块,当前使用的数据报长度为7个字节,以2400bps的速率发送,大约需要30ms,但为了让无线模块有充分的时间发送数据,单片机发送数据后延时100ms关闭无线模块电源,设置PCF8563唤醒倒计时后单片机随即进入掉电状态。
以毫安·秒为单位对每个检测周期耗电量进行计算,当装置检测周期设置为10分钟时,每周期耗电量大约为17mA.s,年耗电量小于250mA.h。以电池容量1000mA.h估算,扣除电池自放电及其他损耗,可以满足装置工作一年的设计要求。相关器件的功耗数据如表2所示。
表2 器件功耗数据
4 接收装置简介
接收装置位于水泵房,接收储水池装置发来的信息,分析处理后控制相应的输出,并将当前状态进行显示。接收装置在规定时间内接收不到校验正确的报文,则判断为通信中断或设备故障,并通过声光报警提醒水泵房值班人员,避免造成其他损失。
接收装置位于水泵房,有充足的电力供应,处于持续工作状态,因此硬件设计比较简单,不再赘述。接收装置内部电路板实物如图3所示。
图3 接收装置电路板实物图
5 结论
该装置在使用现场进行测试。对于无线通信,当通信距离达到2000米时,装置依然可以正常进行数据收发,当距离达到2500米时,数据丢包率开始增大。因此,在450米的实际使用环境中,认为无线模块具有充足的的发射功率与接收灵敏度。
装置安装就位后,进行了两个月的不间断测试,测试期间没有观察到装置出现误动作或不动作的情况。对数据包的校验和记录表明,测试过程中,没有出现数据包校验失败或数据包丢失的情况。单片机工作可靠,没有出现死机、程序跑飞、无法唤醒等故障。在经历两个月测试后,向设备供电的3节碱性电池测量电压仍然有4.65V,预计可以满足一年的供电需求。
装置选用的STC11L04E单片机,零售价格仅数元,加上其他外围器件,总材料费用仍然十分低廉。
综上所述,初步认为装置功能与性能满足设计要求,实现了低功耗、低成本的远程状态监控。
来源:oschina
链接:https://my.oschina.net/u/4228486/blog/3162842