1.前言
在我之前发布的内容中,讲到了电机控制的各种谐波来源。相电流中的2、4次谐波电流(即dq电流的3次谐波。来自于PWM采样噪声或者PWM本身自带偶次谐波),相电流中的5、7、11、13次谐波电流(即dq电流的6、12次谐波。来自于PWM死区),相电流中的5、7次谐波电流(即dq电流的6次谐波。来自于永磁体的谐波反电势)。
https://zhuanlan.zhihu.com/p/689410195https://zhuanlan.zhihu.com/p/689410195
https://zhuanlan.zhihu.com/p/673773182https://zhuanlan.zhihu.com/p/673773182
https://zhuanlan.zhihu.com/p/710339736https://zhuanlan.zhihu.com/p/710339736
今天来讲讲采样电流的偏置误差the current measurement offset error /CMOE,这个采样电流偏置误差通常认为是直流DC偏置,所以其在dq电流中会造成一次谐波。
这里我引用一下大佬论文中的话——“不同于逆变器非线性和反电势谐波等电压扰动作用于被控电机产生电流谐波,电流采样误差直接影响电流反馈值,通过反馈控制影响实际电机电流。如果试图以谐波电流的控制方式在电流环抑制由于电流采样误差引起的电流波动,只能导致相应的电流波动分量在电流反馈值中消失,而实际电流将在反馈控制的作用下完全包含电流测量误差。”
注意:不同于其他谐波电流,采样误差引起的电流波动并不能通过之前说的谐波抑制的方法进行消除!!!!!!!!!!
那今天就来讲讲最简单的偏置电流消除办法。在这篇内容中,不仅涉及偏置电流的来源、消除办法,还会涉及到许多关于低通滤波器方面的知识(有助于你更加了解PI调节器、惯性环节)。
2.CMOE的来源和影响
参考文献(新鲜出炉的):
2.1CMOE的来源
“在矢量控制PMSM驱动器中,精确的电流测量至关重要,它直接影响控制性能[4]。然而,在相关电路的热漂移、老化和非线性的影响下,电流偏移误差经常出现在测量的相电流中,并且明显地降低了PMSM驱动器的性能[5]、[6]。当具有低谐振频率的外部机械系统连接到电机时,转矩脉动可能导致昂贵的机械部件损坏或疲劳[7]。因此,为了保证IPMSM驱动器的性能,迫切需要解决电流测量偏移误差(the current measurement offset error /CMOE)。”
这里值得注意的是,CMOE的相关论文都是采用双电流传感器的三相系统(例如你采集AB两相电流,C相电流可以根据三相电流之和为0,然后计算出来)。
2.2CMOE的影响
这里涉及一些公式推导,我直接就放上来了。
根据式子(3)可以得知,直流形式的采样偏置电流,会在d-q电流中产生1次谐波电流。再根据式子(7)可知,采样偏置电流会造成转矩脉动,影响电机性能。
2.3仿真验证CMOE的影响
仿真参数:
Ts = 10e-7;%仿真步长
Tpwm = 1e-4;%开关周期
Tsample = Tpwm/1;%采样周期/控制周期
Tspeed = Tsample;%转速采样周期
Tdead = 2e-6;%死区时间
Pn = 4;%电机极对数
Ls = 6e-3;%定子电感,采用隐极的,Ld=Lq=Ls
Rs = 1;%定子电阻
flux = 0.1688;%永磁体磁链
Vdc = 400;%直流母线电压
iqmax = 20;%额定电流
J = 4e-3;%转动惯量
B = 2e-3;%阻尼系数
n_init = 1000;%初始转速
fc_lpf = 200;%转速计算的低通滤波器截止频率
%转速环PI参数
Kpw = 0.25;
Kiw = 50;
%电流环PI参数
Ls1 = Ls;
Ld1 = Ls;
Lq1 = Ls;
flux1 = 1*flux;
Rs1 = Rs;
fc = 500;%电流环带宽
仿真中为AB两相电流加上直流偏置。
在电流的坐标变化模块中,将C相电流设置为(0减去AB两相电流之和)。
下面给AB两相电流加上0.5A的DC偏置电流。
可以看到,加入0.5A的偏置电流之后,电机出现了非常大的转矩脉动。
这里我把转矩和转速波形放大了一下。在0.25s到0.75s这段时间,中间只出现了转速变化,没有出现负载的变化。
但是这里注意到两个现象:
1)同样是带10Nm负载,2000RPM的转矩脉动明显要比1000RPM的转矩脉动大。
2)在转矩脉动更小的情况下,1000RPM时的转速波动反而更大。
这两个问题,都可以用低通滤波器的相关知识来解释。
1)我这是隐极电机,转矩正比于q轴电流,所以转矩脉动就反应了q轴电流脉动。q轴电流环用的是PI调节器,PI调节器就相当于一个低通滤波器。可以理解为:PI调节器能够很好的控制住低频信号,但是随着被控系统的频率升高,PI调节器的控制效果会越差。
因为前面的公式推导说明了直流偏置电流会产生一倍频的dq电流脉动,所以也就是说,在2000RPM的情况下dq电流脉动频率更高,所以这时候PI调节器的控制效果更差,进而表现为2000RPM的转矩脉动明显要比1000RPM的转矩脉动大。
2)翻一翻电机系统的运动方程,由于转动惯量的存在,电机的运动方程的传递函数是一个惯性环节,也就是一个低通滤波器(输入是转矩,输出是转速)。翻译过来就是,给电机系统输入两个幅值相同的交流转矩(一个是低频,一个是高频),最后转速波形中,主要表现的是低频的转速脉动,而高频的交流转矩被电机这个惯性环节滤除了一大部分。
正是由于2000RPM的转矩脉动频率更高,电机运动方程的惯性环节对这个转矩脉动的滤波效果更明显,所以这时候的转速波动反而更小。
为验证直流偏置电流产生的谐波为一次谐波,这里对q轴电流进行FFT分析:
可以看到,q轴电流的谐波成分确实为1次谐波,1次谐波占比达到了10%。
3.基于PI调节器的直流偏置电流补偿策略
3.1公式推导及框图
这里我就把推导过程直接放上来了。
这个模型搭建其实不难,唯一的难点就是这个aerfa/beta电压怎么来?
这个问题我在之前的回答里面就提到了,用占空比反推能得到一个比较准确的aerfa/beta电压。
3.2仿真调参
注意式子(17),这里表明基于PI调节器的直流偏置电流补偿策略实际上就是一个一阶的低通滤波器。wc越小,越容易提取直流。
那我们来看看不同wc情况下的直流提取效果吧。我这里PI调节器的wc分别为50、25、2.5(论文中取为0.5)。
从上面三幅图可以发现两个结论:
1)wc越小,提取直流的效果越明显。毕竟这个方法属于低通滤波器,低通滤波器的带宽wc越小,其抑制交流的能力就越好。
2)在wc相同的情况下,转速越低(我仿真里面在0.5s减速了),aerfa/beta电流的直流偏置提取到的交流AC幅值就越大。这一点也是由低通滤波器的性质决定的。
我们最终期望的是提取到直流偏置,而不是交流。所以应当在保证系统动态性能的情况下,尽可能减小wc。下面我们来看看不同wc情况下的dq轴实际电流与读取电流的情况。
——————————————————
“实际电流值”——指的是通过电机实际的ABC三相电流换算出来的dq电流;
“读取电流值”——指的是通过电机实际的AB两相电流以及偏置电流换算出来的dq电流,这是控制器看到的dq电流(包含了采样电流偏差误差CMOE)。
我们肯定是希望“实际电流值”与“读取电流值”完全相等,否则你就没办法实现很好的控制性能。假如“实际电流值”与“读取电流值”不等,你把d轴的读取电流值控制为了0,但是实际上的d轴电流不为0,那么你其实是没有实现id=0控制的。
——————————————————
可以看到,wc越小,dq轴实际电流值与读取电流值就越接近。
3.3仿真对比
从整体来看,貌似wc=2.5和wc=25没啥区别,但是如果把FFT拉出来看就能看到区别了。wc=25的相电流THD为2.43%,而且还有非常明显的直流成分;wc=2.5的相电流THD为2.34%,相电流中的直流成分被明显消除。