毕业设计 基于51单片机的电梯控制系统的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的电梯控制系统的设计

第一章 系统的硬件设计

1.1主要硬件设计器件

在本次的设计中,我们主要采用的硬件就是六线四相电机和51单片机这两种。51单片机的作用就是主控器,通过在单片机里面写好程序,然后单片机通过读取I/O端口的电平来做出判断,然后执行相应的操作。步进电机是用来带动电梯运动的,通过控制步进电机的正反转来完成电梯的上下行动作。

51单片机的主要特性和各引脚的功能如下图所示:

单片机的主要功能和各引脚功能

主要特性:

◆闲置的时候耗能低和掉电的速度慢       

◆2个16位的定时器/计数器,分别为T0和T1,52会增加一个T2

◆5个中断源,分别为外部中断0,外部中断1,定时器T0,定时器T1和串行口,52单片机会在51单片机的基础上加一个T2中断

◆拥有128*8位的内部随机存储器

◆32个可以用来编程的I/O端口

◆保存数据的时间可以长达10年之久

◆有着1000写/擦循环的使用寿命

◆全静态工作时的频率是在0Hz-24Hz 之间,可由所接的晶振来决定        

◆能够锁定三级程序存储器

◆时钟电路和片内振荡器

◆4096字节的可编程闪烁存储器

◆串行通道可编程            

◆和MCS-51兼容

管脚说明:

GND:和大地相连。

VCC:提供工作时的电压。

P0口:P0口每一个I/O口都能接收到8个TTL门电流,它拥有八位漏极开路的双向输入输出口。每一次P1的端口第一次写高电平的时候,我们就可以把它看成是高阻输入。用来储存外部程序的数据存储器可以用P0口来实现。一般来说,他能够实现地址线和数据线的复用,能用来做数据的第八位,当使用FLASH来检测的时候,本来的码会被P0输出去,这时候,P0作为原来的码输进去的口子,它的外面肯定是被拉高了。

P1口:P1口的每一个I/O口都能够接收到四个TTL门电流,它拥有八个双向传输信号的I/O口。单片机会把P1口当做成为八位地址接收,当FLASH检查和编写程序的情况下。由于内部的上拉,故而,在P1的端口接收到高电平的时候,当成是输入进去,让内部上拉成了高电平。P1口在外部会被下拉成低电平,当成是输出来。

P2口:P2口的每一个I/O口都能够发出去和接收到四个TTL门电流,它拥有八个双向传输信号的I/O口,并且,每一个口还具有内部拉拨电阻。在把P2的端口都写成高电平的时候,它的内拉电阻会通过把这个引脚拉高来让它当做输入,因为内部拉出的原因,会让P2端口从外面读取信号,产生电流,用来作为单片机的输入。在P2的各个引脚用于程序的外部内存或用于访问的16位地址数据的外部存储时,P2端口生成地址的前8位。当提供“1”地址时,使用内部提拉。当读取和写入8位外部地址数据时,P2的每一个管脚都会发出一些内容,是由特殊功能寄存器决定的。在FLASH检验判断和写程序的时候,P2的每一个引脚可以接受方向信号以及相对应的控制信号。最多可以接受8个。

P3口:P3口的每一个I/O口都能够发出去和接收到四个TTL门电流,它拥有八个双向传输信号的I/O口,当P1端口的引脚输入逻辑高电平的时候,这些信号会在内部通过上拉电阻产生一个高电平作为输入。当成一个输入的话,又因为外部的下拉是让降低的,那么P3端口的每一个引脚就能产生输出的电流,产生这个的原因是下拉电阻。

P3口里面的一些端口也能充当单片机里面的特殊功能口,以下就是用法:

每一个P3口管脚的备用的功能

P3.0可以作为串行输入的端口

P3.1可以作为串行输出的端口

P3.2可以作为外部中断0的输入口

P3.3可以作为外部中断1的输入口

P3.4能够作为记时器T0外部输入的端口

P3.5能够作为记时器T1外部输入的端口

P3.6可以决定外部数据存储器是否可以写操作

P3.7可以决定外部数据存储器是否可以读操作

P3端口的各个管脚能够同时接收一些控制信号,用于flash编程和编程验证。

RST:这个控制端的作用是复位,它在启动工作时,一定要让RST引脚能够保证连续的输出两个机器周期的高电平。

