基于单片机控制的步进电机控制器Word文件下载.docx
《基于单片机控制的步进电机控制器Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的步进电机控制器Word文件下载.docx(16页珍藏版)》请在冰点文库上搜索。
4结束语……………………………………………………………………………………5
参考文献……………………………………………………………………………………5
附录…………………………………………………………………………………………6
班级:
应教053班姓名:
董保全
摘要:
本设计采用AT89S51单片机实现对步进电机的控制。
通过单片机的I/O来实现对步进电机的控制,用uln2003来驱动步进电机,并且使用了发光二极管LED来显示步进电机的转速,在单片机的P1口使用四个LED来作为正反转,加速减速控制的标志。
用独立连接式非编码键盘来对电机的状态进行控制。
关键词:
步进电机单片机AT89S51发光二极管
引言
步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。
控制步进电机的输入脉冲数量、频率及电机各项绕组的接通顺序,可以得到各种需要的运行特性。
尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。
本文介绍已实现的单片机对步进电机的数字控制系统。
该控制系统中,控制器担负着产生脉冲以及发送、接受控制命令的任务。
本设计对步进电机的驱动电路,显示电路以及键盘控制电路做了详细的介绍。
1.总体设计方案
2.1设计思路
2.1.1方案一:
使用发光二极管来显示步进电机的转速以及正反转、加减速
为了能看清步进电机各项的通电情况,所以在四相步进电机各项上分别接了发光二极管,来显示步进电机各项的通电情况。
在单片机的I/O口接了四个发光二极管来分别显示正传、反转、加速、减速。
2.1.2方案二:
使用了uln2003来驱动步进电机
ULN2003芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;
可以直接用单片机的IO口提供信号;
而且电路简单,使用比较方便通过比较,使用ULN2003芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用ULN2003驱动电机。
而使用ULN2003时,可以用ULN2003来提供时序信号,可以节省单片机IO口的使用;
也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用后者。
2.2设计方框图
总体设计方框图如图1所示
AT89S51
图1总体设计方框图
3设计原理分析
3.1步进电机
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。
其基本原理作用如下:
(1)控制换相顺序
通电换相这一过程称为脉冲分配。
例如:
三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。
(2)控制步进电机的转向
如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
(3)控制步进电机的速度
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整单片机发出的脉冲频率,就可以对步进电机进行调速。
3.2步进电机驱动电路以及状态显示电路设计
本设计采用的是ULN2003对步进电机进行驱动,ULN2003是一种达林顿管阵列驱动芯片,其内部有7路达林顿管,组成最大工作电压50V,可以单路输入,单路输出。
当负载较大时
采用单路方式不足以满足要求时也可以采取多路并行输出驱动。
通过单片机的P2.0-P2.3来控制。
状态显示电路的二极管分别接在各项上。
其原理图如图2所示
图2步进电机驱动电路和状态显示电路
3.3键盘电路设计
本设计采用的独立式非编码键盘来控制步进电机。
共有6个按钮,其中S2为电机正转按钮、S3为电机反转按钮、S4为电机正转加速按钮、S5为电机正转减速按钮、S6为电机反转加速按钮、S7为电机反转减速按钮。
当按下各个按钮时,会执行各个键的功能,当按下复位按钮时,电路会恢复到初始状态。
其原理图如图3所示
图3键盘控制电路
3.4时钟振荡电路和复位电路设计
时钟振荡电路由一个12M的晶振和两个30PF的电容组成。
复位电路有一个复位按钮、两个电阻、一个带有极性的电容组成,复位方式为手动复位。
当按下复位按钮的时间超过两个机器周期,才起到复位的作用。
其原理图如图4所示
图4时钟振荡电路和复位电路
3.5正反转、加速、减速标志电路设计
本电路采用的四个发光二极管来显示。
分别为D1、D2、D3、D4。
当电机正转时D1发
光,当电机反转时D2发光,当电机加速时D3发光,当电机减速时D4发光。
其原理图如图5所示
图5正反转、加速、减速标志电路
3.6步进电机时序表和时序图
步进电机的时序表和时序图分别如如表1、图6所示
表1单四拍控制表
步序
控制位
工作状态
控制模型
D
C
B
A
1
0E
2
0D
3
0B
4
07
图6单四拍时序图
4结束语
通过这三周的单片机实习,在指导老师和同学的帮助下,使我学习到了许多课本上学不到的东西,由刚开始查找资料的自信满满到真正开始设计时困难重重,再到制作时的复杂的心情变化,使我对这次的实习更加印象深刻。
同时也使我对单片机的有关知识有了更加全面的理解……而我设计的步进电机控制器最后也终于按照要求的功能运转了。
总之,通过这次实习,使我真正体会到了理论联系实际的重要性。
经过这些实习可以使我们能更快更准确的掌握专过实践,又证明了我们所学理论知识的科学性和正确业方面的理论知识。
参考文献
[1] 周航慈著.单片机应用程序设计基础.北京:
电子工业出版社,1997年7月
[2] 朱承高.电工及电子技术手册[M].北京:
高等教育出版社,1990
[3] 阎石.数字电子技术基础(第三版).北京:
高等教育出版社,1989
[4] 廖常初.现场总线概述[J].电工技术,1999.6
[5]李广弟编著.单片机应用程序设计基础.北京:
北京航空航天大学出版社,1994年6月
附录1:
总体电路图
附录2:
程序流程图设计
附录3:
源程序代码
ORG0000H
LOOP:
MOVP2,#0FFH
JNBP0.0,Z10
JNBP0.1,F10
JNBP0.2,ZJ10
JNBP0.3,ZJ11
JNBP0.4,FJ10
JNBP0.5,FJ11
LJMPLOOP
Z10:
LJMPZ20
F10:
LJMPF20
ZJ10:
LJMPZJ20
ZJ11:
LJMPZJ21
FJ10:
LJMPFJ20
FJ11:
LJMPFJ21
Z30:
MOVP1,#0EFH
MOVR0,#00H
Z31:
MOVA,R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZZ30
MOVP2,A
JNBP0.3,ZJ11
LCALLDELAY1
INCR0
LJMPZ31
RET
F30:
MOVP1,#0DFH
MOVR0,#05H
F31:
JZF30
JNBP0.5,FJ11
JNBP0.3,ZJ11
LJMPF31
ZJ30:
MOVP1,#0BFH
ZJ32:
JZZJ30
JNBP0.0,Z40
JNBP0.1,F40
JNBP0.3,ZJ41
JNBP0.4,FJ40
JNBP0.5,FJ41
LCALLDELAY2
LJMPZJ32
ZJ31:
MOVP1,#7FH
ZJ33:
JZZJ31
JNBP0.2,ZJ40
LCALLDELAY3
LJMPZJ33
Z40:
LJMPZ10
F40:
LJMPF10
ZJ40:
LJMPZJ10
ZJ41:
LJMPZJ11
FJ40:
LJMPFJ10
FJ41:
LJMPFJ11
FJ30:
FJ32:
JZFJ30
JNBP0.2,ZJ40
JNBP0.3,ZJ41
LJMPFJ32
RET
FJ31:
FJ33:
JZFJ31
LJMPFJ33
Z20:
LCALLDELAY
JNBP0.0,$
LCALLDELAY
LJMPZ30
F20:
JNBP0.1,$
LJMPF30
ZJ20:
JNBP0.2,$
LJMPZJ30
ZJ21:
JNBP0.3,$
LJMPZJ31
FJ20:
JNBP0.4,$
LJMPFJ30
FJ21:
JNBP0.5,$
LJMPFJ31
DELAY:
MOVR1,#20
D1:
MOVR2,#255
DJNZR2,$
DJNZR1,D1
DELAY1:
MOVR7,#68
D2:
MOVR6,#255
D3:
MOVR5,#10
DJNZR5,$
DJNZR6,D3
DJNZR7,D2
DELAY2:
MOVR7,#34
D4:
D5:
DJNZR6,D5
DJNZR7,D4
DELAY3:
MOVR7,#104
D6:
D7:
MOVR5,#10
DJNZR6,D7
DJNZR7,D6
TABLE:
DB0FEH,0FDH,0FBH,0F7H,00
DB0FEH,0F7H,0FBH,0FDH,00
END