实验室有个项目涉及到多个步进电机以及伺服电机的控制,需要电机得到一个触发信号后精确移动一段距离。
下面以单个伺服电机控制为例,利用伺服电机的指令脉冲加方向位置控制模式实现精确位置控制。
关于伺服电机
所谓指令脉冲+方向控制模式 就是由一路PWM波控制电机转动,一个IO控制电机方向。PWM的占空比控制电机转速,PWM的脉冲数控制电机的转动距离。
计算方法如下:
电机转动一圈所需脉冲数=电机驱动内置编码器线数*4/电子齿轮数
4为编码器对AB相计数模式 若仅对AB相上升沿或者下降沿计数则取2 若对AB相上升沿和下降沿都计数则取4 电子齿轮即为电机驱动对脉冲的细分数,使控制更加精确。
例:
伺服电机编码器为2500线 驱动细分为4:1 则一圈脉冲数=2500*4/4=2500 指令脉冲频率=(需要电机运行的转速 r/min/60)*一圈的脉冲数 此次操作不涉及到电机速度控制 不做介绍
一圈所需脉冲数为2500 则一个脉冲转动1/2500圈 设电机转动一圈移动距离为C,则一个脉冲移动C/2500 所以通过对脉冲计数可以实现非常精确的位置控制。
关于PWM脉冲数精确控制
PWM脉冲数精确控制有以下三种方案:
- 利用延时 在开始发出脉冲的同时开始延时 时长=PWM周期