在学习基本操控电机之后,我们需要更加精准的确定电机转速等物理量来完成任务时,编码器测速就变的很重要,网上很多讲解编码器相关内容,后文会放上找的优秀文章作为借鉴。
编码器测速实现方案有两种
第一种测速方案是计算一定脉冲下所用时间来得出电机速度。
第二种测速方案是是一定时间下所产生的脉冲数量来计算速度值。适合高速(也叫M法测速)一般选择第二种。
例如在1s时间下,测得脉冲数为60个,而编码器单圈脉冲数是20个,则转速n=60/20=3 r/s。
编码器参数
1.分辨率
指编码器能够分辨的最小单位。
-
对于增量式编码器,其分辨率表示为编码器转轴旋转一圈所产生的脉冲数,即脉冲数/转(PPR)
2.最大响应频率
指编码器每秒输出的脉冲数(PPS),单位是Hz。计算公式为:
最大响应频率= 分辨率* 轴转速/60。
例如某电机的编码器的分辨率为100(即光电码盘一圈有100条栅格),轴转速为120转每分钟(即每秒转2圈),则响应频率为100*120/60=200Hz,即该转速下,编码器每秒输出200个脉冲(电机带动编码器转了2圈)。
下面是编码器倍频:
图上写的很清楚,一般使用的是同时用AB相上升下降捕获也就是4倍频:
对应配置编码器接口的代码:TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
重头戏是如何将这个编码器的“速度”转化为物理意义上的转速:
电机转一圈总的脉冲数(定时器能读到的脉冲数) = 编码器物理脉冲数*编码器倍频*电机减速比
通过两张MG513淘宝上给的参数信息,这里我用的1:60减速比,霍尔编码器所以电机轴转一圈产生13个脉冲信号输出,所以减速电机的输出轴旋转一圈,实际可以产生的脉冲为13*60=780个。在通过STM32F4 编码器接口的4倍频就是3120个脉冲也即是轮