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

下载本文档

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

文档简介

河南理工大学《单片机应用与仿真训练》设计报告基于单片机的遥控窗帘设计姓名学号:姓名学号:专业班级:指导老师:所在学院:电气工程与自动化学院摘要 本设计是设计一款基于单片机的遥控窗帘,其中单片机是主要处理和遥控控制以及手动控制的核心,其用于接受处理遥控信号,然后输出信号传送给光耦和电机驱动电路,控制直流电机的正反转,模拟实现对窗帘开、合的控制。这款设计的特点是可以随意控制窗帘的打开和关闭面积,兼具远距离遥控和近距离手动控制两种方式,以保证一种控制方式出现故障也不影响对窗帘的开合,并且具有反映迅速、功耗低、噪声小、结构简单等优点。本设计报告简要介绍了基于单片机技术的遥控窗帘的设计原理,并且根据系统的基本原理制作出了实物模型。本控制系统主要由以下几个模块组成:无线信号发射模块、无线信号接收模块,单片机系统模块、电机驱动模块、电机运行转数检测模块。其中无线信号发射模块的核心是编码芯片PT2262,配套使用的是以解码芯片PT2272为核心的无线接收模块,两组模块配合将对电机控制正反转的信息转变为单片机可以识别的二进制代码,通过与单片机内部的程序配合实现对电机的正反转以及停止的无线遥控控制;电机驱动模块是以L298N芯片以及光耦芯片TLP521-4为核心的功率驱动电路;电机运行转数检测模块是根据霍尔元件对磁钢磁场变化而发出的脉冲的信号的原理做成的;单片机控制模块的核心组件是AT89S52芯片,配以单片机最小系统电路作为无线遥控窗帘系统的总控制模块。此遥控窗帘设计中,电路焊接,程序的编写和模拟,系统的调试等均由我们独立完成,并成功做出无线遥控窗帘的实物模型。设计中经过不断克服困难,使我们对单片机的原理及应用得到更深理解和体会。关键词:单片机、直流电机、L298N、光耦、无线遥控、霍尔传感器目录TOC\o"1-3"\h\u323091概述 3270281.1设计目的 3133661.3AT89S52单片机简介 377482.2单片机最小系统原理分析及使用端口介绍 8290992.3无线发射和接收模块 8134282.4直流电机驱动模块 1182062.5电机运行转数检测模块 15165273软件设计 16306093.1直流电机的正/反转程序设计 164263.2窗帘的过卷检测程序设计 17112574Proteus软件仿真 1844624.1系统模型的搭建 18146784.2程序的调试 19267404.3系统仿真 1960205课程设计体会 19585附1源程序代码 214751附2系统原理图 241概述1.1设计目的1、综合运用理论知识独立完成一个课题设计。2、通过查阅手册、书籍和文献资料,培养独立分析和解决问题的能力。3、通过与同学、老师的商讨,培养与他人合作的能力。4、学习集成芯片的使用与焊接方法。5、学习单片机软硬件的整合与功能实现。1.2设计要求如今窗帘已是各种住房装修不可缺少的一部分,但市场上大部分还是手动拉动的窗帘,而自动遥控也由于造价高昂等原因,只被一小部分场所使用,不能得到普及。本题目要求设计的无线遥控窗帘由无线控制端和手动控制端共同控制窗帘电机的正反转,实现自由启停。并且要造价低廉,功能完善,结构简单,绿色节能,使用低压直流安全电源。本设计要求自己分析元件功能用法,设计出硬件原理图,自己动手焊接电路,自己编写调试程序以实现以上功能;对设计的硬件、软件调试,直至正确地实现系统功能;要求学生最终提供:设计说明书一份,焊好且调试好的电路板一块;统一进行答辩考试。1.3AT89S52单片机简介AT89S52主要功能列举如下:1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)3、内部程序存储器(ROM)为8KB4、内部数据存储器(RAM)为256字节5、32个可编程I/O口线6、8个中断向量源7、三个16位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道AT89S52各引脚功能介绍:VCC:AT89S52电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:"EA"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用8751内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2系统总体方案及硬件设计2.1系统总设计思路及框图图2.11系统总体框图这款基于单片机的遥控窗帘,其系统组成如上图所示,主要分六大部分:无线电收发与电平转换模块、手动控制按键、单片机处理中枢、窗帘位置自动识别中断信号发生器、电机和电机驱动模块。其中无线电接收模块可接收来自遥控器的正反转信号,再由其内部芯片和相应电路,使信号变为TTL电平,分别由不同引脚输出,然后再把电平信号输入单片机,经单片机分析处理后,再由其引脚持续输出给驱动模块电平信号,再经TLP521光电耦合芯片、L298N驱动芯片,输出给直流电机以电压,驱动电机正、反转。同时,此电路可使用手动按键进行控制。且当电机驱动窗帘到达窗户两个边沿出时,可使两端霍尔片被触发,产生中断控制信号,是电机停止运转以避免电机堵转出现过流。2.2单片机最小系统原理分析及使用端口介绍图2.21单片机最小系统这是以AT89S52单片机为cpu的最小系统设计,它由12MHZ晶振和两个30PF的瓷片电容组成震荡发生器,以18脚XTAL2和19脚XTAL1输入。其复位端以手动按键来控制,它是用一个极性电容和一个电阻组成电平产生电路,由9脚RST口输入。此遥控窗帘系统单片机以P1口为控制信号输入端,INT0口为中断信号入口,P2、P3口为信号输出端。2.3无线发射和接收模块无线遥控模块采用PT2262/PT2272编码解码芯片做成的无线发送接受模块。编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。PT2262/PT2272特点:(a)、CMOS工艺制造,低功耗(b)、外部元器件少(c)、RC振荡电阻(d)、工作电压范围宽:2。6-15v(e)、数据最多可达6位(f)、地址码最多可达531441种图2.31外形图及测试应用图在通常使用中,一般采用8位地址码和4位数据码,这时编码电路PT2262和解码PT2272的第1~8脚为地址设定脚,有三种状态可供选择:悬空、接正电源、接地三种状态,3的8次方为6561,所以地址编码不重复度为6561组,只有发射端PT2262和接收端PT2272的地址编码完全相同,才能配对使用,遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的PT2262和PT2272的八位地址编码端全部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将PT2262和PT2272的1~8脚设置相同即可,例如将发射机的PT2262的第1脚接地第5脚接正电源,其它引脚悬空,那么接收机的PT2272只要也第1脚接地第5脚接正电源,其它引脚悬空就能实现配对接收。当两者地址编码完全一致时,接收机对应的D1~D4端输出约4V互锁高电平控制信号,同时VT端也输出解码有效高电平信号。用户可将这些信号加一级放大,便可驱动继电器、功率三极管等进行负载遥控开关操纵。使用过程中,我们将GND端接地,Vss接+5V电源,D0、D1、D2、D3分别引到单片机的引脚上,VT不用悬空。当遥控发送模块按下按键A时,可以用万用表测得D0对应的引脚由低电平翻转为高电平。同样地,当遥控发送模块按下按键B时,可以用万用表测得D1对应的引脚由低电平翻转为高电平。当遥控发送模块按下按键C时,可以用万用表测得D2对应的引脚由低电平翻转为高电平。当遥控发送模块按下按键D时,可以用万用表测得D3对应的引脚由低电平翻转为高电平。我们可以根据电平的变化,来控制相关模块。图2.32无线遥控发射器图2.33信号发生器端口图2.4直流电机驱动模块 TLP521是可控制的光电藕合器件,光电耦合器广泛作用在电脑终端机,可控硅系统设备,测量仪器,影印机,自动售票,家用电器,如风扇,加热器等电路之间的信号传输,使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰,减化电路设计。TLP521-1,-2和-4组成的砷化镓红外发光二极管耦合到光三极管。该TLP521-2提供了两个孤立的光耦8引脚塑料封装,而TLP521-4提供了4个孤立的光耦中16引脚塑料DIP封装集电极-发射极电压:55V(最小值)经常转移的比例:50%(最小)隔离电压:2500Vrms(最小)TLP521TLP521-2TLP521-4光藕内部结构图及引脚图:图2.41TLP521TLP521-2TLP521-4芯片内部结构及引脚图应用时,可以在二极管的阳极加一个1K左右的上拉电阻,三极管的集电极加一个1K左右的上拉电阻。当用单片机给二极管的阴极施加低电平时,对应的三极管的发射极就会导通,可以作为电流驱动。一般光电隔离的两端的所有器件,不要再共用同一个电源和地。 L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46V。输出电流可达2.5A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。ENA、ENB接控制使能端,控制电机的停转。表2.41是L298N功能逻辑图:表2.41L298N功能逻辑图表2.42

