米卫卫
(河北省儿童医院,河北石家庄,050051)
在科技发达的今天,自控系统已经不仅仅是实现室内基本安防、照明等的工具,而是自动化技术与建筑技术的统一体,充分利用科学与艺术的搭配,尽力达到完美与和谐的统一[1]。因此,智能窗帘作为智能家居的一部分,显得尤为重要。试想,当躺在床上,发现窗帘没有关上的时候,当早上醒来发现房间里乌黑一片,还要去理会窗帘的开关实在是一件烦人的事情。此时,带有一定自我反应、调节、控制功能的窗帘便应运而生[2]。本次设计了一款可以根据室内环境状况自动调节光线强度的窗帘,使得达到室内人体适应的光线亮度而不至于对人的眼睛产生伤害。
智能窗帘根据室内光线强度的变化,由光敏电阻感应光照强度,进而通过AD采集接收信号,到达ARM处理单元进行控制,从而达到自行调节窗帘的开合程度,“天黑关闭,天亮打开”, 使室内一直处于舒适的光照环境,具有智能管理,不产生误动作。
本文从系统的整体设计方案、硬件电路以及软件程序三方面介绍自动光控启闭窗帘的设计。
光控窗帘控制的总体结构框架如图1所示。
图1 总体结构框图
本系统由光敏电阻传感器探测外界的光照强度,从传感器出来的信号经过信号调理电路输入到A/D转换,进入到单片机采集,进而单片机控制电机的正转和反转,实现窗帘的打开和关闭操作。键盘主要是作为输入设备,控制单片机的各种参量。显示部分主要是用来显示窗帘的各种状态信息。
1.2.1 光敏电阻器
在本次设计中,因为要对光的强度进行采集,所以就用到了光敏电阻。光敏电阻具有很高的灵敏度以及光谱特性,光谱响应范围广从紫外一直到红外,而且体积小、重量轻,最主要性能稳定。光敏电阻CDS系列是种薄膜的电子元器件,阻值随着光源强度而变化。光敏电阻具有一些物理和环境的特性,最主要的特点是将光的变化转换为电的变化,在本次设计中,就是将变化的阻值转化为电压的变化输入到单片机中[3]。
1.2.2 系统主控芯片的选择
由于单片机技术目前较为成熟,且具有精度高、易操控的优点,自身资源丰富,硬件设计简单,并且在设计系统中尽量用软件代替硬件,可以节约成本,提高可靠性。本系统采用的Atmega8单片机内置AD功能,符合设计的需求,芯片引脚图如图2所示。Atmega8的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGE系列的全部性能和特点[4]。
图2 ATMEGA8主控芯片部分
本设计采用了单片机进行操控,硬件电路采用AVR单片机为核心,扩展相关的接口电路,实现整个电路的基本控制和扩展功能。
在以ATMEGA8单片机为主控芯片的基础上,将电路系统分为几个基本模块电路,主要实现采集、控制、显示的功能,如图3所示。
图3 系统硬件模块框图
自动光控启闭窗帘是控制窗帘随光强度的变化自动启闭的装置,控制启闭规则为:当光度超过或低于某个阈值的时候,窗帘会自动启闭,使屋内光度维持在某个范围内[5]。控制系统要做到:
(1)当屋内光度过低或过高时候,通过光线采集部分电压的变化,单片机控制的窗帘能够自动启闭,以达到控制的目的;(2)按键系统可以调节光度阈值和特殊要求下人工控制窗帘的启闭;(3)显示系统可以显示当前状态,并根据显示调节启闭的光度,以达到不同人的需求和达到窗帘启闭的目的;(4)窗帘的输出控制能够达到正转和反转的精确控制并能进行数码显示反映当前状态;(5)电路的复位部分可以在每次的电源重新启动时把电路重新复位至起始状态[6]。
本系统用到的主要器件为ATMEGA8,光敏电阻,12V直流电机,数码管/二极管/三极管,稳压块,滑动变阻器,按键开关等。控制系统以Atmega8CPU为控制系统的核心,外围电路、器件和CPU的有机连接,构成了窗帘控制系统的硬件电路。
2.2.1 光度采集部分
本部分采用光敏三极管来采集光照强度。但由于市场上此类光敏三极管较贵,所以将此器件换为光敏电阻代替。下面说明中将以光敏电阻为光度采集器件。
当户外光线照射到光敏电阻表面时,光敏电阻的阻值与光照强度成反比,利用光敏电阻这一性质来达到转化为电压变化的目的。在其一端加上5V电压后,与一电位器(12k)串联分压后,就直接将光照强度转换为电压了。光敏电阻采集到的光照强度转换成电压后,经R8限流电阻后,直接送到ATMEGA8的23脚(内部AD转换ADC0输入端)[7]。光照采集电路如图4所示。
图4 光度采集电路
2.2.2 电源部分
本控制器工作电压为直流5V。市电220V不能直接为其供电,所以必须将市电220V转换为直流5V给控制器供电。
如图5所示,220V火线经保险管后,经电容C0吸收掉高频干扰后,再经压敏电阻R0吸收掉尖脉冲(电源通断瞬间产生的尖脉冲),然后经变压器降压,降到交流12V左右,经整流桥DB1、电解电容E1、电容C4整流滤波后,得到12V左右的直流电压;直流12V经D4(在焊接过程中,防止电源正负极接反后,烧毁稳压块,起保护稳压块作用)、E4电解电容(滤中低频)、C8电容(由于电解电容存在感抗,对高频信号的滤波效果不好,所以在其后加一个电容滤掉高频)后,送入稳压块7805进行稳压。又经电解电容E3、电容C7滤波后给ATMEGA8供电[5]。
图5 电源部分
2.2.3 输出控制部分
由于考虑到窗帘很轻,拖动其动作所需力不大,所以采用12V直流电机控制窗帘的启闭。两路控制OUT1、OUT2直接由ATMEGA8控制[8]。
当OUT1为1、OUT2为0时,Q1导通、Q2截止,电机反转。
当OUT1为0、OUT2为1时,Q2导通、Q1截止,电机正转。
当OUT1为0、OUT2为0时,Q2截止、Q1截止,电机不转。
其中C2、C3的作用为滤波,R3、R4的作用为限流,D1、D2的作用为指示作用(在运行中,观察其亮与灭来分析电机的工作状态)。R1、R2的作用为限流(12V直接给电机供电,容易使电机损坏,所以加限流电阻对其限流)。L1、L2、C1的作用为滤波(由于ATMEGA8对电机进行PWM调速控制,产生的波形也容易使电机损坏,所加两个电感一个电容对波形整形)。电动机控制原理图如图6所示。
图6 输出控制部分
2.2.4 显示部分
为了方便设定屋内光照强度的大小,在电路中加入显示这部分,如图7所示。此数码管为共阳/两位数码管。在设计中为了节约成本,而又考虑到ATMEGA8的吸入电流较大,所以用ATMEGA8直接驱动数码管显示。这里用的显示方法主要是用软件来实现的,在后面软件说明部分将对其说明。
图7 显示部分
5V电压经R5分压后,对数码管供电。ABCDEFG为数码管的码元。DP1、DP2为位元。
2.2.5 按键部分
为了便于操作,在控制器中加入按键部分,见图8。其功能为:SB1控制电机正转(闭合时,电机缓慢正转)。SB2控制电机反转(闭合时,电机缓慢反转)[9]。SB3设定屋内光照强度加,SB4设定屋内光照强度减(人为设定一个光照强度,控制器自动控制窗帘的启闭,从而实现屋内光照强度的调节)。R6与D3的作用是电源通电显示。
图8 控制系统总电路图
2 2 6 复位电路
控制器在上电瞬间的电压波动很大,为了让ATMEGA8工作稳定,在开机时,对其进行复位,见图8。其工作原理:在通电瞬间,RESET为低,5V电压经R7限流后,产生一小电流对E2充电,充电时如果断掉,E2上的压降大于ATMEGA8的复位电压,ATMEGA8停止复位[10]。注:AVR与MCS51系列的复位电路不同。
2.2.7 振荡电路
振荡电路见图8,为ATMEGA8提供工作所需时钟。XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔丝位CKOPT用来选择这两种放大器模式的其中之一。当CKOPT被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过XTAL2 驱动第二个时钟缓冲器的情况。而且这种模式的频率范围比较宽。当保持CKOPT为未编程状态时,振荡器的输出信号幅度比较小。其优点是大大降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。对于谐振器,CKOPT未编程时的最大频率为 8 MHz, CKOPT编程时为16MHz。
控制系统总电路图[11]如图8所示。
主程序整体构成无限循环模式,整体流程图如图9所示。主要完成单片机初始化关闭所有中断,按键扫描、处理,AD采集处理,电机运行,显示等功能。
图9 主程序流程图
启动主程序,先初始化所有端口关闭中断,初始化寄存器,初始化显示内容;然后检查AD口是否有电压,执行AD采集;检查按键,执行按键相应处理;再判断显示值是否设置值,如果不是则启动电机,执行窗帘开闭,否则不执行任何操作,窗帘静止,再检测光强度变化,是否有AD采集变化;一直循环执行判断,实现窗帘的自动关闭和打开的操作过程[12]。
本文设计了一款基于单片机的智能光控窗帘启闭系统,其中主要包括了方案设计、硬件及软件设计。该系统的实现将减轻人力负担,实现光控自动调节,使电机自动运行,通过单片机的精准操作,使结构简单、运行可靠、控制方便、控制性能优化等优点,从而使得窗帘的开关和闭合更加的准确、稳定,光电传感器配合单片机的定时功能很好的实现了自动控制功能[13]。