单片机控制四层教学电梯.doc_第1页
单片机控制四层教学电梯.doc_第2页
单片机控制四层教学电梯.doc_第3页
单片机控制四层教学电梯.doc_第4页
单片机控制四层教学电梯.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机控制四层教学电梯 摘要:本系统采用两片单片机(89C52)作为内外招信号的检测和控制核心。内外招使用按键按下与否带来的电平的改变来控制对应的单片机输入或输出口工作。楼层检测使用反射式红外传感器;轿厢负载采用精密压力传感器;速度控制采用易控的步进电机外加微小误差转子;在竖井的侧面固定了轨道以防止轿厢的晃动。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了电机在运动和加速经及减速过程的精确控制。关键词:单片机;步进电机;A/D转换;555定时器;传感器;C语言编程;流程图Abstract: Inside and outside this system uses two piece of monolithic integrated circuits (89C52) to take the move of signal examination and the control core. The inside and outside move of use pressed key presses down the level change which or not brings to control corresponding the monolithic integrated circuit input or the outlet work. Floor examination use reflection type infrared sensor; The sedan theater box load uses the precise pressure transmitter; The speed control uses easily to control step-by-steps the electrical machinery in addition light error rotor; Fixed the track in the shaft side to prevent the sedan theater box rocking. Based on these complete and reliable hardware design, has used a set of unique software algorithm, has realized the electrical machinery in the movement and the acceleration after and the moderating process accuracy control.Keywords:MCS-51.89C52. Step-by-steps the electrical machinery; A/D transformation; 555 timers; Schmitt trigger; Sensor; C language programming; Flow chart一、设计任务与要求J2B CA D345F GE H DJ1M电梯间竖井部分由有机玻璃粘成无上盖板的六面体ABCDEFGH,高度AE为1.2m;电梯桥厢模型J通过滑轮悬挂并由电动机M牵引,可在电梯间竖井模型的空间内上下运动。该电梯间竖井模型每隔20cm自下向上分成4层,其楼层编号如图所示。电梯控制模型,示意图如下图所示。基本要求:(1)当某层有呼叫并有呼叫信号显示时,桥厢模型作相应的运动,并准确平层,平层的位置误差10mm。要求平均每层运行时间不超过5秒,平层结束时给出提示信号。(2)当有多层呼叫时,桥厢模型将按说明中的电梯模型运行规则作相应的运动,并依次在呼叫的楼层停留5秒。(3)能自动记录、显示桥厢模型当前到达的楼层编号。(4)要求桥厢模型在加载400克的条件下,从1层到5层和从5层到1层的往返时间相等,单程时间不超过12秒,往、返时间之差不大于1秒,并自动记录、显示运行时间。二、总体方案设计与论证1、控制器选择本系统的系统板主要由MCS51系列单片机AT89C52组成。AT89C52有8K字节的片内ROM、256字节的片内RAM、3个16位定时器和六个中断源,其有8K字节的ROM足够本系统中的编程部分。此最小系统除了具有一般单片机最小系统的功能如地址锁存、输入输出控制外,另外它的主要特点是它的输出口部分接有液晶显示,可以数字显示各要输出的状态和数据,系统板的P1,P2,P3口经过三级管和发光二级管相接,可以显示各口线的实时工作状态。2、动力选择本设计用步进电机及其驱动器BY-2HB03M。首先,步进电机具有良好的可控性:起停迅速,控制简单,避免了惯性带来的误差,在低速情况下仍然具有良好的驱动力;其次,电机的负载满足承载一公斤左右的重量,符合要求;其三,步进电机性价比较高,更安全可靠。故我们采用此步进电机和其配套的驱动器。三、硬件电路设计 1、整体电路设计 当外部人为操作电梯的指令发出,经过A/D转换和系统板二的处理后发出信号到系统板一,系统板一通过指令来控制步进电机的工作从而带动轿厢的运动。由于控制步进电机的程序比较复杂,故专门用一片系统板。系统板二则负责按键的控制、LED、数码管的显示、电动机的转动、传感器经A/D转换后输出的信号的处理等等。 2、对电机的控制设计 由以上论证知,本部分设计采用MCS51-AT89C52单片机来完成,通过I/O口 输出的具有时序的方波作为步进电机的控制信号,信号经过芯片BY-2HB03M驱动步进电机。BY-2HB03M驱动器具有恒流控制,极低的电源损耗,极高的开关效率,电机运行平稳、低振动、低噪音;驱动器的工作电压:直流电压2440V;驱动电流2.5A。通过BY-2HB03M构成步进电机的驱动电路,电路图如下图1所示。52的25-28口接BY-2HB03M的1-4输入端。另外,用键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为2位单个数码管的显示驱动。74LS164带锁存,使用串行接法可以节约I/O口资源。其电路图如2图所示。通过52的TXD和RXD口对CLK和DATA发送数据。 3、报警模块设计本方案采用555做成的多谐振荡器产生的方波信号来控制小功率的蜂鸣器工作,电路如图2.3.1所示。工作原理:当电梯未到达指定的楼层或未超重时,555的第4脚一直处于低电平状态,当到达指定楼层或因为负重过大而超重时,555的第四脚将转向高电平,此时振荡器开始工作,产生高频的方波,从而使蜂鸣器发声。电路分析:我们知道,只要将555定时器的Vi1和Vi2接在一起可以接成施密特触发器。我们把施密特触发器的反相输出端经RC积分电路接回到它的输入端,就构成了多谐振荡器。在电路的设计过程中,为了减轻555中的门G4的负载,我们特在电路中将TD与R1接成了一个反相器,它的输出与原输出在高低电平状态上完全相同。将其输出经R2和C组成的积分电路接到施密特触发器的输入端。详具体电路见图2.3.1。由图分析计算可知此多谐振荡器的周期理论上为:故其频率为:4、传感器模块设计1)重力传感器模块重力传感器部分我们采用典型的压力测量电路,电路如图2.4.1示:电路中,我们选择OP07作为仪用放大电路的放大器件,参数与通用运放NE5532比较如下:共模抑制比(CMRR)噪声电压供电电压OP07D9011010.33V18VUA741CP707V36V由于传感器输出信号是用于A/D采样,所以要求精度较高的放大器,而且输出信号的噪声电压在10mV以内,输出信号峰峰值在05V之间,通过对桥式传感电路的测试,放入500g的砝码,可以得到100mV的电压,放大400倍,即可用于A/D采样。选用OP07D组成两极反相放大器。第一级U10A,U10B,U11A组成仪用放大器。第二级U11B为反相放大器,放大倍数为20倍。C28,C31,C30是输出去耦,AN0为输出端,由于电路中积累了电荷,使得AN0电压变化缓慢,所以在AN0端接入R=10K的电阻作负载。电路中的D5、D6组成限幅器,C7,C8,C2,C1是电源去耦电路。电压放大倍数计算如下:即整个电路的放大倍数约为400倍。2)光传感器模块我们在轿厢底部装置光传感器,用于检测轿厢是否到达指定的位置。光传感器的选择,采用单光束反射取样式光电传感器ST278。ST278特点有:1,采用高发射功率红外光电二极管和高灵敏度光电晶体管组成;2,双光电晶体管,可用于检测被测物的运动方向;3,检测距离可调整范围大,近距离2mm可用;4,采用非接触检测方式。ST278的参数如下:我们把光电传感器固定在轿厢的底部,并在竖井的对应位置放置反光的薄板。这样当轿厢到达我们定义的位置时,将会有光被反射回来,这样光电传感器将会接收到,并将其转换为低电平,再由电路传至单片机中,从而控制轿厢的制动。5、A/D转换模块设计芯片选择:本系统主要有二个A/D转换模块,将传感器得到的信号转换为单片机可以处理的数字信号。本系统的A/D转换我们选用的芯片为MAX191。MAX191是12位低功率的转换器,它的平均转换时间为7.58.125us,即采样速率可以达到120K左右,而我们以前常用的A/D0809的平均转换时间只有90115us,采样速率远小于MAX191。另MAX191除了具有上述优点外,它自身带有触发脉冲,和状态位,可以进行状态查询,这些都是ADC0809所没有的性能,故我们选择MAX191作为本实验用的A/D转换器。 四、软件设计1、整个系统程序设计思路电源打开时,电梯轿厢停靠在任意位置。此时要判断是否有外招或内招,即判断是否应该工作。若有,则电机即要开始转动到指定位置,期间要继续检测是否还有外招或内招。若有,先判断是否在其工作的范围,若在其范围内,响应;若不在范围内,不响应。期间光电信号一直检测,看是否到达目的的,当到达时,即可停止。平层在停止的位置,一直等下一个内招或外招来临。各个功能的软件部分具体思路和算法如下:呼叫标志变量MB轿厢在所在层变量 DQ 判断是否开门算法 (mb&dq1)=dq1判断是否上升算法 (!down)&(dq1(0x10-dq1)&mb)判断是否下降算法 (!up)&(mbdq1)&(mb!=0) 单片机编程控制输出的程序部分见附录2、电机控制部分(1)轿厢运行部分:我们知道,任何从静止开始的运动过程都要经过加速和减速的过程。故我们在程序的设计过程中把电机的运行过程分为加速、匀速和减速三个阶段。我们调节方波的频率大小来控制步进电机的转速,调节方波信号的个数来控制步进电机的转过的角度,达到控制轿厢移动高度。整个电机的运行过程大致如图3.1.1所示:(2)平层部分平层过程由A、B两个部分控制:A: 程序控制电机的步长a) 自学习阶段:1)让电机从楼顶到楼底,再从楼底到楼顶来回运动几个回合,查询出竖井的高度和上下边界,记录入TABLE,方便后面使用。2)让电机再来回运行几个回合,通过光耦查询出每层楼的高度和光耦所在的位置,记录入TABLE。b) 实际控制阶段: 在自学习阶段测试完整个竖井的高度和每层楼的高度后,将其数据记录入一个专用的表TABLE中。实际程序执行时,程序自动查阅TABLE,找出所要转动的长度,再计算出步进电机要转动的圈数,然后再经过电机的驱动对电机控制。C) 程序对速度的设定: 在实际编程的过程中,我们通过设定每秒钟的脉冲数多少来控制电机的转速。我们所用的电机平均转一周绳子所掠过的长度为6.05cm。结合步进电机的特点,我们把加速过程设置15个速度跳变来达到加速的目的,15个速度跳变我们程序设置的时间分别为7800us,6000 us,5400 us,4800,4200 us,3600 us,3000 us,2400 us,2100 us,1800 us,1500 us,1200 us,900 us,600 us,500 us,400 us,350 us,170us。即每秒的脉冲数分别达到128个脉冲/S,167个脉冲/S,185个脉冲/S,218个脉冲/S,238个脉冲/S,278个脉冲/S,330个脉冲/S,417个脉冲/S,476个脉冲/S,556个脉冲/S,668个脉冲/S,833个脉冲/S,1110个脉冲/S,1670个脉冲/S,2000个脉冲/S,2500个脉冲/S,2860个脉冲/S,5880个脉冲/S。这样整个加速时间就会达到46717us。又我们在编程时把电机的转速设置为1转/400个脉冲,即0.0605m/400个脉冲。综上,也即我们设定的是在467170个微秒的时间内电梯加速运行了6.05cm。由公式得此电梯设定的加速度为 。电梯加速之后的匀速过程速度为加速过程的最大速度值,程序设定其为0.168m/s 。可得此电梯从底层到最高层一共耗时0.467+0.467+87.9/16.8=6.164s;单独运行一层楼所要的时间为:0.467+0.467+7.9/16.8=1.404s。而题目的要求为每层运行时间不超过5秒,单程运行时间不超过12秒。我们设计的算法远优于题目要求的性能。 程序设计思路如下:B: 光传感器接收到的信号经过处理后进行制动我们在电梯内的轿厢底部装置单光束反射取样式光电传感器ST278,对平层进行控制,当轿厢到达后会有反射光使ST278的电平改变。其具体工作原理详见光传感器模块。平层过程工作如图3.1.2所示:3、显示及报警部分1)楼层显示楼层显示部分命令由系统板一控制实现,由传感器的感应次数来对显示数字的变化进行控制。另外,此部分加了锁存器,对显示的楼层数据进行锁存,以保证电梯显示指定的楼层。2)电梯外部按键显示由于此部分只要求每层只显示上下标志,所以我们采用一般的发光二级管。发光二级管电路简单,易于控制。此外,由于一楼和五楼只能分别上和下,故我们在一楼和五楼都只安装一个发光二级管。3)超重报警当重力传感器检测到超重时,经系统处理后会发出一个持续的高电平,使图2.3.1中的多谐振荡器工作,最终驱动蜂鸣器工作。4)紧急报警轿厢内设紧急报警按钮,当电梯突然发生故障使轿箱内的人被困时,可以通过按下紧急报警按钮,使紧急报警灯亮同时发出音响信号,由于这个部分要求电梯的任何运行状况下都要有效,为保险起见,我们将此作为一个独立的模块。具体电路见附图,控制过程如下:附加:防冲顶和防撞底我们在轿厢顶快接近竖井顶部和位置和轿厢底快接近竖井底部的位置也同样放置反光片,用于对电梯进行保护防冲顶和防撞底。当轿厢在超过规定的楼层内感应到光后,程序设定其马上制动。具体电路和编著的程序和平层部分相差不大。 参考文献:1张齐 杜群贵著,单片机应用系统设计技术,电力工业出版社,2007.72童诗白 华成英主编,模拟电子技术基础 第三版,高等教育出版社,2006.123阎石主编,数字电子技术基础,高等教育出版社,2007.114谭浩强著,C程序设计 第三版,清华大学出版社,2006.65潘永雄 沙河著,电子线路CAD实用教程,西安电子科技大学出版社,2009.16李华主编,MCS-5系列单片机实用接口技术,北京航天航空出版社,2003.67陈杰 黄鸿著,传感器与检测技术,高等教育出版社,2008.2附录:呼叫标志变量MB轿厢在所在层变量 DQ 判断是否开门算法 (mb&dq1)=dq1判断是否上升算法 (!down)&(dq1(0x10-dq1)&mb)判断是否下降算法 (!up)&(mbdq1)&(mb!=0)#include reg52.h#define uchar unsigned char#define uint unsigned intsbit P3_0=P30;sbit P3_1=P31;sbit P3_2=P32;sbit P3_4=P34;sbit P3_5=P35;sbit P3_3=P33;sbit P3_7=P37;sbit P0_7=P07;uchar mb=0,up=0,down=0,mbz=1,dq1=1;void delay() uint x,i; for(i=0;i6;i+) for(x=0;x15000;x+) ;void km()mbz = 0 ;P0 = 0x00;delay(); P0 = 0x18; delay(); P0 = 0x3c; delay(); P0 = 0x7e; delay();P0 = 0xff;void gm()mbz= 1 ;P0 = 0xff;delay() P0 = 0x7e; delay(); P0 = 0x3c; delay(); P0 = 0x18; delay(); P0 = 0x00;void ss() dq1 = dq1 1; P3_0 = 0; P3_1 = 1; delay(); delay(); switch (dq1) case 0x01 :P2=0x9f;break; case 0x02 :P2=0x25;break; case 0x04 :P2=0x0d;break; case 0x08 :P2=0x99;break;case 0x10 :P2=0x9b;break; void anjian() interrupt 0 uchar jz; jz = P1; if(jz&0x10)=0) mb = mb | 0x01; P3_4=0; if(jz&0x20)=0) mb = mb | 0x02; P3_5=0; if(jz&0x40)=0) mb = mb | 0x04; P3_3=0; if(jz&0x80)=0) mb = mb | 0x08; P3_7=0; if(jz&0x10)=0) mb = mb | 0x10; P3_7=0; if(jz&0x01)=0) mb = mb | 0x01; if(jz&0x02)=0) mb = mb | 0x02; if(jz&0x04)=0) mb = mb | 0x04; if(jz&0x08)=0) mb = mb | 0x08;if(jz&0x10)=0)mb=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论