51单片机电梯控制系统软硬件设计
电梯系统的升降的方案
为了更有效的进行电梯控制,现在使用最左边的数码管表示电梯上升和下降状态,使用另外一个一个数码管表示电梯此时所在的楼层,使用按键来控制电梯上升或者下降的状态。在每层楼之后需要进行判断上升或者下降。如果是在上升过程中,应先判断是否继续上升,然后在判断是否下降。如果是在下降过程中,应先判断是否继续下降,在判断是否上升。在上升改变为下降状态时,或者下降改变为上升状态时。数码管的状态应该相应改变
总体硬件设计
2.3按键系统设计
运用单片机的按键模拟电梯的楼层按键系统,可以在由一楼上升到八楼过程中,按下下降按键则可以改变上升状态变为下降状态。然后在八楼到一楼的下降过程中,按下上升按键则可以改变下降状态为上升状态。在任意楼层按下上升或者下降按键,都可以产生相应的上升或者下降的状态,如下图所示
2.4电梯所在楼层显示系统
运用8x8点阵数码管来模拟电梯的所在的楼层的显示和升降效果,8x8点阵数码管如下图所示
2.5电梯的显示灯和警报系统
运用延迟函数来实现到达层楼后接通P3.7接口来实现电梯的显示灯和警报,如下图所示
第3章 软件系统设计
3.1设计思路及关键技术
一个完整的电梯控制系统相当于一个简单的单片机系统,该系统是首判断有无按键按下,有按键按下后判断所在按键的楼层然后对按键的所在的楼层与电梯的所在的楼层作比较,然后判断电梯的升降问题,然后运用延时函数来延时电梯门开启的时间和电梯显示灯的时间,如果没有按键按下,电梯则不动处于原来的楼层,从而实现节省电力的效果。
3.2 软件流程
3.3 电梯智能控制系统的设计程序说明
这部分中定义了一些全局变量的数组和变量以及位标志,只是些定义的东西不需要画流程图了。这部分程序如下:
判断按键有无按键按下:
unsigned int keyscan(void)//扫描功能:键盘扫描
{
if(P1 != 0xff)
{
switch(P1)
{
case 0x7f:{return(8);break;}
case 0xbf:{return(7);break;}
case 0xdf:{return(6);break;}
case 0xef:{return(5);break;}
case 0xf7:{return(4);break;}
case 0xfb:{return(3);break;}
case 0xfd:{return(2);break;}
case 0xfe:{return(1);break;}
default:return(0);
}
}
}
判断按键没按下的时候处于等待的状态:
void show(unsigned int i)//函数功能:电梯静止,并等待键盘
{
uint k;
while(P1 != 0xff);
while(P1 == 0xff)
{
for(k = 0;k < 8;k++)
{
P0 = scan[k];
P2 = zm[(i * 8 + k)];
delay(1);
}
}
}
用延时函数来延长电梯的开门的时间:
void delay(uint t)//延时函数
{
uchar a;
while(t--)
for(a = 0;a < 122;a++);
}
第4章Proteus软件仿真
4.1 Proteus软件仿真
Proteus软件用于系统的仿真,编译软件采用keil UV3。程序的仿真用英国的labcenter公司的Protens V7.13。其果如下:加电后的结果如图此时电梯初始位置在0层
4.2 电梯上升到2楼的切换仿真
4.3 电梯下降到1楼的切换仿真
第五章 心得体会
经过调试之后,使用单片机来模拟电梯的运行过程的是可行的,但是由于我选用的是方案一,模型比较简单,功能也较为单一。仅能上下升降而不可以选择任意的楼层停止。
改进的话就应该如同方案二一样,设计多个按键就可以对不同楼层进行操作。但是由于自身水平有限,对于该段操作流程理解的逻辑流程还是有点些乱,编写的程序也无法使用,所以在接下来的学习中,应该根据自身的对于单片机掌握的情况对单片机进行一些有针对性的学习。因为51单片机确实比较基础,仅有8位IO口,比较容易掌握。难的是自己的逻辑思维能力和C语言应用能力,能讲模型转化为程序编辑出来。在参考资料的过程中,有很多想法也设计了很多程序但是这些程序都有着很多的缺陷仅能完成自己想做的部分功能。
还有需要改进的地方就是编写的时候很多可以用宏定义定义的常数都没有用宏定义去定义参数。
总的来说,这段时间对于程序的编写和对于方案的设计有一定程度的提升自身的水平。
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit p36 = P3^6;//p36接通P3.6接口
sbit p37 = P3^7; //p37接通P3.7接口
void delay(uint t);//定义全局变量
uint terminal;
uint outset = 0;
uint flag = 0;
uint flag1 = 0;
uint flag2 = 0;
uchar code scan[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//扫描代码
//以下为显示"0,1,2,3,4,5,6,7,8"的8x8点阵代码
uchar code zm[] = {
0x00,0x18,0x24,0x24,0x24,0x24,0x18,0x00,0x00,0x10,0x1c,0x10,0x10,0x10,0x3c,0x00,0x00,0x38,0x44,
0x40,0x20,0x10,0x7c,0x00,0x00,0x38,0x44,0x30,0x40,0x44,0x38,0x00,0x00,0x20,0x30,0x28,0x24,0x7e,
0x20,0x00,0x00,0x7c,0x04,0x3c,0x40,0x40,0x3c,0x00,0x00,0x38,0x44,0x3c,0x44,0x44,0x38,0x00,0x00,
0x7e,0x40,0x40,0x20,0x10,0x10,0x00,0x00,0x38,0x44,0x38,0x44,0x44,0x38,0x00};
//以下函数功能:提示楼层到,蜂鸣器发声及LED闪亮
void soundandled(uint j)
{
uint i,k;
P0 = 0xff;
P2 = 0xff;
for(i = 0;i < 20;i++)
{
p36 = 0;
delay(10);
p36 = 1;
for(k = 0;k < 8;k++)
{
P0 = scan[k];
P2 = zm[j * 8 + k];
p37 = 1;
delay(5);
p37 = 0;
}
}
}
unsigned int keyscan(void)//扫描功能:键盘扫描
{
基于机智云物联网平台的智能电梯管理系统
摘要: 随着科技的发展与电梯的普及,为解决传统电梯舒适性与安全性不足的问题,智能电梯管理系统解决方案应运而生。介绍了以STC89C52RC单片机为核心,使用数码管和LED、矩阵键盘、电机驱动、WiFi、语音播报、I/O口拓展、报警等模块组成的智能电梯控制系统。结合机智云物联网平台设计出在电梯紧急情况下的维护模式,以及实现远程调度的预约模式。与物联网的结合,使实时记录上传电梯的运行日志成为可能;使用远程控制算法,将节约用户时间成本变为现实,成为当下电梯升级改造的重要研究方向,对实际电梯的设计有一定的参考意义。
关键词: 单片机 智能电梯 系统设计 语音播报 I/O口拓展 机智云物联网平台 Android
作者简介: 隗东平,本科,主要研究方向为电子信息科学与技术。E*古丽米拉·克孜尔别克(通信作者),硕士,副教授,主要研究方向为农业信息化。
引言文中以传统电梯系统的技术升级为立足点,从电梯使用的安全性、稳定性、人性化等角度考虑,结合在物联网的大环境下,探讨智能电梯的发展的方向,设计了一款可行、成本低、可靠性高、舒适性强的智能电梯控制系统[3]。
本文创新点如下:1)使用本地控制与远程控制相结合的模式;2)可将系统运行日志上传至云端,用做运行状态分析或备份[4];3)在尽量保证成本的同时,提升系统的稳定性与可操作性;4)电梯维护人员在紧急情况下第一时间远程管控设备端。
1 电梯控制系统的组成
以STC89C52RC单片机为核心的智能电梯控制系统,设计应满足以下几点要求,如基础电梯的运行逻辑、楼层信息的输入与输出、语音播报、远程控制、运行日志上传以及报警功能组成,如图1所示。
2 系统硬件设计
在硬件设计开始之前,将使用的器件在程序中仿真,划分模块依次实施,完成基础的电梯功能之后,在基础的设计上进行升级[5]。
2.1 系统主要模块概述
1)单片机最小系统模块
本文MCU选用STC89C52RC单片机,最小系统使用11.059 2MHz晶振的时钟电路和复位电路组成[6],将各模块程序初始化,也可用于摆脱互锁,防止程序跑飞。其内置有中央处理内核CPU、时钟电路和中断系统,3个16位定时器/计数器等,具有成本低、功耗低、可靠性高的特点[7],可以满足本次设计的要求。
2)8155I/O口拓展模块
8155拓展模块额外增加了系统的接口,8155与单片机相同,具有40脚双列直插式封装,共有4组I/O口。AD口与单片机PO口作为数据与地址总线,解决单片机使用的过程中I/O口不足的问题。使用外部硬件对系统进行拓展,强化单片机I/O口,满足了复杂操作的需求。
3)L298N电机驱动模块
esp8266模块通过烧录机智云固件GAgent,链接互联网与云端通信,使设备端接入机智云物联网平台,上传电梯运行状态并可以通过手机APP下达设备端控制指令,控制流程如图2所示。结合机智云物联网平台设计出节省时间的电梯楼层预约模式,以及出现特殊情况时电梯的维护模式,并将电梯的指令记录下来便于后期维护。ESP8266需要3.3V供电,在设计电路时需要针对ESP8266设计相应供电电路。
机智云控制流程图
在单片机STC89C52RC中采用协议来接入机智云物联网平台,比特率为9 600b/s,采用一问一答,数据包上报、下发的通信交互形式[9-10]。在平台中创建8个布尔类型数据节点用户端使用机智云APP,通过简单的开关选择,即可修改数据包内容并对设备端进行控制,进行指令的下达,数据包格式如表1所示。
表1 通信数据包格式
5)ISD1820语音模块
ISD1820语音模块作为人性化元素,通过录制科大讯飞合成语音,在电梯到达预选楼层提示乘客电梯已达。ISD1820语音模块连接单片机引脚,选择I/O上升沿触发模式,由单片机引脚的高电平触发语音模块放音,即可放出整段语音。
蜂鸣器报警模块
在紧急情况下报警,程序应首先响应,故将报警控制写在外部中断0当中,外部中断0在中断系统中占有最高优先级,报警模块使用蜂鸣器,通过三级管放大电路由按键触发,在程序中设计相应算法,以便当乘客遇到紧急情况时,发出求救信号能够及时传达到保障人员,确保在程序运行中也可以迅速响应[11]。使用硬件消抖的方式,在按键两端并联0.2μF的瓷片电容,通过电容的充电与放电延时抵消机械抖动,保证报警按键工作正常。
7)LED与数码管显示模块
显示模块完成7位LED灯显示触发楼层数与开关门延时功能,电梯外部按键中任意楼层触发请求,相应的LED灯亮起,表示楼层呼叫请求成功。以一位红色LED灯亮灭模拟电梯开关门状态。4位共阳极数码管显示当前所在楼层和上下行状态,段选信号线与8155的PB口连接,位选与PA0-PA3口连接。第一位以“U”代表电梯上行或“d”代表电梯下行,第4位显示“1-4”代表当前电梯所在位置,维护模式下数码管显示“StOP”,电梯不响应任何楼层呼叫请求。
8)矩阵键盘模拟电梯内部与楼层内的按键,通过逐行逐列扫描的方式确认触发楼层,矩阵控制模块与WiFi模块的云端指令作为输入信号[12],完成设备的楼层的呼叫请求。
2.2 系统Protues仿真
在进行实物设计之前,先进行Protues仿真,在仿真当中模拟出设备端的运行状态,使用Keil C51编写程序,生成HEX文件,在仿真当中运行,检验程序的设计与运行逻辑的正确性,仿真中的接线可以给实物的焊接提供一定的参考,系统Protues仿真如图3所示。
2.3 硬件实现
在硬件搭建的过程当中,尽可能模拟出电梯的真实运行状态;合理使用延时函数以防过多的CPU占用;实物的焊接应避免虚焊漏焊,影响设备运行的安全性与稳定性,完成硬件实物如图4所示。
实物图
3 系统软件设计
本系统设计在设备端层面上,完成电梯的基本功能,完善电梯轿厢调度运行算法,区分上下行的逐层切换电梯状态,保证了电梯上行时可以响应高楼层上行请求,下行时响应低楼层下行请求,当本次上(下)行请求完成后才会去响应对向行驶的楼层请求,运行调度逻辑如图5所示。
设计电梯内外按键模拟电梯的呼叫请求,L298N驱动电机正反转模拟电梯轿厢的上下行,语音模块在电梯到达预选楼层后提示乘客到达,报警模块使用到了外部中断,确保在紧急情况下报警的请求优先响应,数码管模块显示电梯的上下行以及当前楼层的位置,LED灯在产生外部按键请求时亮起,提示用户呼叫请求已经成功。
在云端层面上,接入物联网平台后,电梯的可操作性增强,拓展出电梯的预约模式,在手机端下发指令即可对电梯进行调度,维护模式适用于电梯特殊情况的处理,模式开启后设备端的呼叫请求将不被响应。在云端对电梯设备进行监管,结合现代电子技术的进步,在保证安全性的前提下提高电梯使用的效率和稳定性[13]。
在本程序设计中使用C语言编程,完成设计的功能目标,软件设计中包含主程序以及各个子程序的相互协作,调用相应的I/O口,对输入信号逻辑进行判断,做出响应。系统上电以后,先进行初始化,主程序不断地执行键盘扫描程序,当有键盘输入时,主程序调用定时器中断程序,并通过行列扫描方式读取键盘输入信息,调用显示子程序和电机驱动子程序,将电梯楼层的上下行信息和当前楼层的位置信息传递给操作人员,流程如图6、图7所示。
4 系统测试
1) 手机端控制测试,设备上电后,自动接入配置网络,在手机APP中下达楼层指令,设备端做出响应,在维护模式状态下,不响应设备端的楼层输入请求,报警按键正常工作,测试效果如图8、9所示。
电梯调度逻辑图
主程序流程图
定时器流程图
2) 设备端的运行逻辑测试,电梯在工作中,可以响应同向行驶对应的低(高)楼层的请求[14],在完成当前呼叫请求之后,响应逆向的楼层请求;报警测试,在程序运行的任意时刻可以响应报警请求,测试结果如表2所示。
3) 测试结果表明,手机端控制对网络有一个较高的要求,网络状态不好的情况下可能会造成传输数据的丢失,对设备端并不影响,绝大部分情况可以正确及时的响应楼层呼与报警叫请求,达成了本文设计的预期。针对网络信号问题亦可根据使用场景与用途的不同,因地制宜的使用GSM模块或是WiFi模块作为信息传输装置[15],以保证设备功能的实现。
云端控制测试
维护模式测试图
测试结果数据表
5结论
本文设计以STC89C52RC为基础,加以配备一系列外设,模拟了4层电梯的运行,在传统电梯的基础上进行创新,分析了物联网带来安全性与舒适性的提升,对智能控制系统进行研究,在系统框架形成的基础上对设计进行完善,加入了智能化与人性化的设计。与物联网相结合提高了设备的安全性,创新性的融入了电梯的工作模式与维护模式,使远程监管大大降低后期维护的难度,满足便捷的响应需求,节省了时间与资源。
原文链接:https://kns.cnki.net/kns8/defaultresult/index
相关问答
谁知道 单片机 有什么应用啊?[回答]单片机已普遍实现了家用电器领域的控制,如电饭煲、电冰箱、空调、彩电、音响等等。深圳市凌芯微电子有限公司产品适用范围广,产品规格齐全,欢迎前来...
电梯的控制系统 包括哪几部分?电梯控制系统的组成:1、楼层检测模块在当下检测技术多种多样,其中光电检测方法占有十分重要的地位,不仅具有精度高、反应快、非接触等优点,而且可测参数...
电梯控制 柜原理?电梯控制柜的原理是通过电梯的控制面板,从而很好的把电梯按钮和控制接口串联起来的设备。当正常通电的状态下,这是电梯的按键是不可以正常使用的,这是因为输...
仿真电路优先编码器实验原理?有些单片机控制系统和数字电路中,无法对几个按钮的同时响应做出反映,如电梯控制系统在这种情况下就出出现错误,这是绝对不允许的于是就出现了74ls148优先编码...
单片机控制 大电流器件,如何实现电路隔离?单片机控制大电流器件,如何实现电路隔离?单片机用在工业现场,出现异常状况多数是源自于干扰,造成程序跑飞、控制失灵,有时出现严重事故。根据题目说的,单...单...
单片机 主要应用于哪些领域? - 181****4835 的回答 - 懂得1.单片在一个系统中只使用一片机,这是目前应用最多的一种方式。主品单片机与传统的机械产品相结合,使传统的机械产品结构简单化、控制智能化,构成了...
单片机 主要应用于哪些领域? - 134****2754 的回答 - 懂得单片机广泛应用于仪表、家用电器、医用理及过程控制等领域。1、智能仪器单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点...
电梯 短接原理讲解?电梯要想正常运行必须所有安全回路全部接通才行,门锁属于安全回路的一部分。正常情况下,任意一个门锁(即平常我们所看到的电梯门)打开电梯就会停止运行。所...
电梯 并联原理?并联电梯是两三台电梯公用厅外召唤信号,由控制系统自动调度电梯运行,当电梯无任务时,一台电梯自动返回基站,另一台电梯则停在其他楼层或停在设定的区域中心。...
“玩 单片机的 比玩plc的人学历高的多”这种的说法是真的吗?我感觉这种说法有些太武断,不管是单片机还是plc都是计算机应用的一个分枝,单片机适合家用电器,电梯等控制部分,在生活中应用更多。plc在工业里应用更多,适...