APP下载

电梯控制模拟实验系统的设计

2019-04-08余善恩彭辉丽

实验科学与技术 2019年1期
关键词:数码管高电平楼层

李 真,余善恩,彭辉丽

(1.杭州电子科技大学 自动化学院,浙江 杭州 310018;2.杭州电子科技大学 理学院,浙江 杭州 310018)

电梯控制是一套系统性的技术,需要对各类命令、位置指令、速度反馈和安全指令进行管理,它还运用了控制器、传感器和调速方法等多方面的知识。现实中的电梯系统很难运用到实验教学中去,因此,一种可轻松测试和研究的电梯控制模拟实验系统就应运而生。

本实验系统以单片机作为控制核心,通过对电梯运行情况的实验模拟,分析电梯的运行规律,特别是楼层呼叫逻辑之间的处理,以及电梯运行中可能存在的问题,为现实生活中的电梯运行提供研究模板。同时,作为一套模拟实验系统,在对它进行实验时,可结合单片机理论、数字电路、模拟电梯技术、传感器及检测技术以及微型控制器技术等,让学生对这些基础知识有清楚地了解和学会简单的应用,进而加深对知识点的理解、掌握。

1 系统总体设计

电梯控制模拟实验系统由MCU模块、电机模块、驱动模块、楼层检测模块、按键模块、电源模块、整体支架、报警模块组成。整体方案如图1所示。电源模块:提供稳定的电压,用来保证整个系统的稳定运行;MCU模块:整个系统的核心,负责所编程序的运行,控制系统的输入输出,发出和接收信号,进行命令处理;电机模块:整个电梯系统的动力来源,负责电梯的上升、下降、停止以及运行速度;驱动模块:如果把电机比喻成轮子,那么驱动就是方向盘、刹车、油门等的集合体,没有它,电机就会失去控制,也无法进行转动,其是电机背后的支撑;检测模块:电梯在楼层中的运行需要知道各楼层的位置,检测模块就负责来判断电梯是否应该停止以及在哪里停止。

图1 电梯模拟控制系统

2 硬件部分设计

2.1 MCU最小系统的设计与实现

本设计硬件所用单片机为意法半导体公司提供的STM32F103“增强型”系列中的STM32F103VCT6。整个MCU的最小系统外围电路包括降压电路、复位电路和时钟电路。

2.1.1 电源模块的设计

STM32系列的单片机需要直接接入的电源电压VDD是2.0~3.6 V,VDD引脚用于提供外部电源,方便I/O和内部调压。但是外部的电压一般是5 V及以上,因此需要提供一个电压转换电路用于降压,以避免电压过大,超过安全电压。根据需求,可以使用AMS1117系列稳压器,通过它把其他偏大的电压降压至STM32可以接受的电压为3.3 V左右。该部分电路设计如图2所示。

图2 MCU电源模块

2.1.2 复位模块的设计

复位电路是用来帮助电路返回到最初的状态。复位电路启动的方法有两种:一种方式是在初次上电时立即进行复位操作;另外一种是可以手动进行复位。复位电路一般都为简单的电阻和电容组合。

在本设计中,系统开始上电时,电容开始充电,但电压为0,NRST的输入为低,让系统复位。经过一段时间,电容充电完成,NRST管脚则是高电平。另外,还设置了手动复位按键,当遇到自动复位失效等情况时,按下复位键,NRST会产生一个信号,区别于自动复位,输出为高电平,使系统复位。该复位电路如图3所示。

图3 复位电路

2.1.3 时钟模块

时钟电路可以说是一个振荡器,单片机在没有振荡器的情况下是不会工作的。这里说的时钟电路,本身并不会改变什么,而是程序让单片机按照这样的节奏来做。时钟信号一般来自于外部时钟,比如说晶振电路;当然,其实也可采用单片机内部的时钟。但是内部时钟的精度不高,不太能满足设计的要求,因此还是采用外部时钟,电路如图4所示。

图4 时钟电路

2.2 楼层检测电路的设计与实现

电梯模型具体到了哪一楼层需要通过传感器去做检测判断。本次设计使用进口槽型光耦传感器,槽宽5 mm,状态输出由LED进行指示。当高电平时LED点亮,低电平时LED熄灭。模块槽中无物体通过时,接收管导通,信号输出为低;遮挡时,输出为高。它通过比较器输出,出来的信号清晰不抖动,超过15 mA,它的输出形式是数字开关量(0和1)。具体电路设计如图5所示。

图5 光耦传感器电路

2.3 数码管显示电路设计与实现

每一楼层都有显示电梯目前所在楼层的需求,因为系统对于显示的要求比较简单,因此选用最普通的共阴极数码管来实现功能。共阴极指的是该数码管各段位所有阴极是并在一起的,只要给各段输入高电平即可点亮。不过LED的电流通常较小,一般均需在回路中接上限流电阻。

数码管其实就是几个小型LED,本设计所选的数码管由8个LED组成,由于是共阴极,因此只要给对应的I/O口输出高电平就可以点亮数码管。其电路的实现如图6所示。

图6 数码管电路

2.4 提示电路设计与实现

提示电路主要是为了实现在电梯到达楼层时可以主动去提示用户,用外部的刺激手段去让用户了解所处位置,以免出现错过目标楼层的情况,另外还需要预留用于警示的接口,即当意外情况发生时,系统可以自动去警示用户注意危险并及时采取措施。从应用场景出发,提示电路需要设计得足够灵敏和方便。当电梯处于危险情况,发生比较重大的问题,比如速度不受控,电梯停止在楼层中时可进行自动报警,在其中的用户可以及时清楚地知道自己所处的危险情况。综合以上,提示电路设计如图7所示,其可以通过I/O口输出高电平来实现发声提示。

