一文理解电压电流双闭环控制及前馈解耦(入门)(详解)
一文理解电压电流双闭环控制及前馈解耦(入门)(详解)
电压电流双闭环控制作为一种高性能控制策略,在电力电子、电机驱动和电源管理领域有着广泛的应用。本文将详细介绍两电平逆变器的电路建模、前馈解耦原理以及控制器的设计方法,帮助读者深入理解这一重要技术。
1.两电平逆变器的电路建模
要研究控制策略,必然和电路结构产生密不可分的联系,所以我们要进行建模。关于逆变器结构,三电平及多电平的主要区别在于调制策略的不同,我们主要研究其外特性,控制策略方面是一样的,为了便捷性起见,我们针对两电平逆变器进行建模。
下面是一个常见的两电平逆变器的结构示意图:
由于复杂性,我采用了建模更为简单的LC型滤波器结构,也是实际低压系统中应用最多的滤波方案。
首先,写出三相电路的方程,E表示逆变器桥臂中点输出电势,U为并网点PCC处的电压,下面是经过L的KVL方程,由于是事先编辑的公式,公式和图片某些字母略有出入。I a I_aIa 表示图中i L a i_LaiL a,在正式写论文是需要注意,大写一般表示有效值,小写表示瞬时值。
{ L d I a d t = E a − R I a − U a L d I b d t = E b − R I b − U b L d I c d t = E c − R I c − U c \begin{cases} L\frac{\mathrm{d}Ia}{\mathrm{d}t}=Ea-RIa-Ua \ \ L\frac{\mathrm{d}Ib}{\mathrm{d}t}=Eb-RIb-Ub \ \ L\frac{\mathrm{d}Ic}{\mathrm{d}t}=Ec-RIc-Uc & \end{cases}⎩⎨⎧ LdtdIa =Ea−RIa−UaLdtdIb =Eb−RIb−UbLdtdIc =Ec−RIc−Uc
(E和U的表示论文中各式各样,经常混为一谈,也有把E作为电网电压的,由于这几天我在推导VSG的相关模型,将其作为虚拟电动势,也就用E表示。)
经过电容之后的公式:
{ C d U a d t = I a − I o a C d U b d t = I b − I o b C d U c d t = I c − I o c \begin{cases} C\frac{\mathrm{d}Ua}{\mathrm{d}t}=Ia-Ioa \ \ C\frac{\mathrm{d}Ub}{\mathrm{d}t}=Ib-Iob \ \ C\frac{\mathrm{d}Uc}{\mathrm{d}t}=Ic-Ioc & \end{cases}⎩⎨⎧ CdtdUa =Ia−IoaCdtdUb =Ib−IobCdtdUc =Ic−Ioc
这里电容电流的参考方向向下流。
接下来经过坐标变换,变化到α \alphaαβ \betaβ坐标系,变换的过程不再详解,参考其他博主文章,变化之后的公式如下:
{ L d I α d t = E α − R I α − U α L d I β d t = E β − R I β − U β C d U α d t = I α − I o α C d U β d t = I β − I o β \begin{cases} L\frac{\mathrm{d}I_\alpha}{\mathrm{d}t}=E_\alpha-RI_\alpha-U_\alpha \ \ L\frac{\mathrm{d}I_\beta}{\mathrm{d}t}=E_\beta-RI_\beta-U_\beta \ \ C\frac{\mathrm{d}U_\alpha}{\mathrm{d}t}=I_\alpha-I_{o\alpha} \ \ C\frac{\mathrm{d}U_\beta}{\mathrm{d}t}=I_\beta-I_{o\beta} & \end{cases}⎩⎨⎧ LdtdIα =Eα −RIα −Uα LdtdIβ =Eβ −RIβ −Uβ CdtdUα =Iα −Ioα CdtdUβ =Iβ −Ioβ
进一步变换到dq坐标系下:
{ L d I d d t = E d − R I d − U d + ω L I q L d I q d t = E q − R I q − U q − ω L I d C d U d d t = I d − I o d + ω C U q C d U q d t = I q − I o q − ω C U d \begin{cases} L\frac{\mathrm{d}I_d}{\mathrm{d}t}=E_d-RI_d-U_d+\omega LI_q \ \ L\frac{\mathrm{d}I_q}{\mathrm{d}t}=E_q-RI_q-U_q-\omega LI_d \ \ C\frac{\mathrm{d}U_d}{\mathrm{d}t}=I_d-I_{od} +\omega C U_q\ \ C\frac{\mathrm{d}U_q}{\mathrm{d}t}=I_q-I_{oq} -\omega C U_d& \end{cases}⎩⎨⎧ LdtdId =Ed −RId −Ud +ωLIq LdtdIq =Eq −RIq −Uq −ωLId CdtdUd =Id −Iod +ωCUq CdtdUq =Iq −Ioq −ωCUd
拉式变换并且合并之后得到得到:
( L s + R ) I d = E d − U d + ω L I q (Ls+R)I_{d}=E_{d}-U_{d}+\omega LI_{q}(Ls+R)Id =Ed −Ud +ωLIq
( L s + R ) I q = E q − U q − ω L I d (Ls+R)I_{q}=E_{q}-U_{q}-\omega LI_{d}(Ls+R)Iq =Eq −Uq −ωLId
C s U d = I d − I o d + ω C U q CsU_{d}=I_{d}-I_{od}+\omega CU_{q}CsUd =Id −Iod +ωCUq
C s U q = I q − I o q − ω C U d CsU_{q}=I_{q}-I_{oq}-\omega CU_{d}CsUq =Iq −Ioq −ωCUd
这里的ω \omegaω实际上是对Iabc的或者Uabc链式求导得来的耦合项,因为是理想电路模型,所以取理想工频50Hz的ω \omegaω即ω 0 \omega _0ω0 来计算,这样就得到了电路模型。如下图所示,需要注意的是,因为R很小,这里我把LVL中的R相忽略了,用L项近似代替了。
根据公式,图片中的电路模型也不难画出,只需要一步一步来即可。在后续的控制中,我们需要倒着来根据输出的UdUq来调整输入的EdEq的值的,也就是控制器实现的功能。有些不明所以的刚入门的同学会以为这就是控制器,实际上这仅仅是电路的模型,控制器是另外的一部分,这张图片是实际电路中的,在simulink中不需要搭建,只需要搭建PI控制环路即可。
2.前馈解耦和控制器的设计
根据图片,我们可以明显看出,出现了交叉耦合,也就是d轴和q轴出现L和C的相互耦合,想要单独控制一项无法实现,因为必然会引入另外一项的耦合,什么是单独控制一项呢,如下图所示:这里给定是电容电压的指令值,大多数时候即是PCC的电压值,经过电压外环和电流内环即双闭环控制结构,实现某一项的单独控制。
什么是前馈解耦?
为了实现我上文说的实现单独某一项的控制,解耦的目的就是为了消除耦合项的影响。
在上图当中,左侧是电流环的控制器,右侧是实际电路的电感模型,在控制器的电流环开头,将实际电路中相互耦合的引入ω 0 L \omega _0Lω0 L先一步放入环路,并且符号与电路模型中的耦合项符号正好相反,这样便可以将耦合项抵消,消除耦合影响。这是电流环的前馈解电感耦合。(看不明白看下一张图比较综合)
引入PI控制,实现无静差控制。
U d ∗ = ( K i p + K i i s ) ( I d ∗ − I d ) + U d − ω L I q U_{d}^{}=\left(K_{ip}+\frac{K_{ii}}{s}\right)(I_{d}^{}-I_{d})+U_{d}-\omega LI_{q}Ud∗ =(Kip +sKii )(Id∗ −Id )+Ud −ωLIq
U q ∗ = ( K i p + K i i s ) ( I q ∗ − I q ) + U q + ω L I d U_{q}^{}=\left(K_{ip}+\frac{K_{ii}}{s}\right)\left(I_{q}^{}-I_{q}\right)+U_{q}+\omega LI_{d}Uq∗ =(Kip +sKii )(Iq∗ −Iq )+Uq +ωLId
输出为PCC点电压的指令值。
接下来是解电容耦合,将上面的电流内环部分同时加进来,得到总图:
这里将电容也引入电压的前馈,可能有人会问中间经历了两部分,引入的部分到耦合项还是原来的吗?实际上,我们在计算电压环参数的时候,会将电流环等效成一根直线,即根本没有中间的部分,所以可以这样引入前馈。
依然,我们引入PI控制,得到电流指令信号。
I d ∗ = ( K v p + K v i s ) ( U d ∗ − U d ) + I o d − ω C U q I_{d}^{}=\left(K_{vp}+\frac{K_{vi}}{s}\right)(U_{d}^{}-U_{d})+I_{od}-\omega CU_{q}Id∗ =(Kvp +sKvi )(Ud∗ −Ud )+Iod −ωCUq
I q ∗ = ( K v p + K v i s ) ( U q ∗ − U q ) + I o q + ω C U d I_{q}^{}=\left(K_{vp}+\frac{K_{vi}}{s}\right)\left(U_{q}^{}-U_{q}\right)+I_{oq}+\omega CU_{d}Iq∗ =(Kvp +sKvi )(Uq∗ −Uq )+Ioq +ωCUd
到这里,电压电流双闭环的控制器已经呈现在你面前了,就是左边两个匡匡,很多同学学不明白,是因为没有将控制器和实际的电路模型放在一起去观察学习,这样就不容易学会。
3.一些注意的小点
现在已经设计好了双闭环控制结构了,只要给指定的电压指令和实测量逆变器便可以工作,主要是电压指令怎么给?这就回到了我们熟悉的逆变器控制策略,例如PQ控制、VF控制、VSG控制等,通过算法让逆变器具备一定的特性,比如VSG策略让逆变器具备同步发电机的一些属性等等,这个后续再发文章。
关于为什么电压差值经过PI控制器后面的就是电流量,还有电流差值经过PI控制器后面的就是电压量?
答:我们可以列出电容的微分方程,i c = C d u c d t {i_c} = C\frac{{d{u_c}}}{{dt}}ic =Cdtduc ,对其做拉式变换,得到I c = C s U c {I_c} = Cs{U_c}Ic =CsUc ,即I c 1 s C = U c {I_c}\frac{1}{{sC}} = {U_c}Ic sC1 =Uc ,即电流经过积分后变成了电压,然后I c R = U c {I_c}R = {U_c}Ic R=Uc 电流经过常数也可以变成电压,所以电流指令经过比例和积分的和之后可以变成电压指令。对于电感也可以列微分方程,也可以得到类似的结论。这是我通俗的理解,谢谢大家。