ALE/PROG:这个控制端在一般的情况下,能够产生震荡频率为六分之一机器频率的正脉冲信号,并且,还能稳定输出。因为它具有这个功能,所以一般可以被用来做计时器或者当成外部输出脉冲。在单片机要读取输入输出端口的信息或者访问外部寄存器的时候,一定得丢失掉一个脉冲信号。要是我们不用这个脉冲信号的时候,我们就得禁止它的输出,把特殊功能的寄存器的AUXR里面的ALE禁止位编译成1,就可以完成这个操作。

/EA/VPP:当/EA维系高电平的情况下,单片机片内的PC值不会大于1FFFH,单片机只会读单片机内部存储器里面所存储的程序,要是大于这个值的时候,那么就会自动去访问外边的存储器里面的代码。当维系低电平的时候,只可以查读片外的程序。

XTAL1端是单片机内部时钟电路的输入与反向振荡放大器的输入

XTAL2来源自反向振荡器的输出。

步进电机的工作原理,线路原理图,步进电动机运行的特点,工作方式及不同的工作方式所对应的时序图如下:

步进电机的工作原理:

步进电机的控制是非常简单的,它的角位移是通过得到的脉冲信号所决定的,也就是说,是通过脉冲的频率来控制电机的转速,而且它的转动方向取决于各端口电平改变,导致通电的相序发生改变而控制的。因为它控制比较容易,而且是可以靠数字控制,所以我们在单片机的控制中会经常用到步进电机。步进电机它在运行的过程中,无论负载多重,都不会改变步进电机的运行状态,可以平稳运行,步进电机的工作方式是一脉冲一动,所以它控制的准确性比较高,没有累积的误差,只有每一个周期的误差。如图3所示,就是一个六线四相步进电机的示意图。这一种步进电机,拥有很强的灵活性,不仅仅是可以当作四相电机来用,还能被用来当做两相电机使用。所以我们经常会使用它。

四相六线制的步进电机所对应的原理图:

四相六线制步进电机原理图

步进电动机在运行时候的特点:

①步进电动机的输出脉冲数和它的角位移准确成过原点,斜率为正的一次函数关系。所以,步进电机它会有一个性能比较优良的跟随性,这就是因为每当步进电机转过来一圈的时候,是没有随时间而慢慢累积而增加的误差。

②步进电机比较容易实现正转、反转、启动、停车、改变速度这些功能。并且,它的响应是非常快的,有比较强的灵敏度。

③从构成步进电机及它的驱动电路的控制系统中来看,可以看出它的排线是非常简单的,而且能可靠的驱动,所用到的器件也比较便宜,能有效地节约成本。

④步进电机不能直接地接在AC电源或者DC电源上,只有接在脉冲电源上才能正常工作。

⑤我们必须对应电机所有的超速及其震荡的现象,做出应对的抑制措施。

⑥步进电机能够在宽的范围里面稍微调整一下,更有甚者,能够在速度比较低一点的时候拥有高一点的转矩,这么能够不用减速器就能顺利地驱动负载。

步进电机的工作方式:

步进电机主要有半步运行方式和整步运行方式两种运行方式,他们的不同之处就是当接收到触发脉冲的时候各个相所接收到的电平的时序。它们的时序图正如图4和图5所示。以步进角1.8°的四相混合式步进电机为例,在半步的的运行方式的时候,电机旋转一周需要400个脉冲,每一个脉冲到来的时候,步进电机就会旋转0.9°;在整步的的运行方式的时候,电机旋转一周需要200个脉冲,每一个脉冲到来的时候,步进电机就会旋转1.8°。

 半步时序图

整步时序图

1.2各单元模块

1.2.1单片机最小系统模块

单片机最小系统

单片机的最小控制系统是由三部分组成的。它包括由晶振组成的脉冲产生信号电路,主控单片机芯片,以及复位电路。脉冲产生信号的电路是由晶振和电容并联而组成的,我选用的晶振的频率是11.0592MHz,选择的电容的大小为30pF。电路的功能可以产生大约1us的脉冲信号。在主控芯片接线方面,因为P0端的每个I/O口都是由OC门构成的,P0口都接的有上拉电阻,图中RP1就是排阻。复位电路一个电容和开关并联的电路,另外一侧接高电位,当RST控制端口是高电平的时候,就能使单片机复位。

1.2.2开关控制模块

轿厢开关控制模块

