电机驱动器主要可以分为两种,数字式的驱动器和非数字式的驱动器:
数字式的基本上依靠总线通讯,通过读写驱动器上的控制器的寄存器或者RAM来实现数据交换。在上层就只需要发送简单的控制参数就可以了(例如,PTP运动——在给定的时间运动到给定的位置,PVT——在给定时间以给定速度到达给定位置点,JOG运动——以给定的速度一直运动等等),该驱动器一般多用在直流伺服电机的控制上,直流驱动相对简单一些(通讯can, ethercat etc.,PWM或者PFM调制脉冲宽度或者频率,控制算法,一般为PID+前馈控制 feed
forward),因此可以做得特别小(功率相对小一些,用的一般为MOSFET,而非 IGBT),因此很多小型的机械臂上面使用的就是这种驱动器。例如,该类型的驱动器有Maxon的EPOS系列,以色列的Elmo系列,瑞士的Technosoft的EasyMotion等等。非数字式的驱动器提供的控制方式就比较灵活了,例如位置控制是通过发送脉冲(个数表示位置,频率表示速度,一般有三种方式:AB相脉冲,或者单相脉冲+方向,或者正相脉冲+反向脉冲)来实现的;速度控制或者力矩控制通过模拟量来控制(10v 表示正向最大速度/力矩, -10v表示反向最大速度/力矩,控制精度就依赖AD的转换精度了)。该种驱动器很多是用来驱动三相交流伺服电机,功率体积相对要大一些。例如,日本的三菱,安川,松下,东方等驱动器。
如果发送的位置指令,那基本上就是通过:位置环->速度环->力矩环 ,再通过控制电路(PWM调压,或者变频,或者带算法的FOC矢量控制)控制电机转矩和转速了。
但是如果只是发送位置指令或者只考虑位置,那么系统的动态响应就比较差(可能出现速度突变,或者加速度突变的情况,导致系统冲击抖动),因此如果要获得更好的控制效果,控制更底层的速度,或者加速度的,或者加加速度(jerk)能是的系统更加稳定。
Torque controller stucture:
User torque rererence → Torque limiter → Torque controller outputs motor PWM
Velocity controller stucture:
User velocity setpoint → Velocity limiter → Velocity controller outputs torque rererence → Torque limiter → Torque controller outputs motor PWM
Position controller stucture:
User position setpoint → Position controller outputs velocity setpoint → Velocity limiter → Velocity controller outputs torque rererence → Torque limiter → Torque controller outputs motor PWM
关于 PID 调节:
伺服系统包括三个反馈回路(位置回路、速度回路以及电流回路)。最内环回路的反应速度最快,中间环节的反应速度必须高于最外环。假使未遵守此原则,将会造成震动或反应不良。伺服驱动器的设计可确保电流回路具备良好的反应效能。用户只需调整位置回路与速度回路参数。系统各参数之间总是相互制约的,如果只有位置回路增益增加,位置回路输出的指令可能会变得不稳定,以致整个伺服系统的反应可能会变得不稳定。通常可参照下列步骤对系统进行调整:
1) 将位置前馈和位置微分设为零,位置增益和速度增益先设在较低值(1/3),然后在不产生异常响声和振动的前提下,逐渐增加速度增益至少有振动则再减小到当前值的80%。
2)增加位置增益至少有振动。再增加位置微分至没有振动。
3)增加位置前馈使滞后和超调最小。
4)如果电机运行时有振动,适当减少速度增益。
5)如果电机停止时有振动,适当减少位置增益,或增加位置微分。
6)如果电机有电磁躁声,适当减少电流增益。
Or, to tune a PID use the following steps:
- Set all gains to zero.
- Increase the P gain until the response to a disturbance is steady
oscillation. - Increase the D gain until the the oscillations go away (i.e. it’s
critically damped). - Repeat steps 2 and 3 until increasing the D gain does not stop the
oscillations. - Set P and D to the last stable values.
- Increase the I gain until it brings you to the setpoint with the
number of oscillations desired (normally zero but a quicker response
can be had if you don’t mind a couple oscillations of overshoot)
在整个响应无超调、无振动的前提下,应将位置增益设至最大。随后对速度增益及位置前馈、位置微分进行微调,找到最佳值