当前位置:文档之家› 基于单片机的步进电机控制

基于单片机的步进电机控制

基于单片机的步进电机控制
基于单片机的步进电机控制

基于单片机的步进电机控制

【摘要】当今社会发展的脚步愈变愈快,科学技术也是日新月异。同时,对于生活工作要求简单化、智能化、系统化。对于各个领域的应用设备要操作简单,功能齐全应用自如等等苛刻的要求。在众多条件的促使下,引入了步进电机,而且使之被系统化操作。现今已有如步进电机控制器和驱动器为一体的步进电机控 AT89C51 和脉冲分配器 PMM8713 完成步进电机的各种运行控制。

整个系统采用模块化设计,结构简单,可靠,通过人机交互换接口能设置,操作简单,易于掌握。该系统可应用于步进电机在机电一体多数场合。

更多的实践证明,基于单片机控制的步进电机比传统的步进控制器具有更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最器件——步进电机。

【关键词】步进电机,单片机,正反转控制,加减速控制,XY工作台

目录

第一章绪论 (3)

1.1 步进电机的发展 (3)

1.2 本文研究内容............. ............. ............. (3)

第二章步进电机的工作原理、分类、特性及指标 (3)

2.1反应式步进电机原理 (4)

2.2感应子式步进电机特点: (4)

2.3分类 (5)

第三章步进电机的驱动............. ............. .. (5)

3.1 脉冲信号的产生 (5)

3.2 信号分配 (5)

3.3 功率放大 (5)

3.4 细分驱动器 (6)

第四章步进电机的单片机控制 (7)

4.1 步进电机控制系统组成 (7)

4.2 步进电机控制系统原理 (7)

4.3 脉冲分配 (7)

4.4 步进电机与微型机的接口电路 (9)

第五章步进电机的运行控制............. ............. (10)

5.1 步进电机的速度控制 (10)

5.2 步进电机的位置控制 (10)

5.3 步进电机的加减速控制 (10)

第六章步进电机的XY工作台............. ............. .. (12)

6.1 设计目标 (12)

6.2 X、Y工作台的传动方式 (12)

6.3 程序框图 (13)

6.4 汇编程序 (14)

设计总结............ ............. ............. (16)

参考文献............. ............. ............. .. (17)

第一章绪论

1.1 步进电机的发展

步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到 20 世纪 60 年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

图1.1 步进电机的外观图

1.2 本文研究内容

本设计主要是研究基于单片机的步进电机控制,采用单片机AT89C51和脉冲分配器PMM8713 控制步进电机在三相六拍工作方式下的启停控制,正反转控制和加减速控制,以实现基于步进电机的XY工作台两点间的位移控制。

第二章步进电机的工作原理、分类、特性及指标

2.1反应式步进电机原理

2.1.1结构:

电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3T、2/3T,(相邻两转子齿轴线间的距离为齿距以T表示),即A 与齿1相对齐,B与齿2向右错开1/3,C与齿3向右错开2/3T,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:

图2.1 定转子的展开图

2.1.2、旋转:

如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。

如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3L,此时齿3与C偏移为1/3T,齿4与A偏移(T-1/3T)=2/3T。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3T,此时齿4与A偏移为1/3T对齐。

如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3T,样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A……通电,电机就每步(每脉冲)1/3T,向右旋转。如按A,C,B,A……通电,电机就反转。

由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BC-C-CA-A这种导电状态,这样将原来每步1/3T改变为1/6T。甚至于通过二相电流不同的组合,使其1/3T变为1/12T,1/24T,这就是电机细分驱动的基本理论依据。

不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移

1/m,2/m……(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制——这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。

2.1.3力矩:

电机一旦通电,在定转子间将产生磁场(磁通量Ф)当转子与定子错开一定角度产生力

F与(dФ/dθ)成正比

S

图2.2转子与定子错开角度图

其磁通量Ф=Br×S

Br为磁密,S为导磁面积

F与L×D×Br成正比

L为铁芯有效长度,D为转子直径

Br=N×I/R

N·I为励磁绕阻安匝数(电流乘匝数)R为磁阻。

力矩=力×半径

力矩与电机有效体积×安匝数×磁密成正比(只考虑线性状态)。因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。

2.2感应子式步进电机特点:

感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,

因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自

身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小。

感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四

相运行,也可以作二相运行。(必须采用双极电压驱动),而反应式电机则不能如此。例

如:四相,八拍运行(A-AB-B-BC-C-CD-D-DA-A )完全可以采用二相八拍运行方式.不难发

现其条件为C=A ,D=B .

为了方便使用,灵活改变电机的一个二相电机的内部绕组与四相电机完全一致,小功

率电机一般直接接为二相,而功率大一动态特点,往往将其外部接线为八根引线(四相),

这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。

2.3分类

感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。

以机座号(电机外径)可分为:42BYG(BYG 为感应子式步进电机代号)、57BYG 、86BYG 、

110BYG 、(国际标准),而像70BYG 、90BYG 、130BYG 等均为国内标准。

第三章 步进电机的驱动

使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如下:

图3.1 步进电机控制系统

3.1脉冲信号的产生

脉冲信号一般由单片机或CPU 产生,一般脉冲信号的占空比为0.3-0.4左右,电

机转速越高,占空比则越大。

3.2信号分配

很多生产的感应子式步进电机以二、四相电机为主,二相电机工作方式有二相四拍和二相八拍二种,具体分配如下:二相四拍为A AB -A B -B -B A ,步距角为1.8度;二相八拍为A B AB --B -A -A B -B -A B -AB A -,步距角为0.9度。四相电机工作方式

也有二种,四相四拍为AB-BC-CD-DA-AB,步距角为1.8度;四相八拍为

AB-B-BC-C-CD-D-AB,(步距角为0.9度)。

3.3功率放大

功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的

动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越

大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不同的场合采取不

同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱

动、恒流、细分数等。

为尽量提高电机的动态性能,将信号分配、功率放大组成步进电机的驱动电源。像SH 系列二相恒流斩波驱动电源与单片机及电机接线图如下:

图3.2 硬件接线示图

说明:

CP 接CPU脉冲信号(负信号,低电平有效)

OPTO 接CPU+5V

FREE 脱机,与CPU地线相接,驱动电源不工作

DIR 方向控制,与CPU地线相接,电机反转

VCC 直流电源正端

GND 直流电源负端

A 接电机引出线红线

A接电机引出线绿线

B 接电机引出线黄线

接电机引出线蓝线

步进电机一经定型,其性能取决于电机的驱动电源。步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高。电压对力矩影响如下:

图3.3电压频率特性图

3.4 细分驱动器

在步进电机步距角不能满足使用的条件下,可采用细分驱动器来驱动步进电机,细分驱动器的原理是通过改变相邻(A,B)电流的大小,以改变合成磁场的夹角来控制步进电机运转的。

图3.4 细分驱动器原理图

第四章步进电机的单片机控制

4.1 步进电机控制系统组成

图4.1 用微型机控制步进电机原理系统图

与传统步进控制器相比较有以下优点:

一、用微型机代替了步进控制器把并行二进制码转换成串行脉冲序列,并实现

方向控制。

二、只要负载是在步进电机允许的范围之内,每个脉冲将使电机转动一个固定

的步距角度。

三、根据步距角的大小及实际走的步数,只要知道初始位置,便可知道步进电

机的最终位置。

4.2 步进电机控制系统原理

4.2.1 脉冲序列的生成

图4.2 脉冲的生成图

脉冲幅值:由数字元件电平决定。

TTL 0 ~ 5V CMOS 0 ~ 10V

接通和断开时间可用延时的办法控制。要求:确保步进到位。

4.2.2 方向控制

步进电机旋转方向与内部绕组的通电顺序相关。三相六拍,通电顺序为:

正转: A→AB→B→BC→C→CA

反转: A→AC→C→CB→B→BA

改变通电顺序可以改变步进电机的转向

4.3 脉冲分配

实现脉冲分配(也就是通电换相控制)的方法有两种:软件法和硬件法

4.3.1 通过软件实现脉冲分配

软件法是完全用软件的方式,按照给定的通电换相顺序,通过单片机的I/O向驱动电

路发出控制脉冲,下面以三相六拍为例:

上面提到了三相六拍工作方式通电换相得正序为A-AB-B-BC-C-CA-A,,反

序为A-AC-C-CB-B-BA-A

图4.3 用软件实现脉冲分配的接口示意图

注:P1.0:A相驱动

P1.1:B相驱动

P1.2:C相驱动

三相六拍控制字如下表所示:

表4.1 三相六拍工作方式的控制字

注:0代表使绕组断电,1代表使绕组通电

在程序中,只要依次将这 10 个控制字送到 P1 口,步进电机就会转动一个齿距角,每送一个控制字,就完成一拍,步进电机转过一个步距角。

软件法在电动机运行过程中,要不停地产生控制脉冲,占用了大量的CPU时间,可能使单片机无法同时进行其他工作(如监测等),所以,人们更喜欢用硬件法。

4.3.2 通过硬件实现脉冲分配

所谓硬件法实际上就是使用脉冲分配器8713,来进行通电换相控制。

8713是属于单极性控制,用于控制三相和四相步进电机,我们选择的是三相六拍工作方式。8713可以选择单时钟输入或双时钟输入,具有正反转控制、初始化复位、工作方式和输入脉冲状态监视等功能,所有输入端内部都设有斯密特整形电路,提高抗干扰能力,使用 4~18V 直流电源,输出电流为 20mA。本例选用单时钟输入方式,8713 的3脚为步进脉冲输入端,4脚为转向控制端,这两个引脚的输入均由单片机提供和控制,选用对三相步进电机进行六拍方式控制,所以5、6脚接高电平,7脚接地。

如图4.4所示:

图4.4 89C51单片机系列和8713脉冲分配器的接口图由于采用了脉冲分配器,单片机只需提供步进脉冲,进行速度控制和转向控制,脉冲分配的工作交给8713来自动完成,因此,CPU的负担减轻许多。

4.4 步进电机与微型机的接口电路

由于步进电机的驱动电流较大,所以微型机与步进电机的连接都需要专门的接口及驱动电路。驱动器可用大功率复合管,也可以是专门的驱动器。总之,只要按一定的顺序改变 8713 脉冲分配器的 13 脚~15 脚三位通电的状况,即可控制步进电机依选定的方向步进。由于步进电机运行时功率较大,可在微型机与驱动器之间增加一级光电隔离器(一是抗干扰,二是电隔离。)以防强功率的干扰信号反串进主控系统。

电路图如图4.5所示:

图4.5 单片机与步进电机的接口电路图

一、图4.5中 K1、K2、K3、K4按钮分别控制步进电机正转、反转、加速、减速。

二、因为我们讨论的是三相六拍的工作方式,所以 P0.4 和 P0.6 接高电平,P0.7接低电平。

三、 P0.0输出步进脉冲。

四、 P0.1控制步进电机的转向。

第五章步进电机的运行控制

5.1 步进电机的速度控制

步进电机的速度控制是通过单片机发出的步进脉冲频率来实现,对于软脉冲分配方式,可以采用调整两个控制字之间的时间间隔来实现调速,对于硬脉冲分配方式,可以控制步进脉冲的频率来实现调速。

一、软件延时法:改变延时的时间长度就可以改变输出脉冲的频率,但这种方法CPU 长时间等待,占用大量的机时,因此没有实践价值。

二、定时器中断法:在中断服务子程序中进行脉冲输出操作,调整定时器的定时常数就可以实现调速,这种方法占有的CPU时间较少,在各种单片机中都能实现,是一种比较实用理想的调速方法。

5.2 步进电机的位置控制

步进电机的位置控制,指的是控制步进电机带动执行机构从一个位置精确地运行到另一个位置,步进电机的位置控制是步进电机的一大优点,它可以不用借助位置传感器而只需要简单的开环控制就能达到足够的位置精度,因此应用很广。步进电机的位置控制需要两个参数。

一、步进电机控制执行机构当前的位置参数(我们称为绝对位置),绝对位置时有极限的,其极限时执行机构运动的范围,超越了这个极限就应报警。

二、从当前位置移动到目标位置的距离我们可以用折算的方式将这个距离折算成步进电机的步数,这个参数是外界通过键盘或可调电位器旋钮输入的,所以折算的工作应该在键盘程序或A/D转换程序中完成。

对步进电机位置控制的一般作法是:步进电机每走一步,步数减1,如果没有失步存在,当执行机构到达目标位置时,步数正好减到 0,因此,用步数等于0来判断是否移动到目标位,作为步进电机停止运行的信号。

5.3 步进电机的加减速控制

步进电机驱动执行机构从A点到B点移动的时,要经历升速,恒速,减速过程,如果启动时一次将速度升到给定速度,由于启动频率超过极限启动频率,步进电机就有失步现象,因此会造成不能正常启动,如果到终点时突然停下来,由于惯性作用,步进电机会发生过冲现象,会造成位置精度降低。如果升速非常缓慢的升降速,步进电机虽然不会发生失步和过冲现象,但影响执行机构的工作效率,所以,对步进电机的加减速要有严格的要求,那就是保证在不失步和过冲的前提下,用最快的速度(或最短的时间)移动到有可能指定位置。为满足加减速要求,步进电动机运行通常按照加减速曲线进行。图 5.1 是加减速运行曲线。加减速运行曲线没有一个固定的模式,一般根据经验和实验得到的。最简单的是匀加速和匀减速曲线,其加减速曲线都是直线,因此容易编程实现。按直线加速时,加速度是不变的,因此要求转矩也应该是不变的。但是,由于步进电动机的电磁转矩玉转速时非曲线关系,因而加速度玉频率也应该是非曲线关系。因此,实际上当转速增加时,转矩下降,所以,按直线加速时,有可能造成因转矩不足而产生失步的现象。

如图5.1所示:

图5.1 加减速曲线图

采用指数加、减速曲线或 S 形(分段指数曲线)加、减速曲线是最好的选择。步进电机的运行可以根据距离的长短分如下三种情况处理:

一、短距离

由于距离较短,来不及升到最高速,因此,在这种情况下,步进电机以洁净启动频率运行,运行过程没有加、减速。

二、中、短距离

在这样的距离里,步进电机只有加、减速过程,而没有恒速过程。

三、中、长距离

在这样的距离里,步进电机不经有加、减速过程,而且还有恒速过程。

由于距离较长,要尽量缩短用时,保证快速反应性。因此,在加速时,尽量用接近启动频率启动,在恒速时,尽量工作在最高速。单片机在用定时器法调速时,用改变定时常数的方法来改变输入步进脉冲频率,达到改变转速的目的,对于 MCS-51 系列单片机,其定时器属于加 1 定时器。因此,在步进电机加速时,定时常数应增加;减速时,定时常数应减小。如果采用非线性加、减速曲线,要用离散法将加减速曲线离散化,将离散所得的转速序列所对应的定时常数序列,做成表格存储在程序存储器重。在程序运行中,使用查表得方式重装定时常数,这样做比用计算机节省时间,提高系统的响应速度。

在下章的程序中,参数除了有速度级数 N 和极步数 NC 以外,还有以下参数:

一、加速过程的总步数:电动机在升速过程中每走一步,加速总步数就减1,直到减为0,加速过程结束,进入恒速过程。

二、恒速过程的总步数:电动机在恒速过程中每走一步,恒速总步数就减1,直到减为0,恒速过程结束,进入减速过程。

三、减速过程的总步数:电动机在减速过程中每走一步,减速总步数就减1,直到减为0,减速过程结束,电动机停止运行。

第六章步进电机的XY 工作台

6.1 设计目标

利用两个步进电机组成X、Y坐标系,并分别控制工作台上X轴和Y轴的步进脉冲,实现从起点A点到预定点B点的走向控制。

对步进电机的控制要求:

一、判断旋转方向;

二、按顺序传送控制脉冲;

三、判断所要求的控制步数是否传送完毕。

6.2 X、Y工作台的传动方式

为保证一定的传动精度和平稳性以及结构的紧凑,采用滚珠丝杆螺母传动

副。为提高传动刚度和消除间隙,采用有预加载荷的结构。

由于工作台的运动部件重量和工作载荷不大,故选用滚动直线导轨副,从而减少工作台的摩擦系数,提高运动平稳性。

考虑电机步距角和丝杠导程只能按标准选取,为达到分辨率的要求,以及考虑步进电机负载匹配,采用齿轮减速传动,系统总体框图如下:

图6.1 步进电机控制XY轴系统总体框图

如图 6.1 所示,分别用两台步进电机控制 XY 轴工作台,具体控制图如下

所示:

图6.2 丝杠螺母传动

如图 6.2 所示,当步进电机转动时,带动丝杠转动,丝杠和工作台纹合,致使工作台直线位移。为了方便计算,本文以90BF001系列磁阻式步进电机中的90BF003三相步进电机为例:

表6.1 90BF003步进电机技术参数表

由上表可知,步进电机的步距角为1.5°,由θb=θz/N = 2π/NZ可得知步进电机的齿数为40。步进电机的轴周长为C= 2πR= πD=9π,所以步进电机走过一个步距角即1.5°,它所连的丝杠走过约为8.5mm。设起点A的坐标为(0,0)通过两台步进电机分别控制XY 轴使得轨迹达到 B点(34,34)。

表6.2 步进电机的运动坐标分配表

图6.3 步进电机丝杠连动运动轨迹图

根据坐标分配表可画出步进电机丝杠连动在 XY 轴上的运动轨迹图如图 6.3所示,由图可知,步进电机走的不是直线,而是折线。

下面根据基于XY轴的步进电机控制系统的原理对机床工作台移动的移动量、速度和移动方向进行控制三个方面进行介绍。

一、工作台位移量的控制

数控机床控制系统发出的 N个进给脉冲,经驱动线路之后,变成控制步进电机定子绕组通电、断电的电平信号变化次数 N,使步进电机定子绕组的通电状态变化 N次。由步进电机工作原理可知,定子绕组通电状态的变化次数 N决定了步进电机的角位移 , ( α

即步距角)。该角位移经丝杠、螺母之后转变为工作台的位移量 L, (t为螺距)。即进给脉冲的数量 N→定子绕组通电状态变化次数 N→步进电机的转角→工作台位移量 L。

二、工作台进给速度的控制

机床控制系统发出的进给脉冲的频率,经驱动控制线路之后,表现为控制步进电机定子绕组通电、断电的电平信号变化频率,也就是定子绕组通电状态变化频率。而定子绕组通电状态的变化频率决定了步进电机转子的转速。该转子转速经丝杠螺母转换之后,体现为工作台的进给速度。即进给脉冲的频率→定子绕组通电状态的变化频率→步进电机的转速→工作台的进给速度。

三、工作台运动方向的控制

当控制系统发出的进给脉冲是正向时,经驱动控制线路,使步进电机的定子各绕组按一定的顺序依次通电、断电;当进给脉冲是负向时,驱动控制线路则使定子各绕组按与进给脉冲是正向时相反的顺序通电、断电。由步进电机的工作原理可知,通过步进电机定子绕组通电顺序的改变,可以实现对步进电机正转或反转的控制,从而实现对工作台的进给方向的控制。

6.3 程序框图

根据设计任务,可画出控制步进电机正反转,加减速控制,工作方式为双时

钟,程序框图如图6.4:

图6.4 基于单片机的步进电机控制程序框图

6.4 汇编程序

本程序的资源分配如下:

R0——中间寄存器;

R1——储存速度级数;

R2——储存级数步数;

R3——加减速状态指针,加速时指向 35H,恒速时指向 37H,减速时指向3AH;

32H―34H——存放绝对参数(假设用3个字节),低位在前;

35H、36H——存放加速总步数(假设2个字节),低位在前;

37H-39H——存放恒速总步数(假设3个字节),低位在前;

3AH、3BH——存放减速总步数(假设2个字节),低位在前;

P0.0——正转脉冲输入;

P0.1——反转脉冲输入;

P1.3——正转按钮 K1;

P1.4——反转按钮 K2;

P1.5——加速按钮 K3;

P1.6——减速按钮 K4;

定时常数序列放在以 ABC 为起始地址的 ROM 中。初始 R3=35H,R1、R2 都有初始值。

程序如下:

ORG 0000H

JNB P0.0 ZZ;

JNB P0.1 FZ;

ZZ:INC R0

CJNE R0,#06H ZZ1;

MOV R0,00H;

ZZ1:MOV A,R0;

MOV DPTR,#ABC;

MOVC A,@A+DPTR;

MOV P0 A;

FZ: DEC R0;

CJNE R0 #0FFH,FZ1;

MOV R0,#05H ;

FZ1:MOV A,R0;

MOV DPTR,#ABC;

MOVC A,@A+DPTR;

MOV P0,A;

ABC:DB 01H 03H 02H 06H 04H

RET

JS:MOV R0,#35;

CJNE@R0 #0FFH,JS1;

INC R0;

DEC @R0;

JS1:DJNC R2 JS2;

INC R1;

MOV A R1;

MOV B,#N;

MUL AB;

MOV R2 A;

相关主题
文本预览
相关文档 最新文档