电压电流双闭环控制作为一种耳熟能详的应用于电力电子、电机驱动和电源管理领域的高性能控制策略。其核心是通过内外环嵌套的闭环结构,实现对系统的快速动态响应和高精度稳态控制。
1.两电平逆变器的电路建模
-
要研究控制策略,必然和电路结构产生密不可分的联系,所以我们要进行建模。
-
关于逆变器结构,三电平及多电平的主要区别在于调制策略的不同,我们主要研究其外特性,控制策略方面是一样的,为了便捷性起见,我们针对两电平逆变器进行建模。
-
下面是一个常见的两电平逆变器的结构示意图:
-
由于复杂性,我采用了建模更为简单的LC型滤波器结构,也是实际低压系统中应用最多的滤波方案。
-
首先,写出三相电路的方程,E表示逆变器桥臂中点输出电势,U为并网点PCC处的电压,下面是经过L的KVL方程,由于是事先编辑的公式,公式和图片某些字母略有出入。 I a I_a Ia表示图中 i L a i_La iLa,在正式写论文是需要注意,大写一般表示有效值,小写表示瞬时值。
{ 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+ωLIqLdtdIq=Eq−RIq−Uq−ωLIdCdtdUd=Id−Iod+ωCUqCdtdUq=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 ω0L先一步放入环路,并且符号与电路模型中的耦合项符号正好相反,这样便可以将耦合项抵消,消除耦合影响。这是电流环的前馈解电感耦合。(看不明白看下一张图比较综合)
-
引入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} IcsC1=Uc,即电流经过积分后变成了电压,然后 I c R = U c {I_c}R = {U_c} IcR=Uc电流经过常数也可以变成电压,所以电流指令经过比例和积分的和之后可以变成电压指令。对于电感也可以列微分方程,也可以得到类似的结论。这是我通俗的理解,谢谢大家。