1 步进电机器驱动接法

步进电机驱动器串电阻 R 的大小通常根据驱动信号的电压来确定。为了保证驱动器内部光耦的驱动电流在8-15mA之间,从而确保驱动器的正常工作。

  1. 24V驱动信号下:2KΩ

  2. 12V驱动信号下:1.5KΩ

  3. 5V驱动信号下:200Ω

现在大部分新款驱动都不需要串电阻

1.1 共阳极接法

alt text

  1. 所有 + 连接到 VCC

  2. 共阳极接法下,一般都是使用NPN的集电极驱动。

1.2 共阴极接法

alt text

  1. 所有 - 连接到 GND

  2. 共阴极接法下,一般都是使用PNP三极管的集电极驱动。

2 A4988步进驱动

alt text

VMOT和GND需要并联100uF的电解电容,不是图中的47uF。

引脚说明:

  • ENABLE:使能引脚,悬空或则低电平有效,高电平则停止驱动。

  • MS:S1~MS3是用于控制步进分辨率的:整步、半步、四分之一步、八步和十六步;通过它们的电平组合来实现,其真值表如下图所示:

    alt text

    一般步进步距角都是1.8°,所以200步(全步)是一圈。如果是1/16步,需要走3200步,才是一圈。

  • RESET:复位引脚。该引脚为低电平有效,低电平A4988将复位。如果该引脚悬空,则A4988默认为高电平。即该引脚没有连接任何电平时,A4988可以正常工作。

  • SLEEP:睡眠引脚。该引脚也是低电平有效,低电平A4988进低能耗睡眠状态。如果无需使用SLEEP,则可以将SLEEP引脚与RESET引脚连接,A4988正常工作。

  • SETP:脉冲输入,往这个脚输入一个方波,电机转动一步,也就是(1.8/16)°(以1.8°电机,16细分为例),往这个脚持续输入方波,则电机持续转动。

  • DIR: 方向控制,低电平正转,高电平反转。

  • VMOT:功率电源,8-35V,给电机转动提供能源,因此需要较高的电压并有能力输出大的电流。

  • VDD:数字电源,数字电路部分的电源,3.3V或5V,如果这里是3.3V,那么之前说的高电平就是3.3V,低电平就是0V,如果这里是5V,那么之前说的高电平都是5V,低电平是0V。

  • 电机接线:接电机的1A 1B 2A 2B。同一绕组测电阻会有阻值。其中1A 1B为一组,2A 2B为一组。

3 STM32设置

需要根据共阳或者共阴接法,使用PWM1或者PWM2。

需要设置PWM2,级性为高。如果是PWM1,在更新中断停止PWM的时候,下一周期PWM已经开始运行,已经把高电平发出去了。所以通过中断函数判断发了多少脉冲,如果使用PWM1,会多发一个脉冲(不是一个完成的脉冲,但也会有高电平上升沿)。

alt text

4 步进加减速算法

常见的加减速算法分析类型

  1. 七段式S型曲线

  2. 梯形曲线

  3. Sigmoid函数型

4.1 梯形调速算法

为啥需要设计一个调速算法呢?步进电机不是给多少脉冲就动多少步吗?但是带上负载了就可能失步,所谓失步,简单理解就是实际电机轴转过的度数,没有输入脉冲对应度数多。为什么会这样呢?电机的扭矩有可能无法驱动负载。一般会做一个启动加速控制过程,停止的时候做一个减速控制,中间做一个匀速控制。这就是比较常见的梯形调速控制算法。

alt text

梯形速度调速算法很简单,比较容易实现,但是这个算法却有缺陷。

alt text

图中红色圆圈的位置,加速度从a突变为0,或从0突变为-a,这些突变点会带来什么后果呢?来看看其加速度曲线:

alt text

电机带着负载运动,比如常见的丝杆将电机的旋转运动,转化直线运动,又或者齿轮或滚珠结构,带动负载进行旋转运动。具有一定的质量的负载,在加速度突变情况下,很有可能会造成机械振动。

比较专业一点的术语称为 急动(Jerk) ,其实就是考察加速度的变化率的,也可以称为加加速度,我们知道速度的变化率就是加速度,而加速度的变化率就是加加速度。

如果用数学语言来装下逼,就是速度函数对时间的一阶导数就是加速度,而对加速度曲线的一阶导数就是加加速度。因此上图中加速度在时刻突变,意味着加加速度为无穷大。

对于给定的负载,加加速度越大,产生的不需要的振动能量就越大,振动能量的频谱也就越宽。这意味着加速度变化越快,振动就越强大,激发的振动模式数量也就越多。由于振动能量被系统机械吸收,如果振动频率与机械和控制系统中的共振相匹配,则可能会导致稳定时间增加或精度降低。

我们如果能做到加速度的变化率是连续的,是否这种变化就会变得平滑呢?运动是不是就更柔性?所谓变化率连续,是不是就是相对于加速度函数的导数曲线是连续的就可以了?

4.2 Sigmoid函数型

参考: 步进电机加减速S曲线算法 - 让代码改变世界ha

参考: 步进电机S型曲线加速的实现

参考: 【STM32篇】步进电机之S型曲线

参考: 步进电机S型曲线加减速算法与实现

4.3 分段式S形速度规划算法

参考

参考3: 自建S曲线数学模型(3次方程)