单片机课程设计之步进电机.docx
- 文档编号:3839127
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:12
- 大小:232.04KB
单片机课程设计之步进电机.docx
《单片机课程设计之步进电机.docx》由会员分享,可在线阅读,更多相关《单片机课程设计之步进电机.docx(12页珍藏版)》请在冰豆网上搜索。
单片机课程设计之步进电机
安庆师范学院
单片机课程设计
课程名称单片机课程设计
题目名称步进电机
学院物理与电气工程学院
专业班级12级电信三班
姓名余秋雨黄冬冬樊丙宝
学号099128134
指导教师杨伟
目录
一、设计要求3
(一)设计内容3
(二)设计要求3
二、设计总体方案3
51单片机功能:
3
步进电机工作原理:
4
方案比较与选择5
方案15
方案26
三、电路分析7
1、步进电动机脉冲序列信号与转速控制7
2、步进电机方向与步距角的控制8
3、步进电机的驱动电路及状态显示8
驱动电路:
8
状态显示:
9
步进电机时序表:
9
四、程序设计10
流程图:
10
主程序:
10
五、讨论及进一步研究建议12
六、课程设计心得体会12
参考文献:
13
单片机课程设计任务书
一、设计要求
(1)设计内容:
用89C52单片机设计一个步进电机控制器
(2)设计要求:
(1)用AT89C52控制一个四相步进电机
(2)可控制步进电机的启动与停止、正转与反转、加速与减速
(3)2档速度调节
(4)可显示电机运行参数
二、设计总体方案
51单片机功能:
5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的工/O端I:
IP0,P1,P2,P3,一个全双功串行通信口等组成。
特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。
该系列单片机引脚与封装如图1所示。
5l系列单片机提供以下功能:
4kB存储器;256BRAM;32条工/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。
充分利用它的片内资源,即可在较少外围电路的情况下让步进电机实现功能。
图151系列单片机封装图
步进电机工作原理:
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
28byj48是最普通的减速步进电机,最大转速大概是14圈/分钟。
该电机要是节拍太快的话,就不动了,而且还有一点异响。
这个型号的电机最适合用于学习,真正现实中用处不太大,无论是转速、扭曲都不太理想,唯一有点就是价格便宜。
ULN2003是达林顿阵列,能用这个驱动的步进电机很少,而且受到电流限制,性能不理想。
该减速比为64的,都适合精密旋转,但要速度不可观。
要想提高转速可以考虑以L298N驱动,然后用28或者35步进电机(不带减速),稍微大一些,这样达到30或60转/分钟比较容易。
方案比较与选择
方案1:
图2方案1原理图
用到的元器件主要有:
STC89C52芯片、ULN2003驱动芯片、LED发光二极管、四相五线制步进电动机。
一、此方案的优点:
1、电路简单,能够实现对电机的正转、反转、加速、减速、停止的控制。
2、此方案通过LED灯可以反映电机工作状态。
二、此方案的缺点:
3、此方案程序未采取中断的方式来实现对电动机的控制,CPU的利用率不高
4、无法直接显示电机转速。
方案2:
图3方案2原理图
用到的元器件主要有:
STC89C52芯片、ULN2003驱动芯片、四相五线制步进电动机、数字数码管、三极管(驱动),LED灯,蜂鸣器。
一、此方案的优点:
1、此电路加入了LED灯、蜂鸣器、数码管,能够通过LED灯直观的观察电机的正反转,在加减速的时候可以有提示音,并且数码管可以直观显示电机转速。
2、元件比较齐全,能够实现对电机的正转、反转、加速、减速、停止的控制,此方案在加速、减速的基础上增加了两个加速档和三个减速档。
3、此方案程序采取中断的方式来实现对电动机的控制,因此CPU的利用率很高,在程序编写时步进电机的转速非常稳定,不会受其他程序的影响。
二、此方案的缺点:
1、由于程序采用中断,数码管显示在中断外,因此显示很不稳定。
三、电路分析
3.1步进电动机脉冲序列信号与转速控制
要步进电机可以“步进”就得产生下图所示的脉冲序列。
此脉冲序列是用周期、脉冲高度、通断时间来表征的。
数字电路中,脉冲高度由元件电平决定,如TTL电平为0~5V,COMS电平为0~10V。
步进电机的每一步的响应。
都需要一定的时间,即一个高脉冲要保留一定的时间,以便电机完全达到一定的位置。
通断的时间可以利用延时在软件中实现,这决定了步进电机的实际工作速率。
图4脉冲序列
3.2步进电机方向与步距角的控制
步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1—2相励磁。
每输出一个脉冲信号,步进电动机只走一步。
因此,依序不断送出脉冲信号,步进电动机即可连续转动。
本设计选择半步励磁(1—2相励磁):
1—2相励磁法为1相与2相轮流交替导通。
因分辨率提高,且运转平滑,每送一励磁信号可走9度。
若以1—2相励磁法控制步进电动机正转,其励磁顺序如下所示(若励磁信号反向传送,则步进电动机反转):
励磁顺序:
A—AB—B—BC—C—CD—D—DA
通常步进电机步距角β的一般计算按下式计算。
β=360°/(Z·m·K)
式中β―步进电机的步距角;
Z―转子齿数;
m―步进电动机的相数;
K―控制系数,是拍数与相数的比例系数
3、步进电机的驱动电路及状态显示
驱动电路:
其中1B、2B、3B、4B分别与P1.0、P1.1、P1.2、P1.3相接。
图5驱动图
状态显示:
通过三位数码管显示转速。
步进电机时序表:
步序
控制位
控制模型
工作状态
D
C
B
A
1
0
0
1
1
03H
AB
2
0
0
1
0
02H
B
3
0
1
1
0
06H
BC
4
0
1
0
0
04H
C
5
1
1
0
0
0CH
CD
6
1
0
0
0
08H
D
7
1
0
0
1
09H
DA
8
0
0
0
1
01H
A
四、程序设计
流程图:
主程序:
ORG0000H
LJMPSTART
ORG0003H
ORGINTT0
ORG0030H
START:
SETBEA
SETBIT0
SETBEX0
MOVR0,#0
MOVR7,#8
CLRP2.0
L1:
MOVP1,#0FEH
MOVDPTR,#TAB1
MOVA,R0
INCR0
LCALLDELAY1
MOVCA,@A+DPTR
MOVP0,A
JNBP2.0,JIAN……………..判断加减速
LCALLDELAY2
JIAN:
DJNZR7,L4
MOVR0,#00H
MOVR7,#8
L4:
JNBP3.1,L2…………………判断正反转
JBP3.3,L7
L5:
JBP3.3,L8…………………..判断停启
LJMPL5
L7:
LJMPL1
L2:
MOVP1,#0FDH
MOVR0,#00H
MOVR7,#08H
L3:
MOVDPTR,#TAB2
MOVA,R0
INCR0
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY1
DJNZR7,L6
MOVR0,#00H
MOVR7,#8
JBP3.3,L6
L21:
JBP3.3,L20
LJMPL21
L6:
JNBP3.3,L1
JNBP3.0,L28
LCALLDELAY2
L28:
LJMPL3
L8:
JBP3.3,L9
L10:
JBP3.3,L1
LJMPL10
L9:
LJMPL8
L20:
JBP3.3,L22
L23:
JBP3.3,L2
LJMPL23
L22:
LJMPL20
INTT0:
CPLP2.0
RETI
DELAY1:
MOVR4,#21…………….快速延时子程序
DEL2:
MOVR3,#18
DEL3:
DJNZR3,DEL3
DJNZR4,DEL2
RET
DELAY2:
MOVR6,#55………………延时子程序
DEL6:
MOVR5,#22
DEL5:
DJNZR5,DEL5
DJNZR6,DEL6
RET
TAB1:
DB03H,02H,06H,04H,0CH,08H,09H,01H
TAB2:
DB01H,09H,08H,0CH,04H,06H,02H,03H
END
五、讨论及进一步研究建议
1、我们的作品只有具备基本功能,我们采取的是中断的方式,数码管显示转速的时候闪烁,并不稳定,所以这方面的拓展功能还有待提高。
2、编程时候需要注意步进电机的步距角,才能较清楚的看得出电机的转动。
3、电路焊接方面考虑有小小的缺陷,在电机线插槽那部分由于空间考虑不足。
所以电机插槽无法完全插进,不过未影响电路的运行。
4、线路有部分接触不良,所以焊接时候还不是足够完善.
六、课程设计心得体会
此次课程设计也许我们小组的每一位成员都收获了许多。
我们利用网络查找了很多资料,并且学着用ISIS7及KeiluVision4软件去进行仿真分析,在刚开始的进行设计的时候,我们使用汇编语言来进行程序设计,并且用ISIS7把电路图画出来再进行仿真分析,最终获得成功。
刚开始由于我们对步进电机的知识掌握的不足,只知道送给电机一个脉冲信号就可以让它转动起来,结果始终转动不起来。
持续了好几天的时间都没有成功的让它运转,所以我们决定去请教老师,老师给我们清晰讲述了电机的工作原理,再结合着网上别人的程序,我们终于成功的让它运转起来。
知道原理的我们很容易的就实现的它的加速,因为只要让脉冲信号的频率更高,就可以让内部转子转动的速度更快,从而实现电机的加速转动。
通过本次实验,我们小组受益匪浅。
一方面,我们将课堂上的理论知识应用到了实际,加强巩固了理论知识,也提高了实际动手能力,通过实践反馈,了解到我们自身知识面的不足。
另一方面,在实验过程中,遇到问题时候,我们小组列出可能问题,一一进行排查,找出问题的所在,队员之间分工明确,团结合作,本次实验正是通过队员之间的合作实现的。
学了这么久终于能够让自己蠢蠢欲动的手得到满足了,更能激发我们对单片机的兴趣,也感受到久攻不下,柳暗花明的惊喜。
参考文献:
1、李全利《单片机原理及接口技术》高等教育出版社
2、郭天祥《新概念51单片机C语言教程》电子工业出版社
3、周荷琴吴秀清《微型计算机原理与接口技术》第四版中国科学技术大学出版社
4、顾绳谷《电机及拖动基础》第四版机械工业出版社
5、李建兵周长林《EDA技术基础教程》国防工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 步进 电机