摘要
这一篇文章是关于用单片机来控制电梯系统的,它的硬件部分是由好几部分组成的,都有单片机主控器最小系统模块,开关控制模块,电机驱动模块,显示模块,抵达目标楼层提示模块等等这几个模块组成。这一个系统他所使用的控制的主控器是AT89C52单片机,信号模块全部都是依靠按钮有没有让单片机里面所与之对应的管脚发生电平的改变,这个信号被认为是用户所要求触发实现的信息,发送给主控器,单片机会处理自己所接受到的信号,并做出反应,通过控制端口电平的变化,来控制步进电机进行与之对应的动作,上行或者下行。在步进电机进行转动的过程之中,步进电机会因为接收到单片机的模拟信号的传感器所收到的信号,而做出相应的动作,停下来。这一次设计过程中,使用LED指示灯阵列来显示电梯的下降或者上升的运动的状态,使用共阴极七段数码管来实现当前轿厢所处在的楼层的位置信息,来实现全部的信号请求和做出响应反应的过程。
本次设计中,我们使用C语言来编程,控制AT89C52单片机,使用单片机读引脚的功能来看一看用户是否按下呼梯按键,产生记忆信号。凭借着电梯到达与之对应的楼层的时候,模拟的按键会有一个电平的改变,从而来检测,判别和做出相应的动作的控制信号,而且写程序的时候,是按照模块书写的,一部分一部分地写,有利于我们调试,修改参数、添加功能、调度使用这些功能。硬件设计排线比较简单有序,能可靠的使用,把程序写进主控器里去,大概上可以满足本次设计所要求的功能,实现控制6层电梯运行的基本功能。
关键词:单片机,步进电机,C语言编程,电梯控制系统
1 总体设计方案
1.1方案选择
当前看来,电梯系统的主要选择方案还是微型计算机和可编程控制器。两者都有着飞快的发展。PLC是传统的继电器控制技术和微机技术融合在一起,相互促进的成果。我们国家现在大多数情况下还是使用可编程控制器。这是因为它有着许多优点,就像拥有很强的抗干扰能力,即使在工作环境比较恶劣的场所,它也能正常运行,但是由于可编程控制器是根据具体的功能量身定做的,一旦做好了以后就不能修改功能,所以他的成本会高一些。而且维修的时候会比较麻烦。
而单片机拥有占得地方小、处理速度快、消耗成本低、功能完善的优点。单片机可以通过编程来改变管脚的输出电平,从而改变功能,使控制操作具有灵活性,所以我决定采用单片机来控制电梯系统。
2 设计思路
在这一次设计中,我的总思路是通过按动相应层数的按键来给单片机的I/O口传递低电平作为呼梯信号,来让单片机做出相应的判断,从而做出反应,通过相对应I/O口的输出信号,来控制步进电机的正反转,七段共阴极数码管的显示,蜂鸣器的触发以及LED指示灯的阵列的显示。通过步进电机的正反转控制电梯的上下行运动;通过LED指示灯阵列来显示出电梯的运行状态,上行就呈现上升箭头,下降就呈现下降箭头;用数码管来显示轿厢所处于的楼层数,用传感器来实现电梯的平层功能;平层之后用蜂鸣器来提醒到达目标楼层。
2.1 总体设计框图
图1 电梯单片机控制系统结构框图
3 系统的硬件设计
3.1主要硬件设计器件
在本次的设计中,我们主要采用的硬件就是六线四相电机和51单片机这两种。51单片机的作用就是主控器,通过在单片机里面写好程序,然后单片机通过读取I/O端口的电平来做出判断,然后执行相应的操作。步进电机是用来带动电梯运动的,通过控制步进电机的正反转来完成电梯的上下行动作。
51单片机的主要特性和各引脚的功能如下图所示:
图2 单片机的主要功能和各引脚功能
主要特性:
◆闲置的时候耗能低和掉电的速度慢
◆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兼容
3.2各单元模块
3.2.1单片机最小系统模块
图6 单片机最小系统
单片机的最小控制系统是由三部分组成的。它包括由晶振组成的脉冲产生信号电路,主控单片机芯片,以及复位电路。脉冲产生信号的电路是由晶振和电容并联而组成的,我选用的晶振的频率是11.0592MHz,选择的电容的大小为30pF。电路的功能可以产生大约1us的脉冲信号。在主控芯片接线方面,因为P0端的每个I/O口都是由OC门构成的,P0口都接的有上拉电阻,图中RP1就是排阻。复位电路一个电容和开关并联的电路,另外一侧接高电位,当RST控制端口是高电平的时候,就能使单片机复位。
3.3实物图
图15 实物图正面
4 系统的软件设计
4.1软件设计总体框图
图17 程序流程图
5 电路仿真及调试
将在keil软件上编的C语言程序生成hex文件,和proteus软件进行联调,把程序写进AT89S52单片机内,进行仿真测试。
电梯的初始状态,停在一楼,数码管显示层数1。
图18 电梯初始状态
到达1层之后,步进电机停止转动,数码管显示当前层数,报警提醒信号触发。
当电梯处于三楼的时候,依次按下4层呼叫按键,5层呼叫按键,2层呼叫按键。电梯先上到4层,然后停下来,报警提醒信号触发。过了几秒后,步进电机正转,电梯上行,到了5层时,步进电机停止转动,报警提醒信号触发。过了几秒后,步进电机反转,电梯下行,行至2层时,电机停止转动,电梯停下,报警提醒信号触发。
图23
6 总结
本文对单片机控制电梯系统这一课程设计做了详细的报告与总结,其中主要是包括了单片机的编程和proteus的仿真实验以及硬件设计,并且对里面每一个特别重要的子模块加以详尽地说明。
经过仿真实验的验证,本设计所设计的电梯基本符合当初的预想,该电梯的调度符合高效、省时、人性化的特点。运行结果完美无误,可以完整的实现电梯上下行,平层功能,到点提示,楼层显示,上下行显示,顺次接人功能。能够作为真实电梯的调度系统使用。
本次毕业设计的核心思想是:当有用户按下按键,产生呼叫电梯的信号时,运用单片机的I/O口,把这个信号传递给单片机,来让单片机置位相关的状态参数,使电梯判断信号,从而来进行上下行,做出相应的反应动作提供了根据,然后单片机就能相对地点亮或者熄灭对应相关指示灯。在整的这一个毕业设计中,单片机的读写I/O端口功能是设计基础,电梯动作的函数当成主导,电梯目的楼层判断的函数是关键点和核心。