开云真人使用HAL库进行电机测速滤波
作者:小编 发布时间:2023-11-14 19:09:51点击:
从图中我们可以看到,速度值在目标速度附近来回小幅度震荡,始终不稳定。这是因为的速度值刚好卡在两个离散值中间,我们测得的速度值就会在这两个离散值中间来回震荡。如果我们想要解决这个问题,最好先对测速的精度进行分析。
对于M法测速来说,测速的公式如下,其中,k是将速度换算成rpm的比例系数
由于除号后面的都是定值,所以我们只要分析每次采样的脉冲数对速度的影响即可。
所以我们测得的速度只能是1.923rpm的整数倍。如果想要提高精度,在电机不变的情况下,我们可以使用500线的GMR编码器或者降低开云真人官方网站测速频率。
在VOFA+中,我们可以测得震荡时波峰和波谷的差值为1.92左右,和我们的计算相符。
为了改善这一现象,我们可以对速度采样值使用平均滤波,即将最近几次的速度采样值存放到数组中,每测得一个新的速度,就将新速度存入数组,将最早测得的速度值从数组中删除,我们使用的速度值是数组中所有速度的平均值。实现代码如下
绿线是原始速度,红线是目标速度,粉线是滤波后的速度。可以看到,滤波后的速度值明开云真人官方网站显要平滑很多,这对我们后期的PID调试是很有利的。