步进电机的单片机控制
4.1 步进电机控制系统组成
图4.1 用微型机控制步进电机原理系统图
与传统步进控制器相比较有以下优点:
1. 用微型机代替了步进控制器把并行二进制码转换成串行脉冲序列,并实现方向控制。
2. 只要负载是在步进电机允许的范围之内,每个脉冲将使电机转动一个固定的步距角度。
3. 根据步距角的大小及实际走的步数,只要知道初始位置,便可知道步进电机的最终位置。
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 通过软件实现脉冲分配
软件法是完全用软件的方式,按照给定的通电换相顺序,通过单片机的IO向驱动电路发出控制脉冲,下面以三相六拍为例
上面提到了三相六拍工作方式通电换相得正序为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 三相六拍工作方式的控制字
通电状态 P1.2 P1.1 P1.0 控制字
A 0 0 1 01H
AB 0 1 1 03H
B 0 1 0 02H
BC 1 1 0 06H
C 1 0 0 04H
CA 1 0 1 05H
注:0代表使绕组断电,1代表使绕组通电
在程序中,只要依次将这10个控制字送到P1口,步进电机就会转动一个齿距角,每送一个控制字,就完成一拍,步进电机转过一个步距角。
软件法在电动机运行过程中,要不停地产生控制脉冲,占用了大量的CPU时间,可能使单片机无法同时进行其他工作(如监测等),所以,人们更喜欢用硬件法。
4.3.2 通过硬件实现脉冲分配
所谓硬件法实际上就是使用脉冲分配器8713,来进行通电换相控制。
8713是属于单极性控制,用于控制三相和四相步进电机,我们选择的是三相六拍工作方式。8713可以选择单时钟输入或双时钟输入,具有正反转控制、初始化复位、工作方式和输入脉冲状态监视等功能,所有输入端内部都设有斯密特整形电路,提高抗干扰能力,使用4~18V直流电源,输出电流为20mA。本例选用单时钟输入方式,8713的3脚为步进脉冲输入端,4脚为转向控制端,这两个引脚的输入均由单片机提供和控制,选用对三相步进电机进行六拍方式控制,所以5、6脚接高电平,7脚接地。
如下图所示:
图4.4 89C51单片机系列和8713脉冲分配器的接口图
由于采用了脉冲分配器,单片机只需提供步进脉冲,进行速度控制和转向控制,脉冲分配的工作交给8713来自动完成,因此,CPU的负担减轻许多。
4.4 步进电机与微型机的接口电路
由于步进电机的驱动电流较大,所以微型机与步进电机的连接都需要专门的接口及驱动电路。驱动器可用大功率复合管,也可以是专门的驱动器。
总之,只要按一定的顺序改变8713脉冲分配器的 13脚~15脚 三位通电的状况,即可控制步进电机依选定的方向步进。由于步进电机运行时功率较大,可在微型机与驱动器之间增加一级光电隔离器(一是抗干扰,二是电隔离。)以防强功率的干扰信号反串进主控系统。
电路图如下所示:
图4.5 单片机与步进电机的接口电路图
1. 图中 K1、K2、K3、K4按钮分别控制步进电机正转、反转、加速、减速。
2. 因为我们讨论的是三相六拍的工作方式,所以P0.4和P0.6接高电平,P0.7接低电平。
3. P0.0输出步进脉冲。
4. P0.1控制步进电机的转向。