APP下载

基于51单片机的智能窗帘控制器设计

2015-11-26创新者荣艺博宋文根汪嘉文朱显锋

中国科技信息 2015年22期
关键词:光敏电阻子程序窗帘

创新者:马 荣 荣艺博 宋文根 汪嘉文 朱显锋

基于51单片机的智能窗帘控制器设计

创新者:马 荣 荣艺博 宋文根 汪嘉文 朱显锋

本文介绍了一款基于STC90C51单片机设计的智能窗帘控制系统。该系统包括电机驱动模块、红外接收与发射模块、温度检测及液晶显示模块等,并主要实现红外遥控电机正反转、光传感器自动控制窗帘开合及温度检测与显示等功能。

随着科技的不断更新,时代的不断进步,人们的生活水平逐渐有了很大的提高,住房条件也得到了很大的改善。作为物联网智能家居的一环,智能窗帘控制已然成为自动控制领域的一个重要的研究热点。相对于传统的钢丝绳手拉式或轨道式窗帘,51单片机控制的自动窗帘控制系统,不仅能解决每天用手开合窗帘的不便,又能提高生活的档次,同时通过感应室内光线的强弱来自动控制室内的明暗,以形成一个舒适的居住环境,更进一步地满足了人们享受生活的要求。因此,智能窗帘的出现不仅顺应潮流与时俱进,而且发展迅速前景广阔。在这种高度信息化和智能化的时代背景下,本文设计了一款基于51单片机的窗帘控制器。

系统硬件设计

本文设计的窗帘控制器,硬件部分以STC90C51单片机为控制核心,以遥控器的红外信号和光敏电阻的光敏信号分别作为手动和自动信号输入,经单片机处理后控制直流电机正反转,从而控制窗帘开合。系统结构框图如图1所示。

红外遥控模块

本系统采用SC2262作为发射芯片,发射三种信号:前进、后退和停止,因此仅需三个单发码键KEY1、KEY2和KEY3。当单片机收到KEY1或KEY2的高电平信号时通过判断键码值来执行相应的子程序,从而驱动电机正转或反转以控制窗帘的开与合,若想窗帘运动到某个位置停止时则按下KEY3键即可。

图1 结构框图

接收芯片则采用SC2272芯片。SC2272 与SC2262 配对使用,是一款通用的遥控解码集成电路。芯片内置的数据接收管将发射芯片发射的红外信号转化为微弱的电信号,经放大后发送给单片机I/O口。程序中则通过sbit IR=P3^2程序句使得51单片机能接受该芯片传输的数据,实现红外接收。SC2272与SC2262配对使用完成对信号的发射、接收、滤波和解码等任务。

光线感应模块

图2 光线感应

本系统采用光敏电阻作为光电转换电路的核心器件。光敏电阻是利用半导体的光电导效应制成的一种电阻器,其电阻值根据光线强弱而时时变化,照射光线强,电阻减小,照射光线弱,电阻增大。因此搭建如图2电路,当光线强时,光敏电阻Rs减小,晶体管基极电压减小,晶体管截至,发射极被12K电阻拉低,低电平输出至P0.0;当光线弱时,Rs增大,基极电压增大,晶体管导通,发射极被VCC拉高,高电平输出至P1.1。单片机检测到不同的电平信号时,即控制电机做出不同的运动,如图2所示。

同时,由于家庭中常用的白炽灯,led灯等有可能会对光敏电阻的正常工作造成干扰,可采取措施减小干扰光对光线检测的干扰。因为太阳光中紫光部分较强,所以可在光面电阻外围包裹一层紫色滤光纸,使得光敏电阻以接受紫光为主,这样可大大削弱干扰光的影响。

图3 18b20原理图

电机驱动模块

本设计中采用28BYJ48五线四相的5V步进电机和1.298N驱动芯片。步进电机将电脉冲信号转变为角位移,当驱动芯片接收到一个电脉冲,电机就转动一个电角度。当电脉冲信号走过一个周期时,转子转过一个齿距。改变电脉冲信号的频率可以改变电机的转速。通过程序循环控制某项通电其他项断电,以此达到电机正转反转的目的,带动窗帘开合。四相步进电机可以在不同的通电方式下运行。在此选用2相励磁法,即AB-BC-CDDA-AB-循环方式。

温度检测及液晶显示模块

温度检测模块我们选用DS18b20温度传感器。该传感器具有体积小,硬件成本低,抗干扰能力强,精度高的特点,面对扁平的那一面,左负右正。图中高、低温度系数晶振产生固定频率的脉冲信号,计数器1接收来自低温度系数晶振的信号并作减法计数,减为零时温度寄存器加1,如此循环直至计数器2减为零。此时温度寄存器中的数值即为所测温度。在主程序中设置采样标志位ReadTempFlag=0,若检测到采样标志位则执行采样和温度处理工作,标志位防止采样速度过快,采样的温度需要if-else语句判读正负数,然后分别处理。

液晶显示模块选用1602液晶块,通过给每个点高低不同的电平来控制那个点的亮灭,从而组合显示图形或文字。对于18b20检测到的温度值,则在主程序中调用1602显示子程序去循环检测温度值并显示。同时亦可在液晶屏上自定义其他信息。

系统软件设计

系统编程采用c语言模块化设计。在主循环中先去执行红外处理程序,若有收到红外信号则优先去处理,若无则去执行光线感应处理程序。即红外感应优先级高于光线感应。任何一种模式若检测到驱动电机的信号,就去控制电机运动。之后就是18b20的温度检测子程序和1602液晶显示的子程序。主循环外是所有子程序、中断和延迟的初始化部分。所有的大子程序都是以模块化的形式编写,包括电机驱动程序,18b20温度检测程序,1602液晶显示程序和红外处理程序,在主程序中以include头文件形式引用。流程图如图4所示。

图4 程序流程图

结语

本设计利用51单片机实现窗帘的智能控制,利用红外遥控技术实现窗帘的远程控制,利用光敏电阻的光敏特性实现窗帘的自动控制,利用温度传感器的电阻随温度变化特性检测室内温度,并利用液晶屏实现温度的个性化显示。因此,本文设计的智能窗帘控制器符合智能家具的大发展方向,符合时代潮流,而且成本低廉控制灵活,可以开发成品进入市场。并且此设计还可以按照不同的用户需求进行外围扩展,真正的实现人性化和智能化。

马 荣 荣艺博 宋文根 汪嘉文 朱显锋

中国矿业大学(北京)电气工程及其自动化系

马荣,就读于中国矿业大学(北京)电气工程与自动化专业。

10.3969/j.issn.1001-8972.2015.07.001

猜你喜欢

光敏电阻子程序窗帘
风儿撩起了窗帘
浅谈不同化学成分对光敏电阻薄膜特性的影响
——以高PbI2掺杂水平的钙钛矿光阻膜、Bi2S3光阻膜、ZnO光阻膜为例
基于光敏电阻的光开关设计性实验
赶路人
相思湖
浅谈子程序在数控车编程中的应用
窗帘
子程序在数控车加工槽中的应用探索
光敏电阻起爆爆炸装置的特性研究
西门子840D系统JOG模式下PLC调用并执行NC程序