基于单片机的6层电梯模拟控制系统设计_第1页
基于单片机的6层电梯模拟控制系统设计_第2页
基于单片机的6层电梯模拟控制系统设计_第3页
基于单片机的6层电梯模拟控制系统设计_第4页
基于单片机的6层电梯模拟控制系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

院系电气信息工程学院专业电气工程及其自动化班级07级电气1班学号学生姓名联系方式指导教师职称教授2011年5月独创性声明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名:年月日授权声明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为____________________签名:年月日指导教师签名:年月日摘要本设计是利用AT89C52单片机控制的多层电梯模拟控制系统,主要包括硬件系统的设计、软件系统的设计及模拟电路的仿真调试。本设计主要是利用中断电路控制电梯的响应和电机的驱动,是专门为楼层快速通行控制设计的智能系统。此外,利用单片机控制电梯有成本低、通用性强、灵活性大及易于实现复杂控制等优点。关键词:AT89C52单片机;仿真调试;电梯ABSTRACTInthispaper,thedesignisabouttheuseofmulti-storeyelevatorcontrolledbyAT89C52MCUsimulationcontrolsystem,whichincludesthedesignofhardwaresystem,thedesignofsoftwaresystemandthecircuitsimulationtest.Thisdesignmainlyusestheinterruptcircuittocontrolelevatorresponseandmotordriver,whichspeciallydesignedforquickacessintelligentsystem.Inadditiontothis,thereareadvantagesoflowcost,strongcommonality,flexibilityandeasilytorealizecomplexcontrolandsoontothesingle-chipmicrocomputercontrolofelevator.Keywords:AT89C52Microcontroller;Digitaltube;elevator目录1绪论 11.1设计背景 11.2设计目的 12方案论证 12.1设计要求 12.2系统的结构框图 22.3电动机的选择 22.4AT89C52单片机 23硬件系统的设计 33.1硬件设计思路 33.2时钟电路 43.3复位电路 53.4中断电路 53.5电动机正反转控制电路 63.6数码管显示模块 63.7按钮控制电路模块 73.8模拟电路图 74软件系统的设计 84.1程序设计思路 84.2程序流程图 94.3源程序代码 105电路仿真及调试 166结束语 19参考文献 21致谢 221绪论1.1设计背景1854年,在纽约水晶宫举行的世界博览会上,美国人伊莱沙·格雷夫斯·奥的斯第一次向世人展示了他的发明—历史上第一部安全升降梯。从那以后,升降梯在世界范围内得到了广泛应用,以奥的斯的名字而命名的电梯公司也开始了她辉煌的旅程。150多年以来,她已经发展成为全球领先的电梯公司。中国最早的一部电梯出现在上海,是由美国奥的斯公司于1901年安装的。1932年由美国奥的斯公司安装在天津利顺德酒店的电梯至今还在安全运转着。1951年,天津从庆生电机厂为天安门安装了一台我国自行制造的电梯。改革开放30多年以来,随着我国城市化进程的日益加快,电梯已经融入了我们的生活,电梯被应用于宾馆、饭店、办公大楼、商场、娱乐场所、仓库以及居民住宅大楼等。因为电梯的高效、方便、快捷,所以电梯受到了大家的热烈欢迎。未来的社会是城镇与城市渐渐融合,相互影响。电梯的应用将会不断拓展,款式将各种各样,目的就是为了满足人们的多种多样的需求。电梯将是现代人不可或缺的代步工具,随着科技的不断进步,经济的深入发展,科技将引领电梯进行质的飞跃,电梯将越来越智能,越来越安全稳定。1.2设计目的目前电梯控制系统大多采用继电器或者可编程控制器(PLC)的控制方式,存在着成本高,需要三相供电等缺点,本设计给出了一种基于单片机的电梯模型控制系统设计。以单片机为核心,再辅以适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低、通用性强、灵活性大、扩展容易及易于实现复杂控制等优点。本设计注重基本理论知识与实际情况的紧密结合,同时对学生独立创新和分析问题的能力进行培养,加深对知识的理解,为以后的工作和学习打下坚实的基础。2方案论证2.1设计要求(1)设置电梯的内外按键,即电梯外都有上或下的按键,电梯内有楼层的选择按键。(2)电梯状态要有指示灯显示,即电梯目前运行到达楼层的实时显示,电梯升降的状态显示等。(3)电梯无人时,应默认停在第一层。2.2系统的结构框图图2-1系统的结构框图如上图2-1所示,楼层电梯呼叫按键就是楼层外面的上行、下行按键,有需求时即可按下;电梯内呼叫按键就是电梯内部的数字按键,它是内部按键需求的输入;单片机就是整个系统的核心,接收输入信息,经过处理后输出信息;楼层显示数码管就是接收单片机处理的信息,显示此时的楼层数;电梯状态指示灯就是接收单片机处理的信息,显示电梯的状态:上升、下降、停止。电动机的驱动和控制就是接收单片机的PWM脉冲信号来控制驱动器,进而控制电动机的正反转,使电动机牵引电梯做上下运动。2.3电动机的选择我们选用三相异步电动机来做电梯的动力装置,因为国产Y系列的电动机具有高效、节能、特性好及低噪声等优点,我们将选用国内最先进的Y系列异步电动机。这里我们选用Y100L24三相异步电动机,因为它还具有性能好、寿命长、可靠性高、维护方便、启动转矩大等优点,其功能参数为额定电压380V,额定频率50HZ,额定功率3000W,额定转速1400转/分。2.4AT89C52单片机本设计采用的是AT89C52单片机,AT89C52是一个低电压,高性能CMOS8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。其主要功能特性:(1)与MCS-51指令和引脚完全兼容;(2)8K字节可重复檫写Flash闪烁存储器;(3)寿命:1000次檫写周期;(4)三级加密程序存储器;(5)全静态工作:0Hz-24MHz;(6)256×8字节内部RAM;(7)32个可编程I/O口线;(8)三个16位定时器/计数器;(9)8个中断源;(10)可编程串行UART通道;(11)低功耗空闲和掉电模式。外形及引脚排列如图2-2所示:图2-2AT89C52单片机外形及引脚排列3硬件系统的设计3.1硬件设计思路电梯最底层为1楼,因此在1楼仅有上升按键,而电梯最高层为6楼,因此6楼应仅有下降按键。其他楼层则既有上升按键,也有下降按键。在电梯内部按键设置方面,则应有1~6楼的各层选择按键。按键的一端接地,另一端通过集成电路芯片连至单片机引脚。这里,由于按键数量很多,又要求电梯控制系统能以最快速度响应按键的需求,因此,所有按键通过与门连接单片机。用五片双4输入与门74LS21即可实现16个按键对象的集体与运算的最终结果,按键动作最终是送到单片机的端。即:←(P1.0*P1.1*P1.2*P1.3)*(P1.4*P1.5*P1.6*P1.7)*(P3.0*P3.1*P2.0*P3.3)*(P3.4*P3.5*P2.1*P2.2)无论哪一个按键有动作,低电平信号就会送到端,从而引发外部中断0服务子程序运行。当定时器0中断时,单片机向电动机发送PWM脉冲信号,电动机接到脉冲信号后,经过驱动器的驱动,电动机便牵引电梯上下运动。电梯的楼层显示用七段数码管完成显示。本设计电梯只有6层,因此用七段数码管即可,数码管的显示数据通过单片机的P0口来进行传送。设计中要求数码管随着电梯的位置变化而变化,即数码管显示数据要与楼层数同步,因此数码管的片选线直接连接地,而不需要再选择。电梯升降的状态用上升和下降指示灯来进行显示,通过单片机的P3.7和P3.6引脚分别连接上升和下降指示灯的负极,其正极均连接至系统正电源处。3.2时钟电路图3-1时钟电路图单片机的时钟电路有振荡电路和分频电路组成。其中振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。AT89C52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。AT89C52单片机电路中的电容C1和C2典型值通常选择为30pF。晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。但反过来运行速度越快对内存的速度要求就越高,对印刷电路板的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。基于以上本设计我们考虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。3.3复位电路图3-2复位电路图复位是单片机的初始化操作,程序给单片机的复位引脚RST加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。AT89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。如图3-2所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。当时钟频率选用12MHz时,C1取10uF,R1取10KΩ时,电容C1充放电时间τ=R1*C1=0.1s>2us(2个机器周期)。3.4中断电路各中断的优先级(由高到低排列):外部0中断、定时器T0中断、外部1中断、定时器T1中断、串行发送中断、串行接收中断、定时器T2中断。图3-3中断电路图中断电路如上图3-3所示。图中外部0中断与74LS21与门相接,低电平有效,所以当单片机接电源后,P1.0~P1.3引脚此时为高电平,当任一按键按下后,相应的中断输入口直接与地相接,高电平变为低电平,外部0中断立即响应,单片机系统进入中断控制子程序系统,在中断服务子程序中做出相应的执行指令。3.5电动机正反转控制电路图3-4带有联锁的正反控制电路如上图3-4所示,几只控制电路通过辅助触头之间的相互连接,实现彼此之间相互联系又相互制约的作用,叫做联锁。继电接触控制电路,通过接触器、继电器之间的相互联锁,可以实现多台设备按生产工艺进行工作,是实现自动控制及保护的重要环节。当接通电源后,闭合负荷开关QM,按下开关SB1,线圈C1得电,使电动机启动,此时电动机正转。按下开关SB2,线圈C2得电,线圈C1断开,此时电机开始反转。3.6数码管显示模块LED是LightEmitingDiode(发光二极管)的缩写,发光二极管是可以将电信号转换为光信号的电致发光器件。由条形发光二极管组成“8”字形的LED显示器,也称数码管。通过数码管中发光二极管的亮暗组合,可以显示多种数字,字母以及其他符号。数码管有七段数码管和八段数码管之分。七段数码管由7个发光二极管组成,而八段数码管则是在七段发光二极管的基础上在再加一个圆点型发光二级管,用于显示小数点,本设计采用七段数码管。数码管能够被广泛使用,与其具有的许多特点是分不开的,其中包括:(1)发光响应快,亮度强,高频特性好,而且随着材料的不同,数码管能发出红色,黄色,绿色,蓝色,橙色等多种颜色的光;(2)机械性能好,体积小,重量轻,价格低廉,能与CMOS和TTL电路配合使用,使用寿命长,可达105~106h;(3)工作电压低,驱动电流适中,每段工作电流为5~10mA。图3-5七段数码管七段数码管外形如图3-5所示,即左边的7个引脚跟单片机P0口相接,下边的引脚连接地。3.7按钮控制电路模块图3-6电梯不同楼层的按钮如图3-6所示,按键显示电路模块包括电梯内部的按钮和每层楼的上下按钮,这些按钮一端与地相接,一端又与单片机和与门74LS21相接,外部0中断低电平有效,这样可以实现模拟按键的自如操作。3.8模拟电路图如下图3-7所示,电路原理图包括状态指示灯模块、内外按键模块、中断电路模块、单片机的主要外围模块、数码管显示模块和电动机驱动控制模块。P0口的P0.1~P0.6引脚与数码管模块相接,P2口的P2.4~P2.7引脚与电动机驱动控制模块相接,P3口的P3.2引脚与中段电路模块相接,P1口的P1.0~P1.7引脚、P3.0~P3.1引脚、P3.3~P3.5引脚分别与对应的内外按键模块相接,P3.6~P3.7引脚与状态指示灯模块相接。图3-7模拟电路原理图4软件系统的设计4.1程序设计思路首先,必须得合理考虑按键的响应问题。一段时间内可能有多个不同的按键有动作,程序必须记录每一个按键的动作,并根据电梯本身所处的楼层情况与按键楼层之间的位置关系,合理判断出电梯应当做出上升或下降的响应动作。其次,电梯系统还有一个判断是否无人的情况。即电梯到达某楼层后,其他楼层无按键动作,且电梯内也无楼层选择按键动作,那么就可以判断此时电梯内无人。若电梯内无人,电梯应自动返回到1层等待。然后,两个楼层之间应考虑有一段运行时间,而且也要设置在一个楼层的停留时间。本设计中两个楼层之间的运行时间设为1s,每层停留时间设为5s。当定时0中断时,可利用此发送电动机PWM脉冲信号,经驱动器驱动后,电动机正反转执行相应的动作指令。另外,当电梯上升或者下降时,相应的状态指示灯应及时同步点亮。4.2程序流程图本设计程序流程图主要包括主程序流程图、启动电梯子程序流程图、选择当前要去楼层子程序流程图。图4-1主程序流程图图4-2启动电梯子程序流程图图4-3选择当前要去楼层子程序流程图4.3源程序代码//源程序#include<reg52.h>#defineMAXFLOOR6unsignedcharcodeLED_CODES[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d};//电梯外面的按键上下键sbitF6D=P1^0;sbitF1U=P1^1;sbitF2D=P1^2;sbitF2U=P1^3;sbitF3D=P1^4;sbitF3U=P1^5;sbitF4D=P1^6;sbitF4U=P1^7;sbitF5D=P3^0;sbitF5U=P3^1;//电梯内的按键sbitF1=P2^0;sbitF2=P3^3;sbitF3=P3^4;sbitF4=P3^5;sbitF5=P2^1;sbitF6=P2^2;//指示灯sbitledu=P3^7;sbitledd=P3^6;sbitopen=P2^3;//开门键sbitclose=P0^7;//关门键//电动机的驱动接线sbita1=P2^4;sbita2=P2^5;sbita3=P2^6;sbita4=P2^7;bitdir=1,stop=0;//dir表示1为向上,0为向下;stop表电梯是否停止unsignedcharnf=1;//当前楼层unsignedcharcf=1;//要去楼层unsignedchardf;//楼层差(电梯停止依据):df=|cf-nf|unsignedchartf;//暂存当前楼层(显示码指针):tf=nfunsignedcharflag,count=0;//flag=1表示正在运行;count=乘坐时计数值unsignedinttimer1=0,timer2=0;//timer1为楼层间运行时间计数值,timer2为等待计数值unsignedcharcall_floor[7]={0,0,0,0,0,0,0};//存储每层楼的信息,1为有人呼叫或者有人前往//主程序voidselect_next();voidstep(bitdir);voiddelay(unsignedintz);voidmain(void){P0=LED_CODES[1];TH0=0x3C;TL0=0xB0;TMOD=0x01;//工作方式1ET0=1;//允许定时器中断EA=1;//中断总允许EX0=1;//允许外部0中断IT0=1;//为脉冲触发方式,下降沿有效while(1){if(!flag&&!stop){select_next(); //决定电梯去哪一层step(dir); //电梯启动}elseif(stop){timer2=0;TR0=1;//启动定时器/计数器工作while(timer2<100&&stop);TR0=0;timer2=0;stop=0;}}}//选择当前要去的楼层子程序voidselect_next(){chari;if(nf==MAXFLOOR)//最大楼层{dir=0;//电梯向下}elseif(nf==1){dir=1;//电梯向上 }if(dir==0)//电梯向下时{if(call_floor[nf]==1)//要去的为当前层,即只需延时5s{call_floor[nf]=0;stop=1;return;}for(i=nf-1;i>=1;i--) //向下运行时查找下一个要去的楼层if(call_floor[i]){cf=i;return;}dir=1;for(i=nf+1;i<=MAXFLOOR;i++) //没有向下走的人,即反向运行if(call_floor[i]){cf=i;return;} dir=0;cf=1;//经过上面的判断此处表示电梯没有人,默认停在一楼}if(call_floor[nf]==1){ call_floor[nf]=0; stop=1; return; }for(i=nf+1;i<=MAXFLOOR;i++)if(call_floor[i]){cf=i;return;}if(i==7){dir=0; }}//启动电梯子程序voidstep(bitdir){if(cf==nf)return;elseif(!flag){flag=1;delay(50);if(dir==1){ledu=0; ledd=1; }else {ledd=0; ledu=1; }timer1=0;TR0=1;}}voiddelay(unsignedintz)//延时程序{unsignedintx,y;for(x=z;x>0;x--){for(y=125;y>0;y--);}}//定时0中断,可利用此发送电机PWM脉冲信号voidtime0_int()interrupt1{TH0=0x3C;TL0=0xB0;timer1++;timer2++;if(flag){if(timer1==20)//到达一个楼层延时1s{timer1=0;if(dir)nf++;else nf--;call_floor[nf]=0;flag=0;TR0=0;P0=LED_CODES[nf];//显示当前楼层if(cf==nf) //到达呼叫楼层,关电机{TR0=0; ledu=ledd=1; stop=1; return; } }}}//外部中断0服务子程序voidint0()interrupt0{if(F6D==0)call_floor[6]=1;elseif(F1U==0)call_floor[1]=1;elseif(F2D==0||F2U==0)call_floor[2]=1;elseif(F3D==0||F3U==0)call_floor[3]=1;elseif(F4D==0||F4U==0)call_floor[4]=1;elseif(F5D==0||F5U==0)call_floor[5]=1;elseif(F6==0){call_floor[6]=1;stop=0;}elseif(F1==0){call_floor[1]=1;stop=0;}elseif(F2==0){call_floor[2]=1;stop=0;}elseif(F3==0){call_floor[3]=1;stop=0;}elseif(F4==0){call_floor[4]=1;stop=0;}elseif(F5==0){call_floor[5]=1;stop=0;}}5电路仿真及调试图5-1电梯默认停在一楼解析:如上图5-1所示,电梯没有其他响应时,默认停在一楼,数码管显示1楼。此时各内外按键接地的一侧全部为低电平,接单片和74LS21与门一侧全部为高电平,一旦按钮按下,凡是按键所接的引脚全部为低电平,此时外部0中断低电平有效,外部0中断立即响应。当定时器0中断响应后,开始计时并向电动机发送PWM脉冲信号,经驱动器驱动后,电动机就会牵引电梯做上升或者下降运动,数码管收到单片机的控制信号后就会显示楼层的同步变化,相应的上升、下降指示灯会有所指示。图5-2电梯处于上行中,经过三楼,上行指示灯亮解析:如上图5-2所示,电梯在四楼及以上有响应,经过三楼,上升指示灯亮。按键按下后,外部0中断立即响应,去执行外部0中断服务子程序。当定时器T0开始计数时,并向电动机发送PWM脉冲信号,经驱动器驱动后,此时电机正转,就会牵引电梯做上升运动,电梯经过三楼,数码管同步显示3楼,上升指示灯亮,下降指示灯灭。图5-3电梯处于下行中,经过四楼,下行指示灯亮解析:如上图5-3所示,电梯可能没有响应,在四楼以上停了5s就返回一楼,或者是在四楼以下有响应,执行外部0中断服务子程序。当定时器T0开始计数时,并向电动机发送PWM脉冲信号,经驱动器驱动后,此时电机反转,就会牵引电梯做下降运动,电梯下行,经过四楼,数码管同步显示4楼,上升指示灯灭,下降指示灯亮。6结束语本次毕业设计是对传统设计电梯的部分改进,可以降低电梯的设计成本,实现楼层快速通行的模拟控制。另外由于此次设计实现的功能简单,简化处理了一些实际情况,没有去考虑这种电梯在实际应用中的故障问题,及一些更智能的硬件与软件的安装与调试。由于时间紧迫,本人能力有限,还有许多功能可以在此基础上进行拓展,例如可以扩展单片机增加智能识别系统,增加电梯内部的温度控制、增加单片机的故障预警等一些智能控制系统。随着科技与经济的深入发展,单片机技术的不断进步,以后的电梯控制系统将会越来越智能化,这对提升人们的生活质量、生活的幸福指数有着深远的意义。此次设计不仅仅是一个硬件电路设计和程序编写的过程,更重要的是实际问题的分析和设计阶段的努力。我们将充分利用单片机开发上的灵活、快速的特点,来实现我们自己智能控制的设计。通过本次毕业论文的设计,使我认识到作为科技人员,重要的是思维缜密,知识经验积累深厚,坚强的意志,同

温馨提示

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

评论

0/150

提交评论