基于有限状态机实现的单片机控制电梯仿真系统

2016-07-27 10:32覃园芳广东工贸职业技术学院广东广州510510
中国新技术新产品 2016年13期
关键词:状态机楼层按键

覃园芳(广东工贸职业技术学院,广东 广州 510510)



基于有限状态机实现的单片机控制电梯仿真系统

覃园芳
(广东工贸职业技术学院,广东 广州 510510)

摘 要:电梯控制系统是一个复杂的自动化控制系统,本文在分析电梯运行特点基础上,以51单片机为核心,设计电梯仿真电路结构,并实现基于有限状态机的程序,控制电梯运行。仿真实验结果表明,该电梯仿真系统具有真实电梯系统的各项功能,很好地模拟了真实电梯系统的运行,可较好地应用于单片机教学中,并可供实际电梯控制系统设计做参考。

关键词:电梯;51单片机;有限状态机;硬件设计;仿真系统

在现代社会和经济活动中,尤其是高层建筑里,电梯是一种不可缺少的垂直运输工具。由于应用广泛,控制过程复杂,电梯已成为各种新型计算机控制技术的应用平台和控制对象,也是相关专业教学和科研的重要平台。考虑电梯结构庞大而复杂带来教学培训或者实习过程中带来的安全等问题,开发安全且经济有效的电梯控制仿真系统来辅助教学和研究是非常重要的。

目前电梯目前各式各样的核心电梯控制器主要采用继电器控制器、PLC控制器、单片机控制器这3种。采用继电器控制的电梯系统通常需要器件较多,电路复杂,不利于维护;采用PLC控制的电梯系统由于一般的PLC控制器无法与上位机进行实时通信,或者通信协议没有公开等因素,带来难以实现人机界面友好的上位机监控等缺点;利用单片机控制的电梯具有成本低,实时性强、精度高和显示、功能多样等优点。本文的主要任务是采用单片机AT89C51设计控制一个6层电梯的仿真系统,给出各部分的硬件电路设计和软件设计,软件设计采用有限状态机的思想来实现。最后给出仿真结果,结果表明:这个电梯控制系统具有高精度、低成本、实时性高及功能多样的优势。

1. 控制功能要求

(1)电梯完全自动响应电梯内、外指令;

(2)电梯到达目的楼层,延时关门;

(3)电梯运行时只响应顺向按键的呼叫,反向按键呼叫信号做记忆功能;

(4)每个请求信号保留到执行后自动删除;

(5)显示当前电梯所在楼层;

(6)语音提示功能;

(7)电梯上升带动电动机正向转动,下降带动电动机反向转动。

2. 硬件总体结构设计

该系统是基于单片机AT89C51为主控制器设计的6层电梯仿真系统,包括梯厢、楼层按键模块、电梯位置显示模块,电梯开关门模拟模块、电动机运行模块以及语音模块等,硬件系统的总体结构框图如图1所示。

3. 硬件设计

本文采用Proteus软件为平台进行整个电梯仿真系统的设计及仿真工作。Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。它是目前比较好的仿真单片机及外围器件的工具。具体的硬件设计模块如下:

(1)电梯指令键盘和语音模块

该仿真系统里电梯指令键盘分为梯厢按键和楼层按键,梯厢按键对应梯轿内部按键,该电梯有6层,因此对应6个按键。而楼层按键设在每个楼层内,每个楼层都对应一个向上和向下的方向键,而最高层第六层只有一个向下的按键,最底层第一层只有一个向下的按键,总共10个按键。该系统用一个4*4的矩阵式键盘实现电梯指令键盘,分别由单片机8个并行I/O口控制,其中1_U至5_ U表示1至5楼向上的按键,2_D至6_D表示2至6楼向下的按键,1至6表示梯厢内1 至6楼的按键。具体结构如图2所示。

语音模块的作用是实现电梯到达需要响应的楼层将发出蜂鸣声。该模块采用了有源蜂鸣器,由于蜂鸣器内部带振荡器,单片机只要给控制引脚输出高电平就会发声。

(2)电梯位置显示模块和电梯开关门模拟模块

电梯位置显示模块负责显示梯轿内当前电梯所在楼层的位置。本电梯控制系统采用一个共阳极的数码管,公共端接电源正极,另外7个控制端分别跟单片机的7个并行I/O口相连。一定时间后熄灭。

