1. 项目概述
在高校教学楼里,经常能看到这样的场景:空无一人的教室灯火通明,炎热的午后风扇却无人开启,投影仪工作时窗帘依然大开。这些看似细小的能源浪费,日积月累却会造成惊人的资源损耗。作为一名长期从事嵌入式开发的工程师,我决定用STM32单片机打造一套能自主思考的教室控制系统,让环境设备像有个"智能管家"一样自动运行。
这个系统最核心的设计理念是"人在服务,人走节能"。通过多传感器协同工作,系统能实时感知教室的人员活动、光照强度和温度变化,并自动调节灯光、窗帘、风扇等设备。实测数据显示,在50人的标准教室中,这套系统每月可节约用电约120度,相当于减少96千克碳排放。
2. 硬件设计解析
2.1 主控芯片选型
选择STM32F103C8T6作为主控主要基于三点考量:
- 性价比突出:零售价仅12-15元,却具备72MHz主频和64KB Flash
- 外设丰富:内置12位ADC、多个定时器和USART接口
- 开发便捷:完善的HAL库支持和丰富的社区资源
注意:采购时需认准"正品丝印",市场上存在打磨重印的假冒芯片,会导致ADC精度不达标。
2.2 传感器网络搭建
2.2.1 人员检测方案
采用HWFS+HWJS双红外模块形成检测矩阵,安装时要注意:
- 模块间距2.5米(标准教室门宽)
- 安装高度1.2米(兼顾站立和坐姿检测)
- 倾斜15°角扩大覆盖范围
实测发现,这种布置方式对进出人员的计数准确率可达98%以上。
2.2.2 环境感知模块
- DS18B20温度传感器:采用防水型号,用热缩管封装后悬挂在教室中央
- 5516光照传感器:加装乳白色遮光罩避免直射光干扰
- D203S热释电传感器:安装在讲台附近,检测教师活动
2.3 执行机构设计
继电器模块选用宏发HFD4系列,关键参数配置:
- 灯光控制:10A触点容量(考虑日光灯启动电流)
- 窗帘电机:带过零检测的固态继电器
- 风扇控制:添加RC吸收电路(抑制电火花)
3. 核心功能实现
3.1 自适应照明控制
光照度分级策略:
c复制#define LIGHT_LOW 100 // 需开灯阈值(lux)
#define LIGHT_HIGH 300 // 需关灯阈值(lux)
void light_control() {
if(people_count > 0) {
if(light_val < LIGHT_LOW && !light_status) {
relay_on(LIGHT_RELAY);
light_status = 1;
}
else if(light_val > LIGHT_HIGH && light_status) {
relay_off(LIGHT_RELAY);
light_status = 0;
}
}
}
3.2 智能温控系统
温度控制采用滞回比较算法:
- 升温至28℃启动风扇
- 降温至26℃关闭风扇
- 无人时立即关闭
实测数据表明,该策略可使教室温度稳定在26±1℃范围内。
3.3 投影仪联动机制
当检测到投影仪开启时(通过电流传感器):
- 立即关闭窗帘(优先级最高)
- 根据光照度调节灯光
- 在OLED显示"投影模式"提示
4. 软件设计要点
4.1 主程序架构
采用时间片轮询设计:
c复制void main() {
hardware_init();
while(1) {
if(timer1_flag) { // 100ms周期
sensor_update();
timer1_flag = 0;
}
if(timer2_flag) { // 500ms周期
display_refresh();
timer2_flag = 0;
}
key_scan();
}
}
4.2 抗干扰设计
针对教室复杂环境特别优化:
- DS18B20添加10K上拉电阻
- 红外传感器信号线加磁珠滤波
- ADC采样采用软件均值滤波(8次采样)
5. 安装调试实录
5.1 现场部署要点
- 传感器布线:采用RVVP屏蔽电缆,避免与强电并行
- 系统供电:单独为控制箱配备UPS备用电源
- 网络配置:添加ESP8266模块可实现手机监控(需二次开发)
5.2 典型问题排查
问题1:人员计数异常
- 现象:无人时计数不为零
- 排查:用示波器检查红外传感器输出
- 解决:调整比较器阈值电压至1.25V
问题2:窗帘电机卡死
- 现象:频繁触发过流保护
- 排查:测量电机启动电流
- 解决:修改PWM软启动参数(200ms斜坡)
6. 优化改进方向
经过三个月实际运行后,发现几个值得改进的点:
- 增加CO₂浓度监测,实现新风系统联动
- 采用TOF替代红外传感器,提升人员检测精度
- 引入机器学习算法,预测设备使用规律
这套系统在保证90%传统使用习惯的前提下,实现了约30%的节能效果。最让我意外的是,许多老师反馈自动化的环境调节让他们能更专注于教学本身,这或许就是智能硬件最有价值的应用场景。
