课程设计任务书
学生姓名: 专业班级: 自动化0903班 指导教师: 工作单位: 自动化学院
题 目: 二相步进电机控制系统的设计
初始条件:
采用8086最小模式,扩展4K的EPROM及2K的RAM,利用
L298 ,输出双极性模拟电压驱动二相步进电机,使其按不同速度正 |
反转,电机以八个开关以补码形式给定输入并以发光二极管显示出
来,转速为-500rpm~+500rpm
要求完成的主要任务:
1.硬件设计:系统总原理图及各部分详细原理图
3.编写程序:能够完成上述任务
4.完成符合要求的设计说明书
时间安排:2012年6 月25日~2012 年7月3 日
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目录
摘要...............................................................11 设计任务及要求....................................................2 1.1 设计任务....................................................2 1.2任务分析....................................................22 方案选择及论证....................................................3 1/ 26
2.1总体思路....................................................32.2控制部分设计................................................42.3驱动电路部分设计.............................................43硬件电路设计模块..................................................53.1硬件系统总原理图.............................................53.2控制部分.....................................................63.2.18086CPU 的介绍.........................................6
3.2.28255A 的介绍...........................................7
3.2.3原理分析..............................................10
3.3步进电机的介绍..............................................123.3.1步进电机的特点........................................12
3.3.2步进电机工作原理......................................13
3.3.3二相步进电机..........................................13
3.4电机驱动部分...............................................143.4.1L298 芯片介绍.........................................14
3.4.2驱动电路原理分析......................................15
3.5电机正反转与调速电路.......................................174软件设计.........................................................184.1设计思路...................................................18
4.2 各程序流程图...............................................18 |
2/ 26
摘要
目前,随着电子技术,控制电路的发展,步进电机的技术已很成熟,特别适
合小功率开环定位系统,至今没有能取代它的更适合产品,今后将继续稳步发展
和完善化。它广泛应用与打印机,电动玩具等消费类产品及数控机床等机电产品
中。研究步进电机的控制系统,对提高控制精度和响应速度,节约能源都具有重
要意义。
本控制系统的设计由硬件部分和软件部分两部分组成,完成二相步进电机的
控制。其中,硬件部分主要包括8086CPU,8255A,按键模块,步进电机驱动模块
等功能模块的设计,以及硬件电路在PROTEUS上的仿真。软件部分主要包括主程
序以及各个模块的控制程序,最终实现对步进电机转动方向和模式的控制,并且
将步进电机速度动态显示出来。
关键字:二相步进电机、8086、8255A,Proteus仿真。
二相步进电机控制系统的设计
1 设计任务及要求
1.1设计任务
设计一个二相步进电机控制系统,要求采用8086最小模式,利用L298芯片,
输出双极性模拟电压驱动二相步进电机,使其按不同速度正反转,电机以八个开
关以补码形式输入并以发光二级管显示出来,转速为 | - | 500 | rpm | ~ | 5 00 | rpm | 。 |
硬件设计:系统总原理图及各部分详细原理图。
软件设计:系统总体流程图、步进电机双四拍,单双八拍各模块流程图。同
时编写程序,完成上述任务。
1/ 26
1.2任务分析
设计任务要求设计一个二相步进电机控制系统,分析知该系统应具有以下功能:
1)二相步进电机控制系统能实现二相双四拍、二相单四拍、二相八拍的方式运行。因此需要由输出相应的控制字序列进行控制。
2)二相步进电机控制系统能实现正反转。
2方案选择及论证
2.1总体思路
二相步进电机控制可以由单片机、PLC、8086CPU实现。这里我们采用8086
步进电机的驱动的电路是由八个开关控制按键经过8255A到8086CPU 然后在
最小模式来实现控制,具有成本低的特点。
的模块输出到驱动芯片完成对电机的控制要求。
因此,此系统主要由8086CPU及8255A构成的控制部分、电机及驱动电路、工作状态控制模块组成。
总体设计框图如图1所示。
8086CPU连接与工作模式选择
图1总体设计框图
控制信号的产生
2.2 控制部分设计 | 硬件 | 存储单元的地址分配,译码 |
设计 |
步进电机是将电脉冲信号转换成响应的角位移或者线位移的数字控制电机。按照输入脉冲指令旋转,脉冲数决定旋转位移的大小,脉冲频率决定旋转速度。其控制可以用硬件电路和以微型计算机为核心的控制系统的实现。 总体 设计 L298的连接 硬件方式的电路实现的控制功能较为单一,这会导致改变控制功能时还要重新设计硬件电路, 数据输入 软件 2/ 26数据处理
设计
数据输出
灵活性差,应用起来成本也会增加。而以微型计算机控制系统属于硬件结合的控
制方式,少量的硬件连接和软件实现控制完成主要的控制功能,灵活性大。本电
路要求采用8086来实现电机的控制。
步进电机通过数据线进行与驱动电路的数据传送,硬件连线只需信号传输线
路即可,对电机的运行状态等各项控制要求通过软件来实现。8086通过8255A
来实现对驱动电路的控制,使驱动电路进行相应的绕组通电操作完成各种用户要
求。
2.3驱动电路部分设计
步进电机的驱动方法一般有两种:一种是直接由CPU来驱动,但因为输出电
流的脉冲很小不足以让步进电机转动;另一种通过CPU间接来驱动,把其输出信
号进行放大,然后来驱动步进电机。
设计采用芯片L298来控制电机的驱动系统。L298构成的驱动系统需要时间很少。 任务要求采用双极性控制,典型的两相双极驱动电器原理图如图2所示,本
图2 两相双极驱动电器原理图
3 / 26
3硬件电路设计模块
3.1硬件系统总原理图
由前面分析可得控制电路用到8086,并通过8255A与驱动电路相连,再由
驱动电路控制电机的运转,其硬件系统原理图如图3所示
ALE
BLE开关 LED
AD0-AD 15部分 显示
8086RD 8255A
cpuWR系统
M/ IO
驱动 步进
DT/R
DNE模块 电机
3.2.18086CPU 的介绍
8086CPU的内部结构如图4所示,
4/ 26
通用寄存器
数据 | AH | AL | AX | 地址加法器 | Σ | AB |
BH | BL | BX | (16位) | |||
CL | CX | |||||
寄存 | ||||||
CH | ||||||
器 | ||||||
DH | DL | |||||
DX |
SP
指针和 | BP | CS | DB |
变址寄 | DI | (16位) | |
存器 | |||
SI | DS |
SS
ES
IP
内部寄存器
数据总线 | ~ ~ | 8086总线 |
总线控制电 | ||
路 | ||
(16位) | ||
(16位数据总线) |
暂存寄
存器
EU
ALU
控制线路1 23 45 6
队列总线
标志寄
存器
图4 8086CPU 内部结构框图
储器并运行指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数
并参加指令执行部件运算或存放运算结果等。因为功能是分开的,所以在大多数
情况下,在取指令的同时,执行指令部件也在工作这就有效的加快了系统的运算
速度。
3.2.28255A 的介绍
8255A内部结构图如图5所示
5/ 26
A组 | A组 | PA | 0- PA | 7 |
控制 | 端口 |
A组
DB | 数据 | C口 | PC | 7- PC | 4 |
(4) | |||||
缓冲器 |
B组
C口 | PC | 4- PC | 0 |
(4)RD
WR | 读/写 | B组 | B组 | PB | 0- PB | 7 | |
A | 0 | ||||||
控制 | |||||||
电路 | 控制 | ||||||
端口 | |||||||
RESET |
CS
强,使用灵活,通过它CPU可直接与外设相连接。
8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种:
方式0:基本的输入输出方式,即无须联络就可以直接进行的I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1:选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.
方式2:双向I/O方式,只有A 口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5 条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1 的联络线,也可以和B口一起方式0 的I/O线。
6/ 26
8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3
组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A
口及C口高4位,B组包括B口及C组的低4位。
8255A管脚图如图6所示:
图68255A 管脚分布图
| | | | | | | |
一般,CPU 的数据线及其读写控制线直接与8255A 的 | D —0 | D 7 | 及 | RD | 和 | WR | 连 |
接。RESET线是高电平有效。因为8086CPU也是高电平复位,所以可以直接与
| CS | |
8086CPU 的复位线相连。片选信号 | 是低电平有效。当其有效时,表示本片的 |
8255A被CPU选中,可工作。它一般由CPU的高位地址线及其地址译码电路产生。
A 0 | 、 | A 1 | 的组合状态如表1 所示,可以选择8255A 的3 个I/O 端口和控制口。 |
它们一般由CPU的低位地址线直接产生。
表1 A 0、A 1的组合与端口关系 |
8255A的工作方式控制字如图7所示
D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
|
D71,为该控制字的标志。
A组由D6、D5、D4和D3组成。其中D6和D5为工作方式选择;D4为A口
的输入、输出选择;D3为C口高4位的输入输出选择。
B组由D2、D1和D0组成。其中D2味工作方式选择;D1为B口的输入、输
出选择;D0为C口低4位的输入、输出选择。
方式控制字未规定C口的工作方式,只规定了C口的数据的传输方向,这就
表明C口要么作为联络线用,要么就只工作在方式0。
3.2.3原理分析
本设计以8086CPU为控制核心,并以8255A为I/O接口电路,8086CPU的READY
端口为高电平,说明CPU访问的存储器或I/O端口已准备好传输数据,同时要求
| | | |
8086CPU 工作在最小模式所以 | MN/ | MX | 接高电平,为保证8086 正常工作,RESET |
BHE与地址线AD 0配合使用表示当前总线的使用情况;RD端口与WR端口与端口接低电平;ALE 端口与两片74LS373 锁存器的LE 端相连,控制其是否选中; |
器正常工作。8086CPU连接图如图8所示:
图8 8086CPU 连接图 | | | ||
原理图中用到74LS373 地址锁存器,其中 | OE | 接地与 | LE与8086CPU 的 | ALE |
8/ 26
端连接,由8086控制器是否工作,当ALE为高电平时,芯片工作,8086的输入
AD[0...7]与芯片的输入端连接其输出端与8086一起控制74LS138译码器的导通,
其电路图如图9所示:
图974LS373 与74LS138的连接图
其中74LS138 译码器的使能端一部分由74LS373 锁存器的输出 | U | 4 | _Q 5 | 与 | ||||
个控制端由8086CPU 的M/ IO U 4 _Q3、U 4 _Q4译U 4 _Q7经过一两输入与非门控制,一个由锁存器输出 _Q6直接控制,还有一 | ||||||||
由图可知: | RD | , | WR | 图10 8255A 连接图 |
9/ 26
作,8255A的工作方式由锁存器的输出U4 _Q1与U4 _Q2决定,8255A的片选信号
由译码器的输出U7_Y4决定,8255A的输出分别决定驱动电路和LED显示电路的
输入。
由上图可知8255A端口地址分配表如表2所示:
表28255A 端口地址分配
| A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | 地址 |
A 口 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0A0H |
B 口 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0A2H |
C 口 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0A4H |
控制口 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0A6H |
设计的硬件控制部分的总电路图如图11所示:
图11硬件控制部分总电路图
3.3步进电机的介绍
3.3.1步进电机的特点
步进电机是将电脉冲信号转换成相应的角位移或线位移的一种特殊电机。电
10/ 26
机每输入一次电脉冲信号,电动机就转动一个角度,从而形成的不仅是运动,所以称为步进电机,另外由于输入的是脉冲电流,也称为脉冲电机。
步进电机具有很多优点也有不少缺点,步进电机的特点主要有下面几点: 1步进电机的输出脚与输入脉冲的个数成正比,控制输入的脉冲数就能控制位移量。
2步进电机的转速与输入的脉冲频率成正比,改变通电相序即可改变电动机的转向。步进电机的启动,停止迅速,当停止脉冲输入时,若维持绕组内电流不变,电动机转子会保持停止时的位置。
3.3.2步进电机工作原理
步进电机是一种电脉冲进行控制,将电脉冲信号转换成相位移电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号
步进电机按设定的方向转动一个固定的角度(称为“步距角”),他的旋转是以固可使步进电机旋转一个固定的角度。当步进驱动器收到一个脉冲信号,它就驱动 | ||||||||||||
n | | 60 | f | |||||||||
NZ | ||||||||||||
式中: | f | 为脉冲频率,单位是 | HZ | 。 | N | 为电机运行拍数, | Z | 为转子齿数。 | ||||
对于反应式步进电机的步距角为: | ||||||||||||
| | 360 | ||||||||||
NZ | ||||||||||||
式中; | N | 为步进电机运行拍数, | Z | 为转子齿数。 |
3.3.3二相步进电机
根据设计要求本设计对象是二相步进电机,有两组带中心抽头的线圈,设为 |
11/ 26
图12二相六线制步进电机结构示意图
对各绕组施加通电脉冲,转子会在电磁力作用下向磁导率最大的状态转动,由于相是有选择性的通电且通电时间是有限的,对各绕组在各拍下按某种既定的通电顺序通电即可以使电机转动,调整对各绕组施加的脉冲频率可以调整电机转 通过改变绕组通电顺序组速的大小,改变各绕组通电顺序即可调整其转动方向。
合可以改变电机运行拍数。
二相步进电机运行状态有二相四拍与二相八拍两种运行状态,其中四拍又分为单四拍与双四拍。
3.4电机驱动部分
3.4.1L298 芯片介绍
L298 是双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动芯片,是
位信号,此芯片可直接由单片机的IO端口来提供模拟时序信号。L298管脚图如图13 所
示。
图13 L298 管脚图 |
|
12/ 26
管脚说明:VCC:逻辑电压源,此引脚必须接100nF电容器;
VS:功率电压源,此引脚也必须接100nF电容器; IN1、IN2、IN3、IN4:输入端,TTL电平兼容;
OUT1、OUT2、OUT3、OUT4:输出端,TTL电平兼容; ENA:使能端,ENA控制OUT1、OUT2,低电平禁止输出; ENB:使能端,ENB控制OUT3、OUT4,低电平精致输出; SENA、SENB:电流检测端,不用是可以直接接地。
3.4.2驱动电路原理分析
电机驱动部分连接线路图如图14所示:
图14驱动部分接线图
由接线图可以看出驱动芯片的输入由8255A的B 口的PB0—PB3控制步进电
机的正转,反转和转速,ENA、ENB分别接高电平,SENA、SENB分别接低电平。
其中步进电机有二相双四拍控制通电方式,二相单双八拍控制通电方式和二 本设计主要介绍实现二相双四拍正反转控制通电方式与相单二拍控制通电方式,
二相单双八拍正反转控制通电方式。其中表3和表4分别列出二相双四拍控制通电方式(正转)与二相单双八拍控制通电方式(正转)
表3步进电机四拍控制通电方式(正转)
时序 | 8255A 芯片B 口 | 高电平 端 | 对应二下载进制数 | 转换16高清进制数 | |||
PB3 | PB2 | PB1 | PB0 | ||||
1 | 1 | 0 | 1 | 0 | AB | 无水 | 0AH |
13/ 26
2 | 1 | 0 | 0 | 1 | | 1001 | 09H |
B A | |||||||
3 | 0 | 1 | 0 | 1 | | 0101 | 05H |
A B | |||||||
4 | 0 | 1 | 1 | 0 | | 0100 | 06H |
B A |
表4步进电机八拍控制通电方式(正转)
时序 | 8255A 芯片B 口 | 高电平端 | 对应二进制数 | 转换16进制数 | |||
PB3 | PB2 | PB1 | PB0 | ||||
1 | 0 | 1 | 1 | 0 | | 0110 | 06H |
A B | |||||||
2 | 0 | 1 | 0 | 0 | | 0100 | 04H |
B | |||||||
3 | 0 | 1 | 0 | 1 | | 0101 | 05H |
B A | |||||||
4 | 0 | 0 | 0 | 1 | | 0001 | 01H |
A | |||||||
5 | 1 | 0 | 0 | 1 | | 1001 | 09H |
A B | |||||||
6 | 1 | 0 | 0 | 0 | B | 1000 | 08H |
7 | 1 | 0 | 淘 | 豆 | 网 | 1010 | 0AH |
8 | 0 | 0 | 淘 | 豆 | 网 | 0010 | 02H |
控制步进电机的正反转与转速的原理图如图15所示:
图15 电机调速与转向接线图
14 / 26
由图15可以知道,开关闭合,相应的LED就会亮,说明相应的PA口输出为低电平。与PA7相连的开关控制电机的正反转,剩余开关决定步进电机的转速,以上图为例,只有PA7
所对应的开关闭合,此时向8255A输入的数值为V01111111,此数为正数,所以电机正转。当PA7所对应的开关断开时,则开关电路向8255A输出值为负数,此时电机反转,而从PA0到PA6所对应的开关状态可以实现对步进电机转速的控制,所以此模块可以实现对电机的正反转及速度的控制。
4软件设计
4.1设计思路
设计要求用8086CPU最小模式对步进电机实现正反转,以及速度的控制。这些控制主要由软件实现。按键的结合使用从而实现正反转的功能。通过编写四拍正反转子程序,对于速度的控制主要通过按键的开通与八拍正反转子程序并通过
闭合实现。
步进电机四拍模块流程图如图16所示:
15/ 26
开始
读取A口芯片
判断V符号 | 否 |
是
AB线圈通电
BA线圈通电
延时延时
BA线圈通电 AB线圈通电
延时
延时
延时延时
BA线圈通电 AB线圈通电
延时延时
图16步进电机四拍模块流程图
由图可得二相步进电机依次导通的线圈顺序为:
正转: | AB | | B A | | A | B | | B | A | | AB |
16 / 26
反转: | B | A | | A | B | | B A | | AB |
步进电机八拍模块流程图类似,导通线圈为8次,二相八拍各绕组通电顺序
为:
正转: | AB | | B | | B A | | A | | A | B | | B | | B | A | | A | ||||||
| | | | | | A | | | | | B A | | | AB | |||||||||
反转: | A | B | A | | B | B | | A | | B | |
5系统仿真
分别载入程序,在PROTUES里面仿真的结果分别如下:
四拍正转如图17 所示,此时 | PA 7 | 所对应的开关闭合,由前面分析可得此时电机 |
正转。
图17 四拍正转仿真图
17 / 26
四拍反转仿真图如图18,此时 | PA 7 | 所对应的开关断开。 |
八拍正转仿真图如图19 所示,
图19八拍正转仿真图
八拍反转仿真图如图20 所示。 | PA 7 | 所对应的开关断开。 |
|
18/ 26
心得体会
经过与同小组同学的共同努力,近一个多星期的学习,本次课程设计课题二相步进电机控制系统告一段落。二相步进电机控制系统的设计主要分为硬件设计和软件设计两个部分:
硬件设计主要是把8086CPU、8255A、按键控制模块、步进电机驱动模块 、等各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件(L298)运行提供一个硬件平台。
软件设计主要是通过编写程序代码,实现对整个系统的控制。
本次设计由于设计时间较短,个人能力以及精力等因素的,加之设计经验的不足,该系统还有许多不尽如人意的地方。该系统具有一定的缺陷,并不完
美,但仿真成功的那一刻的感觉是很美妙的,努力有了收获,学的很充实。通过
19/ 26
这次课程设计,使我从一开始对系统的不太熟悉,到能开发一个简单的系统,在这整个过程中我学到了很多东西,掌握了一些常用的开发技能,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。
近十天的课程设计,我不仅了解了把理论设计转换成现实实物的整个过程。如:查阅资料,方案选定,电路设计,仿真电路图,检查调试,软件流程控制,编写调试软件到整个软硬件系统的调试,最后直到系统完成。为我以后的设计打下了一个好的基础。而且使我更加熟悉了整个设计的过程和一些软件及硬件设备的使用。总之,收获很大。
参考文献
[1] 彭虎、周佩玲、傅忠谦.微机原理与接口技术(第2版)。电子工业出版社出 版社,2006
[2] 马建国 电子系统设计高等教育出版社,2004 [3] 康华光电子技术甚础 模拟部分 高等教育出版社,2005
2010 [5] 于海生 计算机控制技术机械工业出版社 2008
20/ 26
附录一系统的总设计图
附录二部分代码
CODESEGMENT
ASSUMECS:CODE
START:
PORTA EQU 0A0H ; A 口地址PORTB EQU 0A2H ; B 口
21/ 26
PORTCEQU 0A4H ; C口
PORTDEQU 0A6H ;CPU-8255控制寄存器控制口地址REGISEQU 90H ;A IN, B OUT,AB口工作方式0
BEGIN:
XORCX,CX
XORBX,BX
MOVDX,PORTD ;设置8255工作方式
MOVAL,REGIS ;control
OUTDX,AL
MOVDX,PORTA
INAL,DX ;读A口数据
MOVBL,AL
ANDBL,10000000B
JNZG4 ;最高位按,0,正转
NEGAL
;反转 MOVAX,255 ;四拍时255八拍时620
MOVBL,AL
DIVBL
MOVBL,AL
G4:MOV BL,AL
JMPG3
MOV AX,255 MOV BL,AL
;;//////////////////////////8 正//////////////////////////////////
G2:MOV DX,PORTB
MOVAL,2
OUTDX,AL
MOVAL,0AH
OUTDX,AL
MOVAL,8
OUTDX,A
MOVAL,9
OUTDX,AL
MOVAL,1
OUTDX,AL
MOVAL,5
OUTDX,AL
MOVAL,4
OUT DX,AL |
|
22/ 26
CALLDELAY
JMPG2
DELAYPROC ;USESCX
PUSHBX
MOVCX,1
D1:
LOOPD1
POPBX
RET
DELAYENDP
CODE ENDS
END STAR
23/ 26
24/ 26
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务