基于单片机的智能窗帘控制器的设计_第1页
基于单片机的智能窗帘控制器的设计_第2页
基于单片机的智能窗帘控制器的设计_第3页
基于单片机的智能窗帘控制器的设计_第4页
基于单片机的智能窗帘控制器的设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——基于单片机的智能窗帘控制器的设计

本科生毕业设计

基于单片机的智能窗帘控制器的设计

院系电气信息工程学院专业电气工程及其自动化班级09级本科3班

2023年4月

独创性声明

本人庄重声明:所呈交的毕业设计是本人在指导老师指导下取得的研究成果。除了文中特别加以解释和致谢的地方外,设计中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在设计中作了明确的说明并表示了谢意。

签名:年月日

授权声明

本人完全了解许昌学院有关保存、使用本科生毕业论文(设计)的规定,即:有权保存并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。

本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写“无〞):

签名:年月日

指导教师签名:

年月日

基于单片机的智能窗帘控制器的设计

摘要

本设计是基于单片机AT89S52的智能窗帘控制器。通过光敏电阻对单片机外部光线进行检测,根据光线的强弱来控制窗帘的开闭。同时采用红外线遥控以及按键实现一键控制窗帘的开闭。单片机对采集到的信号予以分析判断,及时控制驱动步进电机不同的转动状态实现窗帘的开闭,并通过发光二极管指示不同的工作状态。整个系统的电路结构简单,实用性强。样品控制器测试结果说明,电机运行平稳,可靠性高,在长时间工作中没有出现问题,窗帘控制器的整体性能良好。

1绪论

1.1研究背景及意义

众所周知,在21世纪这个信息化的时代,精神文明以及科学技术高度发展,人们对周边的环境与舒适度要求越来越高。在计算机领域、通信领域、网络领域以及智能控制领域飞速发展的趋势下,家庭居住环境也变得越来越舒适,家中的各项家具渐渐地实现了现代化与智能化。对于人们追求更加舒适化的以及智能化生活的要求,遥控智能窗帘控制系统改变了以往陈旧系统的缺点,该系统能够根据室外光照强度的不同来控制窗帘的开启闭合,也可以通过红外线遥控一键开启或者关闭窗帘。本设计利用光敏电阻对系统外部的光线强弱进行检测,然后将光敏检测模块的电阻变化转化为电压变化,再将电压变化的信号传送到单片机,最终单片机通过电机驱动模块控制着步进电机的正反转实现窗帘的来回移动。本设计正是把利用AT89S52单片机的优点以及简单实用性,顺利的实现了对智能控制的要求,这样就为智能化人性化的家居设备奠定了良好的基础[1]。1.2设计内容

本设计是用AT89S52单片机作为主控制芯片控制的智能遥控窗帘控制器。控制该系统的窗帘开启闭合的任务,采用步进电机作为驱动元件。同时也使用红外线进行远程控制,实现远程控制窗帘的开启与闭合,在此基础上,采用光敏电阻对系统外部的光线进行检测,然后系统根据光线的强弱来控制窗帘的开闭。此外,再加上键盘以及LED显示灯,最终,在每个电路基本模块的协同下实现了智能电动窗帘控制器系统的智能化的要求。1.3设计思想以及基本功能

首先,该系统能够通过窗帘上的开关按钮来开闭窗帘,显然,这是目前市场上自动窗帘都具有的基本功能。在这个基本功能的前提下,同时本设计还根据不同的需求设计了可以根据光照强度和声音强弱来控制窗帘的开闭,在实际选取设计方案和采用元器件方面,该系统本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线和选用最经济实用的元件来达到系统设计的要求。

自动窗帘控制系统具有以下几个基本功能:

(1)红外线控制:用户可以通过遥控器控制窗帘的开闭;

1

(2)手动控制:用户可以一键开启或者关闭窗帘;

(3)智能控制:系统可以根据用户设定的光照强度来自动控制窗帘的开闭。

2硬件电路设计

2.1系统方案的确定

