基于单片机的温度烟雾与漏电综合火灾报警系统设计
基于单片机的温度烟雾与漏电综合火灾报警系统设计
点击下载资料:https://download.csdn.net/download/m0_51061483/91956678
1. 系统功能概述
本系统是一种集温度、烟雾及漏电检测于一体的综合型火灾安全监控系统。系统以单片机为核心控制单元,通过温度传感器、烟雾传感器和电流传感器(ACS712)对环境参数进行实时采集与分析,利用多参数联动逻辑,实现高可靠性的火灾报警与漏电保护功能。系统不仅能在异常情况下发出声光报警提示,还支持用户根据不同使用场景设置报警阈值,从而适应工厂、仓库、住宅等多种环境的安全需求。
系统主要实现以下功能:
- 多参数监测:同时检测温度、烟雾浓度以及电流变化,综合判断火灾或漏电风险。
- 动态显示功能:通过数码管动态显示当前温度值、烟雾浓度和电流值,实时反映环境状态。
- 阈值自定义设置:通过按键设置报警阈值,满足不同环境的安全标准与用户偏好。
- 声光报警功能:当检测到任意参数超过设定阈值,蜂鸣器和LED指示灯立即启动报警。
- 漏电保护机制:实时检测用电设备电流变化,若电流异常或超过设定范围,则立即报警并切断电源,防止电气火灾。
- 高稳定性与实时响应:采用高精度采样和智能判断算法,确保报警的准确性和响应速度。
系统以**“主动监测、快速响应、安全可靠”**为设计理念,具有很强的实用性与可扩展性,可广泛应用于智能家居、工厂安全监控、公共场所防火系统等领域。
2. 系统电路设计
整个系统以STC89C52单片机为核心,构成包括温度检测电路、烟雾检测电路、漏电检测电路、按键输入模块、数码管显示模块、蜂鸣器与LED报警模块等部分。系统的整体设计遵循模块化思想,每个功能单元独立运行,同时通过单片机协调,实现数据采集、分析与控制输出的闭环逻辑。
2.1 单片机主控模块
单片机选用STC89C52,它是一种基于8051内核的8位高性能微控制器,具备丰富的I/O口资源与强大的运算能力,能够满足多传感器信号处理的需求。
主要特性如下:
- 工作电压范围5V,功耗低;
- 拥有8KB Flash程序存储空间,可满足控制程序需求;
- 内置定时器、串口通信接口与外部中断功能;
- 提供丰富的并行I/O口,便于传感器、数码管、蜂鸣器等外设连接。
在系统中,单片机承担以下任务:
- 采集温度、烟雾、电流传感器的信号;
- 执行数据转换与报警逻辑判断;
- 控制数码管显示内容;
- 触发蜂鸣器和LED进行报警。
2.2 温度检测模块
温度检测采用DS18B20数字温度传感器。该传感器具有高精度、单总线接口及无需外部A/D转换的特点,适用于本系统的实时温度采集。
其主要参数如下:
- 测量范围:-55℃ ~ +125℃;
- 精度:±0.5℃;
- 输出格式:9~12位数字信号;
- 通信方式:单总线通信,与单片机直接连接。
单片机通过定时读取DS18B20的数字信号,并将结果转换为摄氏温度显示在数码管上。当温度超过设定阈值(如60℃)时,系统自动启动报警。
2.3 烟雾检测模块
烟雾检测部分采用MQ-2烟雾传感器,该模块可检测多种可燃气体(如甲烷、丙烷、烟雾等)。
其输出信号包括:
- 模拟信号(与烟雾浓度成比例);
- 数字信号(通过比较器输出,高/低电平反映是否超过设定浓度)。
系统中使用模拟信号输入单片机A/D接口(通过PCF8591模数转换芯片实现),采集烟雾浓度的模拟值。单片机根据用户设定阈值(如浓度值>150)判断是否报警。
2.4 漏电检测模块
漏电检测部分采用ACS712电流传感器,用于实时监测电流变化,从而判断是否存在漏电或电流过载风险。
主要特性:
- 额定检测范围:±5A;
- 模拟输出电压与电流成比例(中心电压2.5V,灵敏度185mV/A);
- 线性度高、响应时间快。
单片机周期性读取ACS712输出电压,经换算得出实际电流值。如果电流超过用户设定阈值(如2A),系统立即启动蜂鸣器报警并可联动继电器切断电源。
2.5 数码管显示模块
显示部分采用四位共阴极数码管,由单片机动态扫描驱动。
显示内容包括:
- 当前温度值(℃);
- 烟雾浓度值(ppm);
- 实时电流值(A)。
通过显示切换逻辑,系统每隔1秒切换显示不同的监测参数,使用户能全面了解当前环境状态。
2.6 按键设置模块
按键模块用于用户设置报警阈值及切换显示内容。
设计按键如下:
- 模式切换键:切换显示温度、烟雾或电流;
- 阈值+键 / 阈值–键:调节报警阈值;
- 确认键:保存设置参数。
按键接口采用独立方式,外接上拉电阻,按下时输出低电平信号,单片机检测到状态变化后执行相应操作。程序中加入软件消抖机制以避免误触发。
2.7 声光报警模块
报警模块由蜂鸣器与LED指示灯构成,用于在系统检测到异常状态时进行提示。
- 当温度、烟雾或电流任一超限时,蜂鸣器发出警报声,LED闪烁提示;
- 若同时有多项超标,蜂鸣器保持长鸣状态,提示紧急状况。
单片机通过控制I/O口输出高低电平,驱动蜂鸣器与LED工作。
3. 程序设计
系统程序采用模块化设计思路,主要包括主程序模块、温度检测模块、烟雾检测模块、漏电检测模块、数码管显示模块、按键控制模块及报警处理模块。各模块协同工作,确保数据采集、判断与报警的逻辑闭环。
3.1 主程序设计
主程序负责系统初始化、数据采集、判断逻辑与报警控制等核心任务。程序运行循环不断执行数据采样与状态更新。
#include <reg52.h>
#include "ds18b20.h"
#include "pcf8591.h"
#include "acs712.h"
#include "display.h"
#include "key.h"
#include "alarm.h"void main() {init_system(); // 初始化端口、定时器、显示、传感器while(1) {read_temperature();read_smoke();read_current();display_update();key_process();alarm_check();}
}
3.2 温度采集模块
温度采集模块通过DS18B20单总线通信方式读取温度数据。
float read_temperature(void) {unsigned int temp_value;temp_value = DS18B20_Read();temperature = temp_value * 0.0625; // 转换为实际温度return temperature;
}
程序每隔500ms更新一次温度数据,并与用户设定阈值比较,若超出则触发报警标志位。
3.3 烟雾浓度检测模块
通过PCF8591 A/D转换器将MQ-2传感器输出的模拟电压转换为数字信号。
int read_smoke(void) {int value = PCF8591_Read(0); // 读取A0通道smoke = (value / 255.0) * 500; // 模拟烟雾浓度换算return smoke;
}
程序根据浓度值判断当前空气质量状态:
- <100:正常
- 100~200:轻微烟雾
-
200:报警
3.4 漏电检测模块
通过读取ACS712输出电压计算电流值,判断是否存在漏电。
float read_current(void) {int adc_value = PCF8591_Read(1); // A1通道读取电流信号float voltage = (adc_value / 255.0) * 5.0;current = (voltage - 2.5) / 0.185;return current;
}
若检测电流超过设定阈值(例如2.0A),系统进入漏电报警状态。
3.5 按键控制模块
按键处理模块实现模式切换与报警阈值设置。
void key_process(void) {unsigned char key_val = key_scan();switch(key_val) {case KEY_MODE: mode_switch(); break;case KEY_UP: increase_threshold(); break;case KEY_DOWN: decrease_threshold(); break;case KEY_OK: save_threshold(); break;}
}
通过全局变量记录当前阈值与模式状态,保证用户设置能被实时应用。
3.6 数码管显示模块
显示模块动态切换显示温度、烟雾和电流值,采用定时中断刷新扫描。
void display_update(void) {switch(display_mode) {case TEMP_MODE: show_value(temperature); break;case SMOKE_MODE: show_value(smoke); break;case CURRENT_MODE: show_value(current); break;}
}
每秒切换一次显示内容,直观显示三项关键参数。
3.7 报警处理模块
报警模块通过综合判断当前各参数是否超限,控制蜂鸣器与LED的报警状态。
void alarm_check(void) {if(temperature > temp_threshold || smoke > smoke_threshold || current > current_threshold) {buzzer_on();led_flash();} else {buzzer_off();led_off();}
}
此逻辑保证任何一项异常都能触发系统报警,从而实现全面安全防护。
4. 系统总体运行原理
系统上电后,首先初始化单片机端口、传感器和显示模块。随后进入主循环,不断读取温度、烟雾和电流信号,并将数据动态显示在数码管上。若检测值超出用户设定阈值,系统立即发出声光报警,提示用户采取安全措施。
当环境恢复正常后,报警自动解除,系统重新进入实时监测状态。通过按键操作,用户可以灵活调整报警阈值,以适应不同环境条件和安全要求。
整个系统实现了**“多参数联合检测 + 智能判断 + 声光报警”**的闭环控制逻辑,具备高实时性、可靠性和可操作性。该设计不仅能有效预防火灾与漏电事故,还可为后续智能家居与安全监控系统的拓展提供技术基础。