1.前言
前几天看到这么个问题。“模型预测控制如何消除静态误差”
评论说用增量式的预测控制。
这个回答让我想起来我大四下看的这篇论文。现在都一百多被引用了。
但是苦于当时能力有限,没办法复现这个文章。
所以现在想重新验证一下。
2.静态误差和电机磁链有什么关系?
https://zhuanlan.zhihu.com/p/680117350https://zhuanlan.zhihu.com/p/680117350
在我这篇文章里面,已经展示了电感和磁链失配对预测控制的影响。因为电阻失配影响较小,一般都不考虑。
电感失配会给电机带来许多高频谐波噪声。
磁链失配会给电机电机带来稳态误差。
简单的解释就见我上面的文章内容中。需要详细的解释就去搜东南大学樊英老师相关的IEEE论文,上面有非常充足的解释。
增量式预测控制可以消除稳态误差,也就是消除电机中的磁链参数的影响。
3.增量式无差拍预测电流控制的仿真搭建
下面这是传统预测控制的计算公式。
将上式都写成增量形式:
从式子(5)中可以看到,与磁链有关的这一项,在一个控制周期里面,就是0了。
论文中还画图表明了在增量模型中,与磁链参数有关的这一项,基本就是0。
最终的增量模型表达式如下:
根据上面增量模型的公式,我搭建了增量式的无差拍预测电流控制/DPCC的仿真。
下面是增量式的无差拍预测电流控制和传统的无差拍预测电流控制在“一拍延时补偿模块、参考电压生成模块”的对比。
注意看红圈的地方,增量式的DPCC不需要输入磁链参数,只需要输入电阻参数Rs1和电感参数Ls1。
搭建增量式的预测控制仿真不是一件容易的事:
1.因为你需要两个相邻周期的变量相减,得到增量表达式,这样一来,增量式的预测控制涉及的变量其实是要比传统预测控制多一些的。
2.控制算法涉及的变量增多,一定需要搞清楚哪个是预测量,哪个是实际量。
3.在增量模型中,得到的参考输出值也是增量形式。增量形式的输出参考电压不能直接传递给SVPWM模块。
4.需要对预测控制的时序有一个清晰的认识。所以我不建议新手一上来就想着自己搭出增量预测控制模型,而是应该先从传统的预测模型入手。
4.增量式DPCC与传统DPCC的仿真对比
4.1仿真参数
Ts = 5e-7;%仿真步长
Tpwm = 1e-4;%开关周期
Tsample = Tpwm/1;%采样周期/控制周期
Tspeed = Tsample;%转速采样周期
Pn = 4;%电机极对数
Ls = 8.5e-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;
%这是DSP内部的控制器参数
Ls1 = 1*Ls;%电感参数设置为实际电感
Ld1 = Ls1;
Lq1 = Ls1;
Rs1 = Rs;%电阻参数设置为实际电阻
4.2主要波形对比
参与对比的有三种情况:
1.增量式DPCC
2.传统的DPCC(控制器磁链数值为额定值)
3.传统的DPCC(控制器磁链数值为额定值的两倍)
5.总结
从上面的仿真结果来看:
1)增量DPCC在不需要磁链参数的情况下,基本上可以实现与传统DPCC(控制器磁链数值为额定值)一样的控制性能。但是增量DPCC的d轴电流脉动好像略大一点点,大概大了0.1A不到,增量DPCC的相电流FFT高了0.2%(这都还好,差距非常非常小,可以忽略)。
2)从传统DPCC(控制器磁链数值为额定值)的dq电流来看,在变速过程中,传统DPCC会出现id不等于0的情况。但是这一问题在增量DPCC的dq电流中没有出现。
3)传统DPCC(控制器磁链数值为额定值的2倍)时,q轴电流的预测值和实际值发生较大的偏差,而且在整个控制过程中,虽然d轴电流的预测值和实际值没有发生偏差,但是出现id不等于0的情况。
解释一下第三点。
传统DPCC(控制器磁链数值为额定值的2倍)时,由于磁链存在于q轴电压方程,所以导致q轴电流的预测值和实际值发生较大的偏差,而d轴电流的预测值和实际值没有发生偏差。
但是在生成参考电压的时候,d轴电压方程中涉及到q轴电流的预测值,又由于q轴预测电流已经存在误差了,这就导致系统生成的d轴参考电压不准确。
所以就出现了d轴电流的预测值和实际值没有发生偏差,但是又不能实现id=0控制的情况。
从仿真结果来看,增量模型确实可以消除预测控制的稳态误差,且可以不需要电机磁链参数,但是增量模型的计算过程也相对更复杂一点。我个人认为增量预测控制还是很有用的。