众所周知,在当前这个社会,单片机利用其廉价的成本以及强大的功能已经适用在众多电子产品中,同样本文选取的控制芯片也是单片机,型号是AT89S52。在此基础上,针对整体窗帘需要实现的功能,首先选取了两套设计方案,它们分别是:方案(一):基于温度传感器检测以及声音传感器检测的自动控制。方案(二):基于光照强度器件的自动控制。

这两个窗帘设计方案都是基于单片机微处理器作为主控制芯片的,并且采用步进电机来控制(图中未画出),而不同的部分在主要在于单片机外部的检测器件。方案(一)的系统框图如图2-1所示,方案(二)的系统框图如图2-2所示。

声控模块键盘模块电源模块89S52显示模块温度模块

图2-1方案一系统框图

2

红外线控制键盘模块电源模块89S52显示模块光照检测

图2-2方案二系统框图

纵观方案(一)与方案(二),发现他们的区别主要在于外部传感器件的应用,方案(一)采用对系统外部温度检测同时加以声音检测元件,通过外部的温度变化来控制窗帘的开闭,以避免室内温度差异过大,深入分析,同时采用的声音控制虽然便利性有所提高,但是其误差还是比较大的。方案(二)采用的光照强度来控制窗帘的开闭,加以红外线控制更加便利实用,基本能够满足人们对窗帘的智能化要求。最终,决定选用方案(二)。2.2AT89S52单片机以及相关电路

AT89S52是一种CMOS8位微控制器,它所具的性能有高性能、低功耗的特点,同时还具有8K在系统内可编程的Flash存储器。它与工业上的80C51单片机类的产品指令以及对应的引脚全部兼容;AT89S52的产生运用的技术有:高密度、非易失性的存储技术;在单芯片上,拥有十分灵敏的8位CPU和在系统可编程Flash,这样就使得AT89S52为众多嵌入式控制应用系统提供出了十分灵活以及有效的解决方法。系统内的Flash是允许程序在存储器在系统内可以编程;这个也同样适用与普通的编程器;它一共有40个引脚;在这四十个引脚当中,可编程I/O口的数量是32个;其中还有八个中断向量源以及三个定时器;全双工UART穿行通道;三级加密程序存储器[2]。AT89S52的引脚如图2-3所示。

3

图2-3AT89S52单片机

2.3晶振电路模块

电路中的晶振就是石英晶体震荡器。它是一种高精度和高稳定度的振荡器。基准频率就是石英晶体震荡器来产生的,它能产生基准频率的主要原因就是由于石英晶体震荡器具有十分好的频率稳定特性,以及拥有较强的抗争外界因素原因干扰的超强能力。它不仅能够很好的控制电路中的频率的确凿性通过基准频率。于此同时,晶振还能够产生振荡电流,然后向单片机控制芯片发出时钟信号[1]。

如图2-4电路是单片机的晶振电路。CPU的所有工作都在时钟脉冲的同步下进行。位于片内振荡器产生的振荡频率十分的接近于晶振的频率;一般状况下频率大都在1.2MHz~24MHz之间选取;C1、C2是反馈电容,其值在20pF~100pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。

振荡周期=112?s;机器周期Sm?1?s,指令周期=1~4?s。

4

XTAL1接外部晶体的其中一个引脚,XTAL2接外外部晶体的另一个引脚,在单片机内部,接至上文所述的振荡器的反相放大器的输出端。在采用外部晶体振荡器的时候,对HMOS单片机的引脚接到外部振。什么是压电效应,所谓的压电效应就是在石英晶体的的两个管脚加上交变电场,于此同时,它将会产生具有相应频率的机械型变形,而这种机械振动又会产生相应的交变电场。寻常状况下,无论是电场的振幅,还是机械的振动产生的振幅,这两个振幅具有的供电点就是交变都十分的小。如图2-4所示电容,C1以及C2(它们的典型值都为30pF)可以帮助快速起振,而我们正是通过合理调理它们的大小才能达到实现微调fOSC的目的的。在石英晶振起振后,要能够输出一个3V左右的正弦波在XTAL2线端,之所以这样是为了使MCS-51片内的OSC电路按石英晶振一致频率自激振荡。寻常,OSC的输出时钟频率fOSC为0.5MHz-16MHz,典型值为11.0592MHz或者12MHz。

