步进电机课程设计报告.docx
《步进电机课程设计报告.docx》由会员分享,可在线阅读,更多相关《步进电机课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
步进电机课程设计报告
目录
一、步进电机介绍1
1.1步进电机发展现状1
1.2步进电机工作原理1
1.3步进电机的特点2
1.4步进电机换相、转向及加/减速控制方案2
1.5步进电机工作方式2
1.6选用电机3
二、硬件电路设计4
2.1设计思路4
2.2芯片介绍4
2.2.18088CPU4
2.2.28255A7
2.2.3ULN28039
2.3模块接线图9
2.4硬件原理图10
2.4.18088最小系统连接电路10
2.4.2步进电机控制接线电路10
2.4.3驱动电路280311
2.4.435BYJ46步进电机接线电路11
三、软件设计12
3.1软件算法12
3.2程序流程图14
3.3源程序14
四、总结17
一、步进电机介绍
1.1步进电机发展现状
步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字执行元件,随着计算机应用技术、电子技术和自动控制技术在国民经济各个领域中的普及与深入,步进电机的需求量越练越大。
随着工业技术的不断发展,以及同类产品的不断出现,步进电机面临着前所未有的挑战。
但近30年来,数字技术、计算机技术和永磁材料的迅速发展,推动步进电机的发展,为步进电机的应用开辟了广阔的前景,近几年来,步进电机需求量一直呈现出较快的增长速度,其中扫描仪、打印机、传真、DVD-ROM/CD-ROM驱动器、空调及多功能自动化办公设备等应用对步进电机的需求增长最强。
此外由于USB2.0的日益流行促进了高分辨率扫描仪的销售,步进电机向着小型、薄型和更小的步进角度发展。
1.2步进电机工作原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
四相步进电机步进示意图
1.3步进电机的特点
(1)输出转角大小与输入脉冲数严格成比例,即来一个脉冲,转一个步距角,且在时间上与输入脉冲同步。
(2)电机转子转速随输入信号的脉冲频率而变化。
即控制脉冲频率,可控制电机转速。
(3)借助控制线路,易于获得正反转、间歇运动等特殊功能。
即改变脉冲顺序,改变方向。
(4)转子的转动惯量小,启动、停止时间短。
一般在信号输入几毫秒或几十毫秒后,即能使电机转动或达到同步转速。
信号切断后,电机立即停止转动。
(5)输出转角精度高,无累积误差。
(6)步进电机的工作状态对各种干扰因素不敏感。
(7)控制特性好。
(8)步距值不受各种干扰因素的影响。
(9)总位移量取决于总的脉冲数
1.4步进电机换相、转向及加/减速控制方案
(1)控制换相顺序
通电换相这一过程称为脉冲分配。
四相步进电机的八拍工作方式,其各相通电顺序为A-AB-B-BC-C-CD-D-DA-A.,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。
(2)控制步进电机的转向
如果给定工作方式正序通电,步进电机正转,如果按反序通电换相,则电机就反转。
(3)控制步进电机的速度
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
1.5步进电机工作方式
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图5-2-2.a、b、c所示:
a.单四拍 b.双四拍 c.八拍
图1-1步进电机工作时序波形图
1.6选用电机
35BYJ46型四相八拍电机,电压为DC12V,其励磁线圈及励磁顺序如下所示:
图1-2步进电机励磁线圈接线图
表1四相八拍步进电机励磁顺序
1
2
3
4
5
6
7
8
5
+
+
+
+
+
+
+
+
4
-
-
-
3
-
-
-
2
-
-
-
1
-
-
-
二、硬件电路设计
2.1设计思路
以8088CPU为基础设计计算机控制系统硬件电路,包括支持计算机工作的外围电路(EPROM、RAM、键盘、显示、通信端口等)。
选用8255扩展I/O接口,选取ULN2803芯片作为驱动单元,通过编程实现步进电机调速控制和正反转控制。
2.2芯片介绍
2.2.18088CPU
图2-18088管脚图
A16~Al9/S3~S6
地址/状态复用引脚(输出、三态)。
当8088输出地址时,这4个引脚上送出地址的最高4位A16~A19。
当8088输出状态时,这4个引脚送出状态信号S3~S6,其中S6始终为逻辑0,S5指示中断允许标志位IF的状态,S4、S3的指示CPU当前正在使用的段寄存器。
A8~A15
地址(输出、三态)。
CPU访问存储器或I/O接口时,从这些引脚送出地址信号A8~A15。
AD0~AD7
地址/数据复用引脚(双向、三态)。
当ALE=1时,这些引脚上传输的是地址,而不是数据。
M/IO
IO/存储器控制(输出、三态)。
低电平表示CPU当前访问的是存储器,高电平表示访问的是I/O接口。
WR
写控制(输出、三态)。
低电平表示CPU正在对存储器或I/O接口进行写操作。
DT/R
数据传送方向控制(输出、三态)。
用于确定数据传送的方向。
高电平时表示CPU向存储器或I/O接口发送数据;低电平表示CPU从存储器或I/O接口接收数据。
此信号常用于控制总线收发器的传送方向。
DEN
数据允许(输出、三态)。
低电平表示数据总线上有有效数据。
它在每次访问内存或I/O接口以及在中断响应期间有效。
它常用作数据总线驱动器的片选信号。
ALE
地址锁存允许(输出、三态)。
高电平表示地址线上有有效地址。
它常作为锁存控制信号将A0~A19锁存到地址锁存器。
RD
读控制(输出、三态)。
低电平表示CPU正在对存储器或I/O接口进行读操作。
READY
“准备就绪”(输入、高电平有效)。
它是被访问的内存或I/O接口发出的响应信号,高电平表示存储器或I/O设备已准备好,可以进行数据传送。
若存储器或或I/O设备没准备好,则可将此引脚拉低。
CPU在总线周期的T3采样READY引脚,若为低电平,CPU将自动插入1个或多个等待周期Tw。
直到READY变为高电平后,CPU才脱离等待状态,继续执行后续操作。
NMI
非屏蔽中断请求(输入、上升沿有效)。
此信号不能用软件屏蔽。
若此信号有效,CPU在当前指令执行结束后就进入NMI中断过程。
INTR
可屏蔽中断请求(输入、高电平有效)。
CPU在每条指令的最后一个周期对此引脚进行采样,以决定是否进入中断响应周期。
此信号可用软件屏蔽。
INTA
中断响应(输出、低电平有效)。
CPU对INTR信号的响应。
在响应过程中,CPU在此引脚连续送出两个负脉冲,可用作外部中断源的中断向量码的读选通信号。
TEST
测试(输入、低电平有效)。
当CPU执行WAIT指令时,每隔5个时钟周期对此引脚进行一次采样。
若为高电平,CPU则继续处于空转状态,直到此引脚变为低电平,CPU才结束空转状态,继续执行下一条指令。
RESET
系统复位(输入、高电平有效)。
为使CPU完成内部复位过程,该信号至少要保持4个时钟周期。
复位后CPU内部寄存器的状态如下表所示。
当RESET返回低电平时,CPU将重新启动。
HOLD
总线保持请求(输入、高电平有效)。
当某一总线主控设备要占用系统总线时,通过此引脚向CPU提出请求。
HLDA
总线保持响应(输出、高电平有效)。
CPU对HOLD请求信号的响应:
所有三态引脚变为高阻态,同时使此引脚变为高电平,表示处理器已放弃对总线的控制。
当CPU检测到HOLD信号无效后,就立即使此引脚变为低电平,同时恢复对总线的控制。
SS0
系统状态信号输出。
它与IO/M和DT/R信号决定了最小模式下当前总线周期的状态。
三者的状态组合所表示的处理器操作见下表。
2.2.28255A
8255A是Intel公司采用CHMOS工艺生产的一种高性能通用可编程输入输出并行接口芯片,可以方便应用在Intel系列微处理器系统中。
8255A是40引脚2双列直插式芯片,片内有A,B,C3个8位I/O端口,可提供24条可编程输入输出端口线。
图2—28255管脚图
RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
'
A1,A0:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器. 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择; 当A1=1.A0=1时,控制寄存器被选择.
2.2.3ULN2803
图2—3ULN2803
2.3模块接线图
图2—4模块接线图
2.4硬件原理图
2.4.18088最小系统连接电路
图2—58088最小系统连接电路
2.4.2步进电机控制接线电路
图2—6步进电机控制接线图
2.4.3驱动电路2803
图2—7驱动电路ULN2803
2.4.435BYJ46步进电机接线电路
图2—835BYJ46步进电机接线图
三、软件设计
3.1软件算法
步进电机是将电脉冲信号转变为角位移或线位移。
脉冲信号及信号分配可由根据不同的要求编程产生。
如果选用四相步进电机,各相分别为A,B,C,D相。
四相步进电机工作方式可用四相单四拍、四相双四拍、四相八拍方式3种控制方式。
此次课程设计采用的步进电机为35BYJ46四相八拍电机,电压为DC12V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相八拍方式工作时各相采用如下方式:
A-AB-B-BC-C-CD-D-DA-A
8255B口输出电平在各步中的情况如下:
步
序
控制位
控制字
工作
状态
PB0
PB1
PB2
PB3
1
0
0
0
1
01H
A
2
0
0
1
1
03H
AB
3
0
0
1
0
02H
B
4
0
1
1
0
06H
BC
5
0
1
0
0
04H
C
6
1
1
0
0
0CH
CD
7
1
0
0
0
08H
D
8
1
0
0
1
09H
DA
表3-1四相八拍
步
序
控制位
控制字
工作
状态
PB0
PB1
PB2
PB3
1
0
0
0
1
01H
A
2
0
0
1
0
02H
B
3
0
1
0
0
04H
C
4
1
0
0
0
08H
D
3.2程序流程图
3.3源程序
STACKSEGMENTSTACK
DW256DUP(?
)
STACKENDS
DATASEGMENT
TABLE1DB01H,03H,02H,06H,04H,0CH,08H,09H;四相八拍反转对应步值
TABLE2DB01H,09H,08H,0CH,04H,06H,02H,03H;四相八拍正转对应步值
TABLE3DB03H,06H,0CH,09H;四相四拍反传对应步值
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MAIN:
MOVCX,0002H
MOVAL,90H;8255初始化B口为输出
OUT63H,AL
A1:
PUSHCX;四相八拍反转
MOVBX,OFFSETTABLE1
MOVCX,0008H
A2:
MOVAL,[BX]
OUT61H,AL
CALLDALLY1
INCBX
LOOPA2
POPCX
LOOPA1
MOVCX,0002H
B1:
PUSHCX;四相八拍正转
MOVBX,OFFSETTABLE2
MOVCX,0008H
B2:
MOVAL,[BX]
OUT61H,AL
CALLDALLY2
INCBX
LOOPB2
POPCX
LOOPB1
C1:
MOVBX,OFFSETTABLE3;四相双四拍反转
MOVCX,0004H
C2:
MOVAL,[BX]
OUT61H,AL
CALLDALLY3
INCBX
LOOPC2
MOVCX,0002H
JMPA1
DALLY1:
PUSHCX;延时子程序
MOVCX,500H
T1:
PUSHAX
POPAX
LOOPT1
POPCX
RET
DALLY2:
PUSHCX
MOVCX,1000H
T2:
PUSHAX
POPAX
LOOPT2
POPCX
RET
DALLY3:
PUSHCX
MOVCX,1000H
T3:
PUSHAX
POPAX
LOOPT3
POPCX
RET
CODEENDS
ENDSTART
四、总结
本次课程设计是运用硬件芯片结合软件编程控制35BYJ46步进电机来完成正转和反转的任务。
本次课程设计的内容涉及微机原理与接口技术、电机学、protel99se软件的使用等相关知识,
不仅使我对微机原理与接口技术的知识有了进一步的了解和认识,也使我对步进电机这种新型电机有了深层次的了解和认识。
刚开始的时候我以为我完成不了这次课程设计的任务,但是经过这几天查找相关书籍和网上资料,我完成了这个起初认为不可能完成的任务,我很高兴。
做课程设计不仅能够增长我对于所学课程知识的掌握程度,也能够增加我对于处理事情的信心!