采用STM32控制L6470步进电机驱动器

发布时间 : 星期一 文章采用STM32控制L6470步进电机驱动器更新完毕开始阅读

采用STM32控制L6470步进电机驱动器

【摘要】常用的步进电机控制器,根据不同的运动方式需要由单片机发出不同频率的和数目的脉冲信号到专用控制芯片,而ST公司的数字控制电机驱动芯片L6470内部数字控制系统可实现完备的运动曲线控制方案,只需要使用单片机发出命令告诉它要怎样运动即可,简化了电路和程序。

【关键词】数字控制内核;微步;STM32;SPI接口

步进电机是将电脉冲信号变为电机角位移的或机电执行元件,步进驱动器接收到一个脉冲,电机旋转一个固定的角度,非常适合单片机控制,因此可以用单片机控制脉冲的数量来控制电机的旋转角度,控制脉冲的频率来控制电机的旋转速度,而改变电机电流的方向可以改变电机的旋转方向。

ST公司的L6470省去了单片机的这些工作,单片机只要通过命令告诉L6470以什么样的速度运行到什么位置停止,电机就会在L6470数字内核的控制下按指定方式运行,这些只要发送一个函数命令即可,剩下的就交给L6470去完成。

1.系统原理框图

如图1所示,整个系统由4部分组成,电源、单片机(MCU)、L6470、电机,其中电源的24V给L6470的功率驱动电路供电,24V经过DC—DC模块转换为3.3V分别给单片机和L6470的数字控制部分供电。单片机通过SPI接口控制L6470,而L6470把各种状态位反馈回单片机。上位机可以通过串口命令控制电机。

2.驱动芯片L6470简介

L6470是ST公司生产的新一代两相步进电机驱动芯片,可以在8~45V的宽电压下工作,峰值电流7A(平均电流最大3A)。内部集成两个低导通电阻的DMOS全桥电路和数字控制内核,可以高效地驱动步进电机,精确的片上电流检测电路有完备的电流控制能力和过电流保护。独特的控制系统可以把单步细分为最多128微步,使运动效果更平滑稳定。数字控制内核通过配置制定寄存器能够按照用户定义设置加速、减速、匀速和运动到目标位置等运动方案。具有完备的过热、欠压、过流、当机、反电动势补偿等保护方案。所有的命令和数据寄存器都由一个标准的SPI接口访问和控制。

2.1 运动控制命令

单片机通过SPI接口可以向L6470发送以下4种不同的运动控制命令。 恒速命令:让电机以设定的加减速度旋转到恒定的速度。 绝对位置命令:设定电机以指定路径或最小路径旋转到指定位置,然后停止。 运动命令:让电机按指定的方向运动指定步进数目 停止命令:使电机停转。

以上4种命令配合加减速控制,可以实现复杂的运动控制方案,不再需要单片机来计算脉冲频率、脉冲数目,脉冲时序等参数。

2.2 内部寄存器说明

L6470内部一共有25个可用寄存器,每个寄存器对应某种控制功能或状态位,单片机通过SPI接口访问或改写这些寄存器地址里面的内容。

有的是用于控制的,主要有:绝对位置、电气位置、运行速度、最大/最小速度、加/减速度、步进单位、过电流门槛、保持/运行/加速/减速PWM功率周期、振荡器频率、PWM频率。

联系合同范文客服:xxxxx#qq.com(#替换为@)