图2-4单片机晶振电路图

2.4复位电路

对单片机进行初始化操作就是复位电路的主要的功能;一般的为了防止在按键过程中引起的抖动而影响复位。等电源稳定后还要经一定的延时才撤销复位信号,这样就能很好的保证了在复位按键的相对稳定性。寻常状况下,在单片机进行初始化的整个过程中,需要在复位引脚上面加上大于2个机器周期的高电平;而经过复位后的单片机的地址初始化变成0000H;则单片机在今后的执行程序都会从方才初始化的地址开始执行。在复位电路中提供复位信号,等到系统电源稳定后,再撤销复位信号。如图2-5所示的复位电路,其中复位电路与单片机的REST即9号引脚相连,按下K1按键的同时,输入单片机的为高电平,单片机进行初始化[2]。反之,K1不动作时候输入的是低电平。

5

图2-5复位电路图

2.5电压比较部分2.5.1LM393概述

LM393是由两个高精度、独立的电压比较器组成的集成电路。失调电压比较低,最大为2.0mV。LM393就是专门为单电源供电以及获得比较充裕的电压范围而设计的,它不仅能够实现单电源供电,还可以实现双电源供电;并且不管单电源供电还是双电源供电,不管系统的电源电压过大还是过小,LM393消耗的电流都十分之低;还有另外一个特性是:假使是单电源供电,比较器的共模输入电压范围也接近地电平。本设计中LM393的功能主要就是做比较。2.5.2LM393的特点

LM393的特点有如下几点:(1)电源电压范围宽:单电源:20.V~36V双电源:±10.V~±18V(2)电源电流消耗很低(0.4mA);(3)输入失调电流低:±5nA;(4)输入偏置电流低:25nA;(5)最大输入失调电压:±3mA;

6

(6)输出饱和电压低:250mAat4mA;(7)输入共模电压范围接近地电平;(8)差模输入电压范围等于电源电压;

(9)输出电平兼容TTL,DEL,ECL,MOS和CMOS规律系统。2.5.3LM393的电路图

以下是LM393的功能框图以及管脚图以及管脚功能排列表。

8765Vcc-++-GND1234

图2-6功能框图

VccOUTBINTB-INTB+LM393OUTAINA-INA+GND

图2-7管脚图

7

表2-1管脚功能

引出端序号12345678符号OUTAINTA-INTA+GNDINTB+INTB-OUTBVcc功能输出A反相输入A同相输入A接地端同相输入B反相输入B输出B接电源2.6光控电路

在本窗帘设计的系统中,智能窗帘自动控制系统中要实现的光控功能,就是依据室外光线的强弱来实现窗帘的自动开闭的,这样我们就需要用到依据光线感应的传感元器件。在本设计中采用了光敏电阻。制作光敏电阻的寻常用材料为硫化镉,另外还有硫化铅等其他半导体材料。这些特别材料具有在特定波长的光照射下,其阻值能够迅速变小的特性。而我们所用到的光敏电阻器就是利用了这些材料的特性而制作成的。入射光变强,电阻减小,入射光变弱,电阻变大。下面是本设计中光控部分的电路图。其中D3为光敏电阻,当外部的入射光照射D3,光敏电阻D3阻值立刻减小,同时2处电压变大,经过LM393电压比较器U2>U3,输入单片机的P3.0端口的为低电平,此时处于关闭状态的窗帘自动开启。反之窗帘会自动关闭。用户可以根据个人爱好,通过调理与R11相连的滑动变阻器来设定LM393电压比较器的参考电压。

图2-9光控电路

8

2.7步进电机

步进电动机,是一种能够将接收到的电脉冲信号,直接转换而成线位移或者角位移的一种驱动元件;寻常,输入步进电机的是脉冲序列,而从步进电机的输出量则为相应的步进运动或者相应的增量位移。在步进电机正常运转的状况下,它每运转一周具都有固定的步数。当步进电机在正常运转的时候,步进电机的输入脉冲的频率与步进电机的旋转转速都会保持相当严格的对应关系,丝毫不会受到负载的变化的影响,同样也不会受到电压波动的影响。如图2-10所示,为本设计中步进电机运行的原理图。