图7 提示电路

2.5 按键电路的设计与实现

按键电路主要分成两块:一块是电梯内的按键,另一块是各楼层对应的按键。但是因为不管是电梯的按键,还是楼层按键,所要实现的目标和结果其实是一样的。也就是说,相同楼层指向的按键的连线是一起的,即在楼层中按下“1”按键和在一层按下“1”按键是一样的,电路是连通的。按键电路比较简单,如图8所示。

图8 按键电路

2.6 电机驱动电路的设计与实现

步进电机的驱动采用了THB7128作为核心芯片,该芯片细分度高,非常适用于控制步进电机,其电路图如图9所示。

图9 THB7128驱动电路

1)信号输入端。

①CLK:脉冲信号输入端。

②CW:正、反转信号输入端。

③EN:脱机信号控制端。

2)电机绕组连接。

①OUT1A:连接电机绕组A 相。

②OUT2A:连接电机绕组A-相。

③OUT1B:连接电机绕组B 相。

④OUT2B:连接电机绕组B-相。

工作电压的连接:1)VM:连接直流电源正;2)GND:连接直流电源负。

3 软件部分设计与实现

程序设计部分主要包括了电机驱动程序、电梯运行控制程序、按键扫描程序、数码管显示程序、楼层检测程序以及最后的报警程序。

电机驱动程序负责电机的驱动,控制电机的速度和转向,步进电机主要由MCU输出不同的脉冲频率来控制速度,由I/O口输入高低电平来控制转向。电梯运行控制程序主要负责电梯在整个系统中的运行,以及如何就电梯实时的位置和响应情况控制上升或下降。按键扫描程序则是用于按键防抖,通过不断地对按键扫描,判断是否当前按键被按下,去获取人为的指令。数码管显示程序主要负责系统中对于楼层指示的功能,因所有楼层需显示同一个数字,因此将5个楼层数码管的LED接口都直接并联到一起,在进行程序设计时直接段选给高电平即可完成所需要显示的数字。楼层检测程序,硬件采用的是光耦传感,当传感器有遮挡时输出高电平,无遮挡时输出低电平。因此对于该电路,需要做的是去采集输出值,可直接用单片机自带的AD采集模块。最后的报警程序,主要负责两种情况下的报警:一是按键报警,检测按键是否被按下即可,若按下,导通蜂鸣器电路,报警;二是异常情况报警,这里主要以电梯在楼层之间异常停止举例,当出现紧急情况则给高电平导通电路。主程序流程图如图10所示。

图10 系统软件总体流程图

3.1 电机驱动程序

步进电机的转动需要驱动模块,单片机根据流程给出指令,然后电机才会进行相应的操作。对于电机来说,需要先给使能,然后才能进行接下来的动作。速度由脉冲频率控制,直接初始化定时器,给PWM输出。电机的正反转则由单独I/O口控制,高低电平切换。

3.2 电梯运行控制程序

电梯运行控制程序指的是电梯如何结合本身的电机程序,收到楼层去向指令,通过对当前楼层位置的检测判断,做出让电梯上升或下降的命令,并最终到达目标命令楼层,同时数码管进行显示。主要有两种情况:一是当电梯同一时间只收到一个按键要求,二是当电梯在初始化或运行的过程中收到两个及以上的按键命令。因此需要按键扫描程序不断给出当前的命令情况,判断命令对于电梯的上下行需求是否一致,流程图如图11所示。

图11 电梯控制逻辑程序流程图

3.3 按键扫描程序

按键是一种按钮开关,正常状态下处于断开状态,一般也都是机械弹性开关。机械按键存在开关时的抖动,即在按下时不会立即接通电路,放开时也不会立即断开电路。抖动时间的长短可能会因为按键特性的不同而有所不同,基本上为6~9 ms。如果电路中的按键存在抖动,那么在进行程序读写判断和处理时,就有非常大的问题,有可能会对实际情况造成误判,这就需要扫描程序,其程序流程图如图12所示。

图12 按键扫描程序流程图

3.4 数码管显示程序

本次设计中的数码管使用较为简单,所用到的5个显示数码管都并联在一起,只要控制一组端口进行显示即可,因此表现在程序中就是对数码管的LED进行段选,通过点亮不同的LED组合来显示不同的数字。其中A~G以及DP分别对应数码管8个LED,通过设置高低电平的变化来组合成可视的数字。

3.5 提示程序

提示主要由蜂鸣器来完成,因此对于发声的实现就是对于蜂鸣器电路的控制。对于本次设计来说,需要在程序中正确的位置嵌入蜂鸣器程序,使其发声,完成对用户的提示功能。

4 结束语

本电梯控制模拟实验系统运用STM32单片机作为核心控制器,结合光耦传感器、步进电机等设计了一个完全模拟真实电梯运行情况的系统,通过电机正反转实现电梯的升降,通过按键可以选择想要到达的楼层并在数码管上实时显示,实验结果表明该系统可靠性高、成本低,能够较为真实的模拟出一台五层电梯控制系统的运行情况,可以为高校的实验教学提供很好的平台工具,让学生对相关知识有一个清晰、系统地了解,并加以运用,对于教学和科研具有重要的意义。

猜你喜欢

数码管高电平楼层
一种基于FPGA的PWM防错输出控制电路
利用楼层废水势能的发电装置
微课教学设计之“数码管动态显示”
Arduino编程
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
电梯的升与降
自动扶梯楼层板周边环境的安全防护
数字电子技术的应用