永磁同步电机高性能控制算法(22)——基于神经网络的转矩脉动抑制算法为什么低速时的转速波动大?
0. 前言
在之前的知乎上发过一些转矩脉动抑制/谐波电流抑制的算法。例如:
https://zhuanlan.zhihu.com/p/24723996895https://zhuanlan.zhihu.com/p/24723996895
这些算法基本上都需要先知道谐波的频率。
重复控制这个算法虽然可以抑制掉某个频率及其所有整数倍的谐波,但是它非常不适用于电机这种经常变速的场合。
https://zhuanlan.zhihu.com/p/2674626558https://zhuanlan.zhihu.com/p/2674626558
之前复现了一篇拿神经网络来做谐波电流抑制的——不需要知道谐波频率,把算法放上去即可抑制谐波电流。感觉出发点是非常好,但是运算量明显比传统算法大了很多,目前感觉不太能够去应用。不过呢,还得慢慢等些年发展吧,以后肯定有用的。
感觉人工智能以后在电机控制上还是会有很大帮助的。
今天继续学习一篇速度环的基于神经网络的转矩脉动抑制吧(转速环PI+神经网络的)。参考文献如下:
1. 不同转速下转矩脉动的影响
为探究不同转速下,通过转矩脉动的影响,我这里给电机加上一定的齿槽转矩(我设置为基波频率的八倍,幅值1Nm),以及永磁体五七次谐波反电势产生的谐波转矩(六倍频)。
我设置参考转速分别为100RPM,600RPM以及1200RPM,下方展示了仿真中的主要波形。
从下方的仿真结果来看,对我这个仿真而已,转速高的话,转矩脉动是增大的。这是因为电机频率升高,扰动频率渐渐升高,控制效果下降。
但是呢,转速波动反而明显减小。
这是因为电机的机械系统本身就是一个低通滤波器,在输入扰动幅值相同的情况下,输入扰动的频率越高,扰动造成的影响就越小。
所以我下文验证算法的性能,只需要要在低转速下进行验证即可。
参考转速100r/min
参考转速100r/min情况下的转矩FFT分析
参考转速600r/min
参考转速600r/min情况下的转矩FFT分析
参考转速1200r/min
参考转速1200r/min情况下的转矩FFT分析
2.算法验证
对于算法内容可自行参考上面贴的论文。直接按照文中给的公式以及框图搭建,即可运行。
2.1 不同转速下的抑制效果验证
如上文所述,算法验证仅在低速段展开,设置电机参考转速分别为50RPM,100RPM,200RPM,所有仿真均在0.2s处开启转矩脉动抑制算法。
50RPM
100RPM
200RPM
从上述不同转速的转矩脉动抑制前后对比来看,该方法能够在不同转速下均有效抑制转矩脉动。虽然没有完全抑制,但是效果还是很明显的。
2.2 不同频率转矩脉动抑制
前面我把齿槽转矩设置为基波频率的8倍频,下面我修改齿槽转矩的频率,设置为4倍频。参考转速100RPM,0.3s开启转矩脉动抑制算法。
下图还展示了转矩脉动抑制前后的转速FFT分析结果,开启算法后,转速THD由原来的16.54%下降到6.28%。转速中的2、4、6、8、10、12次波动都明显下降。
抑制前的转速FFT分析
抑制后的转速FFT分析
3.总结
上述仿真结果验证了该神经网络算法在转矩脉动方面能够实现很好的效果,不需要提前预知速度波动频率,即可有效抑制大部分转速波动。