电梯模型设计报告_第1页
电梯模型设计报告_第2页
电梯模型设计报告_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、电梯模型设计报告电梯模型设计报告学院:自动化科学与工程学院队名:酱油小分队队员:谭斌冠 何健军 闫家炜 时间: 20111116、概述 电梯模型以 51 单片机作为核心处理器,步进电机为控制电机,用 ULN2003 电流驱动矩阵对步进电机进行驱动,结合光电传感器达到 对电梯进行上、 下和停止的动作, 并确保平层精确度。 利用独立键盘 和数码管等更好地实现人机互动交流。二、方案论证步进电机 +光电传感控制2003芯片工作电压5V,可以很好地与单片机配合工作。队长,交给你了=三、详细设计反感1、楼层模型设计 楼层模型选用质地较轻、 易于加工的轻型胶合板制作。 整个箱体用木 块进行加固,确保其稳定性

2、。轿箱轨道采用两根钢丝(尼龙绳?) , 确保轿箱运行过程中不会出现晃动等情况。 轿箱采用轻纸盒加木质配 种职称,保证了运行的稳定。2、驱动电路模块采用步进电机28BYJ48型四相八拍电机,电压为 DC5 DC12V当对步进电机施加一系列连续不 断的控制脉冲时, 它可以连续不断地转动。 每一 个脉冲信号对应步进电机的某一相或两相绕组 的通电状态改变一次, 也就对应转子转过一定的 角度(一个步距角) 。当通电状态的改变完成一 个循环时, 转子转过一个齿距。 四相步进电机可 以在不同的通电方式下运行。 由于单片机接口信 号不够大需要通过 ULN2003 放大再连接到相应 的电机接口 。图片(加图片)

3、3、光电传感模块 电梯轿箱部分安装有红外对管的发射管, 模型的 每个楼层分别安装有接收管,以此确保平层准 确。轿箱发出的红外线经楼层上的接受管接收 后,引起电平变化, CPU 以此信号来做出相应 命令。(图)4、楼层按键设计 为模拟乘客在轿箱内对电梯的控制,设计了有 5 个按键的独立键盘,分别对应 1 5 楼,基于实 验原因,放置于模型外部。每个楼层各有独立键盘来对轿箱进行呼叫。5、中央处理器部分采用两个 51 单片机配合控制整个系统。分别为主控CPU、电机驱动CPU。CPU之间有通信。主控 CPU :(图)驱动 CPU :(图) 四、调试过程 各模块工作正常,达到预期目标 五、程序流程图(图

4、)六、程序清单主控 CPU 程序:#include#define unchar unsigned char#define unint unsigned int#define shuma P0sbit key1=P1A0;/前四个上行,后四个下行sbit key2=P1Ai;sbit key3=P1A2;sbit key4=P1A3;sbit key5=P1A4;sbit key6=P1A5;sbit key7=P1A6;sbit key8=P1A7;sbit key9=P2A0;/ 内部按键sbit key10=P2A1;sbit key11=P2A2;sbit key12=P2A3;sbit

5、 key13=P2A4;sbit send1=P2A5;连接接受单片机sbit send2=P2A6;sbit send3=P2A7;sbit LEDA=P3A3;/ 红外对管,一次为一到五楼sbit LEDB=P3A4;sbit LEDC=P3A5;sbit LEDD=P3A6;sbit LEDE=P3A7;unchar code table = 0xD7,0x32,0x92,0xD4,0x98;/ 楼层 ?void keyscan1();void keyscan2();void neibu();void judge1();void judge2();void redwai();void d

6、uan();int m;/ 记忆是否被呼叫过int n;/ 记忆被呼叫的楼层int b;/ 数码管int x;/ 控制电机int y15;/ 外部上行按键int y25;/ 外部下行按键int f5;/ 内部按键int s=0;记忆是否有呼叫,采取s+,当有楼层呼叫时加1,到达该楼层时便减1int p=0;记忆内部是否有呼叫void delay(int i)int j;for(i;i0;i-)for(j=0;j325;j+);/1.09ms void keyscan1()上行键盘扫描P1=0xff;if(key1=0)delay(1); if(key1=0)y10=1;if(m)n=1; m=

