本文介绍一款使用微电脑管理的、红外遥控器控制的多功能窗帘控制器。该窗帘控制器采用89C2051单片机的最小系统设计,控制一个220V的可逆、变速电动机控制窗帘的拉开和关闭。窗帘控制器可以使用红外遥控器进行远程手动开、手动关和手动停控制;可以执行事先输入的开启时间和关闭时间进行时间控制;还可以根据室外环境亮度实现环境亮度光控。三种工作方式可以方便地进行选择,当选择时间控制的方案时,数码管还能显示当时小时和分钟时间,不过时间数据只能顺序显示,显示一遍后,略等片刻再显示下一遍时间。另外、电机拉动窗帘的工作的时间长度,电机工作的时候是否有鸣响提示,以及光控状态下环境亮度的控制参数的调整等等都可以通过遥控器进行设置。 该红外遥控窗帘可谓是一款多功能的窗帘控制器一、窗帘控制器原理图:红外遥控窗帘控制器电路原理图如图1所示。
图1
二、工作原理解说:
电路分为8个部分,分别是电源部分、显示部分、鸣响提示部分、红外线接收部分、数据储存部分、光控电路测光部分、电机控制执行部分、单片机主控器件部分。
电源部分通过外接插座输入交流12V或者直流13-14V电压,交流电经过整流滤波后,输出电压为12V的VDD,为控制继电器提供工作电压。同时经过3端集成稳压器IC2稳压后输出5V电压VBB,为讯响电路、红外接收电路、显示电路提供电源,5V电源经过二极管D4、限流电阻R18后,为单片机提供VCC电压,E1是直流供电电源,电压为3V~3.6V,在本电路中为了节省成本,使用两节5号普通电池,C6和C7是单片机电源滤波电容。平时交流电正常的情况下,5V电源为单片机供电的同时,也为电池浮充电,大大延长了电池的使用寿命,当交流电停电的时候,电池仅为单片机供电,单片机在掉电状态下维持时钟的正常走时,VBB供电被D4隔断。在控制器设置成手动控制时,单片机除执行任务外,均处于睡眠状态,遥控器信号的到来,单片机从睡眠中唤醒,恢复正常工作,所以手动状态下当交流停电时,电池的耗电电流更小。
显示电路使用一个0.56英寸的共阳高亮度数码管,限流电阻取用1—1.5K.
鸣响电路由单片机的P1.0兼用,除驱动数码管的数点之外,兼用音频信号输出,音频信号通过R20、C10输入到三极管V6的基极上,三极管驱动发声器发声。二极管D3用来提供C10的放电回路,保证交流信号的正常耦合。发声器发出的声音有单片机软件来实现和控制,不同的情况下发出不同音调、不同时间长度的鸣响来,也可以编制乐音声音发声。
红外线接收电路使用一个集成红外接收器,型号是HS3008,静态时输出端输出高电平,当接收到红外信号后,按红外信号的数据波形输出负脉冲数据信号。红外信号输出到单片机的P3.2 ,该口对应的第二功能是外部中断0 (INT0),利用该口的第二功能,一旦红外线信号到来,P3.2被拉低,单片机中止当前的工作转移到接收、处理红外信号。开启中断功能的目的,既减轻了单片机的工作负担,又保证接收到的红外信号的完整性,同时在手动工作状态下,单片机进入睡眠后,利用外部中断功能完成对单片机的唤醒。
光控电路有GM1、C5、V3组成,利用了单片机的P3.4和P3.5完成对环境亮度的测试工作。GM1可以使用光敏电阻或者光敏二极管,本电路中使用光敏二极管。C3和GM1组成RC充放电回路,P3.4处于高电平的时候,P3.4的高电压用过GM1的正向电阻向C3充电,当P3.4被单片机拉低后,C3通过光敏元件放电,光敏二极管工作在反向电压状态下,此时环境亮度决定了光敏二极管的光阻值,光阻值大,C3放电速度慢,反之放电速度快。适当控制P3.4的拉低脉冲宽度,使得C3放电工作在线性比较好的一个工作段上。P3.5用来检测C3在P3.4拉低期间放电的电压状态,当C3电压下降到1/2VCC以下后,P3.5测得数据“0”,反之测得数据“1”,为了减小P3.5对C3充放电的影响,C3充放电电压通过三极管V3组成的射极输出器连接到P3.5上,射极输出器的高输入阻抗减小了P3.5对RC充放电电路的影响。
电机执行部分完全受单片机的控制,通过单片机的P3.0和P3.1完成。单片机复位状态下P3.0和P3.1输出高电平,三极管V1、V2,V4、V5截止,两个继电器J1、J2释放状态,方向可逆的电动机因无电源供电而停止。当P3.0或者P3.1其中有一个被拉低后,两个继电器便会有一个导通,例如P3.0拉低后V1导通、V4导通,J1吸合,电机得电转动,当只有P3.1拉低后,电机则反方向转动,实现了窗帘的拉开和关闭。
两个继电器的工作状态受单片机控制,在同一个时间内两个继电器仅能有一个吸合。即便是在电机工作期间,操作了反向转动按键,单片机也是先释放当前工作的继电器,并延时一段时间后再吸合另外一个继电器,防止了电机正反工作线圈同时通电的冒险。
单片机是本电路中的核心器件,担负整个电路的管理。电路中使用P1口的8个I/O口分别驱动数码管的7个笔划和数点。这样做的目的是AT89C2051用于本电路中,其I/O口比较富裕,这样的驱动显示节省一个显示驱动电路,同时显示的数字和字符完全通过软件编写的,可以编写更多的字符。所以数码管除显示0~9数字外,还可以显示软件编辑的任意字符,数点用来指示工作状态和不同的设置状态。单片机的复位脚使用C1、R14组成上电复位电路,K1是手动复位按键,实践中得知本复位按键用到的时候很少。
数点控制脚兼用鸣响信号输出端,输出的音频信号通过R20、C10输入到V6的基极,放大后推动发声器Y1发声。D3是C10的泄放电阻,保证交变信号的正常耦合。
单片机的P3.3和P3.7口作为IIC储存器的总线,本电路使用AT24C02完成对设置状态和设置数据的储存。
本电路中的硬件比较简单,其功能的实现主要由软件完成。软件的设计思路通过框图形式说明如下,框图见附图2。(另有大附图)
三、遥控器按键功能:
遥控器面板示意图如图3所示。结合上面的软件流程说明按键功能的意义:红外遥控按键的功能分为三部分,直接操作部分—窗帘电机的正转、反转和停止操作。设置部分—输入定时打开窗帘的时间;定时关闭窗帘的时间;输入当时的时间;开关整点报时功能;开关电机工作的时候声音提示功能;设置电机运行的时间长度;选择定时、光控、手动控制的方式;查询现在预设工作状态和预设定时时间以及光控级别等。第三部分是系统复位,不论在任何的工作状态下,总复位操作能将窗帘控制器恢复到开始状态下。
工作方式的选择是选择时控、光控和仅仅手动控制方式之一,在时控和光控状态下,手动控制仍然有效,在手动状态下仅能手动遥控操作。手动状态下的单片机非工作期间进入睡眠状态。
电机工作时间长度设置,是根据用户窗帘的长度不同,设置对应的电机一次运行时间,保证在时控和光控状态下窗帘拉开或者关闭到位。
测试环境亮度是根据不同用户窗帘安装位置处的环境亮度不同,以及用户光控拉开和光控关闭窗帘的环境亮度的要求不同,让用户自行选择环境亮度。
声音开关是开启或者关闭电机在运行的时候,鸣响器是否配合运行发出一种“嘀—嘀—嘀—嘀—”的断续提示音,以便用户听觉感知窗帘的工作。
当工作在时控和光控状态下,并进行当时时间校正以后,内部的时钟开始走时,而且时间数据在一个数码管上,按时分方法顺序显示当时时间的小时和分钟,显示一遍之后,停止1秒钟,以便区分一个完整的时间显示完毕。在此时如果开启整点报时功能,一旦时钟到达整点,鸣响器发出声音报时,长声音表示10个点,短促声音表示一个点。
其他功能不再一一解释