万 飞,杨延宁,李小敏,马玉昆,曹新亮
(延安大学 物理与电子信息学院,陕西 延安716000)
一种基于STC89C51的光控窗帘系统设计
万 飞,杨延宁,李小敏,马玉昆,曹新亮
(延安大学 物理与电子信息学院,陕西 延安716000)
为了实现窗帘的自动启闭,方便人们的日常生活,采用光敏电阻为信号采集元件,单片机STC89C51为主控模块,将采集元件获得的光信号经STC89C51处理后,通过ULN2003芯片驱动步进电机来实现窗帘的自动启闭。给出了系统的原理图,搭建了电路,样机测试结果表明,基于STC89C51的光控窗帘系统操作简便、系统运行稳定,可广泛应用在家居、宾馆、医院以及智能农业、工业生产等领域。
STC89C51;窗帘;自动控制;光敏电阻
随着电子计算机技术的蓬勃发展,引领了更高层次的自动控制技术在生产、生活、管理、军事等不同领域的应用,把自控技术运用于家居生活中,会使生活更加人性化,便捷化,智能化;电动窗帘就是一种典型应用。作为家居必备,电动窗帘在欧美国家已经屡见不鲜。十多年以前,电动窗帘就进入了我国市场,但是由于成本较高、功能不完善而未能普及。所以我们设计了一种具有自动和手动控制的电动窗帘系统,利用单片机控制运行,光敏电阻采集光照信号,控制功能齐全,具有手动自动两种模式,切换方便,成本低廉,使得窗户能够灵活启闭,极大的方便了人们的生活。
系统以STC89C51单片机为控制器件,通过光电传感器采集光照强度,使用电压比较器比较后输出单片机可读的数字信号[1],然后由符合TTL标准的步进电机驱动芯片ULN2003驱动5 V步进电机转动控制步进电机的转动方向及步数,根据光线的变化自动调整窗帘的启闭。本设计在光线充足时窗帘自动打开,光线变暗时窗帘自动关闭,不仅使用方便,而且节能环保[2]。其工作原理如图1所示。
本设计硬件部分包括光信号采集模块、主控模块、按键模块、指示灯模块和执行模块。
图1 系统原理框图
完成光控自动窗帘系统的设计,光照采集部分是必不可少的模块。通常所说的采集光照,是指采集光照强度,即照度[3]。被光线照射在表面上的照度定义为照射在单位面积上的光通量。其工作原理是将光照强度值转换为电压值。市场上的光电传感器琳琅满目,如光敏电阻、光电池、光敏二极管、光敏三极管等。本次光控窗帘的设计采用的是光敏电阻,它是一个纯粹的电阻器件。无光照时,电阻可达10 kΩ,有光照的情况下,电阻为0.3 kΩ。受外界干扰影响较小[4]。本系统光信号采集电路图如图2所示。
图2 光信号采集电路图
系统的设计选用了宏晶公司的STC89C51单片机作为主控芯片。STC89C51共有40个引脚,其中引脚20接地,引脚40接电源[5]。系统的设计主控模块与其余各模块电路相连接,是构成整个电路系统的关键。为了使用方便,引脚1~3接按键,引脚36~39接发光二极管,引脚21~24接步进电机驱动电路,引脚17则是连接光照强度测量电路,而引脚9和引脚18、19分别连接复位电路与晶振电路,组成单片机最小系统[6]。
系统设计有3路独立的输入按键,按键直接接入到单片机的 P1.0、P1.1、P1.2 口。1 号按键作为自动与手动模式切换按键,切换为自动模式时,系统可根据光敏电阻检测到的光强来控制开关窗帘;而切换到手动模式时,引脚2和3连接的按键则发挥其作用,分别控制其手动窗帘的开关。
系统指示灯模块设计中,发光二极管LED作为指示器件,用灯的点亮和熄灭或是色彩的转变来说明系统的某个模块的工作状况。在该系统指示灯模块设计中,考虑到电压过大,所以每个灯都接电阻分压,四个指示灯分别说明窗帘关闭、窗帘打开、手动模式、自动模式的4种状态。按键每次按下,则对应相应的灯点亮或熄灭,来起到指示系统工作状况的作用。其中,灯1、3同时点亮,则说明窗帘自动打开;灯1、4同时点亮,则说明窗帘自动关闭;灯2、3同时点亮,则说明窗帘手动打开;灯2、4同时点亮,则说明窗帘手动关闭[7]。
执行单元模块中,使用永磁式步进电机24BYJ-48-5 V,它的驱动方式是四相八拍式的,所以使用特别方便。它不仅具有齿轮减速、噪音特别低、运行也相对平稳,给一个5 V的电压就可以驱动步进电机持续转动下去,有利于单片机的开发和进一步使用。图中ULN是可以驱动继电器的集成达林顿管[8]。总体硬件电路图如3所示。
本次编程选用keil作为开发环境,用C语言执行软件编程[9]。在本设计中,启动单片机,将光电传感器初始化,光电传感器将光信号转换为电信号被单片机所识别,电信号的强度转换为相应的电压值,程序通过所测得电压值的范围来判断电机的正反转,电机启动后,单片机设定适合的电机转动时间,使得窗帘在刚好全部打开或关闭的时候电机自动关闭,从而达到窗帘的自动启闭[10]。主控程序流程图如图4所示。
图3 总体硬件电路图
图4 主控程序流程图
电路的调试过程包括软件调试和硬件调试。软件调试中将编辑好的程序输入到Keil程序编译器中,通过对程序编译、运行,检查程序是否有编辑错误[11]。若存在问题,可根据编译运行结果的提示进行修改,排除错误。再将编译运行好的程序烧入单片机中。打开系统开关,触动按键,逐一检查程序流程是否和预设方案一样,若仍存在问题,可依据实际情况对程序进行相应修改,直至程序完全符合预设方案为止。硬件调试与软件调试相比则较为简单,用到的是万用表和5 V的稳压电源。电路焊接完成后,接上5 V电源,打开电路总开关,用万用表的红黑表笔分别测试电源接地、电源部分、单片机模块以及ULN2003驱动模块的电压。经过焊接与调试,基于单片机的光控自动窗帘系统就全部完成。窗帘模型可分为两部分,一部分是光信号采集模块,另外一部分将主控模块、按键模块、指示灯模块和执行单元模块集成在同一面板上。电路连接完成后,电源部分接上5 V电压,按下总开关后指示灯亮起,表明通电正常。在白天光照下,总开关按下,自动模式启动,窗帘拉下,指示灯亮起;无光照情况下,自动模式启动,窗帘拉起,指示灯熄灭,关闭指示灯亮起。切换为手动模式时,按手动自动切换键。需要窗帘拉起时,长按手动打开按键;需要窗帘拉下时,长按手动关闭按键;两个过程都有对应的指示灯指示[12-14]。
智能光控窗帘系统选用STC89C51单片机,光线采集采用光电传感器光敏电阻,它输出单片机可以读取的数字信号[15],然后通过主开关和按钮控制,采用ULN2003驱动芯片驱动步进电机转动,调节其转动角度,拉动窗帘。系统的按键控制部分有3个按键,一个是手动与自动互相转换键,另外两个则控制手动开关的闭合,满足室内对光线的不同需求,使用起来比较方便。而电机选择相对比较容易调整角度的5 V步进电机,ULN2003驱动模块采用单片机与步进电机连接,它是一种四相八拍步进电机驱动芯片[16]。该系统经过多次改进,参考了实际电路通用的做法,在现有技术下各项指标已经达到预设要求。该电路的精确度和灵敏度可以进一步改善,可通过多个光敏电阻器从而增加光强信息的采集能力。智能光控窗帘系统的设计,不仅能应用在智能家居、酒店、医院等地,而且在大棚蔬菜等领域,也会有广泛的作用。
[1]杨熠,尹林.现代传感器技术浅析[J].电子测试,2013(9):100-101.
[2]曹建建,黄乘程,曹亮.电子元器件识别的工程训练[J].电子世界,2015(14):38-39.
[3]刘博.基于BH1750光照强度数据采集系统的设计[J].河南科技,2016(13):27-28.
[4]王彦华,刘希璐.光敏电阻器原理及检测方法[J].装备制造技术,2012(12):101-102.
[5]张鹏.基于STC89C51的便携式太阳能充电器设计[J].电子设计工程,2016(19):128-130.
[6]余锡存,曹国华.单片机原理及接口技术 [M].西安:西安电子科技大学出版社,2014.
[7]袁晓溪.基于单片机的LED显示系统[D].长春:吉林大学,2015.
[8]童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2012.
[9]李丽娟.C语言程序设计教程[M].4版.北京:人民邮电出版社,2013.
[10]卢莉萍,李翰山.微弱光电信号的检测与采集[J].西北工业大学学报,2011(4):326-329.
[11]徐磊,申红军,蔡亚勇.单片机开发Keil C51与Proteus仿真联合应用研究[J].电子设计工程,2013(17):178-181.
[12]令朝霞.一种红外遥控式步进电机控制器的设计与实现[J].电子元器件应用,2012(2):50-53.
[13]欧阳宇轩.智能窗帘系统设计[J].电子技术与软件工程,2013(15):194.
[14]杨立清,马震.智能仪器功能原理及其发展趋势[J].科技创新与应用,2013(28):84.
[15]王国庆,周翔凤,魏玺章,等.基于双中频并行采样的数字I/Q信号获取[J].信号处理,2011(1):7-13.
[16]魏雅.基于单片机的步进电机控制系统的研究[J].电子设计工程,2013(18):156-157.
The design of a light curtain system based on STC89C51
WAN Fei,YANG Yan-ning,LI Xiao-min,MA Yu-kun,CAO Xin-liang
(College of Physics and Electronic Information,Yan'an University,Yan'an 716000,China)
In order to realize the automatic opening and closing of the curtain and facilitate people's daily life,the photosensitive resistance is used as a light signal acquisition element,and STC89C51 is used as the main control module,after the optical signal acquired by the acquisition element is processed by STC89C51,the automatic opening and closing of the curtain can be realized by using the ULN2003 chip to drive the stepper motor.Moreover,the principle diagram of the system is given and the circuit is built respectively,the test results show that light curtain system based on STC89C51 has the advantages of simple operation,high reliability,and it can be widely used in home,hotel,hospital and intelligent agriculture,industrial production and other fields.
STC89C51; curtain; automatic control; photosensitive resistance
TN98
A
1674-6236(2017)17-0081-04
2016-10-16稿件编号:201610073
陕西省工业科技攻关项目(2016GY-138);陕西省高水平大学建设专项资金(2015SXTS02);延安大学引导项目(YD2016-02);2016年陕西省大学生创新创业训练计划项目(1559,1569)
万 飞(1993—),男,云南曲靖人。研究方向:通信技术。