你的位置:首页 > 新闻资讯 > 行业动态

基于单片机的智能遥控窗帘设计

2018.06.29      点击: 131

随着科技的进步和人们生活水平的提高,越来越多的人们不再满

个单发码按键。当检测到 S1 或者 S2 的命令时,单片机即控制窗帘全

足于普通常规式的窗帘,从而选择智能化的窗帘。基于 51 单片机的

部打开或者全部关上,如要想控制窗帘运动到某一位置时,按一下 S3

红外遥控智能窗帘可以满足人们的需求,在自动模式下,根据光线的

停止键即可。红外遥控模块采用 HS0038 作为接收头,HS0038 属于一

强弱来开关窗帘,光线暗时,黑暗指示灯点亮,窗帘开启,光线亮时,

体化红外接收头,可完成对红外信号的接收、放大、滤波、解码等任

窗帘关闭,电机同时跟着正转或反转半圈;手动模式下,定时时间开

务。该接收头与单片机相连,接收外部信号,实现窗帘的红外遥控。

启和光线检测功能无效,也不能通过遥控控制开关,可通过手动开

2.4  无线接收模块

按键来控制窗帘的开启或关闭,电机同时跟着正转或反转半圈;

本系统的无线接收模块采用华为公司推出的 GTM900-B,该模块

此外,用户还可以在遥控模式下用遥控器控制窗帘的开合。

支持标准 AT 指令。GTM900-B 模块与单片机相连,构成一个手机短

2 硬件电路设计

信遥控模块。无线接收模块主要是用来建立无线信道,接收和发送短

本套装置以遥控器的红外信号和手机短信指令作为控制信号输

消息。单片机接收短消息,并将短消息内容解释为单片机能接受的指

入,以光敏信号和时钟信号为控制条件信号输入,经单片机处理后控

令码,从而远程控制设备按要求执行其短消息指令所规定的动作,并

制直流电机正转、反转,从而控制窗帘的开合。本系统能实现窗帘的

向发信手机回复中文短信,报告指令的执行结果,以及被控设备的运

自动控制、近程红外遥控、远程手机短信遥控、定时控制、按键模式

行状态和运行环境状况。

设置等功能。系统原理框图如图 1  所示。

无线接收模块数据线采用的是 9 针串口,信号电平为标准 RS232

 

 

 

 

 

 

 

 

 

 

 

 

电平,而 C8051F021 单片机的电平是 TTL,不同电平之间不能直接通

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

信,需进行电平的转换,本系统中将单片机的 TTL 电平通过 MAX3232

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

芯片转换为 RS232 电平。

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

1  系统原理框图

 

2.1  光线测量模块

 

生活中的白炽灯、LED 灯、高压钠灯对光控窗帘的自动开闭干扰较大,可采取措施滤除干扰光光谱起作用的部分。由文献可知,太阳光谱中的紫色部分较强,其他光谱紫色部分较弱。因此,可采取在光敏元件外面包裹一层紫色滤光纸,仅让紫色光通过,滤除光谱中的其他颜色部分,可有效避免杂光干扰。本系统用光敏电阻作为光电转换电路的器件,其工作原理是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。本系统采用 GL3516 这一型号光敏电阻,和另外三个高精度电阻,搭建一个桥式电路,可以将光敏电阻阻值的变化转化为电压的变化,然而桥式电路输出的电压信号是比较微小的,本系统中采用 LM324 运算放大器将电压信号放大之后送给单片机机进行 A/D 转换,从而可以根据输出电压的大小检测出光照强度。

2.2  电机驱动模块

 

本系统中采用两台性能、参数完全相同的 12V 直流电机分别往左右两个方向拉动窗帘的开合,直流电机的驱动采用 L298N 芯片。L298

 

的输入 IN1(IN4) IN2(IN3)通过光耦隔离后接到主控器(C8051F021) I/O 端,L298N  ENA  ENB 都与单片机的 P0.0 连接,通过交叉开关配置该 I/O  16  PWM 波控制端口,通过该 PWM 控制电机的转速。在主控模块和电机驱动模块之间采取了隔离和保护措施,降低其模块间的相互影响,有效提高系统抗干扰性能。

2.3  红外遥控模块

 

本系统中采用的红外发射芯片是 SC9148,红外发射电路仅需发

3 软件系统设计

 

根据设计的目标与硬件的总体结构我们可以将软件分为四个主要部分。且要满足易读写、便下载、好翻译。这四部分分别是: 主程序、显示子程序、各种延时子程序、按键扫描。系统软件将使用 C 语言编写。通过三极管驱动继电器来设计控制模块的程序。三极管的开断以及控制电路的书写都是根据具体模块环境设定。

 

当有按键按下时,这时的无线发射模块在得到指令后就会相应的发出信号,而这时的接收模块在解码后响应相应功能,当限位开关闭合时,这说明窗帘已经到达指定限制位置,电机会停止转动。依据程序主要完成功能来设计,使之通过不同的按键和模块,用来运行不同的程序。首先要了解待设计系统的硬件环境,然后分析要解决的问题,再建立数学模型将问题数学化、公式化,确定好算法再绘制程序流程图,最后编写程序。程序可实现静态、动态、三维立体显示。

 

本设计的程序采用的是状态机的思想,共有四个状态分别是: 窗帘打开状态、窗帘关闭状态( 程序的默认状态) 、电机正转状态、电机反转状态。当外界的光线强度大于参考值时,则窗帘运行到关闭状态,电机正转。如果光线强度低于参考值时,窗帘运行到打开,电机正转。

4 结束语

 

经过一系列的测试和调控后,基于 51 单片机的红外遥控智能窗帘通过分析自动窗帘系统的现状,基本可以满足人们的需求,达到了系统设计的目的。该设计借用步进电机的正反转执行窗帘的开合动作。以温湿度传感器,光敏电阻为检测元件,提供给单片机外界信息;以红外遥控设置,实现手动控制;以 STC89C52 单片机为主控制芯片,来控制整个系统的运行;另外系统还另设了按键和显示屏,在这几个模块的密切配合下,成功的实现了窗帘的智能化,具有很强的实用价值。