1. 系统总体设计
点击链接下载prrotues仿真设计资料:https://download.csdn.net/download/m0_51061483/91956675
1.1 设计背景
在现代工业厂房、仓储空间以及住宅环境中,火灾隐患始终是安全管理中的重点问题。尤其是在多房间环境中,火灾可能由不同区域同时或先后发生,如果不能及时识别并采取措施,将极易造成火势蔓延甚至重大损失。因此,设计一种基于单片机的多点火焰与温度联动检测及自动灭火控制系统,能够实现火情的快速检测、精准定位与自动响应,具有重要的现实意义。
传统火灾报警系统往往仅具备单点检测或简单报警功能,缺乏对火情持续时间的判断以及自动灭火能力。本系统通过火焰传感器与温度传感器的联合检测,并结合时间延迟判断机制,实现更加可靠的火灾识别,同时通过继电器控制灭火装置,实现从检测到处理的闭环控制,大大提升系统的智能化水平和安全性。
1.2 系统功能设计
本系统主要实现以下功能:
- 多房间火情检测:系统覆盖1个大房间和2个小房间,实现多点火焰检测;
- 火焰检测功能:通过火焰传感器检测明火信号;
- 温度监测功能:实时采集大房间温度,辅助判断火情;
- 火情定位显示:通过LED数码管显示发生火情的房间编号;
- 延时报警机制:火焰信号持续10秒后触发报警;
- 声光报警功能:通过蜂鸣器和LED进行提示;
- 自动灭火控制:驱动继电器控制对应房间灭火装置;
- 手动控制功能:支持报警消除及手动灭火;
- 状态显示功能:通过LCD显示各房间状态及温度信息;
- 系统启停功能:通过启动键控制系统运行。
2. 系统电路设计
2.1 单片机最小系统电路设计
本系统采用STC89C52单片机作为核心控制器,其稳定性高、资源丰富,适用于多IO控制场景。
最小系统包括:
- 晶振电路:采用11.0592MHz晶振,提供稳定时钟;
- 复位电路:通过RC电路实现上电复位;
- 电源电路:提供稳定5V电压供系统运行。
2.2 火焰检测电路设计
系统共配置4个火焰传感器:
- 大房间:2个火焰传感器,提高检测可靠性;
- 小房间1:1个火焰传感器;
- 小房间2:1个火焰传感器。
设计特点:
- 火焰传感器输出数字信号;
- 直接接入单片机IO口;
- 实现快速响应与实时检测;
- 支持多点并行检测。
2.3 温度检测电路设计
温度检测模块用于辅助火情判断。
设计方案:
- 大房间采用DS18B20数字温度传感器;
- 通过单总线通信与单片机连接;
- 提供高精度温度数据;
- 用于判断是否存在异常升温现象。
2.4 LED数码管显示电路设计
用于显示火情房间编号。
设计要点:
- 采用动态扫描方式;
- 支持显示1~3房间编号;
- 提高显示亮度与稳定性;
- 便于快速定位火源位置。
2.5 LCD显示电路设计
LCD用于显示系统详细信息。
显示内容包括:
- 各房间火焰状态(正常/报警);
- 温度值;
- 系统运行状态;
- 报警提示信息。
2.6 报警电路设计
报警模块由蜂鸣器与LED组成。
设计方案:
- 单片机控制蜂鸣器发声;
- LED闪烁提示;
- 火情确认后启动报警;
- 提高警示效果。
2.7 灭火控制电路设计
灭火控制采用继电器驱动。
设计要点:
- 单片机输出控制信号;
- 三极管驱动继电器;
- 控制灭火设备(如喷淋系统);
- 各房间独立控制。
2.8 按键控制电路设计
系统设置多个按键:
- 启动键;
- 报警消除键;
- 手动灭火键。
设计要点:
- 上拉电阻;
- 软件消抖;
- 独立IO口控制。
2.9 电源与抗干扰设计
为保证系统稳定运行:
- 采用稳压芯片提供稳定电源;
- 加入滤波电容;
- 关键控制电路与执行电路隔离;
- 提高抗干扰能力。
3. 系统程序设计
3.1 程序总体结构设计
系统采用模块化设计,包括数据采集、火情判断、报警控制、灭火控制及显示模块。
主程序如下:
c
void main()
{
System_Init();
while(1)
{
Key_Scan();
Read_Sensors();
Fire_Judge();
Delay_Check();
Alarm_Control();
Fire_Control();
Display_Update();
}
}
3.2 传感器采集程序设计
c
void Read_Sensors()
{
fire_big1 = SENSOR_BIG1;
fire_big2 = SENSOR_BIG2;
fire_small1 = SENSOR_S1;
fire_small2 = SENSOR_S2;
temperature = DS18B20_Read();
}
该模块负责采集所有火焰与温度数据。
3.3 火情判断程序设计
c
void Fire_Judge()
{
if(fire_big1 || fire_big2)
fire_room = 1;
else if(fire_small1)
fire_room = 2;
else if(fire_small2)
fire_room = 3;
else
fire_room = 0;
}
实现火情房间定位。
3.4 延时确认程序设计
c
void Delay_Check()
{
if(fire_room != 0)
{
fire_time++;
if(fire_time >= 10)
alarm_flag = 1;
}
else
{
fire_time = 0;
alarm_flag = 0;
}
}
用于防止误报警。
3.5 报警控制程序设计
c
void Alarm_Control()
{
if(alarm_flag)
{
BEEP = 1;
LED = ~LED;
}
else
{
BEEP = 0;
}
}
实现声光报警。
3.6 灭火控制程序设计
c
void Fire_Control()
{
if(alarm_flag)
{
if(fire_room == 1) RELAY1 = 1;
if(fire_room == 2) RELAY2 = 1;
if(fire_room == 3) RELAY3 = 1;
}
}
控制对应房间灭火装置。
3.7 报警复位程序设计
c
void Reset_Process()
{
if(KEY_RESET == 0)
{
alarm_flag = 0;
RELAY1 = RELAY2 = RELAY3 = 0;
}
}
实现人工干预。
3.8 显示程序设计
c
void Display_Update()
{
SEG_Display(fire_room);
LCD_ShowString(0,0,"Temp:");
LCD_ShowNum(5,0,temperature,2);
}
显示火情及温度信息。
3.9 系统初始化程序设计
c
void System_Init()
{
LCD_Init();
Sensor_Init();
Relay_Init();
Timer_Init();
}
完成系统初始化。
4. 系统总结
本系统基于单片机实现了多房间火焰与温度联动检测及自动灭火控制功能,通过火焰检测、温度辅助判断以及延时确认机制,有效提高了火灾识别的准确性。
在电路设计方面,各模块划分清晰,具备良好的抗干扰能力;在程序设计方面,采用模块化与状态机控制相结合的方式,使系统逻辑严谨、运行稳定。
系统不仅能够实现火情报警,还能自动启动灭火装置,并支持人工干预,具有较高的安全性和实用价值,可广泛应用于智能安防领域。