7、0;while(!key1);if(key2=0)delay(1);if(key2=0)y11=2;if(m)n=2; m=0; while(!key2); if(key3=0)delay(1);if(key3=0) y12=3; if(m)n=3; m=0; while(!key3); if(key4=0)delay(1);if(key4=0) y13=4; if(m)n=4; m=0; while(!key4); void keyscan2()/下行键盘扫描P1=0xff;if(key5=0)delay(1);if(key5=0)y21=2; if(m) n=2; m=0; while(!

8、key5); if(key6=0)delay(1);if(key6=0)y22=3; if(m) n=3; m=0; while(!key6); if(key7=0)delay(1);if(key7=0)y23=4;if(m) n=4;m=0; while(!key7); if(key8=0)delay(1);if(key8=0)y24=5;if(m)n=5;m=0; while(!key8); void neibu()if(key9=0)delay(1);if(key9=0) f0=1;if(m)n=1;m=0; while(!key9); if(key10=0)delay(1);if(ke

9、y10=0) f1=2;if(m)n=2;m=0;while(!key10);if(key11=0)delay(1); if(key11=0) f2=3;if(m) n=3;m=0; while(!key11); if(key12=0)delay(1); if(key12=0) f3=4;if(m) n=4;m=0; while(!key12); if(key13=0)delay(1); if(key13=0) f4=5;if(m) n=5;m=0; while(!key13);void motor1()if(x=1)send1=0; delay(2); send1=1;if(x=2)send

10、2=0; delay(2); send2=1;if(x=0)send3=0;delay(2); send3=1;void panduan()int i;s=0; for(i=0;i5;i+)if(y1i!=0) s+;if(y2i!=0) s+;if(fi!=0) s+;void redwai()/ 红外对管/ LEDA=0;/ LEDB=0;/ LEDC=0;/ LEDD=0;/ LEDE=0;if(LEDA=0)b=1; duan(); shuma=0x00;shuma=table0;if(LEDB=0)b=2;duan();shuma=0x00; shuma=table1;if(LEDC

11、=0)b=3; duan(); shuma=0x00;shuma=table2;if(LEDD=0)b=4; duan(); shuma=0x00; shuma=table3;if(LEDE=0)b=5; duan(); shuma=0x00; shuma=table4;void main()while(1)if(s=0)/ 电梯停止,则重新激活 m=1;keyscan1();keyscan2();neibu();panduan();redwai();if(n!=0)/ 纯粹的只是为了开启电梯,电梯一动,它的历史使命就完成啦。 if(bn)/ 轿厢在呼叫楼层上面,轿厢准备下行x=2;n=0;m

12、otor1(); void duan()if(x=1) judge1();if(x=2)judge2();void judge1()int t=0;while(t4)if(b=y1t)|(b=ft)if(y1t=b)s-; y1t=0; if(ft=b)s-;ft=0;send3=0;delay(2);send3=1;t+;if(b=y24)|(b=f4)if(b=y24)s-; y24=0;if(f4=b)s-; f4=0;send3=0;delay(2); send3=1;if(s!=0) if(b=5) x=2; elsex=1;elsex=0;void judge2()int k=1;

13、if(b=y10)|(b=f0) if(y10=b) s-; y10=0;if(f0=b)s-; f0=0;send3=0;delay(2);send3=1;while(k5)if(b=y2k)|(fk)=b)if(y2k=b)s-; y2k=0;if(fk=b)s-; fk=0;send3=0;delay(2);send3=1;k+;if(s!=0)if(b=1)x=1;elsex=2;elsex=0;、电机控制 CPU:#include#define unchar unsigned char#define unint unsigned intunchar code table1=0x08,

14、0x0c,0x04,0x06,0x02,0x03,0x01,0x09;/ 电梯正转 unchar code table2=0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08;/ 电梯反转 sbit h=P2A0;sbit j=P2Ai;sbit y=P2A2;/sbit duan=P3A2;#define motor P1int a=0;void delay(int i)int j;for(i;i0;i-)for(j=0;j7)k=0;delay(1);调整速率 if(h=0)a=1;if(j=0)a=2;if(y=0) a=0;delay(3000);void anticlockwise。/逆转,下行int k;k=0;motor=0x00;while(a=2)motor=table2k;k+;if(k7)k=0;delay(1);if(h=0)a=1;if(j=0)a=2;if(y=0)a=0;de

温馨提示

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

评论

0/150

提交评论