《窗帘自动开关控制器.doc》由会员分享,可在线阅读,更多相关《窗帘自动开关控制器.doc(24页珍藏版)》请在课桌文档上搜索。
1、摘 要自动控制属于电子与信息科学的一个重要分支,并且在现代家居中有着较好的目前开展前景。目前,家庭居住环境的采光与避光问题主要采用的是手动开闭窗帘,手动开闭不仅费力而且很多方面不够人性化,可能对用户造成一定的困扰,窗帘控制器可以解决这些问题本文旨在设计一个家用窗帘自动开关控制器。当外界光照度高于某一参考值时窗帘自动打开,低于该参考值是窗帘自动关闭。通过本学期对单片机的学习,利用单片机为控制器,设计单片机控制系统,最终实现控制功能。本设计具有一定的的推广价值,能更加方便人们的生活起居。本系统先确定了设计方案,再分别通过硬件设计和软件设计来完善方案。自动窗帘控制器的构成主要由光照传感电路、89C5
2、1 单片机作为控制器、器主控模块电路、电源转换电路、电机控制电路、键盘、显示电路、执行机构为步进电机等组成,重点讨论了窗帘自动控制器的设计过程、硬件选用和软件调试等问题,通过本器可实现利用光照强度以与设置时间来控制窗帘自动开闭。关键词:家用窗帘;89C51 单片机;步进电机;光敏电阻目 录第 1 章 绪论1第 2 章 方案设计22.1 概述 22.2 系统组成的总体结构 2第 3 章 硬件设计43.1 电源电路设计 43.2 系统控制器单片机的选择 43.3 光敏电阻的选择与设计 53.4 驱动电路的设计 63.5AD 转换电路设计 73.6 键盘的设计 73.7 显示电路的设计 83.8 时
3、钟电路的设计 10第 4 章 软件设计114.1 AD 转换程序设计 11124.3 时钟电路程序设计 134.4 系统分析 14第 5 章 课程设计总结15参考文献 16附录 17第 1 章 绪论伴随着信息化时代的到来,人们的生活速度以与对生活质量的追求也在大幅提高。电子产品智能化速度的加快,也使人们的工作、生活和通讯的关系日益严密。智能化的产品设计在改变人们工作方式与生活习惯的同时,让人们对生活质量的提升提出了更高的要求,方便、舒适成了人们所追求的生活方式,在现代家庭生活环境中,居家环境早已不仅仅局限在物理空间上,人们更为关注的是一个安全、方便、舒适的环境。智能化的电子产品以与设计将以前的
4、被动静止物体转变为人们能够方便操控的工具,这些产品具有提供全方位的信息交换的功能,不仅能够优化人们的生活方式,帮助人们合理的安排时间,增强居家环境的安全性,甚至还可以为各种能源费用节约资金。在智能化产品中,单片机的应用已经越来越广泛,单片机以它体积小、质量轻、耗电省、可靠性高、价格低等优点,开始不断开展,并广泛应用于仪器仪表、家用电器、医疗设备、航天航空领域、工业专用设备的管理与过程控制等领域,在很多的大中型的电气设备以与小型的电子产品中也用到了单片机进展控制。针对人们对智能化的需求以与对舒适生活的追求,窗帘自动控制器改变了传统窗帘的劣势,它可以根据外界光照强度的不同而自动开闭窗帘,也可以根据
5、人们设定的时间来控制窗帘。该器利用光敏电阻检测光照强度的变化,并且将光敏检测模块的电阻变化转化为电压变化,然后将电压变化的信号送单片机,单片机通过电机驱动模块控制着步进电机的正反转实现窗帘的来回移动。本设计正是把利用 AT89C51 单片机的优点以与简单实用性,顺利的完成了对智能控制的要求,并且为智能化的家居设备提供了良好的根底。此外,对该器进展扩展,比如可以加上防火,防盗,甚至室煤气浓度监测等功能,会使该器更具有实用性,而且也完善了器。第 2 章 方案设计2.1 概述本次设计主要是综合运用所学知识,设计出家用窗帘自动开关控制器,并在实践的根本技能方面进展一次系统的训练。能够较全面地巩固和应用
6、“单片机课程中所学的根本理论和根本方法,并初步掌握小型单片机系统设计的根本方法。该器具有一般的窗帘控制器的最根本的功能,即通过电动按钮来开闭窗帘,在此根本功能的前提下,本设计根据需求还设计了可以根据光照强度和设定时间自动开闭窗帘的功能,在选取设计方案和采用元器件方面,该器本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线和选用最经济实用的器件来达到设计要求。自动窗帘控制器具有以下几个根本功能: 1手动控制:该功能是根据用户的需求通过按键进展窗帘的开关,此功能可以使窗帘的开闭处于任何一种状态; 2自动控制:用户可以通过按键一次性开闭窗帘; 3光照控制:器可以根据用户设定的光照强度值通过
7、感光器采集光照自动开光窗帘; 4时间控制:此功能是根据用户设定的时间一次性开关窗帘。2.2 系统组成的总体结构 本次课程设计所采用的系统结构图如下列图光敏传感信号校正A/D转换89C51单片机显示模块键盘模块步进电机驱动根据光照来开闭窗帘主要原理是用光敏电阻采集外界的光强度,从光传感器采集的信号利用信号校正电路放大,滤波后输入到A/D转换器,由于A/D转换器件的转换需要一定时间,一旦在这段时间信号发生变化,转换结果将会出现偏差,所以在转换期间要应该采用采样保持电路。传入的信号由89C51单片机来控制,并且做出响应,以实现电机的正转、反转与停止。显示模块是用来显示自动窗帘控制器的各种状态。键盘作
8、为输入设备,通过不同按键来控制单片机进展各种运转状态。第 3 章 硬件设计3.1 电源电路设计 单片机正常工作电压为 5V,因此设计的电源电路主要是提供单片机工作电压。图 3.1a是为单片机提供电压的电源电路。在这个电路中采用了三端集成稳压器 LM7805,可以输出 5V 的直流电压以供应单片机。 图 3.1a电源电路三端集成稳压器 LM7805,总共有三条引脚,分别是输入端、接地端和输出端。用 LM78LM79 系列三端稳压器来组成稳压电源所需的外围元件极少,电路部还有过流、过热与调整管的保护电路,使用起来可靠、方便。其部结构图如图3.1b所示。 图 3.1b LM7805 部示意图3.2
9、系统控制器单片机的选择 自单片机诞生以来的 40 年中,单片机已有 70 多个系列,500 多个机种,如今单片机厂商众多,生产的单片机产品性能各异,种类繁多。以 Inter(美国英特尔)公司的 MCS-51 系列产品为例,其一般可以分为普通型和增强型。他们的结构根本一样,其主要的差异在于存储器的不同,如 89C51 是以 FlashROM 为存储器。为了符合系统的要求,本课程设计选用 89C51 作为微机控制核心。其特点如下:面向控制的 8 位 CPU;一个片震荡器和时钟产生电路,振荡频率为 024MHz;片4kbFlashROM 程序存储器;128B 的片数据存储器;可寻址 64KB 的片外
10、程序存储器和片外数据存储器控制电路;2 个 16 位定时/计数器;4 个并行 I/O 口,共 32条可单独编程的 I/O 线;5 个中断源和 2 个中断优先级;一个全双工的异步串行口等。 AT89C51 单片机是低功耗、高性能的 CMOS 8 位单片机,片上带有 8K8K FlashFlash 存储器,且允许在器改写或用编程器编程。89C51 单片机上有 40 个引脚如下列图,其主要参数有:14K 字节可编程闪烁存储器;2全静态工作:0Hz-24MHz; (3) 128*8 位部 RAM ;(4) 32 可编程 I/O 线;5两个 16 位定时器/计数器;(6) 5 个中断源;7低功耗的闲置和
11、掉电模式;8片振荡器和时钟电路; 图 3.2 89C51 单片机引脚图3.3 光敏电阻的选择与设计窗帘自动控制器的光控功能是可以根据光照的强弱来自动控制窗帘的开闭的,因此需要用到光照传感元器件,本设计采用了型号为 GL3526 的光敏电阻。其参数为最大电压 100VDC ;最大功率 50mW ;环境温度-30到+70;光谱峰值 540nm到 10nm ;高电阻 20K;低电阻 1M。图 3.3 光敏电阻与单片机的连接图3.4 驱动电路设计 本次课设中我们所选用的驱动电机为 JL-48E500 / 520 步进电机,如下图为步进电机运行原理图。JL-48E500 / 520 是供电源为 12V
12、的 4 相 5 线的步进电机,而且是减速步进电机,减速比为 30:1,步进角为 5.625*30 度。如果需要旋转一圈,那么需 360*30/5.625 的脉冲信号,该步进电机的耗电流为 200mA 左右。 图 3.4 步进电机原理图用 ULN2003 驱动,驱动端口为 P1.0A,P1.1(B),P1.2(C),P1.3(C)。正转次序: AB 组BC 组-CD 组-DA 组 (即一个脉冲,正转 5.625 度);反转次序:AB 组 -AD 组-CD 组-CB 组(即一个脉冲,正转 5.625 度)。控制指令脉冲控制单元功率驱动电路单元步进电机反馈与保护 图 3.4 步进电机电路与单片机的连
13、接3.5 AD 转换电路 A/D 转换的作用是进展模数转换,把接收到的模拟信号转换成数字信号输出。ADC0809 的主要特性有:(1)8 路输入通道,8 位 A/D 转换器,即分辨率为 8 位。(2)具有转换起停控制端。(3)转换时间为 100s(时钟为 640kHz 时),130s时钟为 500kHz 时)。(4)模拟输入电压围 05V,不需零点和满刻度校准。(5)工作温度围为-4085 摄氏度。(6)低功耗,约 15mW。ADC0809 芯片为 28 引脚的双列直插式封装: 图 3.5 AD 转换器引脚图3.6 键盘的设计在窗帘控制器设计中的键盘采用的是 44 矩阵键盘。这 16 个按键分
14、别为:设定键主要是用来设定自动窗帘打开或者关闭的时间;0-9 数字键,其作用主要是用于设定时间;复位键主要应用在程序出错以与误操作的时候使单片机复位,从而重新设定;反转键是使步进电机反转,控制窗帘关闭;正转键是使步进电机正转,从而控制窗帘打开;停止键可以控制步进电机停止工作,窗帘控制器停止运行;确定键主要是用于在时间设定完成后确实定输入。 图 3.6 键盘接口电路3.7 显示电路的设计s),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。 本设计采用的是 4 位 LED 数码管的串行驱动电路来达到显示的目的。驱动器采用 74LS164,由单片机 89C51 的 P3.0 和
15、P3.1 来控制 LED 数码管的显示。显示电路图如 3.7a所示。 图 3.7a显示电路图74LS164 是 8 位串行输入,并行输出的移位存放器。其引脚图如如下图3.7b所示: 图 3.7b74SL164 引脚图3.8 时钟电路的设计DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟日历芯片,附加 31 字节静态 RAM,采用 SPI 三线接口与 CPU 进展同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于 31 天时可以自动调整,且具有闰年补偿功能。工作电压宽达 2.55.5V。采用双电源
16、供电主电源和备用电源 ,可设置备用电源充电方式。需要强调的是,DS1302 需要使用 32.768KHz 的晶振。DS1302 采用双电源供电,平时由+5V 电源供电,当+5V 掉电之后,由图中BT1+3V 备用电池供电。 如图,串行时钟 SCLK 接单片机 P3.6,时钟数据的I/O 接 P3.3,E 接 P3.2。需要注意 X1 和 X2 两端连接的晶振 Y1,该晶振频率为32.768KHz。图 3.11 时钟电路电路图第 4 章 软件设计4.14.1 A/DA/D 转换子程序设计转换子程序设计 该流程图首先要发送启动信号到地址选择处,由地址选择字来判断应答信号是否正确,不正确如此返回,假
17、如正确如此继续执行来发送转换控制字,再次判断应答信号是否正确,如此执行三次,最终读取转换数据,并发送非应答信号,顺序执行发送完毕信号,最终返回主程序。图 4.1 A/D 转换流程图开始发送启动信号发送地址选择字应答信号正确发送控制字应答信号是否正确否否是发动启动信号发送地址控制字应答信号是否正确读取转换数据发送非应答信号发送结束信号返回主程序否是4.2 电机驱动程序设计电机驱动程序设计 此流程图首先由电机脉冲分配函数来确定电机是正转还是反转,从而来决定数组是加 1 还是减 1,假如大于最大节拍如此令节拍为 0,否如此直接调转到最小节拍;假如小于最小节拍如此顺序执行到把数据输出到电机接口再执行延
18、时程序,否如此直接跳转到延时程序,最后返回,整个程序完毕。 图 4.2 电机驱动流程图4.3 时钟电路程序设计时钟电路程序设计电机脉冲分配函数正转数组相位置减1数组相位置加1大于最大节拍节拍等于0小于最小节拍输出数据到电机接口延时YNN返回YYN该程序主要实现对 DS1302 写保护、充电,对年、月、日、时、分、秒等存放器的读写操作。首先程序初始化,紧接着写入时钟初值,此时时钟开始进入计时阶段,由硬件读出数据并返回,整个程序完毕。图 4.3 时钟电路流程图开始初始化写入时钟初值开始计时读取数据返回4.4 系统分析 本系统能实现根本的家用自动窗帘使用。可以实现外界光强时窗帘打开,光弱时是自动关闭
19、。但假如综合考虑天气和时间因素,系统还存在一些不足之处。如外界阴天等其他干扰因素会使窗帘不能正常打开。所以还需参加定时系统。当光敏电阻失效时窗帘不能自动开合,所以还需参加红外遥控系统。使人们可以通过遥控器控制窗帘的打开与关闭。通过相关资料我们可以知道电机的工作状态还通过相关资料我们可以知道电机的工作状态还可通过数码管显示出来,程序的编写很简单,通过不同数字表示相应工作状态。可通过数码管显示出来,程序的编写很简单,通过不同数字表示相应工作状态。与此同时,还可以通过鸣响提示电路提示电机正在工作,以防止屡次按下按钮使与此同时,还可以通过鸣响提示电路提示电机正在工作,以防止屡次按下按钮使单片机进展误操
20、作,造成死机。单片机进展误操作,造成死机。基于单片机的智能遥控窗帘的设计,在实时性要求较低的测控与采集系统的应用中具有很好的开展前景和应用价值。在国外,自动调光窗帘成为人们家居生活的首选布置。 第 5 章 课程设计总结本次设计器地介绍了自动窗帘控制器的硬件电路设计以与软件设计。在总体方案设计中以光敏电阻作为传送信号的传感器,用步进电机作为信号输出的执行元件,89C51 单片机作为主要的控制元器件,并且应用了按键以与和显示电路。应用 89C51 单片机的优势减少了硬件的复杂性,光敏电阻接收外界光照信号,经过 AD 转换后,传送给单片机一个电信号,单片机经过处理后,控制步进电机做出相应的动作,以控
21、制窗帘的开闭。在实现一般应用的根底上,又添加了定时元器件电路,使窗帘的自动化性能得到进一步提升。光敏电阻的良好感光性以与步进电机的结构简单,控制方便的优点使窗帘控制开关更加稳定。本次毕业设计的整个研究与设计过程包括选题、设计以与完善等。首先,在选题方面查阅了很多与题目有关的资料和课题并且制定设计方案,进展设计的总体规划,然后将这些方案落实到设计环节中。其次,在制定的方案根底上运用所学的知识对硬件以与软件进展设计,并用相关软件进展仿真设计。最后,对设计容进一步修缮,以求达到最优设计结果。虽然设计容完成了根本的功能,但是其中还是存在一定欠缺,比如在设计中没有考虑到窗帘工作方式的显示以与没有添加类似
22、红外遥控的设计等。 此次设计过程中,在完成设计任务之外也让我器性地认识和全面地掌握了单片机相关技术,从本次毕业设计中我更加深刻地认识到理念来源于实际的含义。在和同学以与教师的就相关问题的互相讨论交流中,我认识到自己的很多不足,但在这些不足中我又学到了很多知识,使我的综合应用能力有了很大提高。 参考文献参考文献1 何希才,薛永毅.传感器与其应用实例M.:机械工业,2004.22 瞿贵荣.电动窗帘红外遥控电路J.家庭电子,2005(2):2-3.3 郭成林.智能遥控窗帘系统设计J.电子技术,2006(6):32-33.4 汉才.单片机原理与其接口技术M.:清华大学,1996.15 吴爱萍,黄振兴.
23、基于 AT89S52 的智能窗帘群控系统J.科技资讯,2007,8 6 梅丽凤,王艳秋.单片机原理与接口技术.清华大学,7 伯时,阮毅.电力拖动自动控制系统.机械工业,8 中国工控网网页, .gongkong./M.高等教育,2003.10 汉才,单片机原理与接口技术J.:清华大学,2004.J.:清华大学,2002.J.:高等教育,2001.J.:机械工业,2005.附录(1)A/D 转换程序如下:ORG 00HLJMP STARTORG 0BHLJMP T0XORG 30HSTART: MOV CH,#0BCHMOV DPT,#00HMOV R1,#DPTMOV R7,#5MOV A,#1
24、0MOV R0,#DPBUFLOP: MOV R0,AINC R0DJNZ R7,LOPMOV R0,#00HINC R0MOV R0,#00HINC R0MOV R0,#00HMOV TMOD,#01HMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256SETB TR0SETB ET0SETB EAWT: CLR STSETB STCLR STWAIT: JNB EOC,WAITSETB OEMOV GDATA,P0CLR OEMOV A,GDATAMOV B,#100DIV ABMOV 33H,AMOV A,BMOV B,#10DIV
25、 ABMOV 34H,AMOV 35H,BSJMP WTT0X: NOPMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256MOV DPTR,#DPCDMOV A,DPTADD A,#DPBUFMOV R0,AMOV A,R0MOVC A,A+DPTRMOV P1,AMOV DPTR,#DPBTMOV A,DPTMOVC A,A+DPTRMOV P2,AINC DPTMOV A,DPTCJNE A,#8,NEXTMOV DPT,#00HNEXT: RETIDPCD: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H
26、,7FH,6FH,00HDPBT: DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHEND(2)电机驱动程序如下:JMP STARTORG 0100HSTART:MOV BUFF_STEP,#00HMOV P0,#0fFh MOV P1,#0ffhMOV P3,#0ffhMOV P2,#0ffHMOV A,#00H MOV PSW,#00HMOV IE,#00HMOV SP,#30HMAIN: JNB SW1,CCW_LP MOV DPTR,#TAB_CW JMP LOOPCCW_LP:MOV DPTR,#TAB_CCWLOOP: MOV A,BUFF_
27、STEPMOVC A,A+DPTRMOV P1,AINC BUFF_STEPMOV A,BUFF_STEPCJNE A,#04H,MAINMOV BUFF_STEP,#00HJMP MAINDEL: MOV R6,#10DEL0: MOV R7,#200DJNZ R7,$DJNZ R6,DEL0TAB_CW: DB 11110001B,11101001B,11100101B,11100011B TAB_CCW: DB 11110001B,11100011B,11100101B,11101001B END(3)时钟电路程序如下:ORG 0000HLJMP STARTORG 0060HSTART:
28、 ;CLR T_RST;CLR T_CLKMOV SP,#60H MOV SECOND,#00H MOV MINUTE,#00HMOV HOUR,#12HMOV DAY,#01H MOV MONTH,#01HMOV WEEK,#01HMOV YEARL,#08HMOV A,HOURANL A,#0FHMOVC A,A+DPTRMOV P2,AMOV P1,#11111101bLCALL DIS_DELAYMOV A,HOURSWAP AANL A,#03HMOVC A,A+DPTRMOV P2,AMOV P1,#11111110bLCALL DIS_DELAYRET DIS_DELAY:PUS
29、H PSWMOV R7,#10D1: MOV R6,#248D2: DJNZ R6,$DJNZ R7,D1POP PSWRET SETDS1302:CLR T_RSTNOPCLR T_CLKNOPSETB T_RSTNOPMOV B,#8EH LCALL INPUTBYTE MOV B,#00H LCALL INPUTBYTESETB T_CLKNOPCLR T_RSTMOV R0,#SECOND MOV R1,#80H MOV R7,#7SETLOOP:CLR T_RSTNOPMOV B,R1LCALL INPUTBYTE LCALL OUTPUTBYTE MOV R0,A 、INC R0 INC R1INC R1SETB T_CLKNOPCLR T_RSTNOPDJNZ R7,GETLOOPINPUTBYTE:MOV R4,#8INPUTLOOP:MOV A,BRRC AMOV B,AMOV T_IO,CSETB T_CLKNOPNOPNOPCLR T_CLKDJNZ R4,INPUTLOOPRET CLRACLRCMOV R4,#8OUTPUTLOOP:NOPNOPMOV C,T_IORRC ASETB T_CLKNOPNOPNOPCLR T_CLKDJNZ R4,OUTPUTLOOPRETEND
链接地址:https://www.desk33.com/p-24072.html