1、首先先了解一下计算的公式
速度计算:
轮胎每转一圈的脉冲数取决于编码器的分辨率,可由下面公式进行计算:
PPR是电机的线数
以GA25-370电机为例。
图片来源:第四节:STM32定时器(4.JGA25-370霍尔编码器测速)_jga-370b引脚图-CSDN博客
一周旋转9.6圈,产生11个脉冲(线数),计数方式是同时计数(4倍频)
最后可以计算轮胎每转一圈的脉冲数为:
轮胎每转一圈的脉冲数 = 9.6 × 11 × 4 = 422.4
假设我设置的速度读取周期为10ms,也就是0.01,轮胎周长假设为55mm,最后的速度公式简化为:
速度 = (0.01 秒内产生的脉冲数 ∗ 0.055 ∗ π )/(0.01 ∗ 422.4)
单位为:m/s
读取的代码例程:
void speedCal(void)
{
float speed = 0;
speed = (Read_Encoder(4)*0.055f*3.14f)/(4.224f);
printf("速度值为:%f m/s\r\n",speed);
}
2、 实验结果:
等待更新。。。。
参考资料:STM32驱动带编码器的直流减速电机_mg310直流减速电机-CSDN博客