基于SRF04超声波传感器的全自动水位控制器设计与实现
SRF04 + L293D + PIC16F84A 全自动水位控制器硬件设计与固件实现指南
项目背景与动机
水箱/水塔水位监控与自动补排水是民用住宅、商业楼宇、工业设施的刚性刚需。传统人工巡检/浮球阀方案存在:响应滞后、机械故障率高、溢水浪费/缺水停产风险、无远程感知能力等痛点。超声波测距+单片机控制+电机驱动构成的闭环系统,实现低成本、免维护、高可靠的自动化水位管理。

系统总体架构
SRF04超声波测距模块安装于水箱顶部,发射40kHz超声脉冲,水面反射回波。单片机测量发射-接收时间差 Δt,换算水面距离 d = v×Δt/2 (v≈340m/s)。依据水位区间驱动L293D控制直流水泵正反转/停止。
水位区间控制逻辑表
| 测量距离范围 | 水位状态 | 控制动作 | L293D控制信号 (IN1, IN2, EN1) |
|---|---|---|---|
| 0 - 1 cm | 溢水/过高 | 水泵反转排水 | (LOW, HIGH, HIGH) |
| 2 - 5 cm | 满水/正常高位 | 水泵停止 | (HIGH, HIGH, HIGH) 或 (LOW, LOW, HIGH) |
| > 5 cm | 缺水/低水位 | 水泵正转供水 | (HIGH, LOW, HIGH) |
核心硬件选型与参数
SRF04 超声波测距模块
- 工作电压:5V TTL电平
- 触发脉冲:≥10μs 高电平
- 发射序列:8周期 40kHz 方波
- 回波信号:Echo引脚高电平宽度 = 往返飞行时间
- 换算系数:58μs/cm (即 1cm 对应 58μs 脉宽)
- 量程:3cm - 3m,分辨率 0.3cm


PIC16F84A 单片机关键资源
- CMOS 8-bit, 18引脚, Flash程序存储
- 单个8-bit Timer0 (含8-bit可编程预分频)
- 关键寄存器:OPTION_REG (T0CS位选定时/计数模式)、TMR0 (计数寄存器)、INTCON (T0IE位溢出中断标志)
- RA4/T0CKI 引脚:外部时钟输入,直接接收Echo脉冲计数

L293D H桥电机驱动器
- 16引脚双H桥,双通道独立控制,峰值电流600mA/通道
- EN1/EN2 使能引脚(高有效)
- IN1/IN2 控制通道1方向,IN3/IN4 控制通道2方向
- 逻辑真值表见上表

电平转接关键细节
SRF04为TTL输出(VOH≥2.4V),PIC16F84A为CMOS输入(VIH≥0.7VCC≈3.5V@5V供电)、**直接连接不可靠**。方案:Echo线上拉1kΩ电阻至VCC,将TTL高电平拉升至CMOS可靠识别区。同理Trigger信号建议加缓冲或确保单片机输出高电平>2.4V。
固件核心算法流程
- 初始化:Timer0配置为计数模式(T0CS=1),预分频1:1,TMR0预置200(倒数55次溢出)
- 主循环:
- RB0输出10μs触发脉冲 → SRF04 Trigger
- 等待Echo上升沿,清零TMR0,开启Timer0计数
- 等待Echo下降沿,关闭Timer0,读取溢出次数 × 256 + TMR0残值 = 总计数 N
- 距离计算:d(cm) = N × (定时器分辨率) / 58。本设计中每个Echo脉冲约58μs,Timer0按机器周期计数,经标定后直接用回波计数近似距离(cm)
- 按区间表执行L293D控制逻辑
- 延时稳定期(如1-5秒)进入下一周期
系统优势与局限性分析
核心优势
- 非接触测量:无机械浮球/电极腐蚀/结垢/卡滞故障模式
- 低成本BOM:核心器件成本<50元人民币,极具推广性
- 全自动闭环:消除人工巡检、误操作、响应延迟
- 固态可靠性:无运动部件磨损,MTBF显著优于机械浮球阀
已知局限与改进方向
- 传感器环境适应性:超声波换能器在高湿/冷凝/粉尘环境易阻尼衰减,需加装防护罩/加热除雾/定期校准
- 拓扑约束:本设计要求水泵与水箱物理距离近(控制线直连)。屋顶水箱+地下室潜水泵场景需引入**无线通信模块(LoRa/4G/NB-IoT/ZigBee)** 或**有线总线(RS485/CAN)** 实现远程控制
- 单点故障:单传感器无冗余,关键场景建议双传感器互备+投票逻辑
- 功耗优化:电池供电场景需引入睡眠唤醒/低功耗单片机(MSP430/STM32L/ESP32)
- 算法鲁棒性:多次采样中位值滤波、异常值剔除、温度补偿声速修正
工程落地检查清单
- [ ] 机械安装:传感器垂直朝下、距水面最小盲区>3cm、避开进水口扰流区
- [ ] 电气隔离:水泵电源与控制电源隔离、浪涌保护、接地规范
- [ ] 参数标定:实测不同水位对应计数值,建立查表/拟合曲线替代理论换算
- [ ] 防抖逻辑:水位临界区滞回比较(如上限5cm/下限6cm)防止频繁启停
- [ ] 失效保护:传感器故障/通信中断/看门狗复位时水泵默认安全状态(通常停泵报警)
- [ ] 合规性:涉及饮用水需符合卫生标准、涉及消防需符合GB 50974等规范
延伸项目:雨水/雪/水检测报警电路设计
工业技术