1. 项目背景与设计目标
厨房作为家庭火灾高发区域,其安全隐患主要来自三个方面:燃气泄漏(天然气/甲烷/煤气)、明火失控和电气线路故障。传统烟雾报警器只能被动响应,而现代智能厨房安全系统需要具备主动监测、快速响应和远程通知能力。本设计基于STM32F103C8T6单片机,整合了多传感器融合检测、机械联动控制和物联网报警功能,实现了从感知到处置的完整闭环。
关键设计指标:燃气检测灵敏度≤500ppm(甲烷)、火焰响应时间<3秒、系统整体功耗<5W(待机状态)
在实际开发中,我们特别关注三个核心痛点:
- 误报率控制:通过传感器数据融合算法降低环境干扰影响
- 响应速度优化:采用中断驱动架构确保毫秒级响应
- 机械可靠性:舵机阀门需在3秒内完成90度旋转动作
2. 硬件系统架构解析
2.1 核心控制器选型
选用STM32F103C8T6作为主控芯片,主要基于以下考量:
- 72MHz Cortex-M3内核提供充足计算能力
- 内置12位ADC满足传感器采样精度需求
- 多达7个定时器支持PWM输出控制(舵机、风扇调速)
- 成本控制在20元以内,适合批量部署
2.2 传感器模块设计
2.2.1 燃气检测方案
采用MQ-4半导体气体传感器,其特性参数:
- 检测范围:300-10000ppm(甲烷)
- 加热电压:5V±0.1V(需稳定供电)
- 负载电阻:20kΩ(影响灵敏度)
传感器标定方法:
c复制// 标定参考代码
#define CLEAN_AIR_RL 20.0 // 洁净空气负载电阻(kΩ)
#define RO_CLEAN_AIR 9.83 // 洁净空气传感器电阻值
float MQ4_Calibration() {
float rs_air = (5.0 * CLEAN_AIR_RL) / analogRead(MQ4_PIN) - CLEAN_AIR_RL;
return rs_air / RO_CLEAN_AIR;
}
2.2.2 火焰检测方案
选用远红外火焰传感器(型号:KY-026),关键参数:
- 检测角度:≤60度
- 响应波长:760-1100nm
- 探测距离:0.5-7米(与火焰大小相关)
2.3 执行机构设计
| 执行器 | 控制方式 | 关键参数 | 安全设计 |
|---|---|---|---|
| 微型水泵 | 继电器控制 | 12V/2A | 干接点隔离 |
| 排气风扇 | PWM调速 | 5V/0.5A | 过流保护 |
| 舵机阀门 | 位置伺服 | 180°旋转 | 机械限位 |
重要提示:所有执行机构必须通过光耦隔离,避免大电流干扰MCU运行
3. 软件系统实现细节
3.1 主程序流程图
c复制void main() {
Hardware_Init();
while(1) {
Gas_Detection();
Flame_Detection();
Mode_Handler();
Display_Update();
IoT_Report();
}
}
3.2 关键算法实现
3.2.1 燃气浓度滑动滤波算法
c复制#define FILTER_LEN 5
float gas_filter_buf[FILTER_LEN];
float Gas_Filter(float new_val) {
static int index = 0;
gas_filter_buf[index++] = new_val;
if(index >= FILTER_LEN) index = 0;
float sum = 0;
for(int i=0; i<FILTER_LEN; i++) {
sum += gas_filter_buf[i];
}
return sum / FILTER_LEN;
}
3.2.2 多传感器融合判断逻辑
c复制uint8_t Danger_Judgment() {
if(flame_status && (gas_conc > DANGER_THRESHOLD))
return FIRE_EXPLOSION;
else if(gas_conc > WARNING_THRESHOLD)
return GAS_LEAK;
else if(flame_status)
return FIRE_ALARM;
else
return SAFE;
}
3.3 物联网通信协议
采用MQTT协议上传报警信息,数据包格式示例:
json复制{
"device_id": "KITCHEN_001",
"timestamp": 1634567890,
"gas_conc": 1200,
"flame": true,
"action": "VALVE_CLOSE",
"location": "厨房东侧"
}
4. 系统调试与优化
4.1 传感器校准记录
| 传感器 | 校准环境 | 标准值 | 测量值 | 误差 |
|---|---|---|---|---|
| MQ-4 | 1000ppm甲烷 | 1000 | 1050 | +5% |
| KY-026 | 1m处打火机火焰 | 检测 | 正常 | - |
| DHT11 | 25℃/60%RH | 25/60 | 24/58 | -4%/-3% |
4.2 常见问题排查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 燃气误报警 | 厨房油烟干扰 | 调整MQ-4灵敏度电位器 |
| 水泵不启动 | 继电器触点氧化 | 更换继电器或打磨触点 |
| TFT显示异常 | 排线接触不良 | 重新压接FPC连接器 |
| 舵机抖动 | 电源功率不足 | 单独为舵机供电 |
5. 工程实践心得
- 电磁兼容设计:
- 传感器信号线需采用双绞线
- 大功率执行器电源与MCU电源完全隔离
- 所有IO口增加TVS二极管保护
- 机械安装要点:
- 火焰传感器避免正对窗户安装
- 燃气传感器距燃气灶水平距离1-1.5米
- 水泵管路需采用耐高温硅胶管
- 长期运行建议:
- 每月用酒精棉清洁传感器防尘网
- 每季度测试舵机机械结构润滑情况
- 每年更换MQ-4传感器(寿命约1万小时)
本系统在实际部署中,通过增加以下改进显著提升可靠性:
- 在阀门执行机构添加位置反馈传感器
- 采用NB-IoT替代WiFi提高通信稳定性
- 添加备用锂电池(支持72小时待机)
最后需要特别注意的是,任何安全系统都不能100%替代人工检查,建议用户仍要定期进行厨房安全检查,并保持通风良好。系统报警后应及时确认现场情况,避免过度依赖自动化设备。