基于SI1000的下水道堵塞预警装置
2015-03-31顾佩月贺文晨周雨薇
顾佩月+贺文晨+周雨薇
摘 要:为了改善城市下水道日益严重的堵塞情况,针对基于SI1000的下水道堵塞预警装置进行设计。采用SI1000模块控制HC-SR04超声波测距模块监测下水道水深,LWGY涡轮流量计监测下水道水流速度,并通过SI1000无线通信模块传送监测数据,并在一定情况下进行预警。本装置通过实验可以实现周期性监测下水道情况并通过无线通信进行预警的最终目标。
关键词:SI1000;超声波测距;涡轮流量计;堵塞预警
中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2015)03-00-02
0 引 言
中国城市下水道设施采用的是苏联的“地下管网式”,设计偏保守,口径多在一米左右,承载能力有限,时常会出现下水管道拥堵现象。而且现在下水道堵塞的处理从发现到整修的周期较长,会带来诸多不便。然而现阶段,中国无法对城市下水道进行大规模改造和重修。而且,下水管道常年埋在地下,当出现拥堵预兆时,也难以引起人的注意,一旦废水外溢,往往已经是问题比较严重了。
如果能有一套自动监测系统,能实时监测下水道中的水位和水流速,就能大致判断出下水道中的拥塞情况,当超过警戒时,以一定方式及时报警,就能防止下水道废水外溢事故的发生。
鉴于以上问题,基于SI1000的下水道堵塞预警装置设计被提出。该装置通过测量距离和流速来判定下水道是否堵塞,用SI1000进行无线通讯收发数据,产生预警。
1 控制器设计
1.1 无线通信模块
SI1000 是一款微功耗小体积并具备强大无线通信功能的51类型的单片机,在本装置中作为无线单元的核心器件负责采集测距模块和流量计的信号并通过无线射频进行通信。收发电路如图1所示。
SI1000微控制器内部使用四线制SPI总线,MOSIMISOSCK和NSS与射频模块进行通信,SI1000将射频模块作为外设进行访问,可以通过设置射频模块的寄存器灵活配置射频收发的各项参数。
1.2 测控系统设计
单个下水道堵塞预警装置如图2所示。
单个下水道堵塞预警装置主要由4个模块构成,包括测距模块、测速模块、供电模块和无线通信模块。测距模块测量下水道管道顶端到液面的距离。测速模块测量下水道管道里水的流速。无线通信模块控制测距模块和测速模块,并且进行数据的采集和收发。供电模块输出+3.3 V和+5 V两种电压,3.3 V给无线通信模块进行供电,5 V给测距模块和测速模块进行供电。
图 1 SI1000收发电路
图2 单个下水道堵塞预警装置
2 硬件介绍
2.1 测距模块
测距模块采用HC-SR04超声波测距模块,此模块有Vcc、Gnd、Trig和Echo四个I/O口。Vcc接+5 V,Gnd接地,Trig口由SI1000送入一个高电平信号进行触发测距,随后模块会自动发送8个40 kHz的方波,自动检测是否有信号返回,若有信号返回,通过I/O口Echo输出一个高电平,高电平的持续时间就是超声波从发射到返回的时间。
那么测量的距离即为:
测试距离=(高电平时间*声速)/2
2.2 测速模块
测速模块采用LWGY涡轮流量计,其工作原理为流体流经传感器壳体,流体的冲力使叶片具有转动力矩,在一定的条件下,转速与流速成正比。旋转的叶片切割内部的磁力线,周期性的改变着内部线圈的磁通量,形成矩形脉冲波并输出。
在一定的流量范围内,脉冲频率f与流经传感器的流体的瞬时流量Q成正比,流量方程式为:
Q=3 600×f / k (1)
其中:f为脉冲频率(Hz); k为传感器的仪表系数(1/m3) ;Q为流体的瞬时流量(工作状态下)(m3/h); 3 600是换算系数。
3 软件设计
3.1 测距程序设计
利用SI1000产生20 μs的触发信号送入HC-SR04模块的Trig口。本装置中采用SI1000定时器2进行计时测量高电平持续时间。测距流程图如图3所示。
图3 测距流程图
3.2 测速程序设计
由式(1)可知,为获得水流速度,需测量涡轮流量计产生脉冲的频率。本装置中采用1 s内产生脉冲个数作为采样点脉冲的频率。当SI1000检测到输入信号由低到高的一个跳变时,则认为产生一个脉冲。这部分程序的实现将在下文的主程序设计中具体说明。
3.3 无线通信
无线收发模块之间的通信是以数据包的形式进行的,无线收发采用的数据包的数据格式如下:
DataBuffer[0]=0x00;
DataBuffer[1]=2;
DataBuffer[2]=Dist;
DataBuffer[3]=Speedvalue;
一个数据包由前导码、同步字、数据(数据段长度、距离值和水速值)组成。前导码的作用是确定接收模块与发送模块同步,同步字是为了更好的进行同步以便找到帧头,同步模式的标志码就是设好的同步字。距离与水速值储存在DataBuffer第三、四位。发送程序就是采用这样的数据包将数据发送出去的。
程序开始运行后,完成SI1000的参数和子程序初始化以及SPI接口和射频的初始化后,配置寄存器写入相应的初始化RF控制字,系统初始化及参数配置完毕之后,开始检测数据发送标志DataTxFlag。当DataTxFlag=1时,调用发送程序将数据包发送。
接收程序类似于发送程序,接收模块处于一直接收的工作状态,同时在不断检测接收标志RxPacketReceived,当RxPacketReceived=1时,将接收的数据取出,再进行水速和距离值的判断和预警。
3.4 主程序设计
3.4.1 主程序流程
对系统进行初始化后,进入while(1)无限循环开始具体功能实现。具体功能包括两大部分:检测功能和无线收发功能。检测功能有测距和测速两部分组成。
当到达设置的时间周期之后,开始运行检测程序的测距部分。实际会出现以下两种的情况:当水面高度(即水面距离管顶的高度)在合理的范围内,说明下水管道无险情,则跳过水速的测量。若水面高度到达预设的警戒值,为判断下水管道是处于堵塞状态还是由于暴雨水位激增,开启水速的测量,若存在一定的水速,则说明下水管道未堵塞;若水速过低时,则说明下水管道即将堵塞。当检测部分结束后将数据发送标志置1,将测量的数据送入数据缓冲器中,将数据发送给接收节点。若下水管道即将出现堵塞状况,接收节点对外界发出预警。主程序流程图如图4所示。
3.4.2 核心程序设计
本文中采用状态机的思想编写主流程核心控制程序。
设置任务标志taskFlag控制状态机的状态跳转,具体对应方式见表1。
表1 任务标志对应状态
taskFlag 对应状态
0 检测准备
1 测距
2 测速输出脉冲低电平
3 测速输出脉冲高电平
4 发送准备状态
图4 主程序流程图
4 结 语
本文中介绍下水道堵塞预警装置,通过周期监控下水道的情况,并进行无线通信向外界发布预警信息,在一定程度上解决下水道堵塞问题。但本装置只是从原理上简单实现了监控下水道水深、水速,并进行两个节点之间无线传输的功能,在实际的应用中,仍需考虑到下水道的环境对装置所带来的影响,并对其进行进一步的完善。
参考文献
[1]包亮,王里奥,陈萌,等.基于GPRS的市政下水道气体安全监测预警系统[J].中国给水排水,2009,25(15):39-42.
[2]杨静,梁伟臻,孟庆强.城市下水道可燃有毒气体的监测方法[J].中国给水排水,2005,21(1):89-90.
[3]高承志,马建仓.基于SI1000多路无线遥控开关的设计[J].电子设计工程,2012,20(12):118-123.
[4]张昱,杨健, 赵修金.基于SI1000的无线阀门状态监控器[J].2013, 22(11):90-94.
[5]艾海男,李茂林,何强,等.下水道污水处理研究进展及展望[J].中国给水排水,2013,29(12):1-4.
[6]李光辉,赵军,王智.基于无线传感器网络的森林火灾监测预警系统[J].传感技术学报,2006,19(6):2760-2764.