本文摘要:摘要:设计了一款智能晾衣架系统。系统采用STC89C52RC单片机为控制器,利用直流电机正反转,控制晾衣架的伸缩,主要由无线遥控模块、光线检测模块、湿度检测模块和电机执行机构组成。 无线遥控模块主要采用315M无线收发模块、SC2262-IR和SC2272-m4编解码芯片
摘要:设计了一款智能晾衣架系统。系统采用STC89C52RC单片机为控制器,利用直流电机正反转,控制晾衣架的伸缩,主要由无线遥控模块、光线检测模块、湿度检测模块和电机执行机构组成。
无线遥控模块主要采用315M无线收发模块、SC2262-IR和SC2272-m4编解码芯片进行无线通信;光线检测主要是利用光敏电阻来检测光照度,经过三极管发射极送给单片机P1.0,满足相应条件时,单片机输出经继电器驱动电机执行机构;湿度检测模块,主要由DHT11传感器控制电路来实现,超过阈值时电机改变转动方向,实现晾衣架的智能控制;电机执行机构,主要由单片机P3.0和P3.5输出,通过三极管驱动控制继电器的吸合和关断,从而控制电机的动作。经验证,该系统通过按键调节可实现晾衣架的手动与自动模式切换,功能较全面,实用性强。
关键词:智能,DHT11传感器,光敏电阻,无线遥控,直流电机
0引言
随着智能家居的快速发展与广泛应用,对晾衣架的智能化也提出了更高的要求。基于单片机的智能晾衣架系统有手动和自动两种模式,手动模式与传统晾衣架功能一样,自动模式能自动识别白天和夜晚,雨天与晴天,使衣物在干燥晴天得到晾晒,夜晚或阴雨天自动收回,也可在一定距离范围内通过遥控来控制晾衣架伸缩,通过限位开关将晾衣架的伸缩控制在合理的范围之内[1]。该晾衣架系统结构简单,功能丰富,可以满足不同用户的需求,具有一定的推广使用价值。
1硬件原理框图设计
智能晾衣架设计采用STC89C52RC为主控芯片,利用光敏电阻检测光照强度,利用温湿度传感器检测环境的湿度,超过阈值则晾衣架的电机进行动作实现晾衣架的智能化,湿度的测量值可通过两位一体共阴极数码管进行显示,直观方便,同时,通过遥控器按键也可控制晾衣架动作。
用红黄蓝三种颜色LED小灯指示晾衣架的工作状态,红灯用于工作模式选择指示,红灯灭时,表示手动遥控模式,通过遥控按键控制晾衣架的伸缩功能;红灯亮时,表示自动模式,当湿度大于80%RH或者光敏电阻检测到是夜晚时,黄灯亮,电机反转,执行晾衣架收回功能,当蓝灯亮时,说明湿度小于80%RH并且光敏电阻检测到是白天,电机正转执行晾衣架伸出功能[2]。通过模式选择开关按键进行模式切换,模式切换或者按下伸缩限位开关时,蜂鸣器报警提示。
2软件编程
2.1湿度检测模块设计
湿度检测模块主要采用温湿度传感器DHT11来检测,其湿度量程为20%-90%RH,温湿度传感器2脚是输出引脚,接5K上拉电阻,与单片机P2.0相连接,定义为“sbitDATA=P2^0;”。
由于用光敏电阻对光照进行检测,所以温湿度传感器主要用其湿度控制功能。DHT11采用单总线方式,即数据的读写都占用同一根总线,所以编写操作程序都必须严格按照时序进行,即单片机发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit数据,高位在先,并触发一次信号采集,用户可选择读取部分数据。
数据格式为“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和”[3],由DHT11时序得知,主机先发送复位信号给从机,主机拉低总线至少18ms,通过执行语句“DATA=0;delay_ms(20);”拉低20ms,然后再拉高总线,由上拉电阻拉高延时20us-40us,程序编写可取中间值30us(“DATA=1;delay_us(30);”),主机发送完复位信号。
DHT11发送响应信号,检测到复位信号后,触发一次采样,并拉低总线80us表示响应信号,通知主机数据已准备好,如果有低电平响应,则接着判断从机DHT11是否拉高总线80us,如果拉高80us,之后开始传输数据进入数据接收状态[4]。为了防止中断干扰总线时序,操作前先关总中断(“EA=0”),操作完毕再打开(“EA=1”)。
判断DHT11响应的主要代码如下:if(!DATA)//判断从机是否有低电平响应{U8FLAG=2;while((!DATA)&&U8FLAG++);//等待DHT11拉低总线80USU8FLAG=2;while((DATA)&&U8FLAG++);//等待DHT11释放总线80USCOM();//读湿度函数U8RH_data_H_temp=U8comdata;//湿度整数部分COM();U8RH_data_L_temp=U8comdata;//湿度小数部分COM();U8T_data_H_temp=U8comdata;//温度整数部分COM();U8T_data_L_temp=U8comdata;//温度小数部分COM();U8checkdata_temp=U8comdata;
//校验八位DATA=1;U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);//数据校验如果数据校验正确则有返回值(“return1”),否则DHT11传感器不响应(“return0”)。
其中“COM”函数为湿度读取函数,设计思路是,当50US低电平后,拉高总线,判断高电平持续时间,如果是“26-28US”表示数据“0”,“70US”则为数据“1”,然后按照高位在先的顺序传送数据。
2.2无线遥控模块设计
数据发射时,按键分别和SC2262-IR的数据端11脚、12脚和13脚连接,实现模式切换、晾衣架伸出和收缩功能。数据发射模块的工作频率为315M,采用315M无线发射板,按键按下,SC2262-IR编码芯片的17脚和发送模块315M的3脚相连,通过315M模块发送数据,SC2272-m4和315M无线接收模块组合电路将接收到信号进行解码,解码的数据通过SC2272-m4的11脚、12脚和13脚输出,再经过三极管反相后送到单片机P1.1、P1.2和P1.3端口,单片机处理后从P3.0和P3.5输出控制继电器的吸合与关断,从而控制电机转动方向。在仿真图里直接用按键开关接到单片机的相应端口[5]。
P1.1是进行自动手动模式切换功能,当该位位“0”时,说明切换模式已选择,同时设置切换标志位(“change_flag”),当切换标志位为“1”时,执行手动模式选择,即无线遥控操作,当切换标志位为“0”时,切换到自动模式。
遥控模式时,进一步判断伸出按键是否按下,当伸出按键按下并且没有按下伸出限位开关时,晾衣架伸出,同时,单片机的P3.0输出为低电平,经与三极管Q1相连的继电器吸合,电机正转,伸出指示灯(P1.5)点亮,再按一次则停止伸出,伸出指示灯熄灭,操作完成后通过语句“while(!in_go);”释放伸出按键开关[6]。
主要代码如下:elseif(change_flag==1)//手动模式选择{if((in_go==0)&&(limit_go==1))//伸出按键是否按下{delay(50);//延时去抖if((in_go==0)&&(limit_go==1))//再次判断按键状态{buzz=0;delay(200);//按键音,蜂鸣器提示buzz=1;out_back=1;//禁止收回
out_go=~out_go;//按一下伸出,再按下,停止动作led_back=1;//收回指示灯灭led_go=out_go;//晾衣架伸出时,伸出指示灯亮flag_shan1=0;}while(!in_go);//释放伸出按键}同样思路,可以编写遥控按键收回、按下伸出限位开关和按下收回限位开关程序。
2.3显示模块与主函数设计
程序编译时从主函数开始执行,主函数里设置开机默认为自动模式(“led_zhishi=0;”),在程序开始定义为“sbitled_zhishi=P1^7;”,初始化定时器,在“while”语句里调用工作模式切换函数和数码管显示函数,用“if”语句判断,当湿度转换完成时,只读取湿度的整数部分(“humidity=U8RH_data_H;”),并且设定湿度阈值为80%RH,数码管上只显示数值[7]。
数码管显示函数主要实现对湿度整数部分进行个位和十位的显示,个位显示语句为“P0=table[humidity%10];”,十位显示语句为“P0=table[humidity/10];”,通过P0口进行段选显示。位选由P2.2和P2.1控制,P2.2接数码管个位位选引脚,个位显示时P2.2为低电平,P2.1接数码管十位位选引脚,十位显示时P2.1为低电平,由于动态显示速度快,所以看上去是同时点亮。
3电路仿真与实物制作
电路仿真时,为了形象直观,用按键开关直接控制单片机来驱动电机的转动。发送模块主要由SC2262-IR和315M发射模块分组成,对应的接收模块电路主要由SC2272-m4和315M接收模块组成,接收到的信号由SC2272-m4的11,12和13引脚输出经三极管反相后送给单片机P1.1,P1.2和P1.3端口[8]。
仿真部分直接用按键开关连接到了单片机的P1.1,P1.2和P1.3,省略了遥控部分,效果与实物制作一致,当前仿真图显示自动模式状态,光敏电阻显示为白天并且湿度小于阈值时(“if(light==1&&flag_HH==0)”),其中,定义光敏电阻经三极管输出接单片机P1.0,声明语句为“sbitlight=P1^0;”,变量“flag_HH”在主函数设置湿度阈值时赋值,超过阈值置1,不超过阈值清零。
其中左边为系统控制板,右边为遥控电路,实物制作安装了无线接收与发送模块,可以实现远距离控制,实用性更强,实物图中当前状态显示超过阈值范围黄灯亮,电机反转,晾衣架收回功能[10]。
4总结
基于STC89C52RC单片机的智能晾衣架,可以通过无线遥控控制晾衣架的伸缩,到一定程度按下限位开关时电机停转,蜂鸣器报警,能够自动根据环境的光线和周围环境湿度调整电机转动来控制晾衣架的伸缩,晾衣架伸缩时,或工作模式切换时,对应指示灯分别点亮指示[11]。经仿真与实验验证,该智能晾衣架系统设计优良、使用方便、功能丰富,具有一定的推广和实用价值。
参考文献
[1]谈敏.智能晾衣架创新设计与控制系统研究[J].机电工程技术,2018(5):133-135.
[2]荆海霞,李洪义.一种智能晾衣架系统的设计[J].机电一体化,2016(7):57-60.
[3]李素云,覃若宝.基于多传感器的智能晾衣架设计[J].山东工业技术,2016(3):128.
[4]周静红.基于单片机控制的智能晾衣架控制系统的设计[J].电子技术,2014(10):68-69.
[5]王琪,许应风.基于单片机的智能晾衣架设计[J].现代计算机(专业版),2017(28):60-64.
电子论文投稿刊物:《山西电子技术》(双月刊)创刊于1973年,由山西省电子研究院、山西省电子学会主办。本刊是山西省电子信息产业唯一公开发行的专业技术期刊。在30年的办刊过程中,刊物一直坚持电子信息行业交流信息,探讨技术的园地,主要宣传报道电子信息领域新技术、新成果;为我省电子信息产业发展服务的办刊宗旨。
转载请注明来自发表学术论文网:http://www.fbxslw.com/dzlw/20693.html