一、电机的三种控制模式
1、力矩控制模式
- 电机在运行过程的电流,始终等于给定的值。
- 比如使用电机来拉伸弹簧,设定电流值越大,弹簧被拉伸的长度越长。设定电流越小,弹簧被拉伸的长度越短。设定电流为零,弹簧不被拉伸。
- 在SimpleFOC项目中,受限于Arduino UNO的运行速度,大部分例程没有使用电流采样,所以设定电压值代替设定电流值。
力矩模式是控制电流实现对力矩的控制,但在simpleFOC项目中,用电压代替电流,通过设定不同的电压实现对力矩的控制
2、速度控制模式
让电机始终按照设定的速度运转,不因负载的变化而变化。
- 速度控制一般会采用内环电流环,外环速度环的方式,所以可以限制转动过程中的电流不超过设定值。
- 比如传送带传送物品,给定的速度不会因为传送带上是空载或者带载发生变化,但是当负载过大,电流超过设定值的时候会报警或自动停止。
对电机施加阻力会发现,无论速度设置为多少,电机为了达到设定的转速,会持续增加动力(如果有电流表,可以看到电流不断增加),这与力矩模式中的恒定阻力截然不同。
3、位置控制模式
精确控制电机转动到指定角度,
- 位置控制一般会采用内环电流环,外环速度环,最外环位置环的方式,所以可以限制转动过程中的最大速度,和最大电流。
- 比如机械臂从A点运动到B点,并限制挥舞过程中的最大速度和最大力矩。
- 设定不同角度,观察电机的转动位置。
当前例程中,角度采用累加方式,比如当前输入指令为“T10”,电机转过10rad后停止,再输入指令“T11”,则电机沿着刚才的方向再转过1rad后停止。