步进电机控制器/驱动器优化步进电机系统设计
前言
意法半导体新推出的步进电机控制芯片L6470在一颗芯片上集成了功率级和一个数字控制内核。这款步进电机控制芯片能够通过SPI接口接收微控制器的运动曲线命令,按照预制的加速度和速度曲线自动执行运动,还能自动加快电机的运转速度,并使之保持预设的转速。
该控制器的结构如图1所示。控制逻辑电路是一个可以设置的状态机,能够接收并保存各种参数,例如:加速度、减速度、启动转速、转速、相电流控制 (PWM)和步进模式。从全步进到1/128微步进,该控制器共支持8种步进模式。内部绝对位置计数器负责计算所选步进模式的步进或微步进的数量,以相当于该步进模式的分辨率跟踪电机转子位置。每步旋转1.8 度,1/128微步电机转子旋转一整圈后,位置计数器将自动增加25600(128 × 200步)。
所有的运动参数和命令都是通过SPI接口送到控制器。控制逻辑电路负责解释前进步数等运动命令,控制电机从静止开始做加速运转再返回到停止状态所需的步进时间和步数输出,同时执行命令中的步进总数。该芯片还能给这些运动命令排队和发送,进行复杂的运动控制,从而能够大幅减少微控制器的开销。
图1: 结构框图
运动和位置命令
数字内核可执行五种运动命令和4种停止命令:
Run (Direction, Speed) 加速运转直到接到停止命令为止
Move (Direction, N_Steps) 沿命令方向运动N步
GoTo (Position) 沿最直接路径运动到绝对位置
GoTo (Direction, Position) 沿指令方向运动到绝对位置
GoUntil (Act, Direction, Speed) 加速运转直到有外部事件发生为止
SoftStop 减速直到停止
Hard Stop 紧急制动(无减速过程)
SoftHiZ 减速到停止,然后关闭电桥
HardHiZ 紧急制动,并关闭电桥
在开始任何运动之前,通过SIP接口使用SetParam命令设置运转参数:最低转速、最高转速、加速度、减速度以及其它运动参数值。为确保运动的完整性,在电机运动过程中,运动曲线的很多参数值是锁定的,只能在电机被制动后才能更改这些参数。
图2所示是Move命令的一个典型运动曲线。当接收到一条 Move命令时,控制器将计算电机从静止开始做加速运转再返回到起始位置所需的步数N的运动曲线,整个过程都是由数字内核硬件独立完成的。
GoTo命令指示驱动器根据内部22位绝对位置计数器的数值驱动电机旋转到一个特定位置。 GoTo命令分为两种:一种沿特定方向旋转;另一种是沿最直接路径旋转,即确定以最少步数达到所需位置的运动方向。对于每步旋转1.8度的1/128微步电动机,22位计数器的解析率相当于电机旋转大约164周。即便齿轮减速比很大,有效解析率仍然在位置计数器的范围内。GoTo命令的运动曲线看起来与Move命令曲线相同,但是有一点不同,在GoTo命令中,达到命令指定的绝对位置所需步数是自动计算结果。
Run和GoUntil命令用于使电动机保持恒速旋转,直到接到一条制动命令 (适用于Run命令)或者有外部事件发生(适用于GoUntil)为止。当接收到一条制动命令时,控制器执行下面两种操作之一:紧急制动或减速制动。该器件还能执行紧急制动或减速停止,然后提供三态输出。
图 2:典型运动曲线
如图3所示,使用一系列Run命令可以执行复杂的运动。每接到一个新的Run命令后,控制器都会驱动电机做加速或减速旋转到新命令指定的位置,并以指定速度保持旋转,直到接收到下一条Run命令或一条Stop命令为止。当接收到一条反向运转命令时,电机减到最低速度,然后再向相反方向加速运转。
图 3:多条Run命令可实现复杂运动
评论