1.48k likes | 1.62k Views
微机接口课程设计. 题目 : 电梯自动控制系统设计 主要内容 设计一个电梯自动控制系统,由电机驱动控制系 统, 1 路 A/D 输入, 12 个按键, 4 个 8 段的 LED 显示 器, 8 个 LED 指示灯, 1 路声控报警系统组成。 4 个 8 段的 LED 显示器, 8 个 LED 指示灯及 12 个键盘作 为控制系统的控制台设计,以提供人机交互, 控 制电机的停启。 1 路模拟输入主要对电梯中人员重 量进行控制,若超重,电梯停止运行,并提示报 警。 电梯运行按电梯运行规则实现。. 一、 电梯自动控制系统 结构示意图. CPU 主机板.
E N D
题目: 电梯自动控制系统设计 • 主要内容 设计一个电梯自动控制系统,由电机驱动控制系 统,1路A/D输入,12个按键,4个8段的LED显示 器,8个LED指示灯,1路声控报警系统组成。 4个8段的LED显示器,8个LED指示灯及12个键盘作 为控制系统的控制台设计,以提供人机交互, 控 制电机的停启。1路模拟输入主要对电梯中人员重 量进行控制,若超重,电梯停止运行,并提示报 警。 电梯运行按电梯运行规则实现。
一、电梯自动控制系统结构示意图 CPU 主机板 8段LED显示 键盘控制 8255 (1) 步进电机控制 LED控制 8255 (2) 0809 重量检测
二、操作步骤 把整个电机运行轨迹分成8等分,模拟8个层面,由 控制台按键决定电机运行,键盘由12个键组成,其 中8个为数字键 定义1~8 ,4个为控制键定义为开门 键,关门键,报警键,清除键。 1.键盘控制 数字键: 当从键盘按下某个数字键,相应的LED指示灯点 亮,并按电梯运行规则(在关门的情况下,按前进 方向最接近当前位置的楼层停靠)停靠,如在某个 楼层停靠,相应的LED指示灯熄灭。
控制键: 开门键:任何时候都可以按开门键,按过开门键, 电梯在最近的楼层停靠,显示器显示OPEN,如不按 关门键,电梯不会运行。 关门键:当电梯处于开门状态时,电梯不会运行, 只有按关门键,电梯处于关门状态,此时如有其它 层面要求停靠的请求,电梯才会根据指令运行。 报警键:该键模拟电梯故障,按下该键,表示电梯 有故障,则提示告警,该状态可通过清除键清除。 清除键:清除告警信号及所有楼面的请求信号。
2.显示控制 本系统显示包含2部分:一部分是由4个8段LED显 示器,另一部分是8个LED指示灯 4个8段LED显示: 按下开门键:显示OPEN. 按下报警键或检测出超重显示Err 当电梯在运行过程中,则自动显示到达楼层号,如 在某个楼面停靠,电梯自动处于开门状态,显示的 内容不变。显示楼层号的格式为no X,其中X为楼 层号。 8个LED指示当前楼层有否请求,亮表示有请求。
3.控制规则 在无故障情况下,如果键盘有楼层停靠请求,则在 按下关门键后,能按电梯运行规则选择相应的楼面 停靠,停靠后电梯自动处于开门状态。显示器实时 显示电梯走过的楼面,如要接受下一次请求,则需 再按关门键。楼层请求要有记忆功能,停靠的次序 和按键的次序无关,和电梯运行规则有关,如2次 以上按同一层停靠,只做一次处理。 每次按下关门键,需要检测电梯是否在正常负荷下 运行(A/D值检测大于4.5V为超重),如超重或按 报警键表示电梯有故障,电梯停止运行,并报警, 通过减小A/D或按清除键清除故障状态。
三、硬件设计 • 电机驱动 a.步进电机驱动 负载 控制器 步进电机 驱动器 步进电机 方向 步进电机驱动示意图 控制器可以是PLC,定位模块,微机控制,控制器的功能主要产生脉冲和方向控制 步进电机驱动器对脉冲进行分配和功率放大,然后控制步进电机的每一相线圈是否得电
步进电机是将电脉冲转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速,停止的位置只取决于控制脉冲信号的频率和脉冲数步进电机是将电脉冲转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速,停止的位置只取决于控制脉冲信号的频率和脉冲数 • 脉冲数越多,电机转动的角度越大 • 脉冲的频率越高,电机转速越快,但不能超过最高频率,否则电机的力矩迅速减小,电机不转。
步进电机分定子和转子2个部分、转子上有小 齿,不同的电机小齿数不同 1——定子2——转子3——定子绕组
步进电机的工作原理实际上是电磁铁的作用 原理 当某相定子励磁后,它吸引转子,转子的齿 与该相定子磁极上的齿对齐,转子转动一个 角度,换一相得电时,转子又转动一个角度。 如此每相不停地轮流通电,转子不停地转动。
步进电机分三相,四相,五相,六相四种,其旋转方向与内步进电机分三相,四相,五相,六相四种,其旋转方向与内 部绕组的通电顺序有关。下面以三相电机为例说明 三相步进电机有三种工作方式: • 单三拍,通电顺序: A B C • 双三拍,通电顺序 :AB BC CA • 三相六拍,通电顺序: A AB B BC C CA
控制原理:如果用8255PA口的PA2~PA0来控制三相步进电机控制原理:如果用8255PA口的PA2~PA0来控制三相步进电机 • 单三拍 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 C相 B相 A相 1 0 0 1 01h 2 0 1 0 02h 3 1 0 0 04h 正向 01 02 04 01 02 ….. 反向 01 04 02 01 04 …..
双三拍 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 C相 B相 A相 1 0 1 1 03H 2 1 1 0 06H 3 1 0 1 05H 正向 03H 06H 05H 03H 06H 05H…. 反向 03H 05H 06H 03H 05H 06H ….
三相六拍 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 C相 B相 A相 1 0 0 1 01H 2 0 1 1 03H 3 0 1 0 02H 4 1 1 0 06H 5 1 0 0 04H 6 1 0 1 05H 正向:01H 03H 02H 06H 04H 05H 01H 03H 02H…. 反向 01H 05H 04H 06H 02H 03H 01H 05H 04H….
电机每拍转动的角度称步距角θ。步距角和电机的结构有关。电机每拍转动的角度称步距角θ。步距角和电机的结构有关。 • θ =360/(mZK) 其中m为定子绕组的相数,Z为转子的齿数, K为通电方式。 m相m拍时K=1, m相2m 拍时K=2
AEDK-DJ6机电实验平台可实现步进电机 控制 本装置使用8255口PA0~PA3作为四相步进电机A,B,C,D相驱动 PA0 PA1 步进电机 8255 PA2 PA3
b.直流电机驱动 占空比 的设定 宽度脉冲 发生器 驱动器 电子开关 电动机 直流电机通过脉宽调制来控制电机的速度,即通过改变电机电枢电压接通或断开时间的比值(占空比)来控制马达的速度,这种方法简称脉宽调制(PWM) 脉冲宽度发生器:由计算机根据平均速度,计算占空比,由软件实现 驱动器:将计算机输出的脉冲宽度调制信号加以放大,以便用来控制电机定子电压接通或断开的时间。通常由放大器或继电器组成 电子开关:用来接通或断开电机定子电源,可用晶体管或场效应管开关组成,也可由继电器或可控硅控制
AEDK-DJ6机电实验平台可实现直流电机控制,由D/A输出AEDK-DJ6机电实验平台可实现直流电机控制,由D/A输出 实现调速,直流电机每转一圈,有一个位置反馈,可根据该 信号测当前电机所在的位置。 直流电机的启停,方向由D/A0832输出值来定 从00H,7FH,FFH的D/A输出值 00表示正传的最大速,该值增大,速度依次减小,到7FH电 机停止运转,在增加,电机反向运转,此时速度较低,到 0FFH,电机反向运转最大速
2. 键盘显示驱动 7段码的显示电路 abcde f g pc0pc1pc2pc3pc4pc5pc6 七段显示器 4 2 8255(1) pb0pb1pb2 Y0 A 74LS 138 Y1 B C Y3
键盘驱动电路 +5V 8255(1) Pa7 Pa6 Pa5 Pa4 Pa3 Pa2 Pa1 Pa0 7 6 5 清除 故障 4 3 关 2 开 1 9 8 0 Y0 A Pb0Pb1Pb2 74LS 138 Y1 B C
本设计使用非编码键盘,所以键盘操作的去抖动、防串键、本设计使用非编码键盘,所以键盘操作的去抖动、防串键、 按键识别和键码产生4个基本功能都有软件来完成,键盘程 序分2部分,一个是键盘扫描程序,主要完成扫描键盘上是 否有键按下,另一个是键处理程序,用于完成对各个按键的 处理。
LED指示灯驱动电路 pb0pb1pb2pb3pb4pb5pb6pb7 电机 Pa0 pa1 pa2 pa3 8255 (2) +5v
3.重量检测 重量,温度,流量,速度等是计算机常要控制的对 象,而这些都是连续变化的量,且是非电量,首先 通过传感器把这些非电量的信息转换成电量,而后 经过A/D转换输入到计算机。 重量检测可以使用压力传感器,这些传感器的输出 一般是电压型或电流型2种,如果传感器信号比较弱 则可在A/D输入端加运放。
8255A的工作原理 一)功能 *8255有3个8位并行口 * 方式0:基本I/O 方式1:选通I/O 方式2:双向I/O A口:方式0,方式1,方式2 B口:方式0,方式1 C口:方式0
二)结构和引脚 A组 端口A PA7~PA0 A组 控制逻辑 数据总线缓冲器 A组 端口C 高4位 PC7~PC4 D0~D7 RD WR A0 A1 B组 端口C 低4位 读/写 控制 电路 B组 控制逻辑 PC3~PC0 RESET PB7~PB0 B组 端口B CS
数据端口A、B和C 端口A包含一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 端口B包含一个8位的数据输入/输出锁存器/缓冲器,一个8位的数据输入缓冲器。 端口C包含一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器,无输入缓冲功能。
A组和B组控制逻辑 A组控制逻辑控制A口,C口上半部分(PC7~PC4) B组控制逻辑控制B口,C口下半部分(PC3~PC0)
数据总线缓冲器 用于8255和CPU传送数据信息 信息: CPU送给8255的控制字或输出数据 外设送给CPU的状态或输入数据
读/写控制逻辑 接受CPU送来的地址信号和控制信号 信号: RESET复位信号 高电平有效,8255复位状态为清控 制寄存器内容,使所有口呈输入状态 CS片选信号 低电平有效,表示该芯片被选中 RD读信号 低电平有效,表示CPU可从8255读数据或状态 WR写信号 低电平有效,表示CPU向8255写数据或控制字 A1A0端口选择信号 用于选择8255的3个数据口或控制字寄 存器
三)8255A的引脚特性和外部连接 1.与外设连接的引脚: 8255A与外设连接的引脚共有PA7~PA0、PB7~PB0和PC7~PC0三组。每组8根,总共24根,分别对应于A、B、C三个通道,全为双向、三态。 PA0-PA7:端口A的输入/输出线。 PB0-PB7:端口B的输入/输出线。 PC0—PC7:端口C的输入/输出线。
C口的作用: a.作数据口 b.作状态口 c.作专用(固定)联络(握手)信号线 d.作按位控制用
2、与CPU连接的引脚 (1)RESET:复位输入信号,高电平有效。 (2)CS:芯片选中信号,输入、低电平有效。 (3)A0和A1:芯片内部寄存器的选中信号。当CS有效时,8255A被选中,再由A0、A1的编码决定是选通道A、B、C,还是控制寄存器。 (4)RD:读信号。输入,低电平有效。当它为低电平时,由CPU读出8255A的数据或状态信息。 (5)WR:写信号。输入,低电平有效。当它为低电平时,由CPU将数据或命令写到8255A。
四)8255的控制字 • 方式选择控制字 • 置位/复位控制字
方式选择控制字 D7 D6 D5 D4 D3 D2 D1 D0 1=输入 0=输出 C口低4位I/O 00=方式0 01=方式1 1X=方式2 A口 方式 1=输入 0=输出 B口I/O 0=方式0 1=方式1 B口方式 D7=1 标志位 1=输入 0=输出 C口高4位I/O 1=输入 0=输出 A口I/O
置位/复位控制字 D7 D6 D5 D4 D3 D2 D1 D0 任意值 1 置位 0 复位 D7=0 标志位 000 选中PC0 001 选中PC1 111 选中PC7 位选择
例:A口设置为方式1,输入,C口上半部分为输 出,B口指定为方式0,输出,C口下半部分为输 入。(8255的控制口地址为303H) MOV DX,303H MOV AL,0B1H OUT DX,AL
例:设一片8255的口地址为300H~303H,PC2平 时为低,要求从PC2的引脚输出一个正脉冲 MOV DX,303H MOV AL,00000101B OUT DX,AL MOV AL,00000100B OUT DX,AL
五)8255的各种方式 方式0 基本输入输出方式(不需要应答)A口,B 口,C口都可工作在方式0,既可输入也可输出,输 出是锁存的,输入是不锁存的;适用于不需联络信号 (适用于同步传送、查询传送)
方式1 选通输入输出 A口,B口可工作在方式1,既可输入也可输出。 当A口,B口工作在选通方式,C口相应口工作在 联络信号。 选通方式为握手方式,适用于查询方式和中断方 式。 方式1的输入输出选通信号不同
选通输入方式 STB选通信号 低电平有效 表示外部设备把数据送入8255 的A口或B口 IBF输入缓冲器满 高电平有效 表示数据已送到8255口,指示8255 不能再接受数据 INTE 中断允许信号 控制8255能否向CPU发中断请求 信号 A口(PC4) B口(PC2) INTR中断请求信号 高电平有效 当STB、IBF、INTE三者为高电 平时,INTR置成高电平,向CPU 提出中断申请 8 PA7~PA0 D7D6D5D4D3D2D1D0 1 0 1 1 1/0 X X X INTEA PC4 PC5 STBA IBFA & INTRA PC3 PC6,7 I/O 8 PB7~PB0 D7D6D5D4D3D2D1D0 1 X X X X 1 1 X INTEB PC2 PC1 STBB IBFB & INTRB PC0
方式1输入的工作时序 ①数据输入时,外设处于主动地位,当外设准备好数据并放到数据线上后,首先发/STB信号,由它把数据输入到8255A. ②在/STB的下降沿约300ns,数据已锁存到8255A的缓冲器后,引起IBF变高,表示8255A的“输入缓冲器满”,禁止输入新数据。 ③在/STB的上升沿约300ns后,在中断允许(INTE=1)的情况下IBF的高电平产生中断请求,使INTR上升变高,通知CPU接口中已有数据,请求CPU读取。
④CPU得知INTR信号有效之后,执行读操作时,/RD信号的下降沿使INTR复位,撤销中断请求,为下一次中断请求作好准备。/RD信号的上升沿延时一段时间后清除IBF使其变低,表示接口的输入缓冲器变空,允许外设输入新数据。如此反复,直至全部数据输人。
选通输出方式 OBF输出缓冲满信号 低电平有效 表示CPU将数据写入8255的A口或 B口 ACK外设回答信号 低电平有效 表示CPU送到8255口的数据,已 被外设接受 INTE 中断允许信号 控制8255能否向CPU发中断请求 信号 A口(PC6) B口(PC2) INTR中断请求信号 高电平有效 当ACK、OBF、INTE三者为高电 平时,INTR置成高电平,向CPU 提出中断申请 8 PA7~PA0 D7D6D5D4D3D2D1D0 1 0 1 0 1/0 X X X PC7 PC6 OBFA ACKA INTEA INTRA & PC3 PC4,5 I/O 8 PB7~PB0 D7D6D5D4D3D2D1D0 1 X X X X 1 0 X PC1 PC2 OBFB ACKB INTEB INTRB & PC0
方式1输出的工作时序 ①数据输出时,CPU应先准备好数据,并把数据写到8255A输 出数据寄存器。当CPU向8255A写完一个数据后,/WR的上升 沿使/OBF有效,表示8255A的输出缓冲器已满,通知外设读 取数据。并且/WR使中断请求INTR变低,封锁中断请求。 ②外设得到/OBF有效的通知后,开始读数。当外设读取数据 后,用/ACK回答8255A,表示数据已收到。 ③/ACK的下降沿将/OBF置高,使/OBF无效,表示输出缓冲器 变空,为下一次输出作准备。在中断允许的条件下,/ACK的 上升沿使INTR置高,产生中断请求。
方式1的状态字(地址选择C口) D7 D6 D5 D4 D3 D2 D1 D0 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB 输入状态字 D7 D6 D5 D4 D3 D2 D1 D0 输出状态字 OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB
对PA口的方式1输入设置在开中方式(控制口的地对PA口的方式1输入设置在开中方式(控制口的地 址为303H) MOV DX,303H ;8255A命令口 MOV AL,00001001B ;置PC4=1,允许 ;中断请求 OUT DX,AL
对PA口的方式1输入设置在关中方式(控制口的地对PA口的方式1输入设置在关中方式(控制口的地 址为303H) MOV DX,303H ;8255A命令口 MOV AL,00001000B ;置PC4=0,禁止 ;中断请求 OUT DX,AL
方式2 双向方式 仅A口具有方式2,即同时可输入输出,当 A口工作在方式2时,C口相应口作联络信 号方式2在功能上为方式1输入和输出的结 合,且在输入和输出时分别可以中断。