智能窗帘控制装置(毕业设计论文).
1.1 研究目的和意义
21世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。智能家居控制系统可以定义为一个过程或者一个系统。利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。还将原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。系统的网络化功能可以提供遥控、家电(空调,热水器等)控制、照明控制、室内外遥控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手段。使生活更加舒适、便利和安全。因智能家居控制系统布线简单、功能灵活,扩展容易而被人们广泛接受和应用。
智能化控制的工作原理自然离不开运算和控制单元,在设计本系统时采用的主控器件AT89C51,正是运算与控制单元的集合体。本窗帘控制系统不仅具有采集控制方便、简单、灵活等优点,而且可以大幅度提高采各模块和芯片的协调性,从而大大提高系统的可利用性。此次系统设计系统正是利用AT89C51 单片机的优点,顺利的完成了本设计的要求。并且实现了学习型定时和自动控制功能,为控制家居设备提供了良好的基础。
正是因为通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居智能化也正是在这种形势下应运而生的。智能家居控制系统的主要功能包括通信、设备自动控制、安全防范三个方面。随着新技术和自动化的发展,传感器的使用数量越来越大,功能也越来越强,各种传感器都已经标准化、模块化,这给智能家居控制系统的设计提供极大方便。
智能窗帘控制装置系统的整体主要由硬件和软件两部分组成。硬件部分由单片机扩展的外围电路以及各种实现单片机系统控制功能的接口电路组成;软件部
分主要由单片机系统实现其特定控制功能的各种程序组成。本设计中介绍了智能窗帘控制装置系统的硬件构成以及软件设计过程,以尽最大可能满足不同人对窗帘开闭的不同需求。同时,系统在针对人们一般需求的设计开发外,还提出多种解决方案,在考虑到经济性和简便性的前提下,可以供日后对控制系统的功能进行扩展。
1.2 基本内容安排
该设计通过分析电动窗帘的现状和人们对自动窗帘控制系统的功能的需求,从而对自动窗帘控制器进行总体的设计。系统的总体设计采用以步进电机作为单片机控制元件,执行窗帘开闭的主要任务;以光敏电阻作为检测元件,以提供单片机外界光照的变化;89C51单片机作为主控制芯片,控制着整个系统的运行,此外,辅助以键盘和显示电路,在各个电路模块的配合下最终实现了自动窗帘控制系统的智能化要求。
自动窗帘控制系统设计过程主要分为以下几个章节:
(1)绪论:介绍设计目标国内外的发展现状和研究意义目的,设计的基本内容和本文的章节安排。
(2)总体设计方案:给出了智能窗帘控制装置的总体方案设想,智能项目,和设计结构规划。
(3)硬件设计:选用89C51单片机为核心的各种电路设计,包括复位电路,电源电路,时钟电路,步进电机控制电路,键盘/显示电路等一系列相关电路。
(4)软件设计:介绍各个功能模块的的设计流程以及设计思路。
(5)总结:针对设计中的不足进行再思考以及提出自动窗帘控制系统功能的扩展。
1.3 设计思想及基本功能
该系统具有一般的窗帘控制系统的最基本的功能,即通过电动按钮来开闭窗
帘,在此基本功能的前提下,本设计根据需求还设计了可以根据光照强度和设定时间自动开闭窗帘的功能,在选取设计方案和采用元器件方面,该系统本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线和选用最经济实用的器件来达到设计要求。
自动窗帘控制系统具有以下几个基本功能:
(1)手动控制:该功能是根据用户的需求通过按键进行窗帘的开关,此功能可以使窗帘的开闭处于任何一种状态;
(2)自动控制:用户可以通过按键一次性开闭窗帘;
(3)环境亮度控制:窗帘的关闭和开启通过环境亮度自动完成窗帘的开启或关闭操作控制,“天黑关闭,天亮打开”具有智能管理,不产生误动作。
(4)时间自动控制:根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开。
窗帘的正转、反转和停止功能可由单片机输出电平来控制步进电机的运转以实现。环境亮度的控制通过光敏二极管和运放组成的电路来控制单片机输出电平继而控制电机的正转和反转。时间自动控制可以由定时器来控制。
第2章 总体电路设计及其原理说明
2.1 系统基本功能
伴随着科学技术的发展和人民生活水平的日益提高,人们对生活舒适性的追求越来越强烈,而窗帘在每个家庭生活是必备的,其基本功能是保护住户的隐私以及遮蔽阳光等。基于这些作用窗帘的便利性自然也受到家庭的关注。但传统的窗帘绝大部分是用手去开关,每天开关不仅不省力,而且还可能错过最佳光照时间,尤其是大窗帘,比较重,而且长,在开闭时需要费很大力气才能开关窗帘,特别不方便;针对这种现象,电动窗帘便由此产生。现有的电动窗帘基本上都可以利用按键控制,自动开关闭窗帘,虽然省了力气,但是有些方面的设计还是不够人性化。对此,本控制系统提出可以根据光照以及定时等开关窗帘,具体有以下几大功能:(1)手动控制状态:此功能使自动窗帘控制系统具有手动拉开、
关闭和停止功能。(2)半自动控制状态:此功能是在要打开或者关闭窗帘的时候,通过“开”或“关”按键,窗帘在电机的带动下可以自动开闭。(3)亮度自动控制:此功能是利用设定的光照强度自动完成窗帘的打开或者关闭,真正实现黑天关闭,白天打开的功能。(4)时间自动控制:此功能根据用户需要,设定需要开闭窗帘的时间,通过输入的开启或关闭时间,控制窗帘开关。
2.2 系统总体结构设计
硬件设计的好坏决定整个方案的成功与否,所以在硬件设计时,在实现功能的情况下电路设计越简单越好,这样才能保证这个系统的稳定运行。下图是智能窗帘控制装置设计的总体框图如图2.2.1所示。
图2.2.1 电动窗帘控制器结构框图
本智能窗帘控制装置以89C51为主控芯片,通过其灵活的输入/输出口设置,由光电传感器检测外界的光强,经过信号调理电路的放大,滤波调理后输入到A/D转换器,A/D转换器件完成一个转换过程需要一定时间,如果在这段时间内信号的幅度发生变化,转换结果将会受到影响,所以其间要用到采样保持电路。转换后的信号由单片机控制器,来实现电机的运行与停止。显示模块主要用来显示智能窗帘控制装置的各种状态信息。键盘模块主要作用是通过按键向单片机输入指令,其中主要包括设定时间,控制步进电机转动方向,从而控制窗帘的开与关。
第3章 硬件分析与设计
3.1电源电路设计
3.1.1 单片机电源电路
单片机工作需要使用5V 电压,因此需要给单片机设计电源电路。图3.1.1是单片机的电源电路。它采用LM2576开关稳压集成电路将电动机电源+12V直流电压转变为+5V的直流电压为单片机供电。
图3.1.1单片机电源电路
LM2576中文资料
LM2576系列开关稳压集成电路的主要特性如下:
●最大输出电流:3A;
●最高输入电压:LM2576为40V ,LM2576HV 为60V;
●输出电压:3.3V 、5V 、12V 、15V 和ADJ(可调) 等可选;
●震荡频率:52kHz;
●转换效率:75%~88%(不同电压输出时的效率不同);
●控制方式:PWM;
●工作温度范围:-40℃ ~ +125℃
●工作模式:低功耗/正常两种模式可外部控制;
●工作模式控制:TTL 电平兼容;
●所需外部元件:仅四个(不可调) 或六个(可调);
●器件保护:热关断及电流限制;
LM2576的内部框图如图3.1.2所示,该框图的引脚定义对应于五脚TO-220封装形式。
图 3.1.2
LM2576内部包含52kHz 振荡器、1.23V 基准稳压电路、热关断电路、电流限制电路、放大器、比较器及内部稳压电路等。为了产生不同的输出电压, 通常将比较器的负端接基准电压(1.23V),正端接分压电阻网络,这样可根据输出电压的不同选定不同的阻值,其中R1=1kΩ(可调-ADJ 时开路) , R2分别为1.7 kΩ(3.3V)、3.1 kΩ(5V)、8.84 kΩ(12V)、11.3 kΩ(15V)和0(-ADJ),上述电阻依据型号不同已在芯片内部做了精确调整,因而无需使用者考虑。将输出电压分压电阻网络的输出同内部基准稳压值 1.23V进行比较,若电压有偏差,则可用放大器控制内部振荡器的输出占空比,从而使输出电压保持稳定。
由图3.1.1及LM2576系列开关稳压集成电路的特性可以看出,以LM2576为核心的开关稳压电源完全可以取代三端稳压器件构成的MCU 稳压电源。LM2576系列开关稳压集成电路来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来更可靠、更方便。
外形图
图3.1.3
3.1.2 步进电机电源电路
本设计采用12V 直流电压为步进电机供电,因此需要给步进电机设计电源电路。图3.1.4是步进电机的电源电路。由于该电路在应用中比较常见,所以在此不做任何解析。
图3.1.4步进电机的电源电路
3.2 89C51单片机及相关电路
单片机的全称是单片微型计算机(Single Chip Microcomputer )。为了使用方便,它把组成计算机的主要功能部件:中央处理器(CPU )、数据存储器(RAM )、程序存储器(ROM 、EPROM 、E 2PROM 或FLASH )、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器(Microcontroller )。
MCS51系列[1]单片机是美国Intel 公司于1980年推出的一种8位单片机系列。该系列的基本型产品是8051、8031和8751。这3种产品之间的区别只是在片内程序存储器方面。8051的片内程序存储器(ROM )是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片内没有程序存储器;8751内部包含有用作程序存储器4KB 的EPROM 。由于8051的编程需要制造商的支持,而8751的价格昂贵,因此8031获得了更为广泛的使用。
MCS51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。Intel 公司把这种单片机的内核,即8051内核,以出售或互换专利的方式授权给一些公司,如Atmel 、Philips 、ADI 等。这些公司的这类产品也被称为
8051兼容芯片,这些8051兼容芯片在原来的基础上增加了许多特性。本文应用电路中采用了Atmel 公司的AT89S51芯片,它与MCS51单片机指令兼容,同时它的内部包含用作程序存储器4KB 的基于FLASH 技术的只读存储器。采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。
3.2.1 晶振电路
电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。
图3.2.1是单片机的晶振电路。电路中的电容C1和C2的典型值通常选择为30PF 左右,该电容的大小会影响振荡电路频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常在1.2~12MHz。晶体的频率越高,系统的时钟频率越快,单片机的运行速度越快。但反过来,运行速度对于存储器的速度要求就越高,对印刷电路板的工艺要求也就越高,即要求线间的寄生电容要小。晶体和电容应该尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。89C51常选择振荡频率12MHz 的石英晶体。
图3.2.1 单片机晶振电路图
3.2.2 复位电路
复位是单片机的初始化操作,只需要给89C51的复位引脚RST 加上大于2个机器周期(即24个时钟振荡周期)的高电平就可以使89C51复位。复位时,单片机初始化为0000H ,从0000H 单元开始执行程序。除了进入系统的正常初始化之外,当程序运行错误(如程序跑飞)或操作错误使系统处于锁死状态时,也需要复位键使RST 脚为高电平,使89C51摆脱“跑飞”或“死锁”状态而重新启动。图3.2.2是复位电路图。
图3.2.2 复位电路图
3.2.3 时钟电路
本设计需要窗帘在给定的时间自动开和关,所以需要用到定时器,而为了保证单片机与外界时钟一致,要用到一个实时时钟电路。这里使用DS12887实时时钟芯片来完成这项功能。
DS12887是DALLAS 公司生产的实时日历时钟芯片,其主要功能包括非易失性时日历时钟、报警器、百年历、可编程中断、方波发生器和114字节的非易失静态RAM 。使用DS12887时应注意以下几点:Vcc 正常情况下为5V ,当Vcc 降至
4.25V 时,所有的输入被忽略,输出为高阻状态,Vcc 降至3V 时,外部电源被关断,内部锂电池为实时时钟和RAM 供电,在断电情况下,时钟继续运行,其中的数据可保存十年以上不会丢失。DS12887有两种工作时序,即MOTOROLA 和INTEL
时序,由MOT 引脚的电平指定,当MOT 引脚为高电平时选择MOTOROLA 时序,当MOT 引脚为低电平时选择INTEL 时序,图中选为INTEL 时序,这时芯片的DS 引脚接系统的读信号/RD,R/W引脚接系统的写信号/WR。AS 引脚用于分离数据地址总线AD7-AD0上的地址和数据信息,连接到MCU 的ALE 引脚。RESET 引脚的信号对日历时钟和RAM 没有影响,但它影响DS12887的命令和状态寄存器的内容,在图中直接将RESET 连至Vcc ,这样可以保证DS12887在进入或退出电源失效状态时,其工作状态不受RESET 引脚的影响。DS12887有一个可编程输出方波引脚SQW ,从该引脚可以输出频率为2Hz-256Hz 的方波,在系统中正是利用此引脚输出周期为125MS 的方波,作为MCU 外部中断/INT0的中断源实现周期性中断,每当中断发生时,MCU 读一二次输入口,检查电表是否转过一圈,在整点时还要采一次三相电流和电压。除此之外,DS12887内部还有128字节的RAM 的单元,其中前10个字节用于存放日历时钟信息,字节0为秒,字节2为分,字节4为时,字节6为星期,字节7为日,字节8为月,字节9为年,字节0AH-0DH 用作控制和状态寄存器,剩下的114字节为用户RAM ,所有的这128字节都是掉电非易失性的。
图3.2.3 时钟电路图
DS12887时钟芯片和AT89C5l 单片微机的接口电路如图3.2.3所示。模式选择脚MOT 接地, DS12887时钟芯片的AS 端口和89C51单片机的AIE 端直接相联;而DS 、R /W 读写控制线与单片机的RD/WR控制线制线相连;DS12887的高位地址由89C51单片机的P2.7端口来片选,则DS12887的高8位地址定为7FH ,而其低8位则由芯
片内部各单元的地址来决定(00H-3FH);DS12887的中断输出端IQR 和89C51的外部中断INT0端相联,给单片机提供中断信号;DS12887的SQW 端与89C5I 的TO 端相连。
3.2.4 键盘电路
键盘在由单片机控制的窗帘自动控制系统中的主要作用是通过按键向单片机输入指令,其中主要包括设定时间,控制窗帘的开关等等功能,是人工控制单片机的主要手段。在窗帘控制系统设计中的键盘采用的是4×4矩阵键盘。这16个按键分别为:设定键主要是用来设定自动窗帘打开或者关闭的时间;0-9数字键,其作用主要是用于设定时间;复位键主要应用在程序出错以及误操作的时候使单片机复位,从而重新设定;反转键是使步进电机反转,控制窗帘关闭;正转键是使步进电机正转,从而控制窗帘打开;停止键可以控制步进电机停止工作,窗帘控制器停止运行;确定键主要是用于在时间设定完成后的确定输入。
由于按键比较多,单独设置按键会增加总体设计的复杂性,而且为了减少所占用的端口,可以将按键组成一个矩阵,如图3.2.4所示。
图3.2.4 键盘接口电路
3.2.5 显示电路
显示电路主要是用于显示时间。采用LED 数码管进行显示是因为LED 数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与CMOS 、ITL
电路兼容。(2)发光响应时间极短(
(3)体积小,重量轻,抗冲击性能好。
数码管有共阴极和共阳极两种类型,其公共端主要进行位控制,笔画端则是进行字符控制,数码管有静态显示和动态显示两种方法,说明如下:
(1)静态显示驱动:
静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD 码二—十进位器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89C51单片机可用的I/O口才32个。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。
(2)动态显示驱动:
数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM 增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个LED 数码管的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms ,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,但能够节省大量的I/O口,而且功耗更低。
本设计采用的是4位LED 数码管的串行驱动电路来达到显示的目的。驱动器采用74LS164,由单片机89C51的P3.0和P3.1来控制LED 数码管的显示。显示电路图如3.2.5-1所示。
图3.2.5-1 显示电路
74LS164是8 位串行输入,并行输出的移位寄存器。其引脚及各个引脚的作用如下图3.2.5-2所示:
符号
DSA
DSB
Q0~Q3
GND
CP
/MR
Q4~Q7 引脚 1 2 3~6 7 8 9 10~13
14 说明 数据输入 数据输入 输出 地 (0 V) 时钟输入(低电平到高电平边沿触发) 中央复位输入(低电平有效) 输出 正电源
图3.2.5-2 74LS164引脚及说明 VCC
3.2.6 A\D转换电路
A/D转换的作用是进行模数转换,把接收到的模拟信号转换成数字信号输出。在选择A/D转换时,先要确定A/D转换精度、转换速度以及转换位数等,A/D转换的位数确定与整个测量控制系统所需测量控制的范围和精度有关,在自定窗帘控制系统中采用了8位A/D转换器ADC0809。
ADC0809是美国国家半导体公司生产的CMOS 工艺8通道,8位逐次逼近式A/D转换器。8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs 左右。
ADC0809的主要特性有:
(1)8路输入通道,8位A/D转换器,
即分辨率为8位。
(2)具有转换起停控制端。
(3)转换时间为100μs(时钟为640kHz
时) ,130μs (时钟为500kHz 时)
(4)模拟输入电压范围0~+5V ,不需
零点和满刻度校准。
(5)工作温度范围为-40~+85摄氏度
(6)低功耗,约15mW 。
ADC0809芯片为28引脚的双列直插式封装,其信号引脚的功能说明如下: IN7~IN0:模拟量输入通道。
ALE:地址锁存允许信号。对应ALE 上跳沿,A 、B 、C 地址状态送入地址锁存器中。
START:转换启动信号。START 上升沿时,复位ADC0809;START 下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START 应保持低电平。
A、B 、C :地址线(通道端口选择线),A 为低地址,C 为高地址,引脚图中为ADDA ,ADDB 和ADDC 。
CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz 的时钟信号。