快作相应安全措施。
当烟雾浓度超过报警限,报警器发出鸣叫,用户到达现场,可按下按键停止报警器鸣叫。若过一点时间浓度仍超出报警限,报警器会再次鸣叫提醒用户。
图3.5状态指示灯电路图
图3.6控制按键连接示意图
3.2.5 报警器故障自诊断电路
(1)判断传感器电源连接情况
在传感器的地端串联一个电阻R6。当传感器正常连接时,电阻和传感器分压,此时电阻两端有微弱的电压,单片机可以通过P1.1(AD)口检测到;如果传
感器电源连接不正常,则会产生断路,检测到电阻两端电压为0。
图3.7传感器电源连接自诊断电路
(2)判断传感器信号端连接情况
另一种情况是判断传感器信号端是否连接正确,此时不需要外加电路,在传感器预热2分钟后,测量传感器信号的输出电压,如果电压为5V,则说明传感器的信号端连接不正常。
当报警器自诊断发现传感器连接不正常,就会发出长鸣声音警报,并伴随黄灯闪烁,提醒用户及时排除传感器连接问题。
4. 烟雾检测报警器的软件设计
4.1 STC12系列单片机调试及开发工具
系统的软件编程使用的是美国KeilSoftware公司出品的KeilC51,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
C51工具包的整体结构中,μVision与Ishell分别是C51forWindows和
forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经C51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
STC12系列单片机下载程序使用的是宏晶科技自行开发的STC单片机ISP下载编程软件。本论文程序调试过程中,使用的是STC-ISP-v3.1版。ISP工具的功能主要是将由PC机串接来的8位并行数据与单片机的串行数据进行相互转换,以实现PC机与STC12C5410AD的RXD及TXD口通讯。当用户将源程序(汇编语言或C语言)经语法检查无误并生成代码时,就可以将程序代码下载到Flash芯片中[31],而用户的系统可以是在线状态。
用户可以通过调试环境软件的人机对话界面,在程序中设置断点,在STC12C5410AD中,可以同时设置3个硬件断点,它是经过串口的传输,由芯片中的几组断点条件寄存器实现的。
用户可以通过调试环境软件的人机对话界面,检查或修改Flash芯片内的各种存储器、寄存器的数据。
4.2 烟雾检测报警器软件流程及设计
本论文中,软件解决的主要问题是检测烟雾传感器的烟雾浓度信号,然后对信号进行AD转换,数字滤波,线性化处理,段式液晶浓度显示,按键功能设置,以及报警器声光警报。
4.2.1 主程序设计及流程图
主程序流程图如图4.1所示。首先要给传感器预热三分钟,因为MQ-2型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。程序初始化结束后,系统进入监控状态。本论文的主程序设计先对传感器预热三分钟,预热同时,对传感器加热丝故障检
测,采用软件方式检测传感器加热丝或电缆线是否断线或者接触不良。
STC12C5410AD单片机对传感器检测的烟雾浓度信号进行A/D转换、平均值法滤波、线性化处理后,将浓度值与报警限设定值相比较,判断是否报警。同时送入段式液晶显示烟雾浓度值。主程序还包括状态指示灯及按键功能设置,中断子程序等,使报警器功能更加完善,给用户带来便利。
图4.1主程序流程图
4.2.2 主程序初始化流程图
主程序初始化流程图如图4.2所示。给传感器预热后,程序开始执行初始化子程序,这部分实现的功能包括各种I/O口输入输出状态的设定、寄存器初始化、中断使能等。首先设定定时初值50ms,利用IAP写入EEPROM,作为取值间隔。然后设置定时器0,选择方式1。方式1状态下定时器的工作寄存器TH1、TL1
是全16位参与操作。接下来定时器0中断允许位置1,打开定时器0,关闭蜂鸣器,开启绿灯,设置报警限初值。
图4.2主程序初始化流程图
4.2.3 中位值平均滤波法数字滤波子程序设计及流程图
在烟雾传感器对烟雾浓度采样时,可能会遇到尖脉冲干扰的现象。干扰通常只影响个别采样点的数据,此数据与其他采样点的数据相差比较大。
如果采用一般的平均值法,则干扰将“平均”到计算结果上去,故平均值法不易消除由于脉冲干扰而引起的烟雾浓度采样值的偏差。
为此,可采取中位值平均滤波法(又称防脉冲干扰平均滤波法),先对N个采样数据进行比较,去掉其中的最大值和最小值,然后计算余下的N–2个数据的算术平均值。这种方法既可滤去脉冲干扰又可滤去小的随机干扰。保证报警器检测烟雾浓度的准确性,减小误报、错报的可能。
在实际应用中,N可取任何值,但为了加快测量计算速度,本论文数字滤波
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的烟雾报警系统 - 图文(8)在线全文阅读。
相关推荐: