原创 基于单片机的火焰报警系统包括DS18B20温度检测,火焰传感器的防火报警,通过串口通信发送到安卓手机显示。串口通信用HC-05的主从蓝牙模块实现。

2023-4-27 16:07 1426 8 8 分类: MCU/ 嵌入式

研究内容

基于安卓的防火报警系统,主要检测温度和火焰,再通过单片机控制相应的报警和驱动负载。通过液晶显示当前的是否有火焰和温度值,通过LED和蜂鸣器做相应的提示,并通过蓝牙串口发送到app显示。

该项目主要是为了完成任务,包括:

(1)硬件部分:包括传感器的选择,显示模块的选择,温度转换电路的设计,火焰感应电路的设计。

(2)软件部分:包括微处理器控制程序的编制和原理图的绘制。

(3)系统的综合调试与分析:在软硬件完成以后,要对系统进行综合的测试与实验,分析系统的可靠性与实用性,调整系统的不足。


防火报警的总体方案设计

本题目主要是实现火焰报警和火灾发生时的报警及温度控制,下面分别对系统功能要求、系统技术要求及系统实现方案总体阐述。

2.1系统的功能要求

本系统的研制主要包括以下几项功能:

(1)火情探测功能:为了提高火灾报警的准确性和及时性,火灾报警系统需要使用各种方法进行火灾探测。在实际使用中,根据不同的防火场所,用户可以选用温度探测法、可燃气体检测法及光照探测法等合适的火灾探测方法,来有效的探测火灾;

(2)温度报警功能:当室内温度过大、有火情产生、故障等异常情况发生时,报警器要进行灯光报警。当温度超过最大设定值时,可以蜂鸣器报警。

2.2 系统的技术要求

在了解这个系统的工作原理以及功能之后,我们就可以基本确定系统的技术要求。系统采用的单片机处理器成本都比较低,可以满足批量生产和各类工程的需求。对于完整的一个系统而言,为提高市场的竞争力,这个系统应符合体积小、功耗低、数传性能可靠和成本低廉等技术要求。具体指标和参数如下:

(1)体积小:探测器的体积要尽可能的小,这样占用的空间才能减少,使用和更换才会方便;

(2)功耗低:系统可以采用三节5号干电池供电或5v电源供电。

(3)可靠性高:由于不确定的电磁干扰可能存在在系统工作环境中,为了保证系统长时间的可靠工作,以及减少误报次数,所以选择多指示灯,指示不同的状态。

2.3 系统的组成及方案设计

本设计主要由火焰传感器电路、单片机、灯光报警电路、负载驱动电路、温度检测电路、控制程序和编解码程序等组成。

系统的组成结构如下:

图 2. 1

3 系统的硬件设计

原理图

图 3. 1

上图3.1是由AD19所画的。

实时显示是否有火焰与温度,共有三个报警值。检测到火焰则LED1警告,低温LED2警告,高温先是LED3警告,超过最大值则蜂鸣器报警。

3.1 主控电路

C51单片机是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89C51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。本次使用的STC12C5A60S2继承C51的全部功能,完美兼容C51单片机的所有程序。主要功能如表3.1所示,其DIP封装如图3.2所示


表3.1:STC89C51主要功能

主要功能特性
兼容MCS51指令系统
4K可反复擦写Flash ROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能


STC89C52引脚介绍

① 主电源引脚(2根)

VCC(Pin40):电源输入,接+5V电源

GND(Pin20):接地线

②外接晶振引脚(2根)

XTAL1(Pin19):片内振荡电路的输入端

XTAL2(Pin20):片内振荡电路的输出端

③控制引脚(4根)

RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):地址锁存允许信号

PSEN(Pin29):外部存储器读选通信号

EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

④可编程输入/输出引脚(32根)

STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7

作频率35Mhz,6T/12T可选。


图 3. 2 单片机DIP封装图


最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,使单片机完成较复杂的功能。

STC12C5A60S2是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用STC12C5A60S2单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,结构如图2-3所示,由于集成度的限制,最小应用系统只能用作一些小型的控制单元。


图 3. 3 最小系统原理框图

(1) 时钟电路

STC12C5A60S2单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。内部时钟方式如图2-4所示。在STC12C5A60S2单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。晶振CYS的振荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。

图 3. 4 内部时钟电路

(2) 复位电路

当在STC12C5A60S2单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。

最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。

除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST(9)端与电源Vcc接通而实现的。

图 3. 5 复位电路图


(3) STC89C51中断技术概述

中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片内的中断系统来实现的。当中断请求源发出中断请求时,如果中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。

图3.6为整个中断响应和处理过程。

图 3. 6中断响应和处理过程

如果单片机没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上。采用中断技术完全消除了单片机在查询方式中的等待现象,大大地提高了单片机的工作效率和实时性。

3.2 火焰传感器电路的设计

图 3. 7 火焰传感器

如图3.7所示,通电之后,把数据口接到单片机,单片机判断火焰传感器的数据传输电平高低来实现对火焰的感应。

3.2.1 火焰传感器的介绍

1、可以检测火焰或者波长在760纳米心1100纳米范围内的光源;

2、探测角度60度左右,对火焰光谱特别灵敏3灵敏度可调(图中蓝色数字电位器调节);

3、对火焰的探测距离:跟灵敏度和火焰强度有关,一般1m以内适用(以打火机火焰测试,半米内能够触发传感器);

4、工作电压3.3V-5V;

5、输出形式:

a模拟量电压输出

b数字开关量输出(0和1)。

3.2.2火感原理

图 3. 8 火感原理图

火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。

3.3温度检测电路的设计

图 3. 9 DS18B20


3.5报警电路设计

图 3. 12 蜂鸣器报警电路

图 3. 13 LED报警电路

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。三极管Q1起开关作用,其基极的低电平使三极管饱和导通,使蜂鸣器发声;而基极高电平则使三极管关闭,蜂鸣器停止发声。
LED英文单词的缩写,主要含义:LED = Light Emitting Diode,发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光;它改变了白炽灯钨丝发光与节能灯三基色粉发光的原理,而采用电场发光。据分析,LED的特点非常明显,寿命长、光效高、辐射低与功耗低。
本次实训通过这两个模块实现报警功能。

3.6HC-05蓝牙模块设计

图 3. 14 蓝牙模块
基本实现过程概述,用USB转TTL的CH340模块连接HC-05,通过电脑配置波特率、从机模式、蓝牙连接密码、用户名称等。将配置好的HC-05连接单片机,TXD与RXD跟单片机的交叉相连,实现通信。再由安卓手机蓝牙配对,实现实时防火报警功能。

3.6.1HC-05介绍

ATK-HC05V1l是一款高性能的主从一体蓝牙串口模块,可以同各种带蓝牙功能的电脑、蓝牙主机、手机、PDA、PSP等智能终端配对,该模块支持非常宽的波特率范围:4800~-1382400,并且模块兼容5V或3.3V单片机系统。

若使用HC-05与手机配对通信,需进行以下设置:

  • 、AT+NAME=
  • 、AT+CMODE=1
  • 、AT+UART=9600,0,0
  • 、AT+PSWD=<1234>

经过配置,即可实现蓝牙模块与单片机之间的通信。便于实时监控温度、火情等,从而实现基于安卓的防火报警。

3.6.2HC-05与手机通信

经配置好的内容,如下图

图 3. 15 HC-05配置

经上图的相关配置,用手机安卓串口助手,实现实时通信

图 3. 16 手机显示数据


实训的软件设计

4.1 软件介绍

Keil C51是Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KeilC51如下如所示

图 4. 1 keilC51界面

4.2 实训程序流程图


5防火报警调试及结论

5.1 调试

首先,检验程序与电路的相关接口是否相符,电路是否能实现预期的效果,不能实现的原因是什么等等。期间,所遇到的最大的难题就是DS18B20温度的获取及LCD1602的显示问题。结果是没有添加中断,使得内存出现混乱的缘故。除此之外也没什么问题,起初得到题目的时候,先等待所需的元器件。设计思路就是,把各个模块都分别实现,然后进行整体的整合。我主要负责这个,原理图跟流程图由另外两个同学完成。我则负责补充。

5.2 结论

本设计的防火报警由传感器电路与无线通信电路两大部分构成。控制处理器是以管脚资源丰富的STC12C5A60S2为核心,实现对探测器写入信号和对信号进行编译等人机交互功能。应用程序以C语言编写,充分利用芯片的内部资源,提高了代码执行效率,减小了代码的容量。但是,由于本人在各方面的知识不够全面,再加上时间紧迫以及实验条件的限制,该报警器还有较多需要提高的地方。比如:自行调节报警值,烟雾传感探测,蓝牙的局限性等。作品是不断完善的,想要做得更好,就应该根据不同的场景设计不同模块的功能,对防火报警进行更好的监控,防患于未然。

作者: 小羡, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-4026945.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条