在步进电动机的单片机控制系统中,由单片机产生控制信号,控制功率驱动电路按照一 定的顺序开通或关断。单片机完成控制脉冲分配、控制步进电动机的转向和控制步进电动机 的转速等功能。下面介绍利用 MCS51 系列单片机控制步进电动机的方法。
3.6.1 脉冲分配
1.通过软件实现脉冲分配
脉冲分配器的功能可以完全由软件来实现。在这种方法中,单片机的输出口直接与功率 驱动电路的接口耦合,单片机的 I/O 口按照给定的通电方式向驱动电路发出控制脉冲。图 338 是用这种方法控制五相反应式步进电动机的硬件接口示意图,利用 MCS51 单片机的 P1.0~
P1.4 五条输出口线向步进电动机传送控制信号。
图 338 通过软件实现五相步进电动机的脉冲分配
以 二 - 三 通 电 五 相 十 拍 运 行 方 式 ( AB®ABC®BC®BCD®DC®CDE®DE®DEA®
EA®EAB®AB……)为例,电机共有 10 个通电状态。设 P1 原始输出为高电平,P1 口输出 五相
步进电动机 五相
功率驱动电路 A
B C D E P1.0
P1.1 P1.2 P1.3 P1.4 MCS51
系列 单片机
低电平使功率电路导通,输出高电平使功率电路截止,则在 P1 口输出的控制信号中,0 代表 使绕组通电,1 代表使绕组断电,可用 10 个控制字来对应这 10 个通电状态,如表 34 所示。
表 34 二-三通电五相十拍工作方式控制字 控制四相混合式步进电动机,假定 P1 口为低电平时绕组通电,并用 P1.1、P1.3、P1.5、P1.7 分别驱动 A、B、C、D 四相的功率接口,则四相八拍运行时可用表 35 中的数据进行控制。
观察表 35 可知,要使步进电动机换相,只需对字节内容进行循环移位就可以了,左移时电动 机正转,右移时电动机反转。
表 35 四相步进电动机运行控制数据表
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
D C B A
但是,采用软件法实现脉冲分配,单片机要不停地产生控制脉冲,占用了大量的 CPU 时 PMM8713、富士通公司的 MB8713 直接互换)适用于三相和四相步进电动机,它可以选择以 下六种不同的工作方式:三相单三拍、三相双三拍、三相单双六拍、四相单四拍、四相双四 拍和四相单双八拍。
8713 的输入方式可选择单时钟(加方向信号)和双时钟(正转或反转时钟)方式,具有 正反转控制、初始化复位、工作方式和输入脉冲监视等功能。使用 4~18V 电源,相输出驱动 能力为± 20mA。8713 采用 DIP16 封装,管脚功能见表 36。
表 36 8713 管脚功能
5,6 工作方式选择 11六(八)拍,00双三(四)拍,01、10单三(四)拍
7 三/四相选择 0三相,1四相
8 地
9 复位端 低电平有效
10, 11, 12, 13 输出端 13A,12B,11C,10D 相;11~13三相
14 通电监视 0单相通电,1两相通电,脉冲单相、两相交替
5、6、7 脚均接高电平,则电机为四相单双八拍运行方式。
图 340 通过脉冲分配器控制四相步进电动机 3.用软硬件相结合的方法实现脉冲分配
图 341 给出了一种软硬件相结合实现脉冲分配的电路原理图,单片机的四条数据线 P1.0~P1.3 直接接到 EPROM(2764)的低四位地址线上,EPROM 的其他地址线均接地,这 样 P1 口可选通 EPROM 的 16 个状态。
图 341 步进电动机软硬件结合控制
在 EPROM 中存储各种通电状态,如表 37 所示。在单片机的数据存储器中选一个地址作 为输出状态的计数器,程序只需把计数器加 1 送到 P1 口,就可完成一拍。输出的数据实际相 当于脉冲分配器输出的代码,而代码的含义是由 EPROM 内存解码完成,每一个数据对应脉冲 分配器的一个输出状态。脉冲分配器的功能不用主机负担,同时也不需要如串行脉冲时的延 时,软件的消耗也极少,所以主机可以有更多的时间去从事其他工作。
表 37 输入和输出对应关系
输入 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 输出 A AB B BC C CD D DA D CD C BC B AB A 禁止 正转 ¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾®
反转 ¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾®
3.6.2 步进电动机的速度控制
下面以使用 MCS51 系列单片机的定时器 T0 为例,说明控制程序的设计方法。设电机运 行速度定为每秒 1000 步(1000 脉冲/s) ,则换向周期为 1000ms。设单片机使用 12MHz 时钟,
则机器周期 T 为 1ms。 定时器应该每 1000 个机器周期中断一次。 定时器执行加计数, 所以 1000
前提下,用最快的速度(或最短的时间)移动到指定位置。
如图 342 所示,步进电动机的升速一般有两种选择,一种是按直线规律升速,另一种是 指数规律升速。直线升速规律则比较简炼,而指数升速规律比较接近步进电动机输出转矩随 转速变化的规律。
(a)直线升速规律 (b)指数升速规律
图 342 步进电动机的升速规律
控制步进电动机进行加减速就是控制每次换相的时间间隔。当微机利用定时器中断方式 来控制电机变速时,实际上就是不断改变定时器装载值的大小。为了减少每步计算装载值的 时间,可以用阶梯曲线来逼近理想升降曲线,如图 343 所示。
图 343 速度上升轨迹
图 343 是近似指数加速曲线。离散后速度并不是一直连续上升的,而是每升一级都要在 该级上保持一段时间,因此实际加速轨迹呈阶梯状。如果速度(频率)是等间距分布,那么 在每个速度级上保持的时间不一样长。为了简化,我们用速度级数 N 与一个常数 C 的乘积去 模拟,并且保持的时间用步数来代替。因此,速度每升一级,步进电动机都要在该速度级上 走 NC 步(其中 N 为该速度级数)。
为了简化,减速时也采用与加速时相同的方法,只不过其过程是加速时的逆过程。
2.加减速定位控制的软件设计
软件设计是在硬件设计基本完成的基础上进行的。 现在假定采用图 341 所示的硬件环境。
于是,对步进电动机的走步控制就是对通电状态计数器进行加一运算。而速度控制则是通过 不断改变定时器的装载值来实现的。整个应用软件由主程序和定时器中断服务程序构成。主 程序的功能是:对系统资源进行全面管理、处理输入与显示、计算运行参数、加载定时器中 断服务程序所需的全部参数和初始值、开中断、等待走步过程的结束。
定时器中断服务程序框图如图 344 所示,其功能为:使步进电动机走一步、累计转过的 步数、向定时器送下一个延时参数。
图 344 定时器中断服务程序框图
整个定时器中断服务程序的运行时间必须比走步脉冲间隔短。为了减少单片机的计算工 作量,将转速序列所对应的定时常数序列做成表格存储在程序存储器中。在程序运行中,软 件系统通过查表方法查出所需要的定时器装载值。