刘志鹤
辽宁锦州渤海大学工学院
基于单片机的遥控防盗窗帘设计
刘志鹤
辽宁锦州渤海大学工学院
本设计是在8位的STC89C51单片机基础上来设计的遥控防盗窗帘。通过无线遥控模板中的SC2272和SC2262编码解码芯片组成无线传送接收模块;直流电机的正转或者反转可以控制窗帘的开关,需要两个继电器的状态来调节实现;智能模式和手动模式的切换,只要按下遥控板上的切换按键就可以实现;为了防止窗帘超过正常运行的长度,手动触动行程开关以此实现窗帘停止;当人体感应模块检测到红外线时,蜂鸣器发声报警。
STC89C51 直流电机 遥控窗帘
随着社会的进步和经济的不断增长,人民生活水平也越来越高,人们也在追求着更好更舒适的生活环境,窗帘作为人们生活的必备家居设备,自然也在人们追求的范围之内,因此一种智能的遥控防盗窗帘越来越受到人们的欢迎与需求。
但在传统上,窗帘需要手动去拉动,每天早晚需要开关两次,尤其是那些笨重的,特别长的在别墅之类里的窗帘。遥控防盗窗帘只要遥控器轻轻地按下去,遥控窗帘就自动开关。实际中很方便,并且这种窗帘可以实现防盗报警的功能。因此本次设计,我们主要设计的是基于单片机的遥控防盗窗帘。
本文主要是以STC89C51单片机为核心,实现遥控防盗窗帘的功能。包括限位开关部分、复位按键模块、无线遥控模块、人体感应模块、直流电机控制模块、蜂鸣器报警模块、光敏检测自动控制功能模块、LED指示灯模块和单片机最小系统等模块。下面介绍系统设计中的部分主要模块。
2.1 系统框图
本次设计的系统框图如图1所示:
图1 系统框图
此次设计采用8位的STC89C51单片机做控制器。依据光敏电阻来感应识别光线,智能地实现白天升起窗帘、黑夜降落窗帘。无线遥控是由SC2272或者SC2262编码解码芯片构成的无线发送接收模块,再使用SC2272接收输出端得D0、D1、D2、D3传递信号进而控制单片机。接着,依据直流电机的正反转来控制窗帘的升降,LED指示灯两种颜色分别代表着直流电机正反转。为了防止窗帘超过正常运行的长度,手动触动行程开关以此实现窗帘停止。当感应到有人入侵报警提示,可以撤防报警。
2.2 单片机最小系统
能够使单片机正常工作而用到最少的器件的电路就是所谓的单片机最小系统。一般来说,一个正常工作的单片机需要一个复位电路来使单片机能够恢复到初始状态,同时它也需要一个晶振电路来给单片机一个初始的工作频率。
晶振电路是每个单片机必须要的,因为单片机需要一个初始的频率来使它能够正常的工作。一般都使用一个12MHz的晶振和两个30uf电容连接到单片机的XTAL1和XTAL2来实现。在使用振荡器时,芯片中的引脚XTAL1是作为输入端、XTAL2为对应的输出端。应用系统调试时,首先保证单片机的时钟系统能够正常工作。当晶振电路、电源电路和复位电路正常时,在ALE引脚可以观察到稳定的脉冲信号,其频率为:晶振频率/6。
2.3 无线遥控模块
无线遥控模块的主要参数如下:
①工作电压:直流电压5~12V
②发射功率:≤500MW
③发射电流:3~50MA
④频率稳定度:±75KHZ
⑤工作频率:315MHZ/433MHZ
⑥静态电流:≤0.1UA
⑦通讯方式:调幅AM
无线遥控有两种:其一是红外线无线遥控,其二是电磁波无线遥控。常用的是红外线无线遥控,其遥控的距离不远,并且是直线方向遥控。
2.4 遥控电路
本设计是以sc2262/sc2272为红外线遥控核心芯片的遥控和接收。其遥控电路如图2所示:
图2 遥控电路
12伏电压供电在遥控器上,当按下按钮后,电池的+端就会与发射模块的电源端以及芯片相接,而且传递出信号,这种设计可以保持电池很长时间的工作状态。
2.5 光线检测模块
光敏电阻是利用内光电效应的原理制成的,而且大部分是由半导体材料构成。光敏电阻感光是光照强度检测的采集部分,通过光敏电阻感光测量电压来实现判断光的强弱功能。光敏电阻的优点是:适用范围广,容易购买,种类繁多。
本系统采用光敏电阻器,主要是其电阻值可以根据外界环境光线强弱的变化而发生相应的变化。光敏电阻的工作特性:光线变阴暗的时候,电机发转代表着窗帘降落。光线变明亮的时候,电机正传代表着窗帘升起。这种依据光敏电阻特性的原理是:光敏电阻的工作特性主要根据光线的变化。当光线显示白天的时候,此时三极管的基极电压值由于电阻值变大接近于零,导致三极管不导通。并且发射极输出低电平。当光线显示黑夜的时候,三极管的基极电压由于电阻值变得很小此时变得非常高,导致三极管导通,并且发射极输出高电平。光线传感器原理如图3所示:
图3 光线传感器原理图
2.6 蜂鸣器报警模块
本系统的报警模块用的是蜂鸣器,LED灯作为报警显示,蜂鸣器主要由电阻、PNP三极管和发生器组成。常见的蜂鸣器具有以下两种形式,一种是有源蜂鸣器,另一种是无源蜂鸣器。有源和无源的区别在于蜂鸣器内部是否有振荡源。有源滤波器内置有振荡源,只需要给其供电即可发出声音,而无源蜂鸣器内部没有振荡源,因此需要给驱动脉冲才能够发出一定频率的声音。在本设计中蜂鸣器采用的就是有源蜂鸣器,只要单片机IO口输出低电平就能够驱动蜂鸣器发出声音。
由于单片机的I/O口驱动能力有限,不能让蜂鸣器发出声音,所以加一个三极管做驱动放大。当输出高电平时,三极管导通,集电极电流通过蜂鸣器形成一个回路,让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,蜂鸣器就不会发出声音。这就是它的工作原理。而LED灯的报警显示就简单的多,它只有一个发光二极管组成,二极管的正极接电源Vcc,负极接单片机的I/O口即可,当二极管的负极为低电平时,LED亮,当二极管的正极为高电平时,LED熄灭。
3.1 程序设计
本次系统软件设计采用C语言编程是本设计软件部分的核心,主要应用了if、while等判断语句,当遥控器上按下按键时,无线发射模块发出信号,接收模块解码后响应相应功能,当限位开关闭合时,这意味着窗帘已经到达指定位置,此时电动机停止转动。系统程序流图如图4所示:
图4 程序流程图
3.2 系统调试
单片机硬件系统设计中排除故障,需要硬软件结合进一步排除故障。硬件调试决定着软件是否持续进行下去,硬件调试达不到要求,软件就不必调试了,有时候硬件引脚位置等等也需要注意。所以硬件调试是关键,是软件调试先决条件。
插入5V电源,开机自动默认智能模式,遥控窗帘开始工作。通过模式切换按键,可以选择手动或者智能模式。首先我们选择智能模式,蓝灯亮,电机正转检测正常。光敏电阻检测到白天,电机正转,当我们手动按下限位开关模拟窗帘到达顶部时,此时,蜂鸣器响三下,灯亮三下,电动机停下了,说明这个功能是正确的。然后我们遮住光敏电阻,检测到黑夜,此时电机反转,意味着窗帘降落,我们在手动按下限位开关模拟窗帘到达底部时,蜂鸣器响三下,灯亮三下,此时电动机停下。
之后我们便要调试手动模式下窗帘的工作情况。与之智能相反的是,手动多了两个按钮,分别代表着窗帘升起和降落,实现的功能相同,此时,电路也正常工作,调试成功。遥控窗帘有防盗功能,开启防盗功能,此时计数30s,30s之后,人体检测模块检测到人体,蜂鸣器发出报警功能,此时调试成功。
本设计是在STC89C51单片机基础上来设计的遥控防盗窗帘系统,系统的实际操作性强,动作准确,价格低廉,并且达到了预期设计的要求。直流电机的正转或者反转可以控制窗帘的开关,需要两个继电器的状态来调节实现,完成了智能模式和手动模式的切换及报警功能。
[1]王志鹏,智能遥控窗帘设计.第2版.南京:南京航空航天大学出版社,2005
[2]李正军,计算机控制系统.北京:机械工业出版社,2005
[3]张伦译,单片机微机原理及应用.第3版.上海:电子工业出版社,2004
[4]李广飞,单片机与家用电器智能化技术.北京:电子工业出本社,2004
[5]郭兆正,于鹏,于震.基于有限状态机建模的单片机编程方法研究[J].渤海大学学报(自然科学版)2016,37(3):266一270