基于单片机电梯管理系统的基本运行机制:当某楼层的旅客有乘梯需要时,可以按下电梯按钮,通过电梯的呼梯信息锁存装置将电梯信息进行锁存,当单片机系统获取到要梯信息时,通过要梯信息发生的所在位置以及电梯所处的区域,从而判断其运动趋势,从而启动对楼梯运动方向所要求的梯层停梯然后再启动,在旅客走进扶梯内时自动关门,从而按照旅客的乘车需求把旅客送到目的地楼层。该控制系统将采用STC89C52单片机为中心的模块对整个电梯系统实施管理。以独立式按钮为主要输入方式,每个按钮都对应着不同的楼层,如果一个按键被按下,对应楼层指示灯就将被点亮并提示,同时按钮还将显示着上升或下行的LED灯光指示。系统总体的设计方框图如下图所示。
1、硬件实现及单元电路设计:
在此设计中,最小系统包含:芯片、晶振回路、复位回路。如下图:
(1)主控芯片与引脚作用
可通过单片机,进而控制所有的电子键盘、数码管显示器、以及相应的电动机转动感应器的输出信号等,并同时对上述所有的信息进行管理。尽管这个控制器相对比较复杂,但是适用于我们的简易楼梯控制,由于我们需要有一个八级的楼梯控制器,就采用了这个控制器。单片的微型计算机目前本身就已经比较完善了,硬件设置也非常简单,成本低,而且具备了很好的稳定性,在结合软件系统之后,完全能够根据课题需要轻松进行电梯的操作。
本次设计采用的单片机是由ATMEL公司出品的AT89S51单片机。VCC、GND、RST、EA/Vpp、ALE/PROG、PSEN,分别为电源输入端、接地端、电平端、地址锁存器、程序储存。PORT0(P0.0~P0.7)为8位的开路汲极双向输入输出端口、PORT2(P2.0~P2.7)与PORT1(P1.0~P1.7)为具有内部提升电路端双向I/O端口可以外接存储器(程序、数据).从P3.0-P3.1开始,串行通信的输入和输出端都可以实现,而从P3.2-P3.3开始,外部中断的0和1都可以实现,从P3.4-P3.5开始,计时计数器的0和1都可以实现,从P3.6-P3.7开始,外部数据存储都可以输入和读出信息。此外,电源的输入端还能够接一段103排阻(103欧),这个电阻能够把某个未知的信息,以高电平的方式进行限制,从而实现对电路的限制。这个设备不仅能够有效地抑制交通流量,还能够提供隔离。
(2)复位电路与时钟电路
该控制系统使用了AT89S51的嵌入式单片机,而想让单片微型计算机正常运行,则需要同时具有最基本的电源,晶振,以及复位回路等。而本电梯仿真控制系统则使用了由单片机外部构成的时钟回路和由按键复位的复位回路进行。Y1晶振采用12MHZ的时钟信号,以确保单片机能够正常运行,而C2和C3则采用30p瓷片电容,它们的振荡频率取决于负载的频率,因此,即使是相同的晶振,其负载的电容也可能不尽相同。它可以避免温度漂移等失误的发生,需要注意的是这两个电容值需要相同又或者值相差不能太大,不然的话会引起共振不平衡导致停止振动又或者不动。而X1,X2则分别接在了单片机上的脚18和19。如下图所示:
复位回路使用的方法则是将按键手动复位与上电自动复位的复合式组合使用保证其可靠性,脚在单片微型计算机的复位端上由按键RESET与电容C1组合形成上电复位和手动复位的复合复位回路,电容起到控制复位时间的作用,按键起到开关的作用、按下就复位。
(3)电源设计
电源采用了USB接口进行输入,然后经由一种小电流直流稳压器78L05稳压(78L05是三端稳压电路、第一脚要高于5V、第二脚接地0V、第三脚输出5V),再提供5V系统电源。注意事项:输入输出电压不宜过大,不然会导致转换效率下降,严重甚至击穿损坏;输入输出电压也不宜太小,不然会导致效率很差;输出电压也不要过大,而且散热片大小要和输出电压成正比,不然就很容易造成高温保护和热击穿,而损坏元件。
(4)楼层显示电路图
该电梯的模拟系统共有8层,该电梯模拟系统使用了普通的LED显示屏显示电梯实时所在的高度,尽管和常规LCD点阵的液晶显示屏相较耗电量略高,不过由于其控制简便、硬件电路调整简单、同时LED价格比普通LCD造价更加低廉和亮度也更符合了楼梯设计的特点,所以通过将各个楼层按键并按下指示灯的八个发光二极管进行表示。
(5)电梯上下指示电路楼梯上下指示系统通过由发光二级管排列形成的箭头显示灯,如果将楼梯向前移动时,LED灯排列形成上升的箭头显示,而下行LED灯排列则形成下行的箭头显示。
(6)声音提醒电路
当乘客登上电梯,每一层都会发出一声声明,表明他们已经到达了目的地。这种电梯模拟系统的软件驱动和硬件电路调试都相对简单,而且材料成本也相对较低,完全能够满足课题的需求。如果有条件的话,也可以考虑使用ISD公司的2590语音芯片,它具有优异的抗干扰性和良好的音质,但同时也会带来一定的成本。因此,我们在本次设计中未使用这种芯片。此电路中三极管的作用是一般蜂鸣器的工作电流是要大于80mA的,但单片机的输出电流一般达不到大于80mA的要求,所以需要外接一个三极管或者MOS管来起到放大电路的作用从而驱动蜂鸣器工作。电阻的作用是限流保护三极管防止损坏。如图所示:
(7)步进电机模块
本研究采用直流电机作为电动机的动作单元,它可以有效地将线圈从静止状态转变为动态状态,并且通过两组半圆环形电枢来抵消静止和动态状态的差异,从而实现线圈的稳定性和可靠性。通过这种方式,直流电机的传动线圈可以在磁场中保持稳定和平衡。
在设计时,不能选用三相异步电动机是因为其起动转矩不大,所以无法适应负载驱动的要求。如果最大扭矩不足,就可能导致短暂的超负荷,从而使得设备只能在较轻的负载下运行,这样不仅会降低产量,还会浪费大量的电能。
当前,为了满足高精度要求,我们使用NPN晶体管作为四个功率开关,其耐压可高达1.5Us。此外,通过调整晶体管中2个上桥臂,可有效解决晶体管中基极输入和输出电平存在差异的问题。通过使用H桥开关电路,我们可以通过两个晶体管来调整电流,从而改变电流的方向。然而,由于电阻的影响,这种电路仅适合于低电流的电机。
如果电梯处于上升状态时,直流电机正转,如果到目标的楼层之后,直流电机停止运行。
2、软件设计方案
该系统程序的核心保证之处在于电梯所处的状态。在楼梯通过任何一个楼层后,系统软件都将自动调出这个功能,它不但能人们在通过楼梯的同时达到高速度、短时间、人性化,同时也可以智能合理化的对楼梯实施调度操作,本系统结合了现场实际,已经制定出了楼梯的下一次目标通过地点。其过程如图所示:
以上的作业流程图中,要判断按键位是不是全为零,但如果是,可根据如下四种情形加以判断并解决:当电梯处于上到送人工作的情况(即当电梯位置处于下层,而此时人在顶层呼叫电梯要上楼)、电梯处于上行并且去接人工作情况(即当电梯位置处于下层,而此时人在顶层呼叫电梯要下楼)、电梯处于下行并且去送人工作情况(即当电梯位置处于顶层,而此时低层人呼叫电梯要下楼)、电梯处于下行并且需去接人的情况(即当电梯位置处于顶层,而此时在下层呼叫电梯要上楼)。
在电梯运行过程中,我们经常会遇到四种不同的情况。每种情况都有其独特的特点,因此,我们必须弄清楚电梯如何识别出它的运行状态,并采取适当的分析方法来应对这些情况。
在整个程序中,有两个检测步骤:第一个,首先要判断电梯的运行状态是上行还是下行,以便确定它是用来接客还是用来送客。在这两种判断方式中,判断上下行状态是最佳选择,具体来说,首先要设置两个与当前楼层状态有关的变量,一个是当前所在楼层的数值,另一个是当前的目标楼层的数值,然后在电梯运行的过程中,将这两个数值进行比较,从而确定电梯的运行状态,以便确保乘客的安全和舒适。当当前楼层数值与目标楼层数值一致时,系统将会将两个表示上下行的状态变量清零,以确保系统的正常运行。如果当前楼层数值低于目标楼层数值,系统将会将其视为上行,并将上行状态变量清零。
接下来第二步就是判断电梯接人送人的工作状态。首先确定了二种状态变量dt-s-x==1和dt-s-x==2,dt-s-x==1用于表示电梯上行键、具体去的时间长键状态变量的或,反之,而dt-s-x==2则用于表示电梯的下行键、具体去的时间长键状态变量的或。一个最简单的函数判断操作流程为:即使在上行键和具体去的时间长键都为零时,电梯也会始终保持在上链路状态,虽然这时候也可以推出,但电梯的正常工作情况下应该是处在上楼或接工的状态中(如有人在高层按下行键)。同理反之,如果上述二种因素中的一种取值大于一的,以及当前按键所在楼层远远低于当前按钮所处楼层的,则在这种情况下就采用了对该变量的限定运算方法,使电梯在上行的过程中,受到刚开始执行的楼层按键或按下操作的干扰而发生误动作,虽然如此,当电梯在成功到达上楼或送人的操作阶段以后,才开始实施相应的子程序,而其他的电梯行为也与此同理。
(1)电梯的控制函数
关于电梯的控制函数,具体的控制流程可以用电梯上行的二种基本工作状态为例,但在我们的实际日常应用中,最常见的简单电梯人机交互动作为:若电梯的当前状态为闲置状态,此时由人为按下呼叫按键,电梯便会响应呼叫。随着科技的进步,电梯的操作变得越来越简单,它可以满足大量乘客的需求,特别是那些需要上下车的乘客。第一次乘坐的乘客可以直接打开电梯,但随后,第二次乘客可以继续打开,这样就可以满足大量乘客的需求。当前,这个系统应当制订一套严格的优先级标准,使得每台电梯的操控和使用都应当按照这一标准来进行,从而防止发生错误的操纵。根据观察我们日常电梯人性化的使用,设定了以下优先级规则:当电梯上行时,对于按下行按键的呼叫不给予回应。如果有人在某个楼层按下了上行按钮,但是电梯已经到达了这个楼层,那么根据优先级规则,电梯将不会优先接受这个人,而是继续向上运送。如果电梯已经把最高层的乘客送走,它就会检测到下行按钮;如果此时更高层的乘客也在呼叫下行,电梯就会优先响应,随后,它会根据乘客的情况,依次响应已经按下行键但仍在等待的乘客;一旦所有乘客都被安全地送走,电梯就会继续响应乘客在上行过程中,虽然他们已经处于较低的楼层,但仍在按下行键的呼叫。
该优先级原则也可简单理解为,当电梯正处在下上行的工作阶段中时,即在此阶段内对电梯的不同呼叫的优先次序是:顶层呼叫上行的命令>顶层呼叫下行的命令>低层呼叫下行的命令>下层呼叫上行的命令。因此,当电梯运行时,它会根据当天的情况进行调整,以确保其目标楼层的准确性。例如,当电梯正在上行时,如果有人要送他们,那么它就必须立即响应,以确保其目标楼层的准确性。另外,如果电梯的目标楼层是三楼,但当六楼的人发出呼唤时,它也必须立即响应,以确保其目标楼层的准确性,并继续向前行驶。随着六楼的呼叫声响起,五楼也开始有人呼唤电梯上楼,但是电梯仍未到达6楼,因此,在电梯行驶的过程中,每次都会有一个判断,由于五楼之前就有人呼叫,因此,一般情况下,会立即将目标楼层改变,最终确定为五楼。但如果五楼的人按下的是下行按钮,又或是三楼的人按下的是呼叫按钮,则电梯在此时将无法回应上述二种情况的呼叫。部分程序代码见附件。
该函数直接控制电梯的升降、运行和停机,重要的作用是决策函数为电梯提供的目标楼层值。其作用主要在于判断当前楼层与当前楼层之间的相对位置:如果前者>后者,则利用楼梯向下行走,而如果前者=后者,则暂时停车片刻之后再开启电梯门。当然,在进行完了上述操作以后,电梯系统就必须要进行一个判断,来确定是不是有对其他目标楼层值进行的呼叫,,所以在这种时候系统就会手动装入相应的目标楼层值,并指示电梯系统根据的优先级不断操作,直至所有的呼叫调用完毕。
电梯的门系统具体由五部分构成,它们包括门开关控制器、系统、指示灯、位置监测系统,以及保护光幕。门机通过变频控制器直接连接在电梯的主机控制器上,并通过系统设置的软件及时传递给出门的人信号,并由此来实现通过门机的逻辑遥控电梯。当电梯抵达预定高度后,电梯门将自行开启,以便旅客出入电梯。一旦电梯门在一段时间内未能探测到旅客出入,电梯门会自行关闭。如图所示:
(2) LED点阵显示控制
点阵式LED的显示可以使用共阴极或者共阳极,此电梯在模拟控制系统中采用的就是共阴极。共阴极数码管是利用发光二极管的原理,将输入的数字转化为相应的电信号,再通过阴极分别将控制信号传输到每个发光二极管的阳极,使数码管发光。想要数码管中的某一个发光二极管亮起其他保持不变时,就需要将其相应的阳极脚和共阴脚相连,这样就可以流通电流,让其指定的发光二极管发光。在我们使用共阴极数码管过程中采用逆变驱动的方式。就是将阴极与控制面板的输出端相连,当控制信号输出高电平时,阴极与发光二极管的阳极相连,使其发光。反之,当控制信号输出低电平时,阴极与发光二极管的阳极分离,发光二极管熄灭。
3、PCB制作和实物图
点阵式LED的显示可以使用共阴极或者共阳极,此电梯在模拟控制系统中采用的就是共阴极。共阴极数码管是利用发光二极管的原理,将输入的数字转化为相应的电信号,再通过阴极分别将控制信号传输到每个发光二极管的阳极,使数码管发光。想要数码管中的某一个发光二极管亮起其他保持不变时,就需要将其相应的阳极脚和共阴脚相连,这样就可以流通电流,让其指定的发光二极管发光。在我们使用共阴极数码管过程中采用逆变驱动的方式。就是将阴极与控制面板的输出端相连,当控制信号输出高电平时,阴极与发光二极管的阳极相连,使其发光。反之,当控制信号输出低电平时,阴极与发光二极管的阳极分离,发光二极管熄灭。
3、PCB制作和实物图