图1 电梯仿真系统硬件设计的总体结构框图

图2 电梯指令键盘模块

图3 语音模块

图4 电梯位置显示模块

(3)电动机运行模块

单片机进行逻辑分析,控制电梯的运行方向,是处于停止、上升或是下降

电梯开关门模拟模块负责模拟电梯到达需要响应的楼层时,对应的开门动作。1~6楼分别对应F1至F6标识的LED灯,当电梯到达该楼层需要开门,那么对应楼层的灯就会亮,否则都处于灭状态。例如,如果梯厢内有人按下4楼,那么电梯到达4楼时,F4将由灭变亮,持续的状态,这个功能是由单片机控制电动机运行模块实现的。电梯控制系统里的电动机采用直流电机,采用H桥驱动电路进行控制,如图6所示。电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。单片机通过给rev、enm、fwd 3个控制端输出高低电平实现电机的停止、正转、或反转的控制。同时,可以通过给控制端rev、fwd端输入不同占空比的PWM信号实现电机的速度控制。

图5 电梯开关门模拟模块

图6 电动机运行模块图

图7 电梯控制状态转移图

图8 仿真结果图

4. 软件设计

该电梯系统基于有限状态机来实现电梯的控制,思路明确清晰,能够高效地解决电梯响应多个梯厢或是楼层按键都被按下的复杂情况。有限状态机关键的步骤在于确定状态的对象以及状态的个数,本文将电梯处在的每一个楼层都视为一个状态,而每一个状态下都对应电梯开门、关门、停止、向上走一层和向下走一层这些动作,动作之间的转移有相应的条件触发,具体参考如图7所示。

其中开门和关门的动作通过电梯开关门模拟模块中对应楼层灯处于亮状态持续30s来实现。电梯处于向“上走一层”、“停止”或“向下走一层”的动作通过单片机控制电机的工作状态来实现。对于电梯指令模块,通过行扫描法实现4×4矩阵式键盘按键的识别,具备多个按键同时被按下的识别功能。

5. 仿真结果

基于上述设计的电梯硬件结构,采用有限状态机算法实现电梯控制,整个仿真系统的运行结果如下。例如当前电梯处于3楼向上运行的状态,按下第3层方向向上,即“3_U”键,电梯响应开门,如图8(a)所示。之后在梯厢内按下“5”键,表示要去5楼,电梯将持续上升,电机正传,每到达一层楼数码管显示为当前的楼层数,当到达第5层时,电梯停止转动,开门后关门,对应5层LED灯亮持续30s,如图8(b)所示。期间如有人不管在梯厢内或是楼层里按下按键,电梯都会根据相应的逻辑依次去相应。

结语

本文基于51单片机设计了电梯仿真电路结构,并实现了基于有限状态机的程序用于控制电梯运行。仿真实验结果表明,该电梯仿真系统具有真实电梯系统的各项功能,很好地模拟了真实电梯系统的运行,可较好地应用于单片机教学中,并可供实际电梯控制系统设计做参考。

参考文献

[1]叶安丽.电梯控制技术(第2版)[M].北京:机械工业出版社,2008:25-40.

[2]巩玉滨,陈继文,等.基于单片机的电梯控制仿真系统[M].计算机系统应用,2011,20(11):114-117.

[3]郑良田.基于单片机的电梯控制系统的研究[M].科技资讯,2007(21):109-11.

[4]覃园芳.基于有限状态机的优化电梯控制算法的设计和实现[M].科技创新与应用,2016:14-139.

[5]陶磊.试论电梯控制算法[J].中国科技博览,2013(8):323-323.

[6]王静霞.单片机应用技术(C语言版)[M].北京:电子工业出版社,2009.

中图分类号:TP309

文献标识码:A

猜你喜欢
状态机楼层按键
基于有限状态机的按键检测程序设计
基于有限状态机的交会对接飞行任务规划方法
电梯的升与降
自动扶梯楼层板周边环境的安全防护
一种多方向导光按键结构设计
楼层数影响下的楼板有效宽度研究
按键的多种状态检测及消抖处理方法
解析某型号手机按键检测程序的缺陷
FPGA设计中状态机安全性研究
基于反熔丝FPGA的有限状态机加固设计