从左到右依次是第1层、第2层、第3层、第4层、第5层、第6层的呼叫按键,后面加的那两个方便扩展层数,当按钮按下的时候,所对应的指示灯D1、D3、D4、D6、D7、D8、D9、D10会亮,按下的信号被记忆,得到锁存,当到达目标层数时,相对应的记忆信号丢失,对应的LED灯灭掉

1.2.3电机驱动模块

电机驱动模块

电机驱动采用ULN2003A完成。由于在这次设计中,我们需要能稳定可靠地对电机的速度和电机转动的方向进行调节,还得易于控制,所以我们采用了步进电机。我们可以通过步进电机的转动来控制电梯的运行,步进电机正转,电梯向上运行,步进电机反转,电梯向下运行。可以通过改变收到脉冲的频率来控制电梯的速度。由于本次实验运用的是仿真模拟,所以采用5V的Vcc即可,要是运用在现实生活中肯定不行,得用大一点的电压驱动。

ULN2003A引脚图如下图:

ULN2003A引脚图

ULN2003A功能介绍:

ULN2003A是由7根达灵顿NPN管组成的一系列达灵顿高压高压产品。主要用于单片机、智能仪器、PLC等控制电路。在5V工作电压下,可直接连接TTL和CMOS电路,可直接作为继电器进行充电。具有电流增益高、工作电压高、温度范围广、负载能力强等特点。输入为5V的 TTL,输出可达500mA / 50V。适用于各种高速、大功率系统。

1.2.4显示模块

楼层显示数码管

所选用的显示楼层的数码管是7SEG-COM-CAT-GRN,它是共阴极七段的数码显示管,分别每一根LED晶体管都由一个管脚来控制,由于这个数码管是共阴极的,所以在显示数字的时候只需要把相对应的管脚电平置为高电平就行了,我们把最上头的那一根晶体管称为a,然后顺时针命名,依次是abcdef,最中间那一根对应的是g,然后对于左边的管脚,由上到下分别为abcdefg,通过数码管可以显示出电梯轿厢所在的层数。

上下行指示灯

显示电梯运行的方向,分别用三组LED指示灯阵列显示。只要当步进电机转动,电梯有垂直移动的时候,D2、D5、D11、D12就会亮;当步进电机正转,电梯往上走的时候,D20、D19、D13、D14会亮,整个LED指示灯阵列会呈现一个向上的箭头亮灯;当步进电机反转,电梯往下走的时候,D18、D17、D16、D15会亮,整个LED指示灯阵列会呈现一个向下的箭头亮灯当电梯停在某一层楼的时候,LED指示灯阵列全灭。

1.2.5抵达目标楼层提示模块

到达目标楼层提示装置

当电梯到达呼叫信号所处的层数的时候,步进电机会停止转动,电梯会停下来,抵达目标楼层提示模块会触发,蜂鸣器会发出提示音。

1.2.6仿真接线图

仿真接线图

1.2.7硬件电路图

硬件电路图

1.2.8实物图

实物图正面

实物图反面

第二章 电路仿真及调试

将在keil软件上编的C语言程序生成hex文件,和proteus软件进行联调,把程序写进AT89S52单片机内,进行仿真测试。

电梯的初始状态,停在一楼,数码管显示层数1。

电梯初始状态

按下6层呼梯信号,步进电机正转,电梯上行,LED指示灯阵列显示上升箭头,数码管显示出当前轿厢所在的层数。

到达6层之后,步进电机停止转动,数码管显示当前层数,报警信号触发。

按下1层呼梯信号,步进电机反转,电梯下行,LED指示灯阵列显示下降箭头,数码管显示出当前轿厢所在的层数。

到达1层之后,步进电机停止转动,数码管显示当前层数,报警提醒信号触发。

当电梯处于三楼的时候,依次按下4层呼叫按键,5层呼叫按键,2层呼叫按键。电梯先上到4层,然后停下来,报警提醒信号触发。过了几秒后,步进电机正转,电梯上行,到了5层时,步进电机停止转动,报警提醒信号触发。过了几秒后,步进电机反转,电梯下行,行至2层时,电机停止转动,电梯停下,报警提醒信号触发。

如果你需要帮助、建议或解决问题,不要犹豫,可以随时向老师提问或寻求支持。专注于单片机的解决方案可以为你提供有关电子设计、嵌入式系统、编程和硬件方面的宝贵信息。无论你的问题涉及到哪个方面,都可以向老师咨询,以获得有针对性的建议和指导。祝愿你在单片机设计领域取得成功!

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值