L298对直流电机控制的逻辑真值表完整的直流电机驱动电路如下:其中M1.1、M1.2、M2.1、M2.2是电动机的接线口,可以同时驱动两台电机图2.44光耦隔离和直流电机驱动完整图2.5电机运行转数检测模块电机运行转数检测模块的核心是霍尔元件。他的工作原理是根据霍尔效应制成的霍尔传感器不仅可以用于磁场的测量,大量的还是以磁场为工作媒体,将物体的多种运动参量转变为电压输出,因而在自动控制、各种物理量的测量中得到了大量的应用。集成霍尔传感器主要由霍尔片和放大器组成,根据不同应用的需要,有的还加温度补偿电路、稳压电源或施密特触发器及开关电路等,加了不同附加器件后其应用和特性各不相同。集成霍尔传感器的特点是:体积小、频响宽、动态特性好、对外围电路要求简单、使用寿命长及价格低廉。器件输出电压与器件所在位置的磁场强度成线性关系。如SS95A系列和MLX90215系列,运用此类器件时,只要选取适当的小磁钢,就可将与小磁钢一起运动的物体的位置、位移、速度、角度等信息以电信号的形式传感出来,达到了自动测量与控制的目的。当霍尔器件所在位置的磁场尚未达到工作点之前,器件以高电平输出,当磁场增强到工作点(Bop)时,霍尔片输出的电压UH经差分放大器放大后,送至施密特触发器,使之翻转导通,从而使门电路输出端由高电平变为低电平,称此为“开”状态。反之,当磁场减小到释放点(Brp)时,门电路输出端截止,则由低电平变为高电平,称为“关”状态。常见的霍尔开关有UGN3109、A44E和US5881。由于该传感器只对一定强度的磁场起作用,抗干扰能力强,因而应用广泛。当磁场超过工作点时,其输出导通为低电平,而当磁场变小乃至完全撤消后,其输出状态保持不变,必须施加一个反向磁场,才能达到释放点,输出截止转为高电平,可见具有锁存记忆功能。常见的集成霍尔锁存器有UGN3075和US1881。US1881有两种封装形式:图2.51霍尔锁存器的封装当磁钢从霍尔传感器的前面重复消磁、励磁的过程中,其OUT端会输出一个电平变化信号,作为计数器T0的外部脉冲。整个系统也就是根据霍尔传感器和磁钢一起用产生外部脉冲,使得T0计数的这个特性来实现窗帘的防过卷功能的。是整个设计的关键点之一,使用它可以实现窗帘的智能化。3软件设计程序的编写是该系统的重要部分,如果程序编写的科学就能体现出该系统的完整性、实用性、经济性。高质量的软件设计是单片机高效工作的前提和要求,但是只有软件和硬件都正确,并且软件和硬件能够互相兼容、协调工作才能使系统工作达到我们想要的效果。本系统的软件编程部分主要通过电机的正/反转程序设计、窗帘的过卷检测程序设计两部分进行介绍。3.1直流电机的正/反转程序设计本系统的电机正/反转程序属于外部信号对单片机端口电平高低的控制让后经单片机处理后输出对电机控制的信号。首先单片机在待机状态下等待P1口控制信号,一旦满足条件单片机就会对信号进行处理,以实现电机的正反转。单片机正反转运行程序流程图如下:用户发出正/反转命令用户发出正/反转命令单片机执行正/反转命令初始化P1口清零开始电机是否发生正/反转结束是否图3.1电机正/反转程序设计流程图

