电机控制杂谈(26)——电机驱动系统的编码器的测速噪声

1.引言

之前想过在仿真里模拟编码器,但是一直没有去做,最近刚好有任务需求,前来学习一下。编码器的分辨率较低的话,容易产生较大的测速噪声,本篇内容就来看看如何确定编码器产生的噪声频率是多少,并且使用简单的方法抑制噪声的不良影响。

2.编码器噪声分析

参考文献:[1]陈扬洋.永磁交流伺服系统参数免调试策略研究[D].哈尔滨工业大学,2021.DOI:10.27061/d.cnki.ghgdu.2021.005397.

编码器会产生特定频率的噪声,这个噪声与控制频率、电机转速、编码器线数相关。

以编码器线数为2500的编码器为例子(暂且不考虑四倍频细化。反正分析方法是完全同理的,知道原理即可。),电机转一圈会产生2500个脉冲,假如我的转速环控制频率是1kHz(转速环控制周期0.001s),电机速度是2000r/min=33.333r/s。那么一个控制器周期内,我电机转的圈数就是33.333r/s*0.001s=0.033333r。

这样一来:

控制器在相邻控制周期内测量到的脉冲数(理论值)就是0.033333r*2500=83.3325

但是!控制器只能获取到整数个脉冲,不会得到小数,所以控制器在相邻控制周期内测量到的脉冲数(实际值)就是83。

好的,现在发现每个控制周期会少测量到0.3325个脉冲,这部分损失的小脉冲数会不断叠加,直到溢出1。例如第一个周期测到的脉冲数为83,丢掉的脉冲为0.3325个脉冲;第二个周期测到的脉冲数仍为83,但丢掉的脉冲数累计叠加到0.6650个脉冲;第三个周期测到的脉冲数仍为83,丢掉的脉冲数累计叠加到0.9975个脉冲;再到第四个周期的时候,小脉冲数要破1了,所以这时候测到的脉冲数为84(=83+1),丢掉的脉冲数累计叠加到0.3300(=0.9975+0.3325-1)个脉冲。

这样一来,这个电机在第四个周期测量得到的速度就会不同与前三个周期,进而造成速度波动。

关于上文所述的小脉冲积累现象,在参考文献中已有详细表述,我这里粘贴以下论文的内容。

同时论文中还推导了测速噪声的表达式:

有兴趣的可以自行搜论文,我下面就直接仿真验证。

3. 仿真验证测速噪声频率

为了模拟测速噪声,首先要搭建能够模拟编码器输出的位置信号。

我这里设置编码器位数为2500,即转子转一周,转子位置从0到2pi,编码器位数输出0到2500。当然了,实际的电机中,转子位置为0度,对的可不是编码器输出为0的地方。我这里只是简单模拟,对于验证效果而言,足够了。下面是编码器输出信号的放大图,编码器输出的信号只能是整数,不能有小数。

接着进行仿真验证。

3.1 2000r/min条件下的验证

先进行速度2000r/min(=33.333r/s),2.5kHz转速环控制频率(转速环控制周期0.0004s),编码器线数2500情况下的验证。

控制器在相邻控制周期内测量到的脉冲数(理论值)就是33.333r/s*0.0004s*2500=333.33。

那么每个控制周期内丢失的小脉冲数就是0.33333333(3无线循环)。

根据文章中的测速噪声频率表达式,可得到噪声频率=0.3333333333*2.5kHz转速环控制频率=833.33333Hz。仿真中的电机波形如下(由于速度噪声比较大,所以电流/转矩脉动也很大):

速度的FFT分析结果如下,转速噪声幅值最大的频率为833.3Hz,与计算结果一致。

我仿真的测速部分是会加低通滤波器(LPF)进行滤波的,我现在把LPF去掉看看不滤波的效果。从下图可以看到,转速不加LPF的话,电机转矩脉动更大,且速度波动更大。

从下图的速度FFT分析来看,不加LPF后,控制器得到的速度数值中会存在更为明显的833.3Hz噪声,这与理论计算结果一致。

3.2 1000r/min条件下的验证

先进行速度1000r/min(=16.666667r/s),2.5kHz转速环控制频率(转速环控制周期0.0004s),编码器线数2500情况下的验证。

控制器在相邻控制周期内测量到的脉冲数(理论值)就是33.333r/s*0.0004s*2500=166.66666667。

那么每个控制周期内丢失的小脉冲数就是0. 66666666(6无限循环)。

