1 比例谐振(PR)控制器的学习过程记录-德赢Vwin官网 网

比例谐振(PR)控制器的学习过程记录

描述

0、前言

在一个闭环控制系统中,可分为输入参考值、闭环控制器、执行机构、输出参数,反馈系数,这几个部分。

比例谐振控制器

设计一款控制器,可以让系统的输出参数跟踪输入参考值,达到了控制的目的。在直流控制系统中,常用的控制器就是比例微分积分(Proportion Integration Differentiation,PID)控制器了。然而,在交流系统中,PID控制器由于对高频信号的跟踪性能较差,并不能满足设计要求。而PR控制器,对特定频率信号的跟踪效果是良好的。

本文首先对PR控制器和PI控制器进行对比。然后讨论了比例谐振(Proportion, Resonant, PR)控制器的数字化实现。笔者目前在一款DCDC电路中使用过PI控制器,同时PI控制器的资料比较好找。然而PR控制器只在软件仿真中使用过,并没有在实际项目中使用。

希望我和读者们,都能从本文中获益,谢谢。

1、PR控制器和PI控制器对比

1.1 传递函数表达式对比

比例积分控制器的传递函数如下:

比例谐振控制器

比例谐振控制器的传递函数如下:

比例谐振控制器

本文称这个PR控制器为理想的PR控制器。

以上的这个控制器,在下文的波特图上可见,只对单一的频率起作用。但实际上,例如逆变器,参考波形可能在频率上有正负1Hz的变化,或者由于测量采样的不确定性,因此在运用中,会用以下的变形,替代上面的Gpr-ideal。

比例谐振控制器

本文称这个PR控制器为实际的PR控制器。

1.2 波特图对比

下图是当Kp分别取为1、10、100,Ki=10时PI控制器的波特图(蓝色是Kp=1,绿色是Kp=10,红色是Kp=100)。

比例谐振控制器

附上实现代码:

比例谐振控制器

下图是当Kp=1,Ki分别取为1、10、100时PI控制器的波特图(蓝色是Ki=1,绿色是Ki=10,红色是Ki=100)。

比例谐振控制器

附上实现代码:

比例谐振控制器

可以看到,PI控制器对高频信号的增益会较低,而对低频信号会有较大的放大作用。假如使用PI控制器对50Hz及以上(角频率314rad/sec)的正弦波进行跟踪,系统的跟踪特性会较差。而且会把低频噪声放大。

下图是当Kp分别取为1、10、100,Kr=1时理想的PR控制器的波特图(蓝色是Kp=1,绿色是Kp=10,红色是Kp=100)。

比例谐振控制器

附实现代码

比例谐振控制器

下图是当Kp=1,Kr分别取为1、10、100时理想的PR控制器的波特图(蓝色是Kr=1,绿色是Kr=10,红色是Kr=100)。

比例谐振控制器

附实现代码

比例谐振控制器

上面理想PR的波特图,可以看到就算调整PR的参数,波形也没什么大的变化。在实际使用中,可能进行实时调参的。图像变化这么小,跟踪效果也不会好。

接下来看看实际使用的PR控制器的波特图。

下图是当Kp分别取为1、10、100,Kr=1时实际的PR控制器的波特图(蓝色是Kp=1,绿色是Kp=10,红色是Kp=100)。

比例谐振控制器

附实现代码

比例谐振控制器

下图是当Kp=1,Kr分别取为1、10、100时实际的PR控制器的波特图(蓝色是Kr=1,绿色是Kr=10,红色是Kr=100)。

比例谐振控制器

附实现代码

比例谐振控制器

PI和PR的Kp作用类似,都是增大开环增益,增加控制精度。

Ki和Kr作用类似:降低系统稳态误差。

2、离散化预备知识

目的是对PR控制器的传递函数进行离散化。使其可以在数字控制器上编程实现。在这过程之前,要复习相关知识。同时便于检查离散化过程有无错误。

2.1 离散化表达式

传递函数离散化后,函数中消掉了拉普拉斯算子“s”,同时出现了“z”。有一个公式需要认识。

比例谐振控制器

以上公式,转化为单片机或DSP可以执行的命令为:

比例谐振控制器

2.2 离散化方法

离散化方法一览表[来自参考文献1]

比例谐振控制器

看起来比较简单的方法是Forward Euler、Backward Euler、Trapezoid(Tustin)这三种了。直接把公式代入,用z消掉s就好了。

2.3 离散化练习题

用Trapezoid(Tustin)方法离散化PID控制器。

比例谐振控制器

比例谐振控制器代入上式,得到

比例谐振控制器

化简过程略,得到:

比例谐振控制器

代入Kp=1;Ki=2;Kd=3;Ts=1/1000;可得到

比例谐振控制器

在Matlab中验证结果:

比例谐振控制器

可得到:

Transfer function:

6001 z^2-1.2e004 z+5999

---------------------------

z^2-1

Sampling time: 0.001

和计算结果一致。

同时Matlab的c2d()函数总共支持五种离散方法。

比例谐振控制器

3. 使用Matlab离散PR控制器

比例谐振控制器

命令行输出:

Transfer function:

1.297z^2-1.847z+0.643

---------------------------

z^2-1.847 z+0.9405

Sampling time: 0.001

可得到,离散化后,数字实现的C语言为:

y_k-1.847*y_k1+0.9405*y_k2=1.297*u_k-1.847*u_k1 +0.643*u_k2;

y_k=1.297*u_k-1.847*u_k1+0.643*u_k2+1.847*y_k1-0.9405*y_k2 ;

4、逆变器仿真模型中使用PR闭环控制器

Matlab/Simulink搭建了模型:

比例谐振控制器

电气主回路中参数:滤波电感Lf=47uH,滤波电容Cf=1uF,负载Lf1=30欧姆。

控制回路:

比例谐振控制器

PR控制器实现框图:

比例谐振控制器

经过参数优化后,Kp=1000,Kr=100;wc=2*pi*5;wo=2*pi*50;

比例谐振控制器

上图中,error = Vref - Vout/311。Vref为频率50Hz、幅值为1的正弦波。Vout是逆变器输出。可以看到闭环系统中误差可降到1mV *311=0.331V之内(1mV为error波形的幅值,311为电压标幺化基准值)。

参考资料1:Effects of Discretization Methods on the Performance of Resonant Controllers, Alcjandro G. Ycpcs, IEEE transactions on Power Electronics

参考资料2:PID控制器的数字实现及C语法讲解

参考资料3:比例谐振控制的一种实现(含代码)

参考资料4:采用比例谐振控制器的逆变器_叶礼清

原文链接:

https://blog.csdn.net/qq_27158179/article/details/82739641

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分