电梯模型设计报告

学院:自动化科学与工程学院队名:酱油小分队队员:谭斌冠何健军闫家炜时间:16、概述电梯模型以51单片机作为核心处理器,步进电机为控制电机,用ULN于电流驱动矩阵对步进电机进行驱动,结合光电传感器达到对电梯进行上、下和停止的动作,并确保平层精确度。利用独立键盘和数码管等更好地实现人机互动交流。

二、方案论证步进电机 光电传感控制于芯片工作电压5V,可以很好地与单片机配合工作。队长,交给你了=

三、详细设计反感

1、楼层模型设计楼层模型选用质地较轻、易于加工的轻型胶合板制作。整个箱体用木块进行加固,确保其稳定性。轿箱轨道采用两根钢丝(尼龙绳?),确保轿箱运行过程中不会出现晃动等情况。轿箱采用轻纸盒加木质配种职称,保证了运行的稳定。

2、驱动电路模块采用步进电机28BYJ48型四相八拍电机,电压为DC5DC12V当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行。由于单片机接口信号不够大需要通过ULN于放大再连接到相应的电机接口。图片(加图片)

3、光电传感模块电梯轿箱部分安装有红外对管的发射管,模型的每个楼层分别安装有接收管,以此确保平层准确。轿箱发出的红外线经楼层上的接受管接收后,引起电平变化,CPU以此信号来做出相应命令。(图)

4、楼层按键设计为模拟乘客在轿箱内对电梯的控制,设计了有5个按键的独立键盘,分别对应15楼,基于实验原因,放置于模型外部。每个楼层各有独立键盘来对轿箱进行呼叫。

5、中央处理器部分采用两个51单片机配合控制整个系统。分别为主控CPU、电机驱动CPU。CPU之间有通信。主控CPU:(图)驱动CPU:(图)

四、调试过程各模块工作正常,达到预期目标

五、程序流程图(图)

六、程序清单主控CPU程序:includereg

5.2hdefineuncharunsignedchardefineunintunsignedintdefineshumaP0sbitkey1=P1A0;/前四个上行,后四个下行sbitkey2=P1Ai;sbitkey3=P1A2;sbitkey4=P1A3;sbitkey5=P1A4;sbitkey6=P1A5;sbitkey7=P1A6;sbitkey8=P1A7;sbitkey9=P2A0;/内部按键sbitkey10=P2A1;sbitkey11=P2A2;sbitkey12=P2A3;sbitkey13=P2A4;sbitsend1=P2A5;连接接受单片机sbitsend2=P2A6;sbitsend3=P2A7;sbitLEDA=P3A3;/红外对管,一次为一到五楼sbitLEDB=P3A4;sbitLEDC=P3A5;sbitLEDD=P3A6;sbitLEDE=P3A7;uncharcodetable=0_D7,0_32,0_92,0_D4,0_98;/楼层?voidkeyscan1();voidkeyscan2();voidneibu();voidjudge1();voidjudge2();voidredwai();voidduan();intm;/记忆是否被呼叫过intn;/记忆被呼叫的楼层intb;/数码管int_;/控制电机inty15;/外部上行按键inty25;/外部下行按键intf5;/内部按键ints=0;记忆是否有呼叫,采取s ,当有楼层呼叫时加1,到达该楼层时便减1intp=0;记忆内部是否有呼叫voiddelay(inti)intj;for(i;i0;i-)for(j=0;j325;j );/

1.09msvoidkeyscan1()上行键盘扫描P1=0_ff;if(key1=0)delay

(1);if(key1=0)y10=1;if(m)n=1;m=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);voidkeyscan2()/下行键盘扫描P1=0_ff;if(key5=0)delay

(1);if(key5=0)y21=2;if(m)n=2;m=0;while(!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);voidneibu()if(key9=0)delay

(1);if(key9=0)f0=1;if(m)n=1;m=0;while(!key9);if(key10=0)delay

(1);if(key10=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);voidmotor1()if(_=1)send1=0;delay

(2);send1=1;if(_=2)send2=0;delay

(2);send2=1;if(_=0)send3=0;delay

(2);send3=1;voidpanduan()inti;s=0;for(i=0;i5;i )if(y1i!=0)s ;if(y2i!=0)s ;if(fi!=0)s ;voidredwai()/红外对管/LEDA=0;/LEDB=0;/LEDC=0;/LEDD=0;/LEDE=0;if(LEDA=0)b=1;duan();shuma=0_00;shuma=table0;if(LEDB=0)b=2;duan();shuma=0_00;shuma=table1;if(LEDC=0)b=3;duan();shuma=0_00;shuma=table2;if(LEDD=0)b=4;duan();shuma=0_00;shuma=table3;if(LEDE=0)b=5;duan();shuma=0_00;shuma=table4;voidmain()while

(1)if(s=0)/电梯停止,则重新激活m=1;keyscan1();keyscan2();neibu();panduan();redwai();if(n!=0)/纯粹的只是为了开启电梯,电梯一动,它的历史使命就完成啦。if(bn)/轿厢在呼叫楼层下面,轿厢准备上行_=1;if(b=n)/轿厢正好在呼叫楼层,轿厢停止/_=0;m=1;if(bn)/轿厢在呼叫楼层上面,轿厢准备下行_=2;n=0;motor1();voidduan()if(_=1)judge1();if(_=2)judge2();voidjudge1()intt=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)_=2;else_=1;else_=0;voidjudge2()intk=1;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)_=1;else_=2;else_=0;、电机控制CPU:includereg

5.2hdefineuncharunsignedchardefineunintunsignedintuncharcodetable1=0_08,0_0c,0_04,0_06,0_02,0_03,0_01,0_09;/电梯正转uncharcodetable2=0_09,0_01,0_03,0_02,0_06,0_04,0_0c,0_08;/电梯反转sbith=P2A0;sbitj=P2Ai;sbity=P2A2;/sbitduan=P3A2;definemotorP1inta=0;voiddelay(inti)intj;for(i;i0;i-)for(j=0;j325;j );/

1.09msvoidclockwise()正转,上行intk;k=0;motor=0_00;while(a=1)motor=table1k;k ;if(k7)k=0;delay

(1);调整速率if(h=0)a=1;if(j=0)a=2;if(y=0)a=0;delay(3000);voidanticlockwise。/逆转,下行intk;k=0;motor=0_00;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;delay(3000);voidmain()if(h=0)a=1;if(j=0)a=2;clockwise();anticlockwise();

七、元器件清单STC89C512个ULN于1个5161BH数码管6个红外发射管1个红外接收管5个50K电位器5个500K电位器1个12M晶振2个LED灯27个按钮14个500欧电阻15个1K电阻2个

4.7K电阻4个20IF电容2个22pF电容4个排针、电线、杜邦线若干28BYJ-485V步进电机1个

预览已结束,下载原文档直接使用
查看全文
若对以上有内容有疑问请反馈或举报举报
声明:
您购买的是此内容的word文档,付费前可通过免费阅读辨别合同。非质量问题不退款,如需帮助可咨询客服【客服微信】