基于单片机的火灾防盗监控系统的设计与仿真_毕业设计(论文)

发布时间 : 星期一 文章基于单片机的火灾防盗监控系统的设计与仿真_毕业设计(论文)更新完毕开始阅读

开始 初始化 传感器预热、故障检测 键盘处理 Y 是否按下模式切换 N A/D转换 平均值法滤波 线性化处理 Y 是否超过报警限 N 浓度显示 设置指示灯状态 报警限设置 报警子程序

图4.1 火灾监控主程序流程图

4.1.2 火灾监控各部分子程序 (1)初始化子程序

主程序初始化流程图如下图所示。这部分实现的功能包括各种I/O输入输出状态的设定、寄存器初始化、中断使能等。首先设定定时器工作方式,然后开系统中断,以便响应中断定时,及时对气体浓度和温度进行采样。然后关闭蜂鸣器,开启绿灯,设置报警限初值。

开始 定时器初始化 开 中 断 关闭蜂鸣器,打开绿灯 N 是否保持报警初值 Y 返回 设定初值

图4.2 主程序初始化流程图

(2)滤波子程序

在对气体浓度采样时,可能会遇到尖峰脉冲干扰的现象,这种干扰通常只影响个别采样点的数据,得到的数据与其他采样点的数据相差比较大,所以要进行处理。如果采用一般的平均值法,则干扰信号将被―平均‖到计算结果上去,故平均值法不易消除由于脉冲干扰而引起的烟雾浓度采样值的偏差。因此,我们提出去极值平均滤波法,即先对N个采样数据进行比较,去掉其中的最大值和最小值,然后计算余下的N–2个数据的算术平均值。这种方法既可滤去脉冲干扰又可滤去小型的随机干扰,以保证报警器检测烟雾浓度的准确性,减小误报、错报的可能。

操作流程如下图所示,首先设定采样次数,调用A/D采样子程序进行采样,每次采样完采样次数自增1,当达到采样达到提前设定的采样次数后对采样值进行处理,即先排序,去掉第一个个最后一个最大最小值,将剩余的第2到第9个采样值累加求和,再求平均,最后将处理后的数据送入寄存器存储。

开 始 设定采样次数 调用A/D采样 N 已达到设定次数Y 将采样值排序 求第二个到第九个采样值的累加和 将累加和求平均值 送入寄存器

图4.3 滤波子程序流程图

(3)线性化子程序

本论文报警器使用的TGS-202型传感器的电阻是随着可燃气体浓度值的升高而降低的,因此输入单片机的电压也是随之降低的。电压值与气体浓度之间是非线性的关系,为了实时显示烟雾浓度需要对其进行线性化处理。在误差许可范围内,根据标定曲线形状,以及单片机处理能力,把曲线分成若干小段,对每小段分别线性化根据分段线性插值法求输入单片机的某一电压值对应的烟雾浓度的 公式如下:

(4.1)

式中,N为所分区间个数,f(x)为实际烟雾检测浓度,x为实际气体检测浓

度对应的电压值,xi是区间的下限浓度对应电压值,xi+1是区间的上限浓度对应电压值,f(xi)为区间下限烟雾浓度值,f(xi+1)为区间上限烟雾浓度值。分段插值法线性化程序流程图如图4.4所示:

读取滤波电压 X 差别并确定X所在的电压区间 求电压值X与所在区间下限差Xm=X-Xi 求X所在区间的上下限浓度值的差Z=f(Xi+1)-f(Xi) 求上下限电压值的差Xd=Xi+1-Xi 求Z与Xd的比值 K=Z/Xd 求K与X的和S=K*Xm 求f(X)=f(Xi)+S 保存浓度值 返 回 图4.4 线性化子程序流程图

开 始 (4)报警子程序

当烟雾浓度或温度值超过报警限设定值时,单片机会接收信号控制蜂鸣器发声,对应指示灯会闪亮以提示操作人员采取安全对策或自动控制相关安全装置,从而保障生产安全,避免火灾和爆炸事故的发生。

为防止误报,在程序设计上,对烟雾浓度和温度进行快速重复检测和延时报警,以区别出时管道中烟雾的泄露,还是由于暂时打开阀门产生的可燃烟雾的微

联系合同范文客服:xxxxx#qq.com(#替换为@)