刘寰
摘要:本文设计了基于单片机的电梯控制系统,实现了电梯楼层显示、运行方向显示以及电梯内外楼层选择功能。同时对电梯控制系统运行的精度和稳定性方面起到了很大的改善作用,有效缩短了电梯的运行时间,该系统简单可靠且易于升级维护。
关键词:电气控制器;单片机;控制系统
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2017)06-0172-03
随着高层建筑的飞速发展及广泛应用,电梯已经成为日常生活中重要的代步工具。在电梯的运行中最核心的部件就是控制器,通过控制器的合理选择可以大大提高电梯的运行效率以及舒适度。目前的電梯控制器大多采用继电器或者PLC的控制方式,普遍存在成本较高以及维护困难的问题[1]。因此设计了一个基于单片机的电梯控制器,在拥有体积小、成本低等优势的同时,还具有易升级维护等特点,具有良好的推广价值。
1 电梯控制器硬件设计
本设计以6层电梯为例,选用了MCS-51单片机中的AT89C51作为系统的核心部件,配以适当的接口作为输入输出通道,实现了对电梯的运行控制[2]。系统整体电路的设置有4大部分组成:单片机最小系统电路、楼层选择模块、LED楼层显示电路以及延时电路等。单片机最小系统又主要包括两部分,复位电路和时钟电路。当电路复位以后,会在 LED显示电路中显示数字“1”,表示电梯此时的状态,停靠在一楼。通过AT89C51来控制8位数码管实时显示,来完成显示电路,通过延时电路控制的电梯的停靠位置。因为考虑到高层建筑的应用,所以延时电路包括2秒延时和5秒延时,表示电梯每上升或下降一层将会经历2秒的时间,在保证电梯的运行速度的同时,确保电梯的安全性。5秒延时表示电梯的开门时间,当电梯开门后,会持续5秒时间,然后关门继续运行。通过3个发光二极管来表示电梯的运行状态。其中L1亮表示电器停止,L2亮则表示电梯正在向上运行,L3亮则表示电梯正在向下运行。系统结构图如图1所示。
1.1 楼层选择模块
楼层选择模块由4×4键盘矩阵电路组成,共16个按键。S1~S6依次代表电梯内部的楼层选择按键,S7~S16分别表示每个楼层内部的上下选择按键。矩阵电路接在主控芯片的P1.0~P1.3口上。当有按键按下时,对应的引脚将会检测到低电平,实现对呼叫楼层的判断以及电梯内部的开关判断。键盘矩阵电路如图2所示。
1.2 楼层显示模块
楼层显示电路采用一个8位数码管,电梯所达到的楼层数以及电梯的运行状态是由单片机的P2.0—P2.7来控制8位数码管所完成的。其中如果数码管中的8脚(dp)被点亮时,则表示此时电梯是向上运行,如果数码管中的8脚不亮时,则表示电梯在此时是向下运行,楼层显示电路如图3所示。
2 电梯控制器软件设计
本设计采用了模块化设计方法,大大简化了设计、调试与维护过程,同时也对程序代码的优化提供了极大的便利[3]。以控制器的功能为单位,分别进行编写和调试,保证各个子模块程序的独立性,在完成所有子模块的程序调试之后,再将各个模块进行联合调试,最后将所有的子程序模块进行链接从而构成单片机软件系统[4]。整个软件系统由两部分组成:系统主程序和任务子程序。分别具有不同的作用,系统主程序主要用来分配各个任务,以及协调任务的执行顺序,而任务子程序通过一系列的函数语句,来完成系统各个相互独立子模块的功能。主程序在完成系统初始化后,按照系统要求,执行各子模块的程序,最终任务结束。
本设计电梯控制器的子程序模块主要由以下三部分组成:初始化子程序、键盘扫描子程序、楼层显示子程序。软件主要实现功能:(1)对程序的初始化从而实现对各个子程序的调用;(2)键盘读取数据功能;(3)用数码管对电梯的运行和所在的楼层进行实时显示,直观易见。
2.1 主程序设计
主程序的设计至关重要,它的正确与否对整个设计都会产生重要影响,是整个程序的核心部分。通过调用相对独立的子程序,来完成各项控制命令,从而满足整个系统的功能。包括软件控制语句的调用、函数数据结构以及全局变量的控制设定等。通过以上过程,将所设计的子程序链接起来,支撑起了整个软件框架。主要实现的功能有:
(1)当乘客进入电梯后按下楼层选择键之后,根据输出的信号进行楼层判断,从而控制电梯的运行方向;(2)通过进行不断的键盘扫描,来确保在电梯的运行过程中,系统能够准确无误的捕捉到各个楼层的呼叫请求;(3)电梯在运行的过程中优先同方向的呼叫请求,确保顺序原则;(4)通过LED屏幕,同步显示任意时刻电梯所处楼层的位置;(5)通过一定的延时来保证乘客有充分的时间进出电梯;主程序流程图如图4所示。
2.2 键盘扫描子程序
识别键盘的按键是否按下主要依靠软件的方法来实现,通过满足系统对应功能的键盘扫描程序来完成。采用了编程扫描工作的方式来判断按键是否按下[5]。当主程序开始运行,就会对按键的使用情况进行判断,看是否满足相应的条件,每循环一次就会进行一次判断,当查询到有按键按下时,程序将按照以下方法进行处理:首先在第一次检测到有键按下时先执行一段延时子程序,延时时间设定为5ms,之后重新读取键值。如果和第一次结果一致,那么则判断有按键按下,否则将会放弃此键值。当确认有按键按下时,通过扫描方式读取键值,然后根椐不同的键值转向不同功能的按键处理程序,按键每闭合一次就进行一次按键功能操作。如果已经有按键按下,那么则引发了相应的按键程序。键盘扫描程序流程图如图5所示。
2.3 楼层显示子程序
楼层显示子程序主要完成显示电梯当前所在的楼层。显示电路采用的是七段数码管显示。采用了动态扫描的方法来完成数码管功能的实现,通过对子程序的调用来完成数码管的显示。楼层显示程序流程图如图6所示。
3 结语
本文设计的6层电器控制器,根据电梯运行提出系统控制要求,将控制器的控制功能分为若干模块,结合了外围的键盘输入、LED显示电路、延时电路等电路模块,对电梯控制器的工作原理进行研究和设计。电路结构简单,功能完善,可升级性强,满足不同建筑对电梯要求,具有良好的应用价值。
参考文献
[1]徐正坤.基于AT89C52单片机的电梯控制系统[J].电子制作,2014,(18):4-5.
[2]梁晓明.简易4层电梯控制电路[J].计算机光盘软件与应用,2013,(3):32-33.
[3]朱晓锋.基于STM32的污水处理pH值控制系统的设计[D].上海:东华大学,2012.
[4]张泽根,周洪,夏明晔.基于单片机的油量数据采集与监测系统设计[J].微计算机信息,2011,(1):11-12.
[5]闫飞.基于CAN总线的煤矿监测监控系统[D].西安:西安科技大学,2009.endprint