3.2窗帘的过卷检测程序设计窗帘的过卷检测流程图如下开始开始检测电机是否正在正反转检测窗帘是否过卷发出停止指令是电机是否停止运转结束是否否图3.2窗帘的过卷检测程序设计流程4Proteus软件仿真在搭建好系统仿真模型后,就可以对系统进行部分和整体调试了,系统进行整体调试的目的就是查找系统结构以及软件设计中的漏洞,及时弥补过失,一是系统能够正常运行。Proteus软件仿真主要分为以下几个步骤:4.1系统模型的搭建在Proteus的元件库中寻找所需要的核心芯片和外围设备元件,根据电路的需要来搭建模型电路。如果在Proteus元件库中没有某一定型号的元件,则可以使用其他具有相似功能的元件进行代替,例如在Proteus元件库中没有AT89S52单片机,则可以用AT89C51来就进行代替,但代替时一定要注意不同元件之间的微小差异,在程序设计以及元件参数设定时需要将这方面因素考虑进去。4.2程序的调试任何与单片机有关的仿真都要求其特定的系统程序,所以在之前首先要编写程序,编写完成后,首先对程序进行调试,可以使用Proteus自身待的调试功能,也可以使用其他软件,比如Keil等,在排除程序中的逻辑错误后,就可以在Proteus仿真图中进行硬软联调了。4.3系统仿真在系统模型搭建成功 且程序调试成功后,就可以使用Proteus软件进行仿真测试了。首先将调试软件生成的.HEX文件下载到单片机中,然后根据预先的约定进行单片机系统功能的验证和调试,记录参数,最后就是调整阶段了,找出单片机仿真时与预先设想功能的差异处,寻找产生差异的原因,最终消除差异。这可能需要很长时间,这种情况下就要和同学合作共同差错,这样才能避免个人思维定式的干扰。5课程设计体会通过这次单片机课程设计,我们真的是受益匪浅,动手能力和合作能力都得到了一定的提高,要感谢领导和老师们为我们提供的这次宝贵的实践机。在这次设计过程中,硬件的设计跟焊接都要我们自己动手,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想和要求运行起来。当然,这其中也有很多的问题。第一,不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课程设计是对我们的学习态度的一次检验。对于这次单片机综合课程设计,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次设计所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力和决心,有足够的挑战困难的勇气,就没有什么办不到的。本次课程设计虽然取得了一定的收获,但是在很多方面还是有待于进一步改进和完善的。比如,霍尔传感器的转盘有点重,在电机正反转的时候可能会因为分压不足使正反转指示灯(两个发光二极管)不亮。另外,本次设计没有光控电路,如果再加上一个光控电路,在光线较暗的时候能自动开窗帘,二而在光线较强的时候能够自动关窗帘,那这个设计将会更加完善。通过这次单片机课程设计,我们加深了对单片机理论的理解,将理论很好的应用到实际当中去。参考文献[1]余发山,王福忠.单片机原理及应用技术[M].徐州:中国矿业大学出版社,2008[2]陈有卿,通用集成电路应用与实例分析[M].中国电力出版社,2007[3]艾永乐,模拟电子技术基础[M].中国电力出版社,2008[4]余永权,单片机在系统中的应用[M].北京:电子工业出版社,2003[5]李建华,使用遥控器原理与制作[M].北京:人民邮电出版社,1996[6]何立民,MCS-51系列单片机应用系统设计,系统配置与接口技术[M].北京:北京航空航天大学,1995附1源程序代码#include<reg52.h>#include<stdio.h>sbitopen=P1^0;sbitclose=P1^1;sbitstop=P1^2;sbitkj=P1^3;sbitbj=P1^4;voidDelay1ms(intcount){ unsignedinti,j; for(i=0;i<count;i++) for(j=0;j<120;j++);}unsignedchargetkey(){ i

温馨提示

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

评论

0/150

提交评论