根据文章中的测速噪声频率表达式,可得到噪声频率=(1-0.66666666)*2.5kHz转速环控制频率=833.33333Hz。这里一定要注意哈,当小脉冲数大于 0.5 时,需要拿1 减去小脉冲再乘以速度环控制频率

仿真中的电机波形如下:

可以看到,1000r/min条件下的最大测速噪声对应的频率仍为833.33Hz,符合理论计算。

3.3 1210r/min条件下的验证

先进行速度1210r/min(=20.166666667r/s),2.5kHz转速环控制频率(转速环控制周期0.0004s),编码器线数2500情况下的验证。

控制器在相邻控制周期内测量到的脉冲数(理论值)就是20.166666667r/s*0.0004s*2500=20.166666667。

那么每个控制周期内丢失的小脉冲数就是0. 166666666(6无限循环)。

根据文章中的测速噪声频率表达式,可得到噪声频率=0. 166666667*2.5kHz转速环控制频率=416.67Hz。

仿真中的电机波形如下:

可以看到,1210r/min条件下的最大测速噪声对应的频率为416.7Hz,符合理论计算。

4.测速噪声抑制方法

4.1高分辨率的编码器

编码器分辨率提高,有助于降低测速噪声。下面展示了不同编码器线数的仿真波形。

三相电流、转矩、转速波形(编码器位数2500)

三相电流、转矩、转速波形(编码器位数5000)

三相电流、转矩、转速波形(编码器位数10000)

4.2采用速度观测器

不再使用原有的速度计算方法(即给计算的速度加上LPF进行滤波),而是采用速度观测器,例如基于扩张状态观测器的速度观测器等等。

仿真对比如下。

从下图可以发现,采用基于扩张状态观测器的速度观测器后,电机的三相电流、转矩脉动得到大幅抑制。基于扩张状态观测器的速度观测器对应的电流THD为2.86%,速度无滤波对应的电流THD为16.97%,速度采用LPF(LPF截止频率为500Hz)对应的电流THD为9.36%。

三相电流、转矩、转速波形(速度无滤波)

三相电流、转矩、转速波形(速度采用LPF)

三相电流、转矩、转速波形(基于扩张状态观测器的速度观测器)

相电流FFT分析(速度无滤波)

相电流FFT分析(速度采用LPF)

相电流FFT分析(基于扩张状态观测器的速度观测器)

4.3采用先进的测速方法

这里可搜一下相关参考文献内容。

5.总结

本文对编码器产生的测速噪声进行了分析,并通过仿真验证不同转速条件下对应的测速噪声频率。其次简单阐述了如何抑制测速噪声。


相关推荐
嵌入式老牛2 天前
SST专题(2-5)MMC-SST 输入级的环流抑制
电力电子·固态变压器·sst
沉沙丶4 天前
关于matlab分析电流THD的一些探究和记录
开发语言·matlab·电机控制·foc·永磁同步电机·模型预测·预测控制
GreenGoblin5 天前
12.DSP学习记录之SCI
单片机·dsp开发·电机控制
沉沙丶6 天前
模型预测控制专题(十二)—— 基于高阶扩展状态观测器HESO的MPFCC
simulink·电机控制·foc·永磁同步电机·pmsm·无模型预测·电流预测控制
沉沙丶6 天前
模型预测控制专题(十一)—— 基于改进型扩张状态观测器MESO的MPFCC
电机控制·foc·永磁同步电机·模型预测·预测控制·pmsm·无模型预测
沉沙丶7 天前
模型预测控制专题(十)—— 现有观测器限制分析
电机控制·foc·永磁同步电机·模型预测·预测控制·pmsm·无模型预测
沉沙丶7 天前
模型预测控制专题(九)—— 进一步优化的方向
人工智能·电机控制·永磁同步电机·模型预测·预测控制·pmsm·无模型预测控制
沉沙丶9 天前
模型预测控制专题(八)—— 带宽参数影响分析
电机控制·foc·永磁同步电机·模型预测·预测控制·无模型预测
沉沙丶9 天前
模型预测控制专题(六)—— 基于ESO的无模型预测电流控制
电机控制·永磁同步电机·模型预测·预测控制·无模型预测
沉沙丶10 天前
模型预测控制专题(七)—— 无模型电流预测参数影响分析
simulink·电机控制·foc·永磁同步电机·无模型预测·电流预测控制·电流预测