1. 项目概述:智能风扇系统的设计初衷
去年夏天帮朋友改造老旧工厂的通风系统时,发现传统工业风扇存在两个痛点:一是固定风速导致远离风扇的工人抱怨风量不足,而靠近风扇的工位又嫌风力过强;二是持续全速运转带来的高能耗问题。这促使我开始思考如何用嵌入式技术实现智能化改造,最终形成了这套基于STM32的人群定位调速系统。
该系统核心在于通过热释电红外传感器阵列检测人员分布,STM32F103主控实时分析数据后,采用PWM动态调节风扇转速和角度。与市面普通变频风扇相比,我们的方案有三个创新点:一是采用分区扫描算法降低传感器误报率;二是开发了基于人员密度的非线性调速策略;三是通过手机APP实现远程模式切换,实测节能效果达到40%以上。
2. 硬件架构设计解析
2.1 主控选型与外围电路
选择STM32F103C8T6作为主控主要基于三点考量:首先其72MHz主频足够处理传感器数据并运行控制算法;其次内置的硬件PWM模块可直接驱动电机;最后成本控制在20元以内符合项目预算。实际搭建时需要注意:
- 电源部分采用AMS1117-3.3V稳压芯片,输入电容建议选用10μF钽电容,输出端并联0.1μF陶瓷电容消除高频噪声
- 调试接口预留SWD四线接口(VCC、GND、SWDIO、SWCLK),比JTAG节省引脚
- 电机驱动选用L298N模块时,务必在输出端加装1N5819续流二极管保护MOS管
关键提示:PCB布局时需将晶振尽量靠近芯片,走线长度不超过10mm,两侧接地铜箔要对称,否则可能导致时钟不稳定。
2.2 传感器网络部署
采用8个RE200B热释电传感器组成环形阵列,每个传感器对应45度扇形区域。为提高检测精度,设计时特别注意:
- 菲涅尔透镜选用型号为KDS244,其探测距离可调范围2-5米
- 传感器输出信号先经过LM358搭建的两级放大电路(增益约1000倍)
- 比较器参考电压设置为1.2V,可通过电位器微调灵敏度
测试数据表明,该配置下人体移动检测准确率达到92%,静态存在检测也有78%的可靠性。为降低误报,软件层面还加入了持续300ms的信号验证机制。
3. 核心算法实现细节
3.1 人员分布解析算法
主控每100ms轮询一次传感器状态,通过以下公式计算各区域人员密度:
code复制密度系数 = (触发次数 × 持续时间) / 采样周期
根据实测数据将密度分为三级:
- 低密度(系数<0.3):仅维持基础转速(30%占空比)
- 中密度(0.3≤系数<0.7):线性提升至60%占空比
- 高密度(系数≥0.7):启动涡轮模式(85%占空比)
3.2 电机控制策略
对于常见的4极交流风扇电机,PWM频率设置为16kHz可有效避免可闻噪声。调速曲线采用S型函数平滑过渡:
code复制目标转速 = 基础转速 + (最大转速 - 基础转速) × (1/(1+e^(-k×密度系数)))
其中k值通过实验确定为2.5,响应时间控制在3秒内完成变速。特别当检测到区域间密度差异超过40%时,会启动摆头功能实现定向送风。
4. 软件架构与实现
4.1 主程序流程图解析
系统上电后按以下流程运行:
- 初始化时钟、GPIO、ADC、TIM等外设
- 加载EEPROM中存储的用户预设参数
- 启动FreeRTOS创建三个任务:
- 传感器数据采集(优先级3)
- 核心控制算法(优先级2)
- 通信接口处理(优先级1)
- 进入主循环执行状态机调度
中断服务例程特别处理:
- TIM2中断:每10ms更新一次PWM占空比
- EXTI中断:处理传感器信号边沿触发
- USART1中断:处理蓝牙AT指令
4.2 手机APP通信协议
通过HC-05蓝牙模块实现手机控制,自定义的通信协议包含以下指令格式:
code复制[起始符][长度][命令字][参数][校验和]
典型指令示例:
- 风速调节:
0xAA 0x04 0xA1 0x50 0x45(设置50%转速) - 模式切换:
0xAA 0x03 0xB2 0x01 0xB6(启用自动模式)
安卓端采用Android Studio开发,重点优化了以下功能:
- 使用MPAndroidChart实时显示各区域密度热力图
- 通过SharedPreferences保存用户偏好设置
- 蓝牙重连机制保证通信可靠性
5. 系统调试与优化
5.1 常见问题排查指南
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 传感器持续误触发 | 1. 电源纹波过大 2. 透镜安装偏移 |
1. 增加LC滤波电路 2. 重新校准传感器角度 |
| 电机转速不稳 | 1. PWM频率设置不当 2. 电机缺相 |
1. 调整TIM分频值 2. 检查驱动电路焊接 |
| 蓝牙连接超时 | 1. 模块未进入AT模式 2. 波特率不匹配 |
1. 检查KEY引脚电平 2. 核对双方波特率设置 |
5.2 性能优化记录
在实验室环境进行72小时连续测试后,通过以下改进提升系统稳定性:
- 在传感器信号输入端增加TVS二极管防护ESD
- 将FreeRTOS的堆栈大小从128字节调整为256字节
- 修改控制算法中的滤波窗口从5点扩大到7点
- 对电机驱动添加温度监控,超过60℃自动降频
实测数据显示优化后系统响应时间从1.2s缩短到0.8s,误动作次数降低83%。功耗方面,待机电流仅15mA,满载工作电流也不超过800mA。
6. 项目扩展方向
当前系统已实现基础功能,但仍有提升空间。下一步计划:
- 增加毫米波雷达模块,提升静态人员检测精度
- 开发基于机器学习的风速预测算法
- 接入物联网平台实现多设备联动
- 改用SiC功率器件进一步提升能效
实际部署在30㎡车间测试时,配合吊扇安装高度2.8米的工况,测得夏季平均温度降低3℃,工人满意度调查显示84%的参与者认为舒适度明显改善。整套材料成本约280元,按工业电费计算预计11个月可收回投资。
