《基于51单片机的电梯设计资料》由会员分享,可在线阅读,更多相关《基于51单片机的电梯设计资料(30页珍藏版)》请在金锄头文库上搜索。
1、基于51单片机的电梯控制 摘要随着社会的不断发展,楼房越来越高,而电梯则成了高层楼房的必须设备。电梯从手柄开关操纵电梯、按钮控制电梯发展到了现在的群控电梯,为高层运输做出了不可磨灭的贡献。 单片机在电梯升降控制上的应用主要体现在它的逻辑开关控制功能。由于单片机具有逻辑运算,计数和定时以及数据输入输出的功能,在电梯升降过程中,各种逻辑开关控制与单片机很好的结合,很好的实现了对升降的控制。本文主要讨论研究利用Atmel 公司的51系列单片机AT89C51和四相步进电机对电梯的升降进行控制,形成电梯控制系统。 关键词:电梯 AT89C51 电梯升降控制 四相步进电机 C语言程序设计第一章 绪论1.1
2、单片机简介近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。本系统采用Atmel 公司的51系列单片机AT89C51作为主控芯片。其特征如下:单片机 AT89C51 8位微控制器 8K字节在系统可编程 Flash主要性能l 与MCS-51单片机产品兼容l 8K字节在系统可编程Flash存储器l 1000次擦写周期l 全静态操作:0Hz33Hzl 三级加密程序存储器l 32个可编程I/O口线l 三个16位定时器/计数器l 八个中断源l 全双工UART串行通道l 低功耗空闲和掉电模
3、式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符功能特性描述AT89C51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51具有以下标准功能: 8k字节Flash,256字节R
4、AM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。1.2电梯的定义与简介一种以电动机为动力的垂直升降机,装有箱状吊舱,用于多层建筑乘人或载运货物。也有台阶式,踏步板装在履带上连续运行,俗称自动电梯。 服务于规定楼层的固定式升降设备。它具有一个轿厢,运行在
5、至少两列垂直的或倾斜角小于15的刚性导轨之间。轿厢尺寸与结构形式便于乘客出入或装卸货物。 习惯上不论其驱动方式如何,将电梯作为建筑物内垂直交通运输工具的总称。 按额定速度又可分为低速电梯(1米秒以下)、快速电梯(12米秒)和高速电梯(2米秒以上)3种。19世纪中期开始采用液压电梯,至今仍在低层建筑物上应用。1852年,美国的E.G.奥蒂斯研制出钢丝绳提升的安全升降机。80年代,驱动装置有进一步改进,如电动机通过蜗杆传动带动缠绕卷筒、采用平衡重等。19世纪末,采用了摩擦轮传动,大大增加了电梯的提升高度。现代电梯主要由曳引机(绞车)、导轨、对重装置、安全装置(如限速器、安全钳和缓冲器等)、信号操纵
6、系统、轿厢与厅门等组成。这些部分分别安装在建筑物井道和机房中。通常采用钢丝绳摩擦传动,电动机驱动曳引轮使轿厢升降。电梯要求安全可靠、输送效率高、平层准确和乘坐舒适等。电梯的基本参数主要有额定载重量、可乘人数、额定速度、轿厢外廓尺寸和井道型式等。第二章 硬件设计2.1 系统整体方案论证按照题目要求,电梯控制系统由中心控制模块、用户呼叫信号输入模块、电机控制与驱动模块、位置检测模块和显示等组成。方案一 采用CPLD 器件作为控制中心,对整个系统的运作进行统一管理,但这种方案要求平时有很多的知识积累和较强的专业水平,实现起来比较困难且器件较贵,不符合经济要求,而且升降电机的控制,运行时间的测量、显示
7、等还需要单片机的配合。方案二 采用单片机为核心,扩展相关的接口电路,实现全系统的控制,由于单片机技术目前较为成熟,自身资源丰富,硬件设计简单,并且我们在设计中尽量用软件代替硬件,可以节约成本,提高可靠性。另外单片机小系统价格便宜,符合经济性要求。同时电梯采用步进电机进行驱动,因为步进电机可经直接接收数字信号,用单片机控制非常方便,定位准确,调速简单。比较适合此控制系统的要求。2.2 单片机最小系统 图2-2单片机的最小系统单片机最小系统电路如图2-2所示,单片机采用ATMEL公司的AT89C51,晶体振荡器选12MHz,C1、C2为30p瓷片电容,与晶体振荡器构成时钟电路。电容C3按键RESE
8、T构成上电复位和手动复位电路。2.3电梯及系统电路如下图所示,此部分电路是提供给处于各个楼层电梯外的用户发出上下楼请求。按键与单片机的P1.0-P1.5分别相连,指示灯通过P0.0-P0.5来控制。其中R52、R55、R56、R59、R60和R62是上拉电阻,其作用是保证按键未按下时,端口P1.0P1.5为高电位。当按键按下时,端口P1.0P1.5通过按键接地,使得P1.0P1.5变为低电平。电容C51C56的作用是消除抖动和抗干扰。各楼层电梯间的升降选择按键均与单片机P1口连接,上升按键与P1口的P1.0P1.2连接,下降按键与P1口的P1.3P1.5连接。即由P1口可以读到电梯间升、降按键
9、的状态。每个上升、下降按键均有一只发光二极管作为指示灯与之配合,发光二极管与PO口的P0.0P0.5连接。每个发光二极管通过一只阻值为470的限流电阻接电源(VCC),这样流经发光二极管的电流约为75 mA,有适当的亮度,同时单片机的端口在不加驱动的情况下可以承受。 图2-3 一层按键电路图22-4二层按键电路图2-4 三层按键电路图2-5 四层按键电路电梯内电路如图3-7所示,提供给电梯内的乘客用户使用,四个目标楼层选择按键F1、F2、F3、F4和4个与之配合的发光二极管作为指示灯,即FS1、FS2、FS3和FS4。按键与P3口的P3.0P3.3连接,指示灯与P2口的P2.0P2.3相连。上
10、拉电阻R11R14和电容C41C14的作用同上。图2-7电梯内电路控制台电路如下图所示。发光二极管Power是电源指示灯,用以显示供电是否正常。采用共阴极数码管来显示当前楼层,采用CD4511作译码器,LE接VCC,译码器处于锁存状态。经R31R37(阻值为470)对数码管限流。UP、DOWN两只发光管用来显示电梯运行的方向。START与STOP分别与单片机的P1.6、P1.7连接,用来控制电梯的起停。如图3-9所示,CD4511的A0-A3分别与P3.4-P3.7相连,R31-R37为限流电阻。图2-8电梯控制台电路图2-9电梯控制台显示电路2.4 楼层检测在本设计当中,光电传感器电路连接图
11、如下所示:图2-10楼层检测电路如图所示,D1,T1组成红外发射-接受对管,D1通电后发出红外信号,光槽若未挡住,T1将导通,比较器LM339输出低电平,光槽光线若被挡,T1截止,LM339输出高电平。利用电梯行至楼层标志处光槽光线被电梯遮挡所带来的电平变化发送到单片机P2.6计数即可实现楼层检测。直流电动机驱动电路主要是用来控制直流电动机的转动方向,通过改变直流电动机两端的电压可以控制电动机的转动方向。电路采用功率三级管8050和8550,以满足电动机启动的瞬间的大电流要求。 如图所示输入端分别与单片机P2.4和P2.5相连,电梯上升时, P2.4输出为低电平,P2.5输出为高电平,晶体管功
12、率放大器VT3,VT2导通,VT1,VT4截止。VT3,VT2与直流电动机一起形成回路,驱动电机正转。电梯下降时,P2.4输出为高电平,P2.5输出为低电平,晶体管功率放大器VT3,VT2截止,VT1,VT4导通,VT1,VT4与直流电动机形成回路,驱动电动机反转。4个二极管起到保护晶体管的作用。功率晶体管采用TP521光耦器驱动,将控制部分与电动机驱动部分隔离。光耦器的电源为+5V,H型驱动电路中的晶体管功率放大器VT3,VT1的发射极所加的电源为12V。第三章 软件设计由于本设计采用单片机实现控制,所以软件设计部份的程序编写用汇编语言来完成。其中主程序部分主要完成系统的初始化,如中断方式的
13、设置,开中断,存储单元的清零等。在中断子程序中完成,按键查询等,其它的如数码管的显示,键盘的响应,转动电机的控制,延时等均由相应的子程序来完成。软件编程是实现多功能、智能化、操作方便的关键。在本设计中,可以把程序的各部分相互结合起来,达到完成各项设计的功能。软件设计思想:采用模块化的分层次设计方法,将软件系统功能由多个实现单一功能的子程序实现。通过调用不同的子程序,实现了复杂功能控制。这样便于调试、修改。主流程图如图3-1所示.图3-1系统主流程图在本设计当中,键盘采用独立式按键,按键由P1口和P3.0-P3.3控制,采用定时器T1中断查询按键状态,当有键按下时,即转入相应功能程序。键盘程序流
14、程图如图4-2所示:图 3-2 键盘查询程序流程图 程序清单如下:定时器T1中断服务程序:按键状态检查TIME1: MOV TH1,#0ECH ;每10s检查一次按键 MOV TL1,#78H MOV 6EH,A MOV 30H,P1 ;读入所有按键状态 MOV 31H,P3 JB P1.6,TIME11 ;若Stop键未按下,则正常运行 MOV R3,#0FFH ;Stop键按下,标志R3置非0数 MOV 20H,#0 ;清除全部电梯间上升请求 MOV 21H,#0 ;清除全部电梯间下降请求 MOV 22H,#0 ;清除全部电梯内目标楼层请求 MOV 30H,#0FFH ;修改读入的按键状态,使之为 MOV 31H,#0FEH ;电梯内目标为一楼 CLR TR1 ;并关闭T1,不再读取按键TIME11: MOV A,30H CPL A ANL A,#07H ;取得电梯间上升请求 ORL