指令控制脉冲控制单元功率驱动电路单元步进电机反馈与保护

图2-10步进电机工作原理

步进电机不但具有瞬间启动的优势,同时还具有急速中止的优越特性;在控制步进电机的电路中,步进控制器的主要作用,就是把将接收到的输入脉冲转换成环型脉冲,然后步进电机根据相应的脉冲来控制步进电机的运转方强。可以通过改变脉冲的顺序,达到改变转动的方向的效果。在窗帘控制系统中选用了型号为24BYJ48的步进电机。24BYJ48步进电机的主驱动方法以及主要参数如下图所示。

步进电机的驱动方法如下表所示:

表2-2步进电机的驱动方法

导线颜色6红4橙3黄2粉1蓝1+-2+---3+---4+5+---6+7+-8+

步进电机的接线如下图所示:

9

图2-11步进电机接线图

主要技术参数如下表所示:

表2-3步进电机的参数

电机型号电相相电布距角度减速比V24BY-J48543005.625/641:64?300启动转矩启动频率定位转矩摩擦转矩嘈声缘介电强度压数阻?100P.P.SdBg.cmP.P.Sg.cmg.cm—?500?300?35600VAC1S2.8步进电机驱动电路

使用驱动芯片直接驱动步进电机,本模块使用ULN2023双极型线性集成电路ULN2023是一个单片高电压、高电流的达林顿晶体管阵列集成电路。ULN2023是有7对NPN达林顿管组合而成的;在LIN2023的高电压输出特性能够转换感应负载;对于单个达林顿对的集电极电流是500mA。而达林顿管并联可以承受更大的电流。本设计中驱动电路图2-12所示。采用了单片机的P3.0口作为外部信号的输入,用单片机的P2口作为信号输出。其中ULN2023的1,2,3,4引脚分别与单片机的P2.3,P2.2,P2.1,P2.0相连接。然后ULN2023的16,15,14,13引脚分别与步进电机P1的2,3,4,5相连。其中P1上的1始终接电源正极,然后根据单片机输出的P2口输出的信号,转化为步进编码实现电机的正转与反转。为了防止各个单元之间的耦合,ULN2023的9号引脚接的是电源去耦电路。

10

图2-12步进电机电路与单片机的连接

2.9红外线发射部分

一般状况下,红外遥控信号发射器、红外线信号微处理器、红外遥控信号接收器以及红外线外围电路四个模块组合在一起,就能构成一完整的个外线遥控系统。当按下红外线遥控器上面的其中一个按键,就会产生相应的红外线遥控的编码脉冲;本电路设计的遥控接收模块型号是TSOP1838,接收模块完能够通过遥控信号的接收、放大、检波、整形,然后解调出遥控编码脉冲。本设计采用了市场上较为廉价的万能遥控器,遥控器如图2-13所示。型号是hs-021。用户识别码为00FF。本设计采用了遥控其上的“1〞,“2〞号按键,分别作为手动开关、手动自动切换开关[4]。

图2-13红外线发射器

11

2.10红外接收部分

本设计的红外线接收部分采用了红外线一体化接受头,它的型号是TSOP1838。静态的时候输出端输出的是高电平,当接收到红外信号后,则依照红外线信号的数据波形输出相应的负脉冲数据信号。单片机的P3.2口的其次功能是外部中断0(INT0),利用P3.2口的其次功能接收红外线的信号。当红外线的信号从遥控器传输过来,这时与单片机连接的P3.2口电平被拉低,假使此时单片机正在进行其他的工作,单片机就会立刻中止工作,并且瞬间转移到接收红外线信号,并进行处理接收到的信号的工作。如图2-14所示,为红外接收硬件电路图[4]。

图2-14红外硬件接收电路图

2.11指示灯

设计对不同的工作状态以及控制模式有着相应的指示。共有4个LED,其中1,2,3,4指示灯分别与单片机的P0.0,P0.1,P0.2,P0.3接口相连,分别指示手动控制/自动模式,窗帘的运行中止。指示灯的电路图如下图所示,实际电路中电阻采用了电阻排,每个电阻的大小都为1K?。

图2-15指示灯的电路图

