您好,欢迎访问三七文档
基于单片机控制的电梯控制器机电113杨硕1引言随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。1889年美国奥梯斯升降机公司推出的世界上第一部以电动机为动力的升降机,同年在纽约市马累特大厦安装成功。随着建筑物规模越来越大,楼层也越来越高,对电梯的调速精度、调速范围等静态和动态特性都提出了更高的要求。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。而由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级,且有价格便宜,电路简单,出现故障容易维护等优点。2总体设计方案电梯控制系统由外部呼叫,内部呼叫电机部分组成。电梯在各楼层的定位本应采用行程开关或者传感器,由于条件限制,采用延时控制。相邻楼层间升降时间设为3秒。2.1设计思路本设计是六层电梯的单片机控制系统。在电梯停靠的每一层都有上下呼叫按钮(六楼只有向下呼叫按钮,一楼只有向上呼叫按钮),需要电梯的乘客只需按一下呼叫按钮,然后等待电梯,进入电梯后电梯有六个楼层的内部呼叫按钮,乘客要到哪一层只需按下其按钮,轿厢内有一个由数码管组成的显示屏,它用来显示轿厢的楼层,在每一层厅站的门外有两个发光二极管用来显示轿厢此刻的上下行。2.2设计方框图图1设计方框图3电梯控制系统原理分析3.1硬件系统实现硬件由单片机最小系统、电梯内外呼叫电路、显示电路、电机控制电路等组成。3.1.1AT89C51简介本设计主要采用AT89S51芯片,如图2所示。AT89S51是一个低功耗,高性能CMOS8楼层电梯呼叫按键电梯内部呼叫按键楼层显示数码管电机控制电路单片机1位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作。掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。VCC40GND20RST9X119X018PSEN29ALE30P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528P3.4/T014P3.5/T115P3.2/INT012P3.2/INT113P3.1/TXD011P3.0/RXD010P3.6/WR16P3.7/RD17EA31U189C51图2AT89C513.1.2电梯内部呼叫电路电梯内电路如图3所示,六个目标楼层选择按键K1、K2、K3、K4、K5、K6与单片机P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5连接(P0口作为输出端驱动外部电路时须外界上拉电阻)。人进入轿厢内按下要去的楼层对应的按键,就会控制电机转动,达到相应楼层。若按下的外部呼叫按键为上升的,则在轿厢内按比该楼层低的按键,电梯不会响应;反之亦然。S1S2S3S4S5S61KR81KR71KR61KR51KR41KR3+5K1K2K3K4K5K612345678C51P0.0P0.1P0.2P0.3P0.4P0.5图3电梯内部呼叫电路3.1.3电梯外部呼叫电路电梯外部呼叫电路如图4所示,按键UP1、UP2、DOWN2、UP3、DOWN3、UP4、DOWN4、UP5、2DOWN5、DOWN6接单片机的P2口和P1.0、P1.1。若按下上升键,则电梯在上升过程中不响应下降键;反之亦然。S9S11UP1UP2S12SW-PBS13S14S15S16S17S18S19DOWN2UP3DOWN3UP4DOWN4UP5DOWN5DOWN612345678C5112345678C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P1.1P1.0图4电梯外部呼叫电路3.1.4显示楼层电路显示电路的作用是实时显示电梯所在楼层,用一个八段数码管来实现。电路如图5所示。89C51VCC14R9CLK8A1Q510Q611Q35Q46Q13Q712Q813Q46GND7B23+5+5abfcgdeVCC1234567abcdefg8dpdp9DS1REDCAR12RES212C51P3.1P3.0图5显示楼层电路3.1.5电机控制电路电机采用普通直流电机,直流电机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转;能满足生产自动化系统各种不同的特殊运行要求。用电机驱动芯片L298来驱动。电机控制电路用来控制电机的正反转,当按下上升键时,电机正转,按下下降键时,电机反转。电路如图6所示。3OUT12OUT23OUT313OUT414IN15IN27IN310IN412EN16EN211SENS11SENS215VCC9VS4GND8L1+5+12MB?Motor12345678C51P1.2P1.3P1.4P1.5P1.6P1.7图6电机控制电路3.2软件系统的实现图7主程序流程图调用选择当前要去的停留3s电梯未运行或虽运行但还没停止电梯已到目的层?是否是否启动电梯显示在一楼4图8选择当前要去的楼层子程序流程图电梯改为上升电梯改为下降电梯到达最顶层电梯到达最底层电梯在下降当前楼层=目的楼层继续下行查找下一个要去的楼层若无下行需求,则反向查询向上查找下一个要去的楼层若无按键需求则停止当前楼层=目的楼层延时等待3s开始是24是24是24是24是24延时等待3s否否否否54总电路工作原理分析电路通电,显示器显示‘1’,当按下相应的外部呼叫按键时,电梯运行到目的楼层,显示器实时显示所在楼层。当人进入轿箱内,按下要去的楼层对应的按键,电梯就会运行到相应位置。电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。两相邻楼层之间电机运行时间为3秒。5总结与体会这次单片机实习已经结束,我们学到了很多东西。查资料对于学习是很重要的,又快又好的查到想要的资料,可以提高工作效率。我们设计的电梯自动控制用到了电机,实物出来时,没能成功控制电机正反转,让我们知道了理论与实际的差距,也意识到理论与实际相结合的重要性。在写程序时需要极大的耐心,一点一点的改正,达到想要的效果。附录1总体电路原理6VCC40GND20RST9X119X018PSEN29ALE30P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528P3.4/T014P3.5/T115P3.2/INT012P3.2/INT113P3.1/TXD011P3.0/RXD010P3.6/WR16P3.7/RD17EA31U189C511KR11Res2122C1+530pFC1Cap30pFC2Cap+512Y1XTALS1S2S3S4S5S6S7S8S9S111KR81KR71KR61KR51KR41KR31KR21KR1+5K1K2K3K4K5K6KMGMK1K2K3K4K5K6KMGMUP1UP2UP1UP2S12SW-PBS13S14S15S16S17S18S19DOWN2UP3DOWN3UP4DOWN4UP5DOWN5DOWN6DOWN2UP3DOWN3UP4DOWN4UP5DOWN5DOWN6VCC14R9CLK8A1Q510Q611Q35Q46Q13Q712Q813Q46GND7B23OUT12OUT23OUT313OUT414IN15IN27IN310IN412EN16EN211SENS11SENS215VCC9VS4GND8L1+5+5+12N11N12N21N22N11N12N21N22E1E2E1E2+5in1out32GNDJP17805D1Diode1N4007abfcgdeVCC1234567abcdefg8dpdp9DS1REDCAA1K21Led1KR9Res2+12+51122JP22PINS10SW-PB1KR10Res2R12RES2MB?Motor附录2PCB图7122121403938373635343332313029282726252423222120191817161514131211109876543213421342134213421342134213421342134213421342134213421342134213421342134213421121212121212121212121212121514131276543211109812132167891054321212121141312111098765432112212121210101附录3源程序8sbitk1=P0^0;sbitk2=P0^1;sbitk3=P0^2;sbitk4=P0^3;sbitk5=P0^4;sbitk6=P0^5;sbitkm=P0^6;sbitgm=P0^7;sbitup1=P2^0;sbitup2=P2^1;sbitdown2=P2^2;sbitup3=P2^3;sbitdown3=P2^4;sbitup4=P2^5;sbitdown4=P2^6;sbitup5=P2^7;sbitdown5=P1^0;sbitdown6=P1^1;sbitd11=P1^2;sbitd12=P1^3;sbitd21=P1^4;sbitd22=P1^5;sbitpwm1=P1^6;sbitpwm2=P1^7;sbitLedUp=P3^7;sbitLedDown=P3^6;#includereg51.h#include电梯.hvoidDianTiKey();#defineucharunsignedcharcharKeyValueOld;//内部按键上次值charKeyValueOOld;//外部按键上次值charNowFloor;//当前所在楼层9charKeyValue;//电梯内部按键暂存值charKeyValueO;//电梯外部按键暂存值charGoFloor[5];//要去楼层暂存GoFloor[1]=12楼在呼叫上升GoFloor[1]=22楼在呼叫下降chart;//电梯运行/停止标/上升/下降志位t=0电梯没有运行t=11电梯在上升t=10电梯下降ucharcodeplay[]={0xff,0xd7,0x32,0x92,0xd4,0x98,0x18};//串口显示字型码unsignedintTimeValu
本文标题:电梯控制器单片机
链接地址:https://www.777doc.com/doc-7413925 .html