摘 要: 普通空气加湿器加湿范围有限,无法调节整个室内湿度。设计了智能家居小车可移动地对室内加湿,利用单片机控制技术、PID控制、模糊控制完成对整个室内湿度的平衡,并可以对温度过高以及烟雾浓度进行监测,对室内可能发生的火灾预警。
关键词: 智能;家居;小车
0 引言
气候干燥,空气湿度过小,不仅令人不适,还有利于一些细菌和病菌的繁殖和传播。试验表明,50%~60%的相对湿度对人体最为舒适,老人和小孩适合的室内湿度为45%~50%,而目前市面上能买到的空气加湿器无法准确达到此范围,而且也达不到室内均匀加湿。为此,本文设了智能家居小车,可移动地对室内加湿,实现室内温度的平衡,而且增加了温度及其烟雾预警系统。在没有空调的办公场所,特别是寝室环境,造价低廉的智能家居小车是非常实用的。
1 设计原理
本文设计的智能家居小车以STC12C5A60S2单片机作为主控芯片,通过DHT22温湿度传感器采集空气温湿度信息,通过HC-SR04超声波传感器采集距离信息,通过MQ-2烟雾传感器采集烟雾信息,将湿度信息传输至主控芯片,对加湿器进行模糊控制和PID精确控制以调节湿度到指定湿度;同时将烟雾信息和温度信息返回给主控芯片,当室内温度或烟雾浓度不正常时,及时利用蜂鸣器报警。主控芯片通过超声波传感器返回的信息控制电机,使小车在室内自动避障,并且利用采集回的湿度信息使小车趋于湿度低的片区。系统总体框图如图1所示。
2 硬件设计
2.1 MCU模块
以STC12C5A60S2单片机作为主控芯片,这款单片机为增强型8051CPU,1 280 B RAM,2路PWM输出,8路高速10A/D转换,工作电压为3.3 V~5.5 V,60 KB存储空间,4个16位定时器,MAX810复位电路,双串口,7路外部中断I/O口,通用全双工异步串行口。采用STC-ICP程序烧录软件对单片机烧录程序。对应电路如图2所示。
2.2 自动加湿模块
DHT22数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它采用专用的数字采集技术和温湿度传感技术。传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连,因此具有响应超快、抗干扰能力强、性价比极高等优点。每个DHT22传感器都在极为精确的湿度校验室中进行校准,校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。DHT22传感器信号传输距离可达20 m以上,其测量条件为-20℃~80℃,湿度精度为±5%RH,温度精度小于±0.5℃;单总线接口,一次通信时间为5 ms。直接使用MCU控制其空气加湿器出雾量。
2.3 烟雾及其温度模块
MQ-2烟雾传感器应用于气体泄漏检测、十一液化气、丁烷、甲烷、酒精、氢气、烟雾等探测,其使用温度为-10℃~50℃,储存温度为-20℃~70℃,相对湿度小于 ±95%RH。DHT22数字温湿度传感器返回的温度以及MQ-2烟雾传感器返回的烟雾浓度控制报警模块是否报警。
2.4 避障模块
避障模块主要通过HC-SR04超声波传感器采集距离信息,判断小车周围障碍物位置,使小车及时躲避,并向相对湿度低的方向移动。HC-SR04超声波测距模块可提供2 cm~400 cm的非接触式距离感测功能,测量角度为15°,测距精度可达高到3 mm。输入触发信号为10 ?滋s的TTL脉冲,超声波时序图如图3所示。
2.5 稳压模块
利用7.4 V电池供电。对于单片机,需要提供稳定的5 V电源,由于LM2940稳压的线性度非常好,因此选用LM2940-5单对其进行供电。LM2596-5转换效率高,带载能力大,但缺点是其纹波电压大,不适合做单片机电源,而其他模块则需要通过较大的电流,对其他模块供电能保证充电的电源。
2.6 显示模块
利用LCD12864显示各个模块采集回来的数据,用于人机交互。LCD12864其分辨率为128×64,通信方式有串行、并行两种,内置汉子词库,使用非常方便。
3 软件设计
程序流程如图4所示。
在打开开关后,首先系统进行初始化,之后LCD显示,整个程序中LCD一直工作,LCD会显示输入需要的湿度值,输入之后开始对温湿度、距离、烟雾浓度进行采集,通知PWM控制电机转动,当烟雾浓度或温度过高时蜂鸣器鸣叫。PID精确控制加湿器加湿。
部分程序如下。
(1)增量式PID控制
void PID()
{
error3=error2;
error2=error1;
error1=E0;
Motor_Past=Motor_PID;
Motor_PID=Motor_Past+P*error1+I*(error1-error2)+D*(error1-2*error2+error3);
Motor_PID=Motor_PID>Motor_Max?Motor_Max:Motor_PID;
Motor_PID=Motor_PID PWM(Motor_PID); } (2)初始化LCD12864液晶 void initLCD() { write_com(0x01);//LCD清屏 delay(1); write_com(0x38);//6×2显示,5×7点阵,8位数据 delay(1); write_com(0x0c);//关光标 delay(1); write_com(0x06);//移动光标 delay(1); } void init() { Tx=0;Rx=1; TMOD=0x01; TH0=(65536-922)/256; TL0=(65536-922)%256; EA=1;ET0=1; delay(500);//启动等待,等LCM进入工作状态 initLCD();//LCM初始化 } 4 结论 普通的加湿器加湿范围有限,无法调节整个室内湿度,无法满足需求,而本文所设计的智能家小车可满足所需,且价格便宜,只与市面上中等档次的加湿器同价位,而且体积小,使用安全。 参考文献 [1] 刘娟.单片机C语言与PROTUES仿真技能实训[M].北京:中国电力出版社,2008. [2] 郭天祥.新概念51单片机C语言教程——入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.