步进电机的驱动系统的设计.docx
《步进电机的驱动系统的设计.docx》由会员分享,可在线阅读,更多相关《步进电机的驱动系统的设计.docx(18页珍藏版)》请在冰点文库上搜索。
步进电机的驱动系统的设计
步进电机的驱动系统的设计
课程设计说明书
系(部):
信息科学与电气工程学院
班级:
学生姓名:
学号:
指导教师:
王常顺
时间:
2013年12月09日到2011年12月13日
课程设计任务书
题目步进电机驱动系统的设计
系(部)信息科学与电气工程学院
专业电气工程及其自动化
班级
学生姓名
学号
12月09日至12月13日共1周
指导教师(签字)
系主任(签字)
2011年12月17日
一、设计内容及要求
利用51单片机和ULN2003设计一个步进电机的驱动系统,实现以下功能:
1)能调整步进电机速度;
2)改变步进电机正反转的方向;
3)能通过串行通讯的方式控制电机转速及方向
二、设计原始资料
单片机原理及应用教程范立南2006年1月
单片机原理及应用教程刘瑞新2003年07月
三、设计完成后提交的文件和图表
1.计算说明书部分
1)方案论证报告打印版或手写版
2)程序流程图
3)具体程序
2.图纸部分:
具体电路原理图打印版
四、进程安排
教学内容学时地点
资料查阅与学习讨论1天单片机实验室
分散设计1天单片机实验室
编写报告2天单片机实验室
成果验收1天单片机实验室
五、主要参考资料
《电子设计自动化技术基础》马建国、孟宪元编清华大学出版2004年4月
《实用电子系统设计基础》姜威2008年1月
《单片机系统的PROTEUS设计与仿真》张靖武2007年4月
指导老师成绩
答辩小组成绩
总成绩
目录
摘要7
一、系统方案8
1、元件介绍8
二、实验原理9
1、步进电机原理9
2.三相六拍环形脉搏冲分配器10
三、源程序18
四、结果分析与总结20
五、主要参考资料21
摘要
本次课程设计主要基于试验台的步进电机控制的设计。
主要使用AT89C51芯片以及ULN2003驱动芯片等来驱动步进电机,主要通过脉冲的输入顺序来控制步进电机的正反转,通过延时来控制步进电机的转速,软件部分采用了汇编语言编写程序代码,通过判断,跳转,循环,延时等基本技术实现。
关键词:
KeilProteus步进电机AT89C51ULN2003
一、系统方案
1、元件介绍
本实验用到了AT89C51.ULN2003、步进电机等主要芯片。
实验的主要过程是通过按键的扫描和串口程序的输入,根据输入值得不同来设置不同的数值。
然后通过8255输出不同的电压来控制不进电机的转速
通过8253设置延时中断,以每一步中间的延时来控制转动速度。
LED模块的功能是显示步进电机的速度。
此次试验主要分为软件设计和硬件设计两方面来实施,在掌握步进电机的原理之上来了解硬件电路,再通过汇编语言的编程和串口的功能扩展实现外部串口的软件通信。
2、流程图如图1所示、
图1、试验流程图
二、实验原理
1、步进电机原理
电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。
步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。
步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。
步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。
从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C′,相邻的两个磁极之间夹角为60°,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。
当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。
由此可见,错齿是促使步进电机旋转的原因。
三相步进电机结构示意图
例如在三相三拍控制方式中,若A相通电,B、C相都不通电,在磁场作用下使转子齿和A相的定子齿对齐,我们以此作为初始状态。
设与A相磁极中心线对齐的转子的齿为0号齿,由于B相磁极与A相磁极相差120°,不是9°的整数倍(120÷9=40/3),所以此时转子齿没有与B相定子的齿对应,只是第13号小齿靠近B相磁极的中心线,与中心线相差3°,如果此时突然变为B相通电,A、C相不通电,则B相磁极迫使13号转子齿与之对齐,转子就转动3°,这样使电机转了一步。
如果按照A→B→C的顺序轮流通电一周,则转子将动9°。
步进电机的运转是由脉冲信号控制的,传统方法是采用数字逻辑电路--环形脉冲分配器控制步进电机的步进。
下图为环形脉搏冲分配器的简化框图。
2.三相六拍环形脉搏冲分配器
运转方向控制。
如图所示,步进电机以三相六拍方式工作,若按A→AB→B→BC→C→CA→A次序通电为正转,则当按A→AC→C→CB→B→BA→A次序通电为反转。
运转速度的控制。
图中可以看出,当改变CP脉冲的周期时,ABC三相绕组高低电平的宽度将发生变化,这就导至通电和断电时速率发生了变化,使电机转速改变,所以调节CP脉冲的周期就可以控制步进电机的运转速度。
旋转的角度控制。
因为每输入一个CP脉冲使步进电机三相绕组状态变化一次,并相应地旋转一个角度,所以步进电机旋转的角度由输入的CP脉冲数确定。
超想-3000TB实验仪选用的是20BY-0型4相步进电机,其工作电压为4.5V,在双四拍运行方式时,其步距角为18O,相直流电阻为55Ω,最大静电流为80Ma。
采用8031单片机控制步进电机的运转,按四相四拍方式在P1口输出控制代码,令其正转或反转。
因此P1口输出代码的变化周期T控制了电机的运转速度:
n=60/T.N
式中:
n——步进电机的转速(转/分);
N——步进电机旋转一周需输出的字节数;
T——代码字节的输出变化周期。
设N=360°/18°=20,T=1.43ms,则步进电机的转速为2100转/分。
控制P1口输出的代码字节个数即控制了步进电机的旋转角度。
步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。
若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。
步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。
图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。
每输出一个脉冲信号,步进电动机只走一步。
因此,依序不断送出脉冲信号,即可步进电动机连续转动。
相励磁法:
在每一瞬间只有一个线圈导通。
消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18度。
若欲以1相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序:
A→B→C→D→A
STEP
A
B
C
D
1
1
0
0
0
2
0
1
0
0
3
0
0
1
0
4
0
0
0
1
相励磁法:
在每一瞬间会有二个线圈同时导通。
因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18度。
若以2相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序:
AB→BC→CD→DA→AB
STEP
A
B
C
D
1
1
1
0
0
2
0
1
1
0
3
0
0
1
1
4
1
0
0
1
相励磁法:
为1相与2相轮流交替导通。
因分辨率提高,且运转平滑,每送一励磁信号可走9度,故亦广泛被采用。
若以1相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序:
A→AB→B→BC→C→CD→D→DA→A
STEP
A
B
C
D
1
1
0
0
0
2
1
1
0
0
3
0
0
1
0
4
0
1
1
0
5
0
0
1
0
6
0
0
1
1
7
0
0
0
1
8
1
0
0
1
电动机的负载转矩与速度成反比,速度愈快负载转矩愈小,当速度快至其极限时,步进电动机即不再运转。
所以在每走一步后,程序必须延时一段时间。
本实验需要用到CPU模块(F3区)和步进电机模块(A7区)。
步进电机电路原理参见图2。
图2步进电机电路
步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。
给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。
目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。
以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。
以此类推,连续给定脉冲信号,步进电机就可以连续运转。
由于电脉冲信号与步进电机转角存在的这种线性关系,使得步进电机在速度控制、位置控制等方面得到了广泛的应用。
步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;三是步进电机,它有多种控制原理和型号,现在常用的有反应式、感应子式、混合式等。
步进电机的速度控制是通过输入的脉冲频率快慢实现的。
当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。
还可以通过频率的改变而提高步进电机的速度或位置精度。
步进电机的位置控制是靠给定的脉冲数量控制的。
给定一个脉冲,转过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。
在包装机控制中,给定脉冲数的多少,还与机构的参数有关,例如螺杆的直径等。
在包装机械中,很多情况下需要控制执行机构的运行速度和运行位置,以前都是通过机械或其它方式来完成的,机构复杂、调节不易。
改用步进电机后,不仅能使包装机械结构变得简单、调节方便、可靠
性增加,而且粗度会得到很大提高
试验电路及连线
步进电机的驱动电压输入接J10的VB脚;步进电机的A、B、C、
D四相输入接J10的A、B、C、D脚。
步进电机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。
若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18°,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。
步进电动机的励磁方式可分为全步励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,二半步励磁又称1-2相励磁。
图5-1为步进电机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。
每输出一个脉冲信号,步进电动机只走一步。
因此,依序不断送出脉冲信号,即可使步进电动机连续转动。
相励磁法:
在每一瞬间只有一个线圈导通。
消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18°。
若欲以1相励磁法控制步进电动机正转,其励磁顺序如表5-1所示。
若励磁信号反向传送,则步进电动机反转。
表5-1以1相励磁法控制步进电动机正转的励磁顺序
励磁顺序:
A→B→C→D→A
STEP
A
B
C
D
1
1
0
0
0
2
0
1
0
0
3
0
0
1
0
4
0
0
0
1
b.2相励磁法:
在每一瞬间有两个线圈同时导通。
因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18°。
若以2相励磁法控制步进电动机正转,其励磁顺序如表5-2所示。
若励磁信号反向传送,则步进电动机反转。
表5-2以2相励磁法控制步进电动机正转的励磁顺序
励磁顺序:
AB→BC→CD→DA→AB
STEP
A
B
C
D
1
1
1
0
0
2
0
1
1
0
3
0
0
1
1
4
1
0
0
1
c.1-2相励磁法:
为1相与2相轮流交替导通。
因分辨率提高,且运转平滑,每送一励磁信号可走9°,故亦被广泛采用。
若以1-2相励磁法控制步进电机正转,其励磁顺序如表5-3所示,若励磁信号反向传送,则步进电动机反转。
表5-3以1-2相励磁法控制步进电动机正转的励磁顺序
励磁顺序:
A→AB→B→BC→C→CD→D→DA→A
STEP
A
B
C
D
1
1
0
0
0
2
1
1
0
0
3
0
1
0
0
4
0
1
1
0
5
0
0
1
0
6
0
0
1
1
7
0
0
0
1
8
1
0
0
1
电动机的负载转矩与速度成反比,速度越快负载转矩越小,当速度快至其极限时,步进电动机即不再运转。
所以在每走一步后,程序必须延时一段时间。
本实验需要用到CPU模块(F3区)和步进电机模块(A7区)。
步进电机电路原理参见图3
图3步进电机电路
三、源程序
;功能:
开关控制步进电机的正转、反转和停止。
;接线:
用导线对应连接步进电机模块的SMA~SMD到CPU模块的P10~P13,
;八位逻辑电平输出的K0~K2对应连接CPU模块的P15~P17。
;//****************************************************************
;K0——停止
;K1——正转
;K2——反转
ORG0000
LJMPSTART
ORG0023H
LJMPSO
;电机反转的顺序是01-03-02-06-04-0C-08-09
ORG0100H
START:
MOVSP,#5FH
MOVTMOD,#20H
MOVTH1,#0FDH
MOVTL1,#0FDH
MOVPCON,#00H
SETBTR1
MOVSCON,#50H
SETBEA
SETBES
//SJMP$
MOVA,#150
MOV30H,A
LOOP:
MOVP1,#00H;步进电机停止
ORLP1,#0E0H
MOVA,P1
JBACC.5,STOP;停止
JBACC.6,L1;正转
JBACC.7,L2;反转
JMPLOOP
L1:
MOVP1,#09H
CALLDELAY;延时,调节可以调整电机的转速
MOVP1,#08H
CALLDELAY
MOVP1,#0CH
CALLDELAY
MOVP1,#04H
CALLDELAY
MOVP1,#06H
CALLDELAY
MOVP1,#02H
CALLDELAY
MOVP1,#03H
CALLDELAY
MOVP1,#01H
CALLDELAY
AJMPLOOP
L2:
MOVP1,#01H
CALLDELAY;延时,调节可以调整电机的转速
MOVP1,#03H
CALLDELAY
MOVP1,#02H
CALLDELAY
MOVP1,#06H
CALLDELAY
MOVP1,#04H
CALLDELAY
MOVP1,#0CH
CALLDELAY
MOVP1,#08H
CALLDELAY
MOVP1,#09H
CALLDELAY
AJMPLOOP
stop:
MOVP1,#00H
JMPLOOP
DELAY:
MOVR1,30H;//#150;步进电机的转速20ms
D1:
MOVR2,#248
DJNZR2,$
DJNZR1,D1
RET
SO:
CLRRI
MOVA,SBUF
MOV30H,A
RETI
END
四、结果分析与总结
应该说这次课程设计还是基本达到了设计的要求,但是也存在着未能解决的问题,由于在执行语音程序时对资源的消耗比较大,在语音报数的时候会中断步进电机驱动信号的输出,导致电机停转。
为此,我们修改了方案,使用了两块单片机,通过双机通讯来传递信号,遗憾的是问题仍然没有得到解决。
这次步进电机的综合实验我们学到了步进电机、数码管、4*4键盘、语音报数和双机通讯的使用,更重要的是学会了程序出问题时调试的方法,并养成了Debug的习惯,学到了程序出问题后怎样去解决的基本方法。
五、主要参考资料
1.《电子设计自动化技术基础》马建国、孟宪元编清华大学出版2004年4月
2.《实用电子系统设计基础》姜威2008年1月
3.《单片机系统的PROTEUS设计与仿真》张靖武2007年4月