1. 项目概述
这个车站温度检测系统是我去年为本地公交枢纽站设计的一个实用型项目。当时车站管理人员反映,传统的手持测温枪效率太低,高峰期经常造成入口拥堵。于是我就琢磨着能不能做个自动化的方案,既能快速检测体温,又能用语音提醒异常情况。
系统核心由三部分组成:单片机控制单元、红外测温模块和语音播报模块。当乘客经过检测区域时,红外传感器会在0.5秒内完成体温测量,并通过语音模块播报"体温正常"或"体温异常请复查"。实测下来,这套系统的通行效率比人工检测提升了3倍以上。
2. 硬件选型与电路设计
2.1 核心控制器选择
我最终选用了STM32F103C8T6作为主控芯片,主要基于三点考虑:
- 充足的GPIO接口(37个)可以灵活连接各类外设
- 72MHz主频完全满足实时性要求
- 内置12位ADC便于处理传感器模拟信号
对比过Arduino和51单片机,前者成本偏高,后者性能又稍显不足。这款STM32属于性价比最优解,批量采购单价不到20元。
2.2 红外测温模块配置
采用MLX90614非接触式红外传感器,关键参数如下:
| 参数 | 数值 | 备注 |
|---|---|---|
| 测量范围 | -70~380℃ | 人体测温模式0~50℃ |
| 精度 | ±0.5℃ | 在36~39℃范围内 |
| 响应时间 | <500ms | 典型值300ms |
| 通信接口 | I2C | 标准模式100kHz |
安装时要注意:
- 传感器距地面1.5米(适配成人额头高度)
- 避免阳光直射传感器窗口
- 检测距离控制在5-15cm最佳
2.3 语音模块实现
选用SYN6288中文语音芯片,通过UART与单片机通信。其特点包括:
- 支持GB2312编码
- 可预存32条语音片段
- 信噪比>85dB
- 工作电压3.3-5V
我提前烧录了以下语音内容:
- "叮,体温正常"
- "体温异常,请复查"
- "请靠近测温区"
- "设备启动完成"
3. 软件设计关键点
3.1 主程序流程图
c复制void main() {
硬件初始化();
while(1) {
if(检测到人体接近()) {
当前温度 = 读取红外传感器();
if(温度 > 37.3) {
播放语音(2); // 异常提示
触发报警灯();
} else {
播放语音(1); // 正常提示
}
数据上传服务器();
}
延时(100ms);
}
}
3.2 温度补偿算法
实测发现环境温度会影响测量精度,因此加入了补偿公式:
code复制补偿后温度 = 原始读数 + (25 - 环境温度) × 0.08
其中环境温度由DS18B20数字温度传感器获取。通过这个补偿,冬季低温环境下的测量误差从±1.2℃降低到了±0.3℃。
3.3 抗干扰设计
车站环境电磁干扰严重,采取了以下措施:
- 所有信号线加磁环
- I2C总线加上拉电阻(4.7kΩ)
- 电源输入端增加π型滤波电路
- 关键代码段加入看门狗
4. 现场安装与调试
4.1 机械结构设计
使用3D打印制作了防护外壳,具有以下特点:
- 倾斜30°安装角便于对准额头
- 内部预留散热孔
- 防水防尘等级IP54
- 壁挂/立杆两种安装方式
4.2 校准步骤
- 用标准水银温度计测量已知温度(如36.5℃温水)
- 将传感器对准水面,距离5cm
- 通过串口调试命令写入校准系数
- 重复测试3次取平均值
注意:校准需在环境温度稳定的室内进行,避免空气流动影响
4.3 功耗测试
不同工作模式下的电流消耗:
| 模式 | 电流 | 持续时间 |
|---|---|---|
| 待机 | 15mA | 持续 |
| 测温中 | 85mA | 0.5s |
| 语音播放 | 120mA | 2s |
| 网络传输 | 65mA | 3s |
采用12V/2A电源适配器供电时,可稳定运行24小时不间断工作。
5. 常见问题排查
5.1 温度读数不稳定
可能原因及解决方法:
- 传感器窗口脏污 → 用酒精棉清洁
- 检测距离过远 → 调整至5-15cm范围
- 强光干扰 → 加装遮光罩
- 电源纹波过大 → 检查滤波电容
5.2 语音播放杂音
典型处理流程:
- 检查喇叭阻抗匹配(建议8Ω/1W)
- 测量供电电压是否稳定(4.8-5.2V)
- 确认音频线未与电源线平行走线
- 尝试降低播放音量(通过AT指令)
5.3 通信异常
I2C总线故障排查步骤:
- 用示波器检查SCL/SDA波形
- 确认上拉电阻已正确连接
- 检查设备地址是否冲突(默认0x5A)
- 降低通信速率至50kHz测试
6. 项目优化方向
在实际运行三个月后,我总结了以下改进点:
- 增加人脸检测功能,避免误测其他热源
- 开发微信小程序实时查看数据
- 改用太阳能供电系统
- 添加客流量统计功能
- 优化外壳模具降低生产成本
这套系统目前已在三个车站部署,日均检测量超过2万人次。最让我自豪的是有位老人特意来感谢,说语音提示让他这种不太会用智能手机的人也能方便通行。这种实实在在解决痛点的感觉,就是做项目最大的成就感。