一、功能概述
项目名称:基于单片机的天然气泄漏报警系统设计
项目编号:dz-914
主控芯片:STC89C52
本系统具备以下核心功能:
- 采用MQ-5气体传感器实时监测环境中天然气浓度,当浓度超过设定上限时,自动启动通风装置,并触发声光报警机制;
- 利用DS18B20温度传感器采集当前环境温度,若温度超出预设阈值,系统将自动开启通风并同步启动声光报警;
- 配备按键模块,支持用户自定义设置温度与天然气浓度的报警阈值;
- LCD1602液晶显示屏用于实时显示环境温度及可燃气体浓度数据;
- 集成蓝牙通信模块,实现检测数据上传至手机端,用户可通过手机远程配置参数并控制通风设备的启停。
二、系统结构框图
设计工具:VISIO
本系统以STC89C51单片机作为核心控制单元,协同多个功能模块共同构成完整的控制系统架构。整个系统由中央处理单元、输入模块和输出模块三大部分组成。
中央控制器:选用STC89C51单片机,负责接收来自各输入模块的数据信号,进行逻辑分析与判断,并据此发出相应的控制指令驱动输出设备工作。
输入部分包含四个子模块:
- 温度检测模块:通过DS18B20传感器获取当前环境温度信息;
- 天然气检测模块:利用MQ-5传感器配合ADC转换模块,对环境中可燃气体浓度进行采样;
- 按键输入模块:实现界面切换、数值调整以及工作模式选择等功能;
- 电源供电模块:为整个系统提供稳定电力支持。
输出部分包括三个关键模块:
- 显示模块:使用LCD1602屏幕展示实时监测数据及参数设置界面;
- 继电器控制模块:通过继电器通断控制外部通风电机的运行状态;
- 声光报警模块:一旦监测值超过设定限值,立即启动灯光闪烁与蜂鸣器报警。
此外,蓝牙模块兼具输入与输出双重功能:一方面将现场采集的数据无线传输至用户手机;另一方面接收来自手机端的控制命令,用于修改报警阈值或远程操控通风开关。系统整体结构如图3.1所示。
三、实物展示图
所用单片机型号:STM32F103C8T6
PCB板为绿色双层设计,板厚1.2mm,上下两面均覆铜接地,提升系统抗干扰能力。元器件以直插式为主,部分电源管理芯片采用贴片封装以节省空间。
供电接口类型:Type-C 接口,便于连接常用充电线缆。
四、电路原理图说明
设计软件版本:Altium Designer 2013
电路连接方式采用网络标号进行电气连接,提高图纸可读性与布线效率。
请注意:所提供的原理图仅展示各功能模块的外部引脚连接关系,并未涉及模块内部具体电路结构。
五、PCB布局图说明
PCB图由原理图导入生成,大部分元器件封装由作者自行绘制完成,不单独提供封装库文件,仅提供已完整连线的源工程文件。PCB采用双层板设计,顶层与底层均做覆铜处理并接地,增强电磁兼容性能。
板上设有项目编号标识,位置隐藏于单片机插座下方,安装单片机后该编号将被遮挡不可见。
六、程序代码片段展示
开发环境:Keil uVision5
软件架构采用模块化设计,主控逻辑代码位于main.c文件中,各类外设驱动程序则分别置于独立的.c源文件中,实现功能解耦,便于维护与升级。
/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
if(display_num == 0) //测量界面
{
if(temp_value > temp_max || TRQ_value > TRQ_max) //温度大于设置最大值或者天然气大于最大值时,通风机打开,并声光报警
{
RELAY_TF = 0;
flag_TF = 0;
if(time_num % 20 == 0)
{
ALERT = !ALERT;
}
}
else //否则,停止通风,停止声光报警
{
if(flag_TF == 0)
{
RELAY_TF = 1;
}
ALERT = 1;
}
}

雷达卡


京公网安备 11010802022788号







