APP下载

基于单片机的电梯控制系统方案设计

2018-10-21何超

科技信息·中旬刊 2018年5期
关键词:电梯

何超

摘要:本方案以STC89C52芯片为核心,模拟了电梯控制系统所需的一些基本功能,通过按键选择楼层,数码管显示实时楼层数,LED灯组成的箭头指示上下方向。同时,采用uln2003来驱动步进电机转动,以步进电机的转动方向来模拟电梯运行方向。根据电梯运行到不同的楼层,产生不同的电平量,以此实现对电梯的控制。该方案软硬件结构设计简单可靠,实现了对电梯的运行控制。

关键词:电梯;步進电机;STC89C52

引言

目前电梯控制系统大多采用继电器或者可编程控制器(PLC)的控制方式,存在着成本高,需要三相供电等缺点,本方案给出了一种基于单片机的电梯模型控制系统。以单片机为核心,再辅以适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低、通用性强、灵活性大、扩展容易及易于实现复杂控制等优点。

1 总计设计方案

本方案采用开关作为电梯内外的请求按键,按键和单片机的插针接口相连,按键按下为低电平,将信号传送到单片机,单片机根据各接口的信号进行判断处理,处理完毕后控制步进电机运动,实现电梯的上下运动,采用传感器确定电梯所在的楼层数及电梯准确停止的位置,用七段数码管显示电梯所在楼层,用LED灯显示电梯的上下运行状态。

本方案采用STC89C52为控制电梯的单片机[1]。考虑到经济性与实用性,选择28BYJ48型步进电机。采用5V直流电源为单片机、指示灯、数码管供电。总体设计框图如图1所示。

本方案主要由5大部分组成:键盘模块、单片机控制电路、显示模块电路、电源模块电路、步进电机驱动电路。其中单片机控制电路主要包含复位电路,电路复位后楼层显示数字1 表示电梯此时在一楼,而电梯楼层位置是由延时电路控制的,延时电路有2秒延时,每层之间通过2秒延时控制即每延时2秒表示电梯走了一层,同时显示相应的上下箭头指示。本方案的延时部分主要是由软件控制的。电梯的状态是通过点阵组成的上下箭头和数字显示的。键盘电路采用独立式按键。

2 方案硬件设计

由于电梯要运送客人到不同的楼层,所以每一层都要有按键才可以满足不同楼层顾客的需求。不仅如此,电梯需要人性化的显示,比如,哪个按钮按下了,就把它对应楼层按钮的二极管点亮,还要有一个数码管实时显示电梯所在层数,用发光二极管组成的上下箭头来表示电梯当前的运行方向等。而这些零碎的原件,又需要高效的芯片来控制,它们相互之间的物理连接问题亟待解决。

当在89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作,若该引脚持续保持高电平,单片机就处于循环复位状态。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中,上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。本方案采用按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端与电源Vcc接通来实现。

数码管的基本单元是发光二极管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。由于它的价格便宜、使用简单在电器特别是家电领域应用极为广泛。本方案采用共阴数码管来显示时间。

本方案模拟的是8层楼电梯,所以有8个按键,每一个按键对应一层楼。8个按键接在P2口。当电梯到达每一层时需要有声音式提醒,本方案采用了成本和设计难易程度更具优势的蜂鸣器提醒。在蜂鸣器电路中,由于单片机的IO口驱动能力不够让蜂鸣器发出声音,故我们选择三极管做驱动。三极管放大驱动电流,从而可以让蜂鸣器发出声音,当要输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出为低电平时,三极管截止,没有电流流过蜂鸣器,就不会发出声音。

3 方案软件逻辑设计

电梯所处的状态是整个程序成功运行的核心保证。在电梯每经过一个楼层时,就会自动调用状态函数,它的作用是基于高效率、短时间、人性化的基础上,合理智能的对电梯的运行进行调度,结合实际情况,最终得出电梯下一个目标停留楼层[2]。其流程如图2所示。

由图2可知,程序中将实际情况分为四种情况来判断:电梯上行且是去送人,即电梯此时位于底层,高层有人呼叫要上楼;电梯上行且是去接人,即电梯此时位于底层,而高层有人呼叫要下楼;电梯下行且是去送人,即电梯此时位于高层,而低层有人呼叫要下楼;电梯下行且是去接人,即电梯此时位于高层,而低层有人呼叫要上楼。

而这四种情况,也就包含了实际电梯中的绝大部分情况。情况不同,分析的方法也当然不一样。

这可以分为两个步骤:第一判断电梯是上行还是下行;第二,判断是去接人还是去送人。当然,第一个是最好判断的,因为电梯在运行时,有两个与楼层有关的变量,一个为当前所在楼层值,一个为目标楼层值,当电梯运行时,会让这两个值进行比较,若前者大于后者,就为下行,从而让状态变量清零,由于电路中上下行的箭头使用了非门,故在程序中,表示上下行的状态变量清零时表示有效;反之,当前者小于后者,即为上行,从而上行变量清零。

至于是接人还是送人,是判别的难点。在此,巧妙地利用了两个状态变量scanup和scandown,前者等于所有上行按键和去几层按键状态变量的或,后者等于所有上行按键和去几层按键状态变量的或。由此可知,当上行按键和去几层按键均为0时,电梯仍为上行状态,那么此时,电梯的状态肯定处于上楼接人的状态中,即在高层,有人按了下行键;反之,若它们中有一个为1,且按键所处楼层高于当前电梯所在楼层,这个由其他函数来限定,防止电梯在上行过程中受已经过楼层按键按下时的干扰,则电梯此时处于上楼送人状态,就会执行对应的子程序。其他的与此同理。

以电梯上行的两种状态为例分析电梯各种情况下所对应的处理方法。在实际应用中,最简单的情况莫过于电梯当前为闲置状态,有人按下按键呼叫,电梯响应呼叫。但是,实际情况往往比这复杂的多,在第一个人按下按键电梯运行的过程中,还很有可能会有其他楼层的人按下不同的按键(上行或者下行)的情况发生。那么就必须得为电梯规定好一个特定的优先级规则,让其依据这个规则来运行。规定,当电梯上行时,均不理会按下行按键的顾客,若在上行过程中,有人在某层按的是上行按键,但是电梯此时已经走过了该层,那么电梯也绝对不会再选择先下行。当然,当将高层上行的顾客送完后(此时一般来说电梯已经处于高层了),电梯便会检测下行按键,若更高层有人呼叫下行,则电梯会选择先去响应,然后再下行的过程中依次响应按了下行处于等待中的顾客,最后这些顾客都送完后,再去相应那些电梯上行过程中,处于比电梯低的楼层却按了上行键的顾客。

简单地说,若电梯处于上行状态,则在该过程中响应不同顾客的优先级(或者电梯响应的先后顺序)为:高层呼叫上行顾客>高层呼叫下行顾客>底层呼叫下行顾客>底层呼叫上行顾客。

4结论

基于STC89C52单片机的系统方案设计解决了电梯在上下行运行过程中的逻辑问题。该方案达到了预期的设计效果,具有一定的应用价值。

参考文献:

[1]周鹏.基于STC89C52单片机的温度检测系统设计[J].现代电子技术.2012,35(22):10-13.

[2]芦艳芳,朱贵宪.基于PLC的电梯控制系统设计[J].煤炭技术,2011,30(8):53-55.

猜你喜欢

电梯
Vienna
乘电梯
电梯
电梯,电梯,“飞”起来
电梯下坠或突然停止怎么办
电梯不吃人
与电梯有关的那些事
被困电梯,我不怕
吓人的创意电梯广告
开开心心乘电梯