当前位置:文档之家› 电梯自动控制系统

电梯自动控制系统


附录 ① 系统原理图:
② 作品程序:
#include<reg52.h> #define uchar unsigned char #define uint unsigned int #define MAX_FLOOR 3//楼层高度 uchar gf,b;//gf表示目的层,b为等待计数累加位 uint nf;//当前电梯所在楼层 uint up_call[MAX_FLOOR],down_call[MAX_FLOOR],in_call[MAX_FLOOR];//
方案选择 方案一:采用一个单片机控制所有的按键、数码管显示、步进机的转 动、传感器的输出信号等等,并对以上所有信号进行处理。单片机技术 目前较为成熟,自身资源丰富,硬件设计简单,成本低,可靠性高,结 合软件完全可以实现电梯运行状况的简单模拟。 方案二:采用CPLD器件作为控制中心,对整个系统的运行进行统一管 理,但这种方案要求平时有很多的知识积累和较强的专业水平,实现起 来比较困难且器件较贵不符合经济要求,而且升降电机的控制,显示等 还需要单片机的配合。 综上分析,方案一单片机比较合适此控制系统的要求。所以我采用方 案一。
件有了更深的认识。另外这次比赛提高了我们实践动手能力,提 升了我对运用单片机设计和制作的能力和兴趣,更加深了我的技 术。软硬件结合会是今后电子发展的方向,我相信通过我的努 力,日后能设计出潮流前端的作品。
参考文献
[1] 梁延东 主编《电梯控制技术》北京:中国建筑工业出版社 1997 [2]王千 实用电子电路大全[M] 电子工业出版社 2001 [3]陈松碧 李文娟 《电梯模型控制》
/********************************************************************** 數碼管位數控制函數 **********************************************************************/ void seg(nf) { seg_a=dis[nf]&0x01;//0000 0001 seg_b=dis[nf]&0x02;//0000 0010 seg_c=dis[nf]&0x04;//0000 0100 seg_d=dis[nf]&0x08;//0000 1000 seg_e=dis[nf]&0x10;//0010 0000 seg_f=dis[nf]&0x20;//0100 0000 seg_g=dis[nf]&0x40;//0100 0000 seg_p=dis[nf]&0x80;//1000 0000 } /********************************************************************** 按键标识号检测子程序 **********************************************************************/ void getinput() { if(F3D==0) {down_call[2]=1;} //3楼向下按钮,存放标识号 else if(F1U==0) {up_call[0]=1;} //1楼向上按钮,存放标识号 else if(F2D==0) {down_call[1]=1;} //2楼向下按钮,存放标识号 else if(F2U==0) {up_call[1]=1;} //2楼向上按钮,存放标识号 else if(F1==0) {in_call[0]=1;} //电梯内1楼按钮,存放标识号 else if(F2==0) {in_call[1]=1;} //电梯内2楼按钮,存放标识号 else if(F3==0) {in_call[2]=1;} //电梯内3楼按钮,存放标识号 } /********************************************************************** 电梯报警停车子程序 **********************************************************************/ void stop() {
4、 系统调试
5、 系统功能
电路的系统控制为按键控制,当按下按键,系统首先判断梯厢所处 楼层,根据当前楼层和目标楼层的关系,决定步进电机的正反转。当梯 厢到达目标楼层后,蜂鸣器发出响声提示到达,梯厢等待一段时间,模 拟电梯开关门等待时间,再进行下一次的运作。
6、 设计总结
本设计主要是对步进电机和霍尔传感器的应用,以完成整个系 统的构造。通过这次的制作,我拓展了专业知识,我了解到了更 多课外的知识。例如亲自购买元件和选取元件的时候,使我对元
存放呼叫事件 uchar code dis[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71};//0-16数码显 示代码 sbit F3=P3^4; //电梯内3楼 sbit F2=P3^5; //电梯内2楼 sbit F1=P3^6; //电梯内1楼 sbit F1U=P3^3; //1楼向上按钮 sbit F2U=P3^2; //2楼向上按钮 sbit F2D=P3^1; //2楼向下按钮 sbit F3D=P3^0; //3楼向下按钮 sbit IN1=P1^3; //電機控制位1 sbit IN2=P1^4; //電機控制位2 sbit IN3=P1^5; //電機控制位3 sbit IN4=P1^6; //電機控制位4 sbit EN=P1^7; //L298使能端 信号 sbit YI=P1^0; //一楼霍尔输出信号 sbit ER=P1^1; //二楼霍尔输出信号 sbit SAN=P1^2; //三楼霍尔输出信号 sbit U=P2^4; //上行指示灯 sbit D=P2^5; //下行指示灯 sbit seg_a=P0^0; sbit seg_b=P0^1; sbit seg_c=P0^6; sbit seg_d=P3^0; sbit seg_e=P0^7; sbit seg_f=P0^4; sbit seg_g=P3^1; sbit seg_p=P0^5; sbit seg_1=P0^2; sbit seg_2=P0^3; sbit RING=P2^3; //蜂鸣器报警 void init(); //初始化程序 void check(); //霍尔查询楼层 void display(nf); //显示函数 void floor(); //楼层控制函数 void downer(); //下降函数
void uper(); void stop(); void getinput(); void seg(); void delay(); void run(); void rerun();
//上升函数 //停车函数 //按键查询函数 //數碼管位數控制函數 //1ms延時函數 //電動機正轉函數 //電動機反轉函數
/********************************************************************** 初始化子程序 **********************************************************************/ void init() { RING=0; //蜂鸣器不响 nf=1; //1楼 EN=0; //电机停止 IN1=0; IN2=0; IN3=0; IN4=0; U=0; //上行指示灯灭 D=0; //下行指示灯灭 YI=1; //霍尔元件初始化 ER=1; SAN=1; } /********************************************************************** 1ms 延时子程序 **********************************************************************/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=100;y>0;y--); }
(1) 当某层有呼叫并有呼叫信号显示时,桥厢模型作相应的运 动,并准确平层,平层结束时给出提示信号。 (2) 当有多层呼叫时,桥厢模型将按说明中的电梯模型运行规则 作相应的运动,并依次在呼叫的楼层停留。 (3)当电梯到达所选层,电梯开门延时等待进人并选层,然后延 时关门执行请求,若无请求则停在本层等待请求。 2、
3、 单元模块设计
1、 单片机最小系统 如图5所示。P3口控制电梯上下楼的各个按键,P0口控制二位一体数 码管。P2.3控制报警器电路。P1.4-P1.7通过控制电梯驱动芯片来控制电 机正反转,从而控制电梯上下行。P1.3控制lm298驱动芯片的使能端, P1.0-P1.2用来查询霍尔输出信号。
2、 电机驱动电路 电机驱动电路如图6所示,电路使用了驱动芯片LM298,其内部结构 如图7所示。通过单片机依次控制IN1-IN4得到高低电平使得OUT1OUT4发生相应的变化来控制步进电机的正反转,EN 为芯片的使能端。 3、 显示电路 显示电路是用来显示电梯的楼层,它是利用了单片机显示程序来控 制一个二位一体共阴数码管来显示。 4、 按键电路 P3口的七个引脚连接七个按键,分别是1,2,3楼电梯内外的按键。通 过程序不断的查询1、2、3楼层内、外是否按键按下来使单片机程序控 制电梯运行。
2、 总体方案设计
1、 方案总体设计 本设计采用AT89C52单片机作为核心,配以适当接口作为输入输出 通道。实际电梯控制系统每层装有一个传感器霍尔44E,从而判断车厢 所在位置,通过数码管显示楼层数。 电梯间竖井部分由木棒搭建而成,电梯桥厢由纸皮箱做模型,通过 支点由步进电机牵引,可在电梯间竖井模型的空间内上下运动。
摘要 本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最 小系统模块、电梯内外电路按键模拟检测模块、楼层显示数码管模块、 电梯上下行模块等部分组成。该系统采用单片机(AT89C52)作为控制 核心,内外使用按键按下与否而引起的电平的改变,作为用户请求信息 发送到单片机,单片机控制步进电机转动,单片机根据楼层检测结果控 制电机停在目标楼层。 软件部分使用单片机C语言,利用查询方式来检测用户请求的按键 信息,根据电梯运行到相应楼层时,模拟按键引起电平变化,送到单片 机计数来确定楼层数,并送到数码管进行显示。硬件设计简单可靠,结 合软件,基本实现了三层电梯运行的模拟。 关键词:电梯模型,L关键词:电梯模型,L298,霍尔传感器,步进电机 一、 前言 二、 总体方案设计 1、 方案总体设计 2、 方案选择 三、 单元模块设计 1、 单片机最小系统 2、 电机驱动电路 3、 显示电路 4、 按键电路 5、 平层提示信号电路 6、 霍尔传感器平层电路 四、 系统调试 五、 系统功能 六、 设计总结 参考文献 附录 ① 系统原理图: ② 作品程序:
相关主题