12

2.12电源模块

为避免电机等元器件对系统的产生不必要的干扰,窗帘的驱动部分单独供电,采用电源为双路开关电源,明伟牌D-30W双路开关电源,或者使用三节干电池。本设计中采用了三节1.5V干电池。如图2-16所示为电源的电路图。D4为电源指示灯。

图2-16电源电路

2.13窗帘构架设计

窗帘架的制作采用两只滑轮作为主动轮和从动轮,轮子类似皮带轮,底径约为25mm,槽宽和槽深约为4mm;1根绳子,直径约为4mm;在主动轮的槽底用胶水粘一圈薄胶皮以增加摩擦力;将主动轮固定在电动机轴上,而将电动机固定在窗帘盒的一端,将从动轮固定在窗帘盒的另一端,固定时调理装置,绷紧拉绳。窗帘杆选用19mm的不锈钢管,采用2根杆其目的在于左右窗帘能重合。拉绳的接头处与左右窗帘的第一环连接。窗帘架的构成及窗帘的布置如图2-17所示[4]。

左半帘从动轮电机主动轮右半帘图2-17窗帘构架

13

整体电路图

整个窗帘控制器的电路图如下图所示:

图2-17整体电路图

14

2.14

3系统设计

系统软件设计主要有几部分组成,其中包括按键子程序,步进电机控制程序等。本章节着重介绍了智能窗帘控制系统的主程序还有步进电机程序的设计,它们的相应程序代码详见附录。3.1主程序设计

主程序要的任务是系统初始化操作以及各个子程序间的联系,主程序是一个无限循环,主要的功能就是完成单片机初始化,开关中断,对按键进行扫描,控制步进电机工作,显示步进电机的工作状态。

电路主要分为以下几个部分,分别是电源部分、红外线控制部分、按键部分、步进电机控制部分、光控部分、单片机主控器件部分,各部分具有不同的子程序。主程序的作用主要是初始化寄放器以及显示内容;然后查询按键操作,并且对按键进行分析以及处理,通过分析处理,执行转换为相应的手动控制或者自动控制。

初始化手动状态是否有按键手动键按下手动/自动切换键按下窗帘是否开YN窗关,光亮窗开,光暗关窗开窗开窗关窗图3-1主程序流程图

15

#defineucharunsignedchar#defineuintunsignedint

sbitkey=P1^0;//按键控制步进电机的方向sbits2=P1^1;

unsignedcharspeed=8;//步进电机的转速sbitLED1=P0^2;//开窗指示sbitLED2=P0^3;//关窗指示sbitzi=P0^0;sbitshou=P0^1;sbitguang=P3^0;bitZD;

ucharirdate[33];ucharirbyte[4];uchardisp[8];

ucharirtime,irflag,bitnum,irdateok;uintnum,flag,disnum,count,a;

/*八拍方式驱动,顺序为AABBBCCCDDDA*/

unsignedcharcodeclockWise[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};unsignedcharcodeclockWise1[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};ucharcodetable[]={

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xa3,0x8c,0xc8,0xff};

voiddelay(ucharz){

20

unsignedcharx,y;for(x=0;x>1;if(irdate[k]>7){temp=temp|0x80;

}k++;

}

irbyte[j]=temp;

}}

/**************步进电机正转函数****************/voidzhengzhuan(){uchari;

for(i=0;i

LED1=1;

LED2=0;

}

}}

voidyaokong(){

if(irbyte[2]==0x18){

deal_with();

while(irbyte[2]==0x18){

qing();deal_with();}

ZD=~ZD;

if(ZD==1){shou=0;zi=1;}

else

26

{shou=1;zi=0;

}

}

if(ZD==0)//自动

{

if((guang==0)a=400;

//控制电机正转

while(a){a--;

zhengzhuan();

}LED1=0;LED2=1;}

elseif((guang==1)a=400;

//控制电机反转

while(a){

27

a--;fanzhuan();}LED1=1;LED2=0;}}

if(ZD==1){

if((irbyte[2]==0x0c)

while(irbyte[2]==0x0c){

qing();deal_with();}

flag=1;

a=400;

while(a)

{a--;

zhengz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论