一、电机的三种控制模式

1、力矩控制模式

  • 电机在运行过程的电流,始终等于给定的值。
  •  比如使用电机来拉伸弹簧,设定电流值越大,弹簧被拉伸的长度越长。设定电流越小,弹簧被拉伸的长度越短。设定电流为零,弹簧不被拉伸。
  • 在SimpleFOC项目中,受限于Arduino UNO的运行速度,大部分例程没有使用电流采样,所以设定电压值代替设定电流值。
  • 力矩模式是控制电流实现对力矩的控制,但在simpleFOC项目中,用电压代替电流,通过设定不同的电压实现对力矩的控制

    2、速度控制模式

  • 让电机始终按照设定的速度运转,不因负载的变化而变化。

  • 速度控制一般会采用内环电流环,外环速度环的方式,所以可以限制转动过程中的电流不超过设定值。
  • 比如传送带传送物品,给定的速度不会因为传送带上是空载或者带载发生变化,但是当负载过大,电流超过设定值的时候会报警或自动停止。
  • 对电机施加阻力会发现,无论速度设置为多少,电机为了达到设定的转速,会持续增加动力(如果有电流表,可以看到电流不断增加),这与力矩模式中的恒定阻力截然不同。

    3、位置控制模式

  • 精确控制电机转动到指定角度,

  • 位置控制一般会采用内环电流环,外环速度环,最外环位置环的方式,所以可以限制转动过程中的最大速度,和最大电流。
  • 比如机械臂从A点运动到B点,并限制挥舞过程中的最大速度和最大力矩。
  • 设定不同角度,观察电机的转动位置。
    当前例程中,角度采用累加方式,比如当前输入指令为“T10”,电机转过10rad后停止,再输入指令“T11”,则电机沿着刚才的方向再转过1rad后停止。