[摘 要] 本设计拟开发一种湿度感应智能晾衣杆系统 , 此新型晾衣杆是以单片机为主控芯片
来控制的实时检测系统 . 该系统使用 DHT11 温湿度传感器来检测大气的温湿度 , 然后通过单
片机处理信息来控制 28BYJ - 48 型步进电动机完成收晾衣服的工作 , 并且由单片机控制蜂鸣
器实现报警 , 从而来实现智能收晾衣服以及报警的功能 .
[关键词] 单片机 ; DHT11 ; 温湿度 ; 28BYJ - 48 步进电动机
随着人们生活质量的提高 , 各种自动化电子电器设备在我们生活中变得随处可见, 如路灯自控装置、 塑料大棚自控装备 、 防盗系统自控 , 等等. 一直以来 , 人们都习惯于把洗好的衣服放到太阳下面晒干, 可是当我们在阳光明媚时候把衣服晾出去, 恰好我们又要出门 . 如果突然下起雨来, 那本来要干的衣服又被淋湿了 , 让人十分烦恼, 而如今的空气污染日益严重 , 雨滴中含有大量灰尘等物质. 随着电子智能的进步 , 我们希望有一个“ 活 ” 的晾衣杆 , 在我们不在家而天气突然转阴或下雨时, 它能帮我们把衣服收起来 . 本设计基于 AT89S52 单片机的湿度感应自动收缩晾衣杆以期为人们解除苦恼.
1 基于单片机的湿度智能晾衣杆组成
该仪器主要由湿度测量 、 信号转换与输送系统、 伸缩系统 3 个部分组成 , 具体结构如图 1 所示. 首先 , 湿度测量部分的工作是由湿度传感器来实现的, 其可以实时地检测到的空气湿度情况提供给下一部分设备; 然后 , 信号转换与输送系统是由 AT89S52 单片机来完成的 , 单片机接受到传感器的湿度信号后将其处理转化为所需的稳定的电信号; 最后 , 经过分析处理后的电信号传输给单相异步电动机组成的伸缩系统后, 该系统根据大气的湿度来控制电动机带动车轮向室内移动或者向室外移动完成其伸缩功能. 具体结构如图 1 所示 .
这个系统是基于 AT89S52 单片机控制的实时检测系统, 具有价格低 、 比较实用 、 方便节能的优点, 对爱养花护花者来说具有实实在在的使用价值, 也对家庭自动化的发展起到一定的作用 .
2 系统工作原理
本湿度智能晾衣杆是以 AT89S52 单片机 : 8位 AD + PWM 输出为主控制器件 . 首先传感器经过信号放大, 再进入 ADC 转换 , 传给单片机处理. 选用的 HC02 电容型湿度传感器将检测到湿度情况并将其转化为具体的湿度参数, 将转化后的湿度信号传送给单片机, 单片机将采集到的信号经过处理后转化成电信号传送给射频通信电路; 然后 , 射频通信电路将接收到的数据输送给单相异步电动机所组成的伸缩系统, 伸缩系统再控制伸缩晾衣杆的伸缩即可 .
3 系统硬件设计
3. 1 温湿度传感器电路
3. 1. 1 DHT11 数字传感器性能与应用电路
DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器. 它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性. 传感器包括一个电阻式感湿元件和一个 NTC 测温元件, 并与一个高性能 8 位单片机相连接 . 因此该产品具有品质卓越、 超快响应 、 抗干扰能力强 、性价比极高等优点. 每个 DHT11 传感器都在极为精确的湿度校验室中进行校准. 校准系数以程序的形式储存在 OTP 内存中 , 传感器内部在检测信号的处理过程中要调用这些校准系数. 单线制串行接口, 使系统集成变得简易快捷 . 超小的体积、 极低的功耗 , 信号传输距离可达 20 m 以上, 使其成为各类应用甚至最为苛刻的应用场合的最佳选择. 产品为 4 针单排引脚封装 . 连接方便, 特殊封装形式可根据用户需求而提供 .接口说明如图 2 所示 .
3. 1. 2 DHT11
数字传感器电源引脚以及串行接口电源引脚: DHT11 的供电电压为 3 ~ 5. 5 V.传感器上电后, 要等待 1 s 以越过不稳定状态在此期间无需发送任何指令. 电 源 引 脚 ( VDD ,GND) 之间可增加一个 100 nF 的电容 , 用以去耦滤波.
串行接口 : DATA 用于微处理器与 DHT11 之间的通讯和同步, 采用单总线数据格式 , 一次通讯时间 4 ms 左右 , 数据分小数部分和整数部分 ,具体格式在下面说明, 当前小数部分用于以后扩展, 现读出为零 . 操作流程为一次完整的数据传输为 40 bit , 高位先出 . 数据格式 : 8 bit 湿度整数数据 + 8 bit 湿度小数数据 + 8bit 温度整数数据+ 8 bit 温度小数数据 + 8 bit 校验和数据传送正确时校验和数据等于“ 8 bit 湿度整数数据 + 8 bit湿度小数数据 + 8 bit 温度整数数据 + 8 bit 温度小数数据” 所得结果的末 8 位 .
用户 MCU 发送一次开始信号后 , DHT11 从低功耗模式转换到高速模式, 等待主机开始信号结束后, DHT11 发送响应信号 , 送出 40 bit 的数据, 并触发一次信号采集 , 用户可选择读取部分数据. 从模式下 , DHT11 接收到开始信号触发一次温湿度采集, 如果没有接收到主机发送开始信号, DHT11 不会主动进行温湿度采集 . 采集数据后转换到低速模式,过程如图 3 所示.
总线空闲状态为高电平 , 主机把总线拉低等待 DHT11 响 应 , 主机把总线拉低必须大于 18ms, 保证 DHT11 能检测到起始信号 . DHT11 接收到主机的开始信号后, 等待主机开始信号结束 ,然后发送 80 μ s 低电平响应信号 . 主机发送开始信号 结 束 后, 延 时 等 待 20 ~ 40 μ s 后 , 读 取DHT11 的响应信号 , 主机发送开始信号后 , 可以切换到输入模式, 或者输出高电平均可 , 总线由上拉电阻拉高, 过程如图 4 所示 .
总线为低电平 , 说明 DHT11 发送响应信号 ,DHT11 发送响应信号后 , 再把总线拉高 80 μ s ,准备发送数据, 每一 bit 数据都以 50 μ s 低电平时隙开始, 高电平的长短定了数据位是 0 还是 1.格式如图 5 所示 . 如果读取响应信号为高电平 ,则 DHT11 没有响应 , 请检查线路是否连接正常。当最后一个 bit 数据传送完毕后,DHT11 拉低总 线 50 μ s , 随后总线由上拉电阻拉高进入闲 状 态.
3. 2 单片机最小系统电路
复位电路和时钟电路都是单片机最小系统的基本部分. 复位电路通常采用上电自动复位和按键复位两种方式. 本系统选用按键手动复位 ,这种方式方便、 简单 、 容易操作 . 它是通过 RST端经电阻与电源 VCC 接通而实现的 .
单片机各功能部件的运行都是以时钟控制信号为基准, 有条不紊地一拍一拍地工作 . 因此 ,时钟频率直接影响单片机的速度, 时钟电路的质量也直接影响单片机的稳定性. 时钟电路设计有内部时钟方式和外部时钟方式两种 . 本系统采用内部时钟方式, 具体电路如图 6 所示 .
3. 3 液晶显示
液晶显示模块具有体积小 、 功耗低 、 显示内容丰富等特点, 现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件. 因此 , 在这里采用的是液晶 1602B 字母显示屏型 , 它可以显示2 行每行 16 个英文字符 , 有 8 位数据总线 D0- D7 和 RS , R/W , EN 等 3 个控制端口 , 工作电压为 5 V , 并且带有字符对比度调节和背光 . 该模块也可以只用 D4 - D7 作为 4 位数据分两次传送 . 这样的话可以节省 MCU 的 I/O 口资源 . 下面就对此型号的显示器进行简单的介绍.1602B 引脚说明如表 1 所示 .
3. 4 步进电机与驱动电路
步进电机是一种将电脉冲转化为角位移的执行机构. 当步进驱动器接收到一个脉冲信号 ,它就驱动步进电机按设定的方向转动一个固定的角度( 及步进角 ) . 可以通过控制脉冲个来控制角位移量, 从而达到准确定位的目的 ; 同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调速的目的 .
步进电机 28BYJ48 型 4 相 8 拍电机 , 电压为DC5 ~ 12 V. 当对步进电机施加一系列连续不断的控制脉冲时, 它可以连续不断地转动 . 每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次, 也就对应转子转过一定的角度( 一个步距角 ) .驱动模块电路, 由于单片机接口信号不够大需要通过 ULN2003 放大再连接到相应的电机接口 , 具体电路如图 7 所示 .
电机正反转部分程序如下 .
void motor_ccw ( void )
{ uchar i ,
j
;
for ( j = 0 ; j < 8 ; j + + ) / / 电机旋转一周 , 不是外面所
看到的一周 , 是里面的传动轮转了一周
{ if ( K3 = = 0 )
{
break ; / / 如果 K3 按下 , 退出此循环
}
for ( i = 0 ; i < 8 ; i + + ) / / 旋转 45°
{
P0 = CCW [ i ];
delaynms ( 10 ) ; / / 调节转速
} } }
4 系统软件设计和仿真图
4. 1 程序流程图
程序流程如图 8 所示 .
4. 2 程序设计
C 语言是一种计算机程序设计语言 . 它既有高级语言的特点, 又具有汇编语言的特点 . 它可以作为系统设计语言, 编写工作系统应用程序 ,也可以作为应用程序设计语言, 编写不依赖计算机硬件的应用程序. C 语言对操作系统和系统使用程序以及需要对硬件进行操作的场合, 用 C 语言明显优于其它解释型高级语言. C 语言具有绘图能力强, 可移植性 , 并具备很强的数据处理能力, 因此适于编写系统软件 , 而且它是数值计算的高级语言. 所以本次设计采用 C 语言编程 .
4. 3 系统设计仿真图
系统设计仿真图如图 9 所示 .
5 结语
本设计采用 AT89S52 作为主控芯片 , 设计了一种智能的温湿度自动晾衣杆. 信号转换与输送系统是由单片机来完成的, 单片机接受到 DHT11温湿度传感器的温湿度信号后将其处理转化为所需的稳定电信号. 经过分析处理后的电信号传输给单相异步电动机组成的伸缩系统. 该系统根据大气的湿度来控制电动机带动传动轮向室内移动或者向室外移动完成其伸缩功能, 完全实现自动化控制.