《【WORD优秀论文】基于单片机的电梯控制系统.doc》由会员分享,可在线阅读,更多相关《【WORD优秀论文】基于单片机的电梯控制系统.doc(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流【WORD优秀论文】基于单片机的电梯控制系统.精品文档.毕 业 论 文论文题目 基于单片机的电梯控制系统 系 别 电子信息工程 专 业 电子信息工程 班 级 10电本二班 学 号 1001902210 学生姓名 指导教师(签名) 完成时间 2013 年 5 月摘要本文介绍了以 Atmega128单片机为核心控制器件的电梯自动控制系统,包括课题概述、方案论证、硬件设计、软件设计、系统调试等几个部分。该系统采用单片机作为控制核心,通过扫描内外按键按下与否引起的电平的改变,作为用户请求信息发送到单片机,控制电动机转动,单片机根据楼层检测结果控制电机
2、停在目标楼层。硬件部分主要有电源模块、单片机最小系统、每层楼层检测模块、12864和数码管显示部分、电动机驱动模块、按键模块、报警模块、上下行呼叫指示电路、自动开关门、智能防夹模块等部分组成。软件部分介绍了系统程序设计思路、程序功能分析,着重介绍了主程序的逻辑结构,还分别介绍了报警、演示功能、按键扫描、层位读取、显示、电梯控制逻辑等子程序的结构和功能。软件部分使用C语言,利用查询方式来检测楼层的检测信息,并送到数码管显示。硬件设计简单可靠,结合软件,基本实现了五层电梯运行的模拟。关键词:Atmega128;按键扫描;液晶显示;自动开关门;电梯控制;The Elevator Control Sy
3、stem Based on MicroprocessorAbstract This article introduces the Atmega128 microcontroller as the core control device of the elevator control system, including the issues outlined, program feasibility studies, hardware design, software design, system debugging, and several other parts.The system use
4、s a microcontroller as the control centre, Firstly, it is by scanning the internal and external electrical level change caused by keyboard to be a user requests information to the microcontroller,control the motor rotation, the microcontroller controls the motor based on test results floors stopped
5、in the target floor. Hardware part mainly are made of the microcontroller, floor detection module, horizon 12864, digital tube display, electric motor drive module, key scan module, alarm module, circuit directions up and down the line calls and other components.Floor detection uses photoelectric se
6、nsors. When elevator goes to the appropriate floor, Photoelectric sensors produce electrical level changes sent to the microcontroller to determine the floor,.The part of motor control uses stepper motor and 6560 stepper motor drive module.Software components intorduce System programming design idea
7、s, procedures, functional analysis . It is not only focusing on the logical design of the main structure but also separately introduced the warning function, the demonstration function, the pressed key scanning, the position read, the demonstration, the lift control logic small steelyard procedure s
8、tructure and the function. Software components use C language. This realization way is the use of Interrupt mode to detect the information of the floor sent to the Digital tube display . The hardware design of the system combined with the software is simple and reliable. So It is basically to achiev
9、e simulation of elevator running five floors.Key words: Atmega128 Key Scan LCD Display Elevator Control目录第一章 前言11.1 项目背景11.2 课题提出及研究意义1第二章 系统总体设计32.1方案论证3第三章 系统硬件电路设计73.1总体方案设计73.2 各模块设计8第四章 软件设计184.1电梯主程序184.1电梯逻辑控制194.2 电梯逻辑控制24.3 电梯运行控制224.3 紧急停止22第五章 系统调试225.1 软件编译调试225.2 硬件仿真225.3 系统测试235.3 调试结
10、果与分析25第六章 总结与展望30参考文献31附录32致谢57第一章 前言1.1 项目背景随着人们生活水平的不断提高和国内经济的迅速发展。各大城市建筑物在不断向高层发展。因此电梯在我们的生活中起着非常重要的作用。电梯已经不单单是是一种生产环节中的重要设备,更是一种人们越来越依赖的、必须的交通运输工具。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。从长远发展来看,这种系统将逐渐被淘汰。而单片机价格相当便宜,体积较小,由单片机设计的控制系统会随着设备的更新而不断完善,更完美的实现设备的升级。国内外电梯企业顺应市场
11、需要,加大研发投入,都准备在未来新概念电梯产业发展中占得先机。1.2 课题提出及研究意义电梯是集机械原理应用、电气控制技术、微处理技术、系统工程学等多科学和技术分支于一体的机电设备,它是建筑中永久垂直交通工具。电梯作为生产生活的典型运载工具使用已十分普及,其控制信号类型多,关系复杂,要求的控制性能特别高。随着经济的发展高层建筑越来越多对电梯的运行速度和控制性能也提出了更高的要求。而在我国于八十年代初至九十年代初投入使用的电梯,其中绝大部分采用继电器继电器阵列结构该结构体积大、接线复杂、噪音大、触点易磨损、故障率高、维护工作量大,已无法满足现代社会的需要。自上世纪80年代以来,微机控制系统得到了
12、极大的发展,现已深人到我国工农业生产的各个方方面面,随着电力电子技术和微电子技术的发展,使得以微机为核心的控制系统得到广泛应用。尤其是单片机的开发与应用,其深度和广度越来越大。微机应用于电梯控制系统,与传统的采用继电接触逻辑控制系统相比,具有很大优越性,一方面,它使整个系统的体积减小,可靠性提高,使用寿命延长;另一方面,它还简化了安装调试和维护维修的工作量,使整个电梯的运行成本降低。更突出的优点是微机具有灵活的算术和逻辑运算功能,具有很强的通信和可扩展功能,实现更完善的自动控制。常用的微机控制主要的有两种技术:基于PLC控制和基于单片机控制两大技术。可编程控制器,是微机技术与继电器常规控制技术
13、相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,也不像PLC那么有针对性,可以随着设备的更新而不断修改完善,更完美的实现设备的升级。基于单片机控制的电梯可以大大的降低成本而且运行也较可靠,采用单片机来实现老式电梯控制系统的改造无疑是最佳方案。由于单片机具有体积小、线路简单、无噪音、可靠性高、维护方便,是一种少投入、高回报
14、的方案。同时能方便实现多台电梯的群控,并通过通讯接口与楼宇自动化系统联接,实施对电梯的监控电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所、仓库以及居民住宅大楼等。第二章 系统总体设计2.1.方案论证 本系统的方案论证包括主控芯片选择,定位平层模块,楼层显示模块,声音提示模块,电动机模块,电动机驱动模块。2.1.1 主控芯片选择方案一:PLC控制方案。这种方案是采用传统的电梯控制系统,其主要特点是编写程序比较直观,通俗易懂,可靠性高,干扰抗能力强,能耗较小。但他的价格较昂贵,不符合本设计的经济要求。方案二 :采用CPLD 器件作为控制中心,对整个系统的运作进行统一管理,但这种方案
15、要求平时有很多的知识积累和较强的专业水平,实现起来比较困难且器件较贵,不符合经济要求,而且升降电机的控制,运行时间的测量、显示等还需要单片机的配合。方案三:单片机为主控制器的方案。MCU采用一个单片机控制所有的按键、数码管、液晶显示、步进电机、光电传感器的输出信号等,并对以上所有信号进行处理。这种方案的控制系统相对较简单,只适用于较简单的电梯控制系统,因为这次的设计的内容是5层电梯控制系统,所以选用这种方案。基于本设计中需要用到的管脚比较多,需要的内存比较大,所以本设计用Atmega128单片机,自身资源丰富,硬件设计简单,成本低,可靠性高,结合软件完全可以实现本设计电梯的要求。权衡以上方案的
16、分析,采用方案三。2.1.2 定位平层部分方案一:采用金属接近开关检测电梯层数。在轿厢安装金属片,并在竖井各个楼层装上金属接近开关,在轿厢上装上一个当作感应作用的金属片,当轿厢运动到特定位置,竖井上的金属接近开关探测到金属片,继而输出一个信号。单片机通过金属接近开关输出的变化知道电梯轿厢的位置。该方案安装中的金属片会使轿厢的重量加重,增加步进电机的负载,并且金属接近开关价格相对昂贵体积较大、安装不便、灵敏度不怎么高。方案二:采用红外发射对管检测电梯层数。在竖井各个楼层设置红外接收管,在电梯厢上装一个红外发射管。当接通电源时,红外线发射管不断发射红外线,当轿厢运动到特定位置(即楼层位置),竖井上
17、的红外线接收头接收到红外线,输出发生变化,单片机通过红外线接收头输出的变化知道电梯轿厢的位置。该传感器的响应时间为2.5ms,且体积小、功耗低、容易安装,但受环境的影响较大。方案三:采用光电传感器。在轿厢每一层安装一个光电传感器,然后让副吊重厢带着一个小物体,当物电梯上升时,副吊重体则下降。当小物体经过光电传感器时,传感器会输出一个高电平,继而给单片机,从而可以检测出当前电梯厢所处楼层位置,光电传感器反应灵敏,精确度比较高,受外界干扰比较少,价格比较便宜,容易安装,易于调试。基于上述方案的分析,选择方案三。2.1.3 楼层显示部分方案一:采用点阵显示各种相关数据以及信息。点阵属于低功耗器件,但
18、其价格较贵,假如在每层都装一个液晶显示,那明显不怎么符合本设计的成本要求。方案二:采用传统的7段数码管和液晶12864显示电梯实时所到的楼层。数码管虽功耗大,但其软件驱动简单,硬件电路调试方便,价格便宜,亮度大,能满足本设计的要求,但数码管只可以显示基本的数字,文字显示不了,所以在电梯厢内部装上液晶12864来显示基本的电梯信息,这样比较美观,成本合理。结合以上的比较,本设计采用方案二。2.1.4 声音提示部分 方案一:采用语音芯片isd400,该语音芯片外围电路简单,需要很少的外围器件就可以实现语音的播报,它是直接多电平接模拟存储,声音不需要A/D转换和压缩,每个采样得到的数值直接存储在芯片
19、内的闪烁存储器中,没有由于A/D转换误差,因此它能够真实、自然地再现语音、音乐及效果声。方案二:采用蜂鸣提示音提示当轿箱到达所需的楼层时,蜂鸣器响,提示乘客到达了所需的楼层,另外可以作为紧急停止时的报警提示信号,其程序编写、硬件电路设计、调试比较简单,而且价格便宜,能满足本设计的要求。比较以上两种方案中,选择方案二。2.1.5 电动机模块方案一:采用步进电机作为本设计电梯上升的动力,步进电机在定位性能方面十分优越。步进电机和普通电机的区别在于它的驱动是用脉冲驱动,每给它一个脉冲,它就转动一个角度,本设计中用的步距角是1.8度的步进电机,步进电机不需要A/D 转换,能够直接将数字脉冲信号转化成为
20、角位移。在应用中,步进电机可以同时完成两个工作,其一是传递转矩,其二是传递信息,升降精度很高,其次步进电机只给电不给脉冲的时候,它是不动,这有利于本设计的控制电梯厢停稳。方案二:采用直流电机作为本设计的执行元件,直流电机工作是让线圈始终交替地处于稳定状态和非稳定平衡状态,通过两个半圆环形电枢将线圈的稳定平衡状态消除掉。这样,载流线圈在磁场中就会一直地转动下去。直流电机在高起动转矩、大转矩、低惯量的系统中经常使用到。此题目中电机要带动的负载不是很大,对升降精度要求较高,所以采用方案一。 2.1.6 电动机驱动模块我们使用的是直流电机,比较以下两种方案实现对直流电机的驱动。方案一: 小功率驱动电路
21、可以采用如图2-1所示的H桥开关电路。UA和UB是互补的双极性或单极性驱动信号,TTL电平。开关晶体管的耐压应大于1.5倍Us以上。当四个功率开关全用NPN晶体管时,需要解决两个上桥臂晶体管(BG1和BG3)的基极电平偏移问题。图2-2中H桥开关电路利用两个晶体管实现了上桥臂晶体管的电平偏移。但电阻R上的损耗较大,所以也只能在小功率电机驱动中使用。图2-1 桥开关电路()图2-2 桥开关电路()方案二:采用集成电机驱动控制芯片L298,该芯片内部包含有两个集成H桥,能同时驱动两路5到24 伏范围电源的直流电机,可以驱动一个2相4线的步进电机。但它的驱动电路较复杂,需要用到I/0口比较多,一个步
22、进电机需要4跟数据线,一根使能信号线,总共需要5跟,占用的单片机资源比较多,编写程序较多。方案三:采用步进电机TB6560模块:TB6560是步进电机专用的驱动芯片,工业上多数用它来控制步进电机,雕刻机,宝石机等多数用它,它的电路虽然复杂,但程序编写简单,只需给一个高、低脉冲就可以控制它转动工作,控制它的一根使能端就可以控制步进电机转动和脱机,一根方向端就可以实现正反转。可以通过上面的拨码开关设置电机运行电流的大小,并且它可以细分,让步进电机工作在合适的频率,还有自动半流,此作用能减少步进电机在不工作的时候,减少发热量,是步进电机比较理想的驱动模块。综合以上方案,所以采用方案三。第三章 系统硬
23、件电路设计3.1 总体方案设计本次设计的基本思想是采用Atmega128单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用5个一位的数码管静态显示来实时显示当前电梯所在楼层,并用595来驱动LED显示。采用独立键盘作为外呼内选电路,里面用8个按键代表1-5楼层、开门、关门、呼叫,外部采用8个按键代表1楼上,2楼上、下,3路上、下,4楼上、下,5楼的下呼叫。电梯状态是通过用8个发光二极管组成的箭头代表向上运行,向下运行显示。另设有一灯灯亮表示开门状态,灯熄表示关门状态。 电梯模型效果图如图3-1所示: 5F 4F 3F 2F 1F图3-1 电梯模型效果图电梯竖井部分是由铁片和螺丝
24、组合成的铁架体总高度为1.2米,每层的高度为20cm;J是电梯厢,悬挂并由电动机M牵引,可在电梯间竖井模型的空间内上下运动。电梯桥厢模型J是用有机玻璃粘和而成的,电梯桥箱中有一个自动开关门装置通过小皮带传送带动小门进行自动开开关门,在门的中间有个接近开关,当在电梯在关门的时候,只要接近开关感应到中间有东西,就会自动开门,光电开关不断地检测中间用没有东西,从而实现智能防夹功能。滑轮步进电机电机驱动模块楼层外显示 ATMEGAL 128单片机电梯模型楼层检测内部12864显示称重部分自动开关门电梯运动方向指示安全保护部分蜂鸣器提示呼叫信号输入图3-2 总体组成图 3.2 各模块设计3.2.1 按键
25、电路 本电路所需按键有16个,基于本设计用的是有64个I/0口的atmega128单片,外部资源比较多,为了写程序的简单方便,本设计用独立按键。如图3-3所示,PA.1-PA.8是接单片机的PA 端口,此按键是电梯厢内部的按键,外部的按键同理,单片机采独立按键扫描方式,这样简单,程序少,单片机响应速度快。虽然这样所占用的单片机管脚比较多,但对于Atmega128来说,管脚是足够的,完全符合本设计的要求。单片机通过读取按键的状态,然后可根据每个按键的功能来通过单片机控制电梯的运行。键盘电路如图3-3所示:图3-3 外键盘电路各按钮开关说明:按钮开关s1:轿厢内一楼呼叫开关;按钮开关s2:轿厢内二
26、楼呼叫开关;按钮开关s3:轿厢内三楼呼叫开关;按钮开关s4:轿厢内四楼呼叫开关;按钮开关s5:轿厢内五楼呼叫开关;按钮开关s6:轿厢内开门呼叫开关;按钮开关s7:轿厢内关门呼叫开关;按钮开关s8:轿厢内紧急呼叫开关;外部8个按键同理。实物图如下图3-4、3-5所示。 图3-4 内部按键图3-5 外部按键 3.2.2 显示电路数码管显示,电梯的基本功能是具备显示电梯当前的楼层,所以设计中在轿厢和每个楼层中都放置了一个数码显示管来显示当前电梯所在的楼层。接线图如图3-6所示,图中共有1个数码管,通过774hc595控制数码显示。本设计中只需要显示当前电梯所要到达的楼层,所以只需要数码管的7段就够了
27、。本设计采用串转并芯片74hc595,它主要有一个时钟接口Tcp,数据接口DS,数据输出控制接口Hcp。每当Tcp有一个上升沿时,存储寄存器则把DS口的数据存储起来,当Hcp口有一个上升沿时,移位寄存器则把存储器中的数据进行移位, 当OE使能时,595则把存储器中的数据输出到总线中去,从而实现了,由串口转并口的功能。本设计中除了使用数码管外,还增加了液晶12864显示,电路图如图3-7.图3-6 数码管显示部分接线图图 3-7 12864显示电路3.2.3 电机驱动模块本设计用的是TB6560驱动模块TB6560两相混合式步进电机驱动芯片,内部二个全桥MOSFET驱动、内部设置温度保护及过流保
28、护,自带2、8、16细分可选,足够满足每分钟从几到近千转的应用要求。该芯片还有自动半流的功能,能有效地减少驱动器发热量。并且支持各种步进电机选型,可选择力矩稍大的混合式或者永磁式步进电机,使电机工作在允许最大转矩的百分之30至50之间,并且该芯片提供多档电流设置和电流衰减模式,支持相同动力指标下各种不同参数的步进。本驱动模块采用高速光耦6N137进行单片机的与步进电机隔离,有效地保护了主控电路。6N1376光耦合器是单通道的光耦速度比较高的光耦合器,其内部有一个发光二级管和一个光敏二极管、当发光二级被点亮,光敏二极管导通,从而实现了信号的传递。6N137的转换速率高达10MBit/s,是典型的
29、高速数字开关。在此电路中用在TB6560的时钟接口上,这样能快速有效地接收单片输出给TB6560的信号,为了节约成本,但不失使用性,对于TB6560的使能端,则采用光电转换速度稍微慢点的PC817。驱动电路如图3-8所示。图3-8 TB6560驱动电路图 3.2.4 Atmegal128最小系统模块Atmegal128是高性能、低功耗的AVR8位微处理,128K字节的系统内可编程Flash,4K字节的EEPROM,4K字节的内部SRAM,多达64K字节的优化的外部存储器空间;53个通用I/O口,两个具有独立的预分频器和比较器功能的8位定时器/计数器,两个具有预分频器、比较功能和捕捉功能的16位
30、定时器/计数器,具有独立预分频器的实时时钟计数器。8路10 位ADC并且具有独立片内振荡器的可编程看门狗定时器,片内模拟比较器。通过熔丝位可以选择ATmega103 兼容模式。寿命:100,000次写/擦除周期,可以对锁定位进行编程以实现软件加密,可以通过SPI实现系统内编程,它的工作电压是2.7-5.5(2.7-5.5VATmega128L4.5-5.5VATmega128)。如图3-9是Atmegal128芯片图。Atmegal128的最小系统包括晶振电路,和复位电路,如图3-10是复位电路,Atmegal128是低电平复位。如图3-11是晶振电路,本设计采用的是8M晶振。3-9是Atme
31、gal128芯片图3-10复位电路3-11 晶振电路 3.2.5 电源模块 本设计用的是LM2576稳压芯片,它有5个管脚,LM2576内部设有含52kHz振荡器、和1.23V基准稳压电路、过热关断电路、过电流限制电路、放大器、以及比较器和内部稳压电路等。如图3-12是电源电路图,途图中R6是滑动电阻器,通过调节R6电阻的大小,可以调节LM2576反馈端4电压的大小,从而可以改变输出电压的大小。3-12 电源电路图 3.2.6 光电传感器模块 在竖井各个楼层设置光电传感器,在副轿厢上安装一个小薄木棍,当轿厢往上运动,副轿厢则向下运动,轿厢往下运动,副轿厢则向上运动;当副轿厢运动时它上面的小木棍
32、经过光电传感器,则光电传感器接收光线段接收不到光线,则传感器输出端输出一个高电平。单片机通过检测每个楼层的光电传感器电平的变化,知道电梯轿厢的位置。如图由于传感器的输出端输出比较弱,所以在传感器的输出端接一个1K的上拉电阻,增强它的输出特性。传感器的内部结构如图3-13。 图3-13 光电传感器电路图 图3-14 光电传感器 3.2.7 自动开关门模块 本设计中,设计了一个自动开关门,它的功能有,当电梯运行到目标楼层后,自动打开、关闭门,当在关门的时候,假如检测到中间有东西,则门自动打开。本模块是有2个限位开关,霍尔传感器,1个接近开关,一个步进电机,以及其他小滑轮、小皮带等组成。由步进电机提
33、供开关门的动力,2个霍尔传感器控制开关、关门时门移动的位置,光电传感器检测门中间是否有东西,有则输出一个低电平。如图3-14是实物图。 图3-15 自动开关门 3.2.8 紧急报警 轿厢内设紧急报警按钮,当电梯突然发生故障使轿箱内的人被困时,可以通过按下紧急停止按钮,清除所有呼叫信号,并将电梯直接运行至一楼,并发出报警信号。由于这个部分要求电梯的任何运行状况下都要有效,为保险起见,我们将此作为一个独立的模块。图3-16 蜂鸣器报警原理图 3.2.9 称重模块 在选用A/D芯片时,选用了一款专为高精度电子秤而设计的24位A/D转换芯片HX711,该芯片具有集成度高、响应速度快、抗干扰性强等优点,
34、内部还自带放大,具有A/D采样和信号放大等双重功能。本设计中,把传感器装在电梯桥厢的顶部,当桥厢里面的重量变化时,可以测量出此时的重量,当电梯的重量超出一个限定阀值时,电梯将不暂时运行,并发出警报,直到电梯的重量在限定值内。如图3-17是Hx117运行流程图,3-18是Hc117的电路图。称重传感器HX711内部放大HX711A/D转换AT89S52单片机12864液晶显示器报警模块 图 3-17 HC117运行流程图 图3-18 HC117电路图第四章 软件设计本设计由于采用键盘矩阵来代替外呼内选按钮,而电梯的运行方向是根据这些呼叫按键和选择按键来决定的,所以单片机要不断的扫描键盘来获取各层
35、呼叫状态,从而控制电梯的运行。故键盘矩阵扫描是本系统软件设计的重要一部分,另外还要把从键盘扫描到的各层的按键信息存储起来,然后和结合电梯的运行状态比较,判断响应的方向,当电梯到达目的楼层时牵引上升电机停止转动,此时自动开关门系统响应,当在关门的过程中,光电传感器检测到中间有人时,门自动再次打开,稍等一会,在关门,直到门合上,电梯在继续响应下个操作,电梯在没有到达目标楼层时,门不会自动打开。乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫,当外部的响应和电梯现在的运动方向反向,则单片机把此响应储存
36、起来,等执行完原来方向上的响应后,再反过来执行此方向上的响应。在电梯运行的同时,显示部分也在不停地显示此时电梯所在的楼层和运动方向,以及当前电梯的重量。由于本设计采用单片机实现控制,其中主程序部分主要完成系统的初始化,如中断方式的设置,开中断等。在中断子程序中完成紧急呼叫,特殊呼叫等,其它的如数码管的显示,键盘的响应,转动电机的控制,称重,延时等均由相应的子程序来完成。软件设计思想:采用模块化,分函数的分层次设计方法,将程序分成多个模块,分层编写。通过调用不同的子程序,实现了复杂功能控制。这样便于调试、修改。软件编程是实现多功能、智能化、操作方便的关键。在本设计中,可以把程序的各部分相互结合起
37、来,达到完成各项设计的功能。 4.1 电梯主程序 根据系统要求,电梯的程序应满足以下要求:(1)初始化程序使数码管显示“1”表示电梯处在一楼,等待人进入电梯;(2)主程序主要包括:判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行,到达目标楼层后相应的呼叫指示灯熄灭;电梯在运行过程中要不断的扫描键盘,从而来判断各楼层有无呼叫请求,并点 亮相应的呼叫指示灯;设置演示功能按键、紧急停止按键、启动按键;实时显示电梯所在位置及运行状态(上行/下行);开关门有一定的延时来保证乘客走出/进入电梯;实时检测此时电梯厢的重量;实时检测楼层检测模块;实时控制上升电机,开关门电机的转动; 主程序流程图如图
38、4-1所示。图4-1 主程序流程图电梯的整个软件设计包括一下几部分:电梯逻辑控制模块、电梯运行模块、键盘扫描模块、楼层显示模块、指示灯关闭模块、楼层检测模块、电梯功能演示模块、电梯紧急停止模块。4.2 电梯逻辑控制电梯控制中,单片机扫描楼层外呼内选信号,将楼层呼叫信号与当前楼层运行状态进行比较,确定电梯响应上升、下降队列,然后电梯按照运行队列进行电机控制。而将呼叫信号转化为响应队列的程序模块是电梯控制的核心部分,其算法的严谨性,决定了电梯的控制性能。其程序源代码见附录一1.1,逻辑框图如图4-2所示:图4-2中断逻辑图 4.3 电梯运行控制 电梯响应上升下降队列时,要对相应的指示灯、上下行状态
39、,以及响应队列做相应的改变,而实现这一功能模块的就是电梯运行函数。其程序源代码见附录一1.2,逻辑框图如图4-3所示:图4-3电梯运行逻辑图 4.4 键盘扫描、楼层检测键盘扫描采用独立按键取值法扫描法,是一种最常用的按键识别方法。若某个按键按下了,则此时单片机把此时的键值储存下来,产生相应的呼叫信号,并使相应的呼叫楼层指示灯灯点亮。程序源代码见附录一1.6。楼层检测采用扫描的方式,void anjian()程序中在中断子程序里对PD.0-PD4进行扫描,当某一管脚为高电平时表示电梯运行至该楼层。 4.5 紧急停止为了提高电梯安全性能,设置紧急停止功能,当紧急停止键按下,所有呼叫信号清空,呼叫指
40、示信号灯熄灭,同时电梯向一楼方向运行,蜂鸣器报警,当电梯运行到一楼,停止报警,并打开门,等待电梯重新启动信号。程序源代码见附录一1.3。第五章 系统测试由于所设计的基于单片机的电梯控制系统包括软件和硬件两部份, 仿真时先对软件进行编译,然后再将已编译无误的软件结合硬件在一起进行仿真,完成整个系统的仿真工作。5.1 软件编译调试在软件调试中,采用ICCAVR软件进行程序调试。首先分别调试各个功能程序,再对整个程序进行调试,以便修改错误码。具体的调试方法如下:首先在ICCAVR软件中选择建立一个工程,然后新建一个.c文件,并将.c文件添加到工程中,这个功能进行编写,然后再整合各个模块,编写组合。软
41、件调试界面如下:图5-1软件调试界面 5.2 硬件仿真硬件仿真使用的是Proteus7.5.SP3,Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件.)。然后右键AT89C51再左键,出现“Edit Componet”, 在 Program File 中单击 出现文件浏览对话框,找到test.hex 文件,单击确定.完成添加文件,单击 OK 退出。单击仿真按钮,开始仿真,按下Start,系统开始工作,通过按F1F5及各楼层按键,电
42、梯都能完成请求,基本实现了电梯运行的模拟。5.3 系统测试5.3.1 方向优先测试电梯按某方向运行时,优先响应该运行方向的按钮;测试初始时,轿箱位于一楼,按下二楼,三楼的上下按呼叫,和四楼的向下呼叫。按键顺序可随意。测试结果: 表1-1 方向优先测试 停止楼层 电梯方向 显示2 上 2楼上呼叫注销3 上 3楼上呼叫注销4 上 4楼下呼叫注销3 下 3楼下呼叫注销2 下 2楼下呼叫注销结论:系统在向上运行时候,优先相应各楼层的向上呼叫信号,不响应向下的呼叫信号,向下运行时相反,符合设计要求。 5.3.2 距离优先测试同一方向有多个按钮呼叫时,优先响应最近的楼层。测试初始时,电梯位于任一层,如二楼
43、。此时三楼和四楼分别向上呼叫。测试结果:先响应三楼呼叫,再响应四楼呼叫。结论:电梯具有距离优先响应的功能,当多层同方向呼叫,首先响应距离当前楼层较近的呼叫,符合系统设计要求。各按钮呼叫时指示灯显示正常,电梯响应该按钮的呼叫后,其指示灯应自动熄灭。 5.3.3 综合测试测试条件:电梯位于1楼,进入三人,其中一人要到3楼,另两人到4楼。电梯运行后,3楼和4楼有人向上呼叫,3楼有人向下呼叫到1楼。测试结果:表1-2 综合测试 停止楼层 电梯 方向显示3 上 3楼内部和向上呼叫注销,内部4楼呼叫4 上 4楼向上呼叫注销3 下 3楼向下呼叫注销,内部1楼呼叫1 下 内部1楼呼叫注销测试结论:系统具有方向
44、优先、距离优先的功能,基本模拟了实际电梯运行,完成题目设计指标。 5.3.4 演示测试测试条件:按下电梯启动按键,然后按下演示按键,当电梯运行至五楼,第二次按下演示按键。测试结果:表1-3 演示测试 停止楼层 电梯 方向显示2 上 2楼向上注销3 上 3楼向上注销4 上 4楼向上注销5 下 5楼向下注销4 下 4楼向下注销3 下 3楼向下注销2 下 2楼向下注销1 上 1楼向上注销测试结论:该测试比较完整的演示了电梯具有的性能,实现了多层呼叫请求的排序,对电梯进行运动控制,同时测试了楼层以及运行信息显示,指示灯状态信息的变化,经测试,电梯实现了系统要求。第六章 小结与展望经过认真的选择和设计,