电机方案设计书实验步进电机控制实验.docx
《电机方案设计书实验步进电机控制实验.docx》由会员分享,可在线阅读,更多相关《电机方案设计书实验步进电机控制实验.docx(17页珍藏版)》请在冰豆网上搜索。
![电机方案设计书实验步进电机控制实验.docx](https://file1.bdocx.com/fileroot1/2023-6/19/ff2c33fe-2ae5-46ff-a9ac-af9b4f69f292/ff2c33fe-2ae5-46ff-a9ac-af9b4f69f2921.gif)
电机方案设计书实验步进电机控制实验
步进电机控制实验
班级:
电气082姓名:
姜水龙
摘要:
本设计基于ATS80C51单片机对步进电机进行控制,通过使用I/O口输出具有一定时序的方波作为步进电机的控制信号,控制信号通过控制全双桥芯片L298驱动步进电机,在单片机的P1口用四个LED来作为正反转,加速,减速的标志。
用独立连接式非编码键盘码键盘来对电机的状态进行控制。
关键词:
步进电机单片机AT89S51发光二极管
1.引言:
步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。
控制步进电机的输入脉冲数量、频率及电机各项绕组的接通顺序,可以得到各种需要的特性。
尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。
本文介绍已实现的单片机对步进电机的数字控制系统,控制器担负着生产脉冲及发送,接受控制命令的任务。
本设计对步进电机的驱动电路,显示电路以及键盘控制电路做了详细的介绍。
2总体设计方案.2.1设计思路
2.1.1:
使用按钮开关控制步进电机的正反转以及加速减速
因要求实现用单片机控制四相步进机的正反转以及加速减速,有很多的方法能完成这样的任务,但为了能更加方便的控制步进电机正反转以及加速减速,因此在单片机的管脚上分别接了正反转按钮,正转加速减速按钮,反转加速减速按钮以及复位按钮,当给电路通电后,就可以通过按这些按钮来实现要求的各种要求以及所要表达的信息。
2.1.2:
使用L298芯片来驱动步进电机。
L298是一种高电压、大电流电机驱动芯片。
采用标准逻辑电平信号控制具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作,可以外接检测电阻,将变化量反馈给控制电路。
使用L298芯片驱动电机,该芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以直接通过电源口提供信号,而且电路简单,使用比较方便。
I/O来调节输出电压,并可以直接用单片机的.
设计方框图2.21所示总体设计方框图如图
状态指示电路按键控制电路
复位电路AT89S51
L298驱进步电源及时钟机动电路电
图1总体设计方案框图3.设计原理分析
3.1步进电机
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。
其基本原理作用如下:
(1)控制换相序
通电换相这一过程称为脉冲分配。
例如:
三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。
(2)控制步进电机的转向
如果给定工作方式正序换相通电,步进电机就会正向转动,如果按反序通电换相,则电机就会反向转动。
(3)控制步进电机的速度
如果给步进电机发一个控制脉冲,它就转一步,再发一个,它会再转一步。
两个脉冲的间隔越短,步进电机就转的越快。
调整单片机发出的脉冲的频率,就可以对步进电机进行调速。
3.2按键电路设计
本设计采用的独立式非编码键盘控制步进电机。
共有6个按钮,其中S2为电机正转按钮、S3为电机反转按钮,S4为正转加速按钮,S5为电机正转减速按钮,S6为电机反转加速按钮,S7为电机反转减速按钮。
当按下各个按钮时,会执行各个键的功能,当按下复位按钮时,电路会恢复到初始状态。
其原理图如图2所示
按键控制电路2图
3.3时钟震荡电路和复位电路设计
时钟震荡电路由一个12M的晶震和两个30PF的电容组成。
复位电路有一个复位按钮,两个电阻,一个带有极性的电容做成,复位方式为手动复位。
当按下复位按钮的时间超过两个机器周期,才起到复位作用。
其原理理理如图3所示
图3时钟震荡电路和复位电路
3.4正反转,加速,减速标志电路设计
本电路采用的是四个发光二极管来显示,分别为D1,D2,D3,D4。
当电机正转时D1发光;当电机反转时D2发光;正转加速时D1,D3发光;正转减速时D1,D4;反转加速时D2,D3发光;反转减速时D2,D4发光。
其原理图如图4所示
图4正反转,加减速显示电路
3.5步进电机驱动电路设计
本设计采用的是L298对步进电机进行驱动L298N为双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相?
和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准?
TTL以下的步进电机,且可以直接透过电源来调节输出电压,2A、46V逻辑准位信号,可驱动.
图5步进电机驱动电路
3.6步进电机时序表和时序图
步进电机时序表和时序图分别如表1和图6
表1单四拍控制表
步序控制位工作状态
ACD
B
A11110
B10121
C11013
D1
4
0
1
1
程序流程图4.
程序开始执行
调用正转指P0.0是否为0
示和正转程0
序
1e调用反转指P0.1是否为1
0
示和反转程序1e调用正转加01
P0.2是否为速指示和
10
1
P0.是否
加0
1P0.是否
1
是否P0.50
返回开始程
程序结束
结束语5.
本设计主要是体现了单片机在控制步进电机方面的应用。
通过这次的课程设计使我在各个方面都有了很大的提高。
首先,对步进电机的工作原理有了一定的了解,同时在设计的过程中使我感觉到整体电路的综合调试是非常重要的,仿真正确在实际电路中却有可能不能实现。
再次要考虑到单片机不能直接控制步进电机,必须根据步进电机功率的大小合理的选择功率驱动器件。
同时在含有多位数码管显示的系统中,用到的口线较多,采用串并转换的方式可以节省口线,可以节省很多的单片机资源。
还有就是编程,学习中,小程序可以很快的编出来,通过这次实习,一次系统的编程所需要考虑到的问题,是我这次实习中的一个很大的收获。
总之,通过这次实习,我学到了很多的知识,同时也找到了一些问题。
这将为我以后的学习起到很大的帮助。
感谢我的室友们,有你们在行动和思想上的支持和鼓励,才使得我这次毕业设计能顺利完成。
感谢此次指导我完成这篇论文的老师,正因为有你们的指导和修改才有我这篇论文的完成。
感谢我的母校河南科技学院,尤其是机电专业所有的老师们,在这片净土读书三载,无形中塑造了我生命的气质、生活的方式,也练就了我乐观的心态和一颗感恩的心,没有你们悉心的指导和讲解,我不可能完成此次设计
参考文献
[1]肖洪兵.跟我学用单片机.北京:
北京航空航天大学出版社,2002.8
[2]何立民.单片机高级教程.第1版.北京:
北京航空航天大学出版社,2001
[3]赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社,2001.3
[4]李广第.单片机基础.第1版.北京:
北京航空航天大学出版社,1999
[5]徐惠民、安德宁.单片微型计算机原理接口与应用.第1版.北京:
北京邮电大学出版社,1996
[6]何立民.从Cygnal80C51F看8位单片机发展之路.单片机与嵌入式系统应用,2002年,第5期:
P5~8
[7]夏继强.单片机实验与实践教程.北京:
北京航空航天大学出版社,2001
[8]陈志强胡辉.单片机应用系统设计实践指南.自编教材
[9]肖洪兵.单片机应用技术.自编教材
[10]肖洪兵高茂科.CAI课件自主开发
[11]李朝青单片机原理及接口技术(第三版)北京:
北京航空航天大学出版社2005
附录1
附录2
START1:
MOVP2,#0FFH。
程序开始执行JNBP0.0,Z10
JNBP0.1,F10
JNBP0.2,ZA10
JNBP0.3,ZS10
JNBP0.4,FA10
JNBP0.5,FS10
AJMPSTART1
LJMPZZ
Z10:
F10:
LJMPFZ
LJMPZAZA10:
LJMPZSZS10:
LJMPFAFA10:
LJMPFS
FS10:
LCALLDELAYZZ:
。
防止按键抖动延迟
JNBP0.0,$
LCALLDELAY
ZX:
MOVP1,#0EFH。
正转显示指示
MOVR0,#00H
MOVA,R0。
正转程序调用ZZ1:
MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZZX
MOVP2,A
JNBP0.1,F10
JNBP0.2,ZA10
JNBP0.3,ZS10
JNBP0.4,FA10
JNBP0.5,FS10
LCALLDELAY1
INCR0
LJMPZZ1
RET
。
按键去抖动FZ:
LCALLDELAY
JNBP0.1,$
LCALLDELAY
FX:
MOVP1,#0DFH。
反转指示显示MOVR0,#05H
。
反转程序调用FZ1:
MOVA,R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZFX
MOVP2,A
JNBP0.0,Z10
JNBP0.2,ZA10
JNBP0.3,ZS10
JNBP0.4,FA10
JNBP0.5,FS10
LCALLDELAY1
INCR0
LJMPFZ1
RET
LCALLDELAY。
按键去抖动ZA:
JNBP0.2,$
LCALLDELAY
ZAX:
MOVP1,#0AFH。
正转加速指示显示
MOVR0,#00H
ZA1:
MOVA,R0。
正转程序调用
MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZZAX
MOVP2,A
JNBP0.0,ZZ
JNBP0.1,FZ
JNBP0.3,ZS
JNBP0.4,FA
JNBP0.5,FS20
LCALLDELAY2
INCR0
LJMPZA1
RET
ZS:
LCALLDELAY。
按键去抖动
JNBP0.3,$
LCALLDELAY
。
正转减速指示显示ZSX:
MOVP1,#6FH
MOVR0,#00H
ZS1:
MOVA,R0。
正转减速程序调用MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZZSX
MOVP2,A
JNBP0.0,Z20
JNBP0.1,F20
JNBP0.2,ZA20
JNBP0.4,FA20
JNBP0.5,FS20
LCALLDELAY3
INCR0
LJMPZS1
RET
Z20:
LJMPZZ
F20:
LJMPFZ
ZA20:
LJMPZA
ZS20:
LJMPZS
FA20:
LJMPFA
FS20:
LJMPFS
FA:
LCALLDELAY。
按键去抖动
JNBP0.4,$
LCALLDELAY
FAX:
MOVP1,#09FH。
反转加速指示显示
MOVR0,#05H
FA1:
MOVA,R0。
反转加速
MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZFAX
MOVP2,A
JNBP0.0,Z20
JNBP0.1,F20
JNBP0.2,ZA20
JNBP0.3,ZS20
JNBP0.5,FS20
LCALLDELAY2
INCR0
LJMPFA1
RET
FS:
LCALLDELAY。
按键去抖动
JNBP0.5,$
LCALLDELAY
。
反转减速指示显示FSX:
MOVP1,#5FH
MOVR0,#05H
。
反转程序调用FS1:
MOVA,R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
JZFSX
MOVP2,A
JNBP0.0,Z20
JNBP0.1,F20
JNBP0.2,ZA20
JNBP0.3,ZS20
JNBP0.4,FA20
LCALLDELAY3
INCR0
LJMPFS1
RET
。
抖动延迟MOVR1,#20DELAY:
MOVR2,#255D1:
DJNZR2,$
DJNZR1,D1
RET
DELAY1:
MOVR7,#68。
正反转延迟
D2:
MOVR6,#255
D3:
MOVR5,#10
DJNZR5,$
DJNZR6,D3
DJNZR7,D2
RET
DELAY2:
MOVR7,#34。
正反转加速延迟
D4:
MOVR6,#255
D5:
MOVR5,#10
DJNZR5,$
DJNZR6,D5
DJNZR7,D4
RET
DELAY3:
MOVR7,#104。
正反转减速延迟
D6:
MOVR6,#255
D7:
MOVR5,#10
DJNZR5,$
DJNZR6,D7
DJNZR7,D6
RET
TABLE:
DB0FEH,0FDH,0FBH,0F7H,00。
控制相序通电情况的查表指令调用
DB0FEH,0F7H,0FBH,0FDH,00
END。
程序结束