基于单片机的电梯模型控制.docx
《基于单片机的电梯模型控制.docx》由会员分享,可在线阅读,更多相关《基于单片机的电梯模型控制.docx(21页珍藏版)》请在冰豆网上搜索。
基于单片机的电梯模型控制
12-13学年第一学期开放性实验项目
题目:
电梯控制模型
院系名称:
信息科学与工程专业班级:
电信1001
学生姓名:
姜莉莉学号:
0130
指导教师:
王伟生教师职称:
讲师
实训地点:
创新实验室地点:
31520
开放性实验成绩
教师签名:
年月日
《电梯控制模型》任务书
一、设计任务
设计并制作一个电梯控制模型。
示意图如图3所示。
二、设计要求:
1、基本要求:
电梯间竖井模型部分可由有机玻璃粘成无上盖板的六面体ABCDEFGH,高度AE为1.2m;电梯桥厢模型J通过滑轮悬挂并由电动机M牵引,可在电梯间竖井模型的空间内上下运动。
该电梯间竖井模型每隔20cm自下向上分成5层,其楼层编号如图3所示。
(1)当某层有呼叫并有呼叫信号显示时,桥厢模型作相应的运动,并准确平层,平层的位置误差≤10mm。
要求平均每层运行时间不超过5秒,平层结束时给出提示信号。
(2)当有多层呼叫时,桥厢模型将按说明中的电梯模型运行规则作相应的运动,并依次在呼叫的楼层停留5秒。
(3)能自动记录、显示桥厢模型当前到达的楼层编号。
(4)要求桥厢模型在加载400克的条件下,从1层到5层和从5层到1层的往返时间相等,单程时间不超过12秒,往、返时间之差不大于1秒,并自动记录、显示运行时间。
2、发挥部分:
(1)要求桥厢模型能够加载0~500克的重物,显示并存储该物体的重量,显示分辨率为1克,误差:
±3%。
(2)桥厢模型的额定负荷可以预置,当加载的物体超过预置值时,将发出超重报警信号。
(3)增设模拟桥厢内表示乘客欲到达层数的按钮,桥厢模型将按照电梯模型运行规则作相应的运动。
(4)其它。
三、评分标准
项目
满分
基本要求
设计与总结报告:
方案比较、设计与论证,理论分析与计算,电路图及有关设计文件,测试方法与仪器,测试数据及测试结果分析。
50
实际制作完成情况
50
发挥部分
完成第
(1)项
20
完成第
(2)项
5
完成第(3)项
15
完成第(4)项
10
四、其他说明
a)控制电机类型不限,其安装位置及安装方式自定。
b)电梯竖井间部分也可简化,由一垂直平面代替,如图4所示。
c)平层的要求是以桥厢模型J的底平面(或自定标志)与表示楼层的标志线平齐。
d)要求平层过程中桥厢模型J移动方向保持不变。
e)关于电梯模型运行规则的说明:
(1)电梯有两种类型的按钮:
第一种为各楼层上的“向上”、“向下”按钮;第二种为电梯桥厢内表示要到达楼层编号的数字按钮。
实际制作时,按钮的安装位置不作任何限制。
(2)各按钮呼叫时应有指示灯显示,电梯响应该按钮的呼叫后,其指示灯应自动熄灭。
(3)电梯运行时响应按钮的优先顺序如下:
方向优先:
电梯按某方向运行时,优先响应该运行方向的按钮;
距离优先:
同一方向有多个按钮呼叫时,优先响应最近的楼层。
摘要
本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电源设计模块、楼层检测模块、电动机驱动模块、LED显示模块、报警模块等7部分组成。
该系统采用单片机(89C52)作为控制核心,内外招使用按键按下与否而引起的电平的改变,作为用户请求信息发送到单片机,单片机控制电动机转动,单片机根据楼层检测结果控制电机停在目标楼层。
楼层检测使用光电传感器,电动机控制部分采用直流电动机和L297和L298芯片驱动。
软件部分使用汇编语言,利用中断方式来检测用户请求的按键信息,根据电梯运行到相应楼层时,光电传感器产生电平变化,送到单片机计数来确定楼层数,并送到数码管进行显示。
硬件设计简单可靠,结合软件,基本实现了五层电梯运行的模拟。
关键词:
单片机、电梯控制系统、传感器、LED显示。
目 录
目录6
一、引言7
1.1设计的主要内容7
1.2设计思路8
二、硬件电路设计10
2.1单片机系统…………………………………………………………………11
2.2系统显示电路12
2.3键盘操作电路14
2.4电动机控制模块……………………………………………………………15
2.5与称重系统的接口设计……………………………………………………16
2.6时钟电路的设计…………………………………………………………16
2.7复位设计…………………………………………………………………17
2.8单片机与步进电动机使用的电源设计……………………………………18
2.9楼层检测模块………………………………………………………………19
三、软件设计20
3.1电梯模型控制主程序设计………………………………………………20
3.2LED动态显示程序模块的设计…………………………………………21
3.3独立按键程序设计21
3.4X5045与89C52接口电路程序模块的设计………………………………22
四、总结24
五、参考文献25
六、附录……………………………………………………………………………26
一、引言
1.1本设计的主要内容
本次设计是电梯控制模型之单片机控制系统设计。
主要完成的功能是使用单片机来控制电梯控制系统,在这里为了更好的让教学知识与实际相连,也锻炼我们对一些专业软件的学习能力、以及动手能力,做出实物模型出来。
本电梯控制系统采用89C52单片机作为核心器件实现对电梯模拟轿厢的自动控制。
该系统控制过程是利用红外线发送-接收对管监测器采集数据,将数据传到控制器。
主控制器完成对轿厢在不同层面、不同速度、不同方向的实时控制和逻辑协议实现,从而来控制电动机的正转、反转、以及停止等。
主控制器还外接预制键盘和LED显示模块等。
在该系统中,从控制器实现称重系统的压力信号采集并进行数据处理后,通过数据通信将所采集的参数发送给主控制器。
在重量允许范围里电阻应变式拉力传感器根据重力的变化使其阻值发生变化,再经相应的桥式传感器放大电路把这一电阻变化转换为线性电压信号,同时将该电压采样转为净重量并在LED上显示。
在电梯超重的情况下,主控制器接收到从控制器所采集的参数后,发出让电机停止转动的控制信号和系统报警信号,从而有效地监控电梯系统的运行。
对单片机控制电梯系统而言,设计可分为硬件设计和软件设计。
在硬件设计部分,着重要完成以下几个方面的内容:
1)单片机的选择;
2)LED显示电路的设计;
3)键盘操作电路的设计;
4)与称重系统的接口设计;
5)与步进电动机的接口设计;
6)时钟与看门狗复位电路;
7)单片机与步进电动机使用的电源设计;
对于系统的软件设计,主要包括:
1)系统主程序的设计;
2)系统几个中断子程序的设计
3)系统软件流程图等内容;
针对本次设计中所存在的问题,提出部分改进意见和下一步所要研究的目标。
最后,总结了设计过程的收获与不足并展望了未来。
1.2设计思路
1.21系统的组成
本次设计是电梯模型控制的单片机系统设计,单片机模块是整个系统的核心部分,在这样一个电梯模型的控制系统中,需要有控制电梯轿厢上行和下行的电机控制模块、控制轿厢停止并给电机信号的红外感应模块、还有电梯轿厢内的重量检测模块和显示模块和LED显示模块。
LED显示模块主要是显示电梯在运行的过程中所经过的层数,电梯欲到达的层数等。
在这里,单片机基本系统、显示、键盘设计,单片机与步进电动机的接口设计,单片机与称重系统的接口设计,这三个部分是本次设计的重点。
1.22显示设计:
采用传统的8位数码管(LED)显示移动的楼层以及相关的方向问题。
显示信息量少,功耗较大,但是在这里的软件驱动简单,驱动电路也相对容易实现,硬件电路调试也方便,在主单片机中仅仅考虑到显示楼层数和电梯运行的方向,而不需要显示大量的信息,所以用传统的8位数码管LED显示即可以。
1.23键盘设计:
单片机使用的键盘为独立式,独立式实际上就是一组相互独立的按键,这些按键可直接与单片机的I/O口连接,连接方法就是每个按键独立一条口线,各按键之间状态不会影响且接口简单。
1.24与电机驱动系统的接口设计
步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。
我们所用的步进电机是四相电机(参数),所以需要放大四路驱动信号。
采用专用步进电机控制芯片L297及L298,该芯片可以驱动一个四相电机,放大四相0到5伏控制信号,控制5到24伏范围的电源驱动步进电机,且该芯片能通过使能端同时控制四路的工作状态,输出电压最高可达50V,可以直接通过电源来调节输出电压;也可以直接用单片机的I/O口提供信号;电路简单,使用比较方便。
1.25与称重系统的接口设计
本系统是在轿厢内放一称重传感器来采集放在轿厢内的重物的重量的,本次设计采用应变式称重传感器。
此传感器是由电阻应变片作为敏感元件制造生产的称重传感器,即此传感器是一种压力传感器,能够很直观的将重量信号转换成电压信号,从而来很好的将数据传输给单片机。
1.26电源模块
稳压电源的技术指标分为两种:
一种是特性指标,包括允许的输入电压、输出电压、输出电流及电压调节范围等;另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数、输出电阻、温度系数及纹波电压等。
由于整个系统既包括模拟电路也包括数字电路,所以为减少相互扰,本系统设计了稳压源以供电机和单片机等需要使用电源的器件使用。
在这里选择的是由输出电压固定的三端集成稳压器,用来产生4路电源+5V、-5V、+12V、-12V分别对各部分电路供电。
二、硬件电路设计
根据本设计的任务、要求,我们将系统分为若干个模块,以单片机为核心,完成多项功能。
主控制器是通过控制驱动电机的正常运转,控制其运行的方向、速度;与红外发射接收对管通信,控制轿厢的运行距离,使其在适当的位置停下来;处理由键盘输入的数据,并且控制LED显示,从控制器是完成对应变片放大电路的采样,并将电压变化量的变换转为净重量显示在LED上。
本系统功能较多,设计极具人性化,图3-1为电梯系统架构。
2.1单片机系统
考虑到现在市场上能够买到的芯片以及系统要求实现的功能来看,采用89C52单片机。
89C52单片机为CMOS8位单片机,片内含8KB的可反复擦写的只读程序存储器和256字节的随机存取存储器,片内置通用8位中央处理器(CPU)和Flash存储单元,其强大的功能更适合较为复杂的控制应用场合。
下面对89C52单片机作简要说明。
89C52单片机的系统结构框图
图3-289C52的引脚排列图
关于89C52单片机的最小系统的连接图和电路及89C52单片机芯片内部结构相关教材上已介绍的很详细,在这里我们不再赘述。
2.2系统显示电路
2.21LED显示电路
在这里使用的是动态扫描显示。
为了节省单片机的口线,用74LS164移位寄存器来移位显示要显示的数据,并用三极管来驱动,这样可以节省单片机的I/O口,考虑到设计的电梯是五层的,六个数码管中的五个用来显示楼层,另外一个用来显示电梯运行的方向,即是向上运行,还是向下运行。
在电梯运行的过程中显示电椅欲运行到达的楼层数,当到达过那一层,那个楼层数字亮。
当电梯运行过去时,那层电梯数字的数码管灭,在到达下一层时,采用同样的处理方法。
在电梯的运行过程中,如前面电梯的运行规则所说,电梯上行的过程中,只响应比欲到达的楼层数字大的楼层,但是保留对电梯的呼叫信号,当电梯完成当前的呼叫后,再按照相应的规则进行。
六个数码管用六个COM位选端和一个数据传送端及和其他器件共用的时钟端来实现。
节省了硬件资源,也使电路简单。
下面我把74LS164介绍一下:
选用的型号是74LS164。
其引脚如图3-3所示:
图3-374LS164引脚图
引脚功能如下:
A与B—串行数据输入,每个输入可以作为另一个输入的高电平有效输入,在使用时,两个输入端必须相连,而不同输入端必须接高电平。
CLK—时钟信号,高电平有效。
MR/—清零复位端,低电平有效。
Q0-Q7—数据输出端。
2.22电梯灯显示电路
在电梯控制系统中,设计一个电梯楼层的显示灯,在这里是用传统的小灯泡来显示,原理是在每一个楼层,都会有一排小灯,这每一个小灯代表一个楼层,当电梯在某一层时,对应的小灯就会发光亮起来,这样每一层的人都能够知道电梯当前是在何层,当电梯运行过那一层时,小灯会相应的灭掉,随之而来的楼层则变亮,其原理图见3-4所示。
2.3键盘操作电路
本系统采用独立式按键,独立式按键的各按键相互独立,每个按键都有一个输入线,各按键的状态互不影响,CPU需对按键状态分别检测,只适用于按键数量较少的场合。
独立按键与单片机接口电路如图3-5所示。
在此电路中,按键输入部分采用低电平有效,上拉电阻保证了按键断开时,I/0口线有确定的电平。
系统在正常工作时,大多数状态下并没有键盘信号输入,因此,无论是编程工作或定时工作,CPU经常处于空扫描工作状态。
为了进一步提高CPU效率,可以采用中断扫描工作方式。
即当键盘有键按下时,才执行键盘扫描,执行该键功能程序。
在扫描时,若某位为低电平,应先延时l0ms,然后再读取该位,如果读得的值仍为低电平,可确认此键已按下,然后调用该键的键处理子程序。
2.4电动机控制模块
设计中受控电机为四相八线制的步进电机(内阻33欧,步进1.8度,额定电压12V)。
本设计是使用L297和L298N芯片来驱动电机,使用步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如下:
(1)脉冲信号的产生
步进电机的驱动电路根据控制信号工作,由于控制并不复杂,故直接用单片机模拟出时序信号。
(2)控制换相顺序
通电换相这一过程称为脉冲分配。
感应子式步进电机以二、四相电机为主,本机采用四相八拍为AB-B-BC-C-CD-D-AB,(步距角为0.9度)。
(3)控制步进电机的转向
如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
(4)控制步进电机的速度
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
单片机留出来五个口线来与芯片L297和L298连接,以达到用单片机来驱动步进电动机的运行,上行、以及下行和停止等,具体功能的实现将由软件编程来完成。
(5)连线图
2.5与称重系统的接口设计
模拟的电梯轿厢内放一称重传感器,可以很方便的将重量信号转换成电压信号,既而可以与单片机相连,将信号传送给单片机,从而来控步进电动机,以达到控制轿厢上行、下行、停止的目的。
考虑到单片机接收称重系统传过来的数据可以通过串行口来发送,所以留下P3.0和P3.1两个口线,与称重系统连接,在这里是使用到了MAX1483芯片,将从称重传感器传来的RS485信号经过转换,转换成能够和单片机连接的TTL信号。
2.6时钟电路的设计
单片机工作的速度是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图3-6所示。
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。
电路中电容C1和C2对振荡频率有微调作用,通常的取值范围30±10pF;石英晶体选择6MHz或12MHz都可以。
其结果只是机器周期时间不同,影响记数器的记数初值和运算速度。
2.7复位电路的设计
本设计采用看门狗复位电路:
看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。
X5045芯片集断电数据保存功能、看门狗功能、上电掉电复位功能、电源电压监控功能于一身,所以这次复位电路的设计我们尝试用X5045来完成。
X5045芯片介绍X5045芯片的引脚排列如图3-7所示。
X5045芯片与89C52单片机的接口电路X5045与微处理器的硬件接口非常简单,X5045的信号线可与89C52的32根口线任意4根连接(主要考虑硬件接线,软件编程现不考虑),用软件控制读写及选通。
下图3-8是89C52单片机与X5045的接口电路。
该电路为89C52扩展了上电复位、可编程看门狗定时、电源电压监控、串行EEPROM等功能。
该芯片在其上电后自动产生复位信号,这样就实现单片机的上电自动复位;当电源VCC低于规定值时,(如VCC=5V,则规定值为4.25-2.5V),将产生复位信号。
这样就实现系统电源的掉电复位;当程序在编程选择的时间里没有访问X5045时,即设有一个看WDT的语句——FeedDOG语句,则看门狗(WDT)将起作用RST将产生复位信号,迫使单片机复位。
电阻R1选择为10KΩ。
2.8单片机与步进电动机使用的电源设计
本次设计有供单片机使用的+5V电源,也有供步进电动机使用的12V电源,当然有些模块的电压大小则要求隔离,以提高系统的抗干扰能力,且设计的电压要求要共地。
现实生产设计中,则要有严格的电压隔离措施,本次设计中,电源是分开设计的,这样就起到了隔离的效果,也让系统比较安全,见图3-9,图3-10所示。
图3-1012V电源原理图
系统是采用三端固定式集成稳压器来生成5V电源,使用78LXX作为输出电压固定的主要的芯片,对于12V电源则是采用了DC5-12芯片来实现的。
2.9楼层检测模块
这一部分将对电梯位置检测进行一下说明,即电梯轿厢的平层问题。
在这里将使用到红外发射-接收对管来对电梯位置进行检测,图3-11是红外线发射-接收对管的示例。
调整发射管的限流电阻(200Ω),可以调整灵敏度,但是注意不能让电流超过50mA,以免烧毁发射管。
输出侧的10kΩ电阻是提供“0”电平时的接地电阻,如果电路里已经有信号输入的接地电阻,则可以省略本处的10kΩ电阻。
此电阻阻值不能太小,否则高电平输出会达不到3.5V以上(这是普通信号的高电平要求,如果是TTL电平标准,可以适当降低,最后是要以实际电路的配合为准的)只要在红外线发射-接收对管之间插入一件对红外光有遮挡作用的物质,图示的输出端口“OUT”的电平立即从高变成低。
如果该遮挡物质是循环连续动作的话,就是一种非常好的无触点信号源位置检测。
使用方法是红外发射接收对管在轿厢安装红外线发射管,在竖井各个楼层设置红外线接收头,在轿厢上下运动的过程当中红外线发射管不断发射红外线,当轿厢运动到特定位置,竖井上的红外线接收头收到红外线,其输出发生变化。
单片机通过红外线接收头输出的变化知道电梯轿厢的位置。
由于需要较大的发射管,所以本系统在轿厢的底部安装了3个发射管。
图3-11红外线发射-接收对管的示例
到这一节为止,整个设计的硬件部分已经进行了详细的说明,从电梯模型的整个控制核心单片机、显示、键盘设计,以及与各个部分的接口设计,直到最后的单片机时钟设计和复位看门狗电路的设计及电源部分设计都进行了详细的阐述,在下面的一个章节里将对整个系统中的软件部分进行一下说明,并且将流程图画出来。
三、软件设计
3.1电梯模型控制主程序设计
本设计的软件主程序用来驱动步进电机运行,由称重传感器传来的信号来确定电梯是否运行,再将信号传达给步进电机,以来控制电梯轿厢模型是上行还是下行。
该软件分成若干功能部分,采用汇编语言编写。
流程图如下:
3.2LED动态显示程序模块的设计
在显示这一块,是有六位数码管来实现的,有五位用来显示楼层,而且在电梯轿厢运行的过程中,每经过一层那一层的数字就亮,直到电梯轿厢到达下一层为止才熄灭,并且在电梯的运行过程中要注意对与电梯运行同向的呼叫进行记忆,完成当前运行的楼层后再返回去完成。
在这里显示的利用动态显示。
在采用动态扫描显示方式时,采用70Hz左右的扫描频率,才能够产生足够的图形和较好的显示效果。
一般可以采用时间间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。
本设计采用硬件定时和软件定时并用的方式,即用定时器1溢出中断功能实现10ms定时,通过软件延时程序实现1ms的定时。
T1定时器中断服务程序的功能,从显示缓冲区分别取出4位LED显示数据的位码和段码,送P1口,依次显示每一位,显示4位需要4ms的时间。
在设定时间时候,对当前需要调整的设定值应具有闪烁功能,用来提醒当前处于设置状态。
3.3独立按键程序设计
1)程序设计思路
按键接收子程序主要是实现对当前设定压力的调整。
根据按键电路的设计可知,当电梯启动键按下时可以产生中断请求,CPU响应中断请求时,则进入该中断服务程序。
在程序中,将对当前按下的楼层数字进行扫描,利用步进电机的齿距来计算轿厢需要行走的时间,从而来判断轿厢何时停。
2)按键去抖动的处理
由于机械触点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为5~10ms。
而按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。
键抖动会引起一次按键被误读多次,为了确保CPU对键的一次闭合仅作一次处理,按键的抖动可以用硬件或者软件方法来消除。
本次设计中采用软件方法来消除按键抖动,具体的键盘扫描程序框图如图4-3所示。
而按键处理的程序框图如下图所示。
3.4X5045与89C52接口电路程序模块的设计
X5045看门狗复位电路的程序框图基于图3-5电路原理产生复位信号的条件,只要满足:
①该芯片在其上电后自动产生复位信号,这样就实现单片机的上电自动复位;②当电源VCC低于规定值时,(如VCC=5V,则规定值为4.25-2.5V),将产生复位信号。
这样就实现系统电源的掉电复位;③当程序在编程选择的时间里没有访问X5045时,即设有一个看WDT的语句——FeedDOG语句,则看门狗(WDT)将起作用RST将产生复位信号,迫使单片机复位。
只要满足其一,就将使系统产生复位,迫使程序从起点执行,因此在软件设计方案中必须区分开上电复位、故障复位启动这两种情况,分别处理。
其程序框图如图4-2所示
图4-2X5045监控程序框图
总结
这次开放性实验我选择了电梯模型控制,这次设计是在完成模型的基础上来学习应用在生活领域的实践性设计。
虽然这次试验我们并没有上过多少课,实验报告大部分也都是自己查资料来完成的,但通过这几周的学习,自己对实验室的仪器有了一个初步的了解,也锻炼了自己的自学能力。
在实验室也经常能看到在帮老师做项目的学生,在与他们的交流以及对他们的观察过程中,我发现自己的视野在不断地拓宽,每次与他们接触都能学到很多新的东西,这些都是我在课堂上学习不到的。
在这次实验中,我们同一小组的四名同学也学会了很好的配合,也让我掌握了一般的设计步骤:
首先明确设计任务,在起初方案的确定中,我们几名同学就查阅了很多的资料,在深刻了解了电梯的一些基本功能以及工业生产和社会生活所要求控制达到的具体情况以后,再切合老师给我们的任务要求,将我们要做的电梯的任务书完成,同时在老师给我们划分的小范围内的差异性后,确定我们每名同学要做的毕业设计主要内容,进而对整个设计系统经过深入的方案论证,确立自己的设计方案。
最后也非常感谢老师对我们的指导,虽然最终没能真正制作出一个电梯模型,但通过这几周的学习,自己还是对电梯有个一个较为深刻的了解,自己的收获还是挺大的。
参考文献
[1]李光弟等.单片机基础.北京:
北京航空航天大学出版社,2001
[2]何立民.单片机应用系统设计.北京:
北京航空航天大学出版社,1990
[3]王晓明.电动机的单片机控制.北京:
北京航空航天大学出版社,2002
[4]潘永雄.新编单片机原理