1. 项目概述:智能鼠害防治新思路
去年帮老家粮仓解决鼠患问题时,我发现传统捕鼠器存在三大痛点:夜间误触率高(约40%)、需要人工频繁检查、无法统计鼠害分布。这促使我设计了一套基于STM32F103C8T6单片机的智能诱捕系统,经过三个月实地测试,在30平方米的粮仓环境中实现92%的捕获率,误触发控制在3%以下。这套系统最大的特点是采用多传感器融合判断,就像给捕鼠装置装上了"眼睛"和"耳朵",能准确识别老鼠特有的生物特征。
2. 系统设计框架解析
2.1 硬件架构设计
整个系统采用模块化设计,核心部件选型经过严格测试:
- 主控芯片:STM32F103C8T6(72MHz主频,性价比高)
- 传感模块:
- 热释电红外传感器(HC-SR501):探测体温在32-39℃范围内的活体
- 压电薄膜传感器(LDT0-028K):捕捉200-20kHz范围内的啃咬振动
- 微型称重传感器(HX711模块):检测≥50g的重量变化
- 执行机构:6V减速电机(转速15rpm)+ 3D打印的翻板机构
- 通信模块:ESP8266 WiFi模块(AT指令固件)
关键设计要点:所有传感器采用5cm间距三角形布局,形成立体检测区域。实测显示这种布局比线性排列检测率提升27%。
2.2 软件逻辑设计
主程序采用有限状态机(FSM)模型,包含四个核心状态:
c复制enum SystemState {
STANDBY, // 低功耗模式
DETECTING, // 传感器数据采集
TRIGGERING, // 执行机构动作
REPORTING // 数据上传
};
数据融合算法采用加权决策:
python复制def sensor_fusion(ir, sound, weight):
ir_score = 0.7 if ir else 0
sound_score = 0.5 if 2000 < sound < 15000 else 0
weight_score = 0.3 if weight > 50 else 0
return ir_score + sound_score + weight_score > 1.2
3. 核心硬件实现细节
3.1 传感器电路设计
红外传感信号处理电路特别增加了二阶RC滤波(R1=10kΩ, C1=100nF, R2=4.7kΩ, C2=47nF),实测可将环境光干扰降低62%。压电传感器信号经过LM358搭建的两级放大电路(增益约200倍),配合软件端的带通滤波(200Hz-15kHz)。
3.2 机械结构优化
通过SolidWorks模拟发现:
- 翻板角度在55-60度时捕获效率最高
- 门体闭合时间需控制在0.3-0.5秒(太快会产生噪音)
- 最佳诱饵位置距触发点8-10cm
最终采用尼龙+玻纤的3D打印结构,重量仅38g但可承受5kg冲击力。
4. 软件实现关键点
4.1 低功耗设计
通过以下措施使待机电流降至1.2mA:
- 主频降至8MHz(PLL关闭)
- 传感器供电采用MOSFET(IRLZ44N)控制
- 使用RTC唤醒(每2秒唤醒检测)
4.2 抗干扰处理
针对粮仓环境特点:
- 红外信号:采用移动平均滤波(窗口大小=5)
- 声音信号:FFT频谱分析+阈值动态调整
- 重量信号:中值滤波+突变检测
5. 实测数据与优化
在三个月的实地测试中收集到关键数据:
| 指标 | 初期版本 | 优化版本 |
|---|---|---|
| 捕获率 | 76% | 92% |
| 误触发率 | 15% | 3% |
| 响应延迟 | 1.2s | 0.4s |
| 待机功耗 | 3.8mA | 1.2mA |
主要优化措施:
- 将红外传感器安装角度从水平改为向下倾斜15度
- 增加声音信号的短时过零率检测
- 采用PID控制电机转速
6. 常见问题解决方案
6.1 误触发问题排查
- 检查传感器供电电压(需稳定在5V±0.2V)
- 重新校准重量传感器(空载时AD值波动应<5)
- 更新滤波算法参数(建议采样100组环境数据)
6.2 通信故障处理
- ESP8266连接失败时:先发送"AT+RST",等待500ms再初始化
- 数据丢包:在JSON数据包中添加CRC16校验(多项式0x8005)
7. 项目扩展方向
当前系统还可进一步升级:
- 增加NB-IoT模块实现广域监控
- 集成微型摄像头(OV2640)进行图像验证
- 开发鼠害热力图分析功能
我在粮仓部署时发现,每天19:00-21:00是鼠类活动高峰时段,这个数据对设置检测灵敏度很有参考价值。建议在实际部署前,先用红外摄像机观察目标区域的鼠类活动规律。