【我是工程师】精确计算开关电源-环路是如何计算出来的?
---2015.5.18(电源网)
摘要
模块化设计开关电源,全方位精确计算环路模块。以反激为例,采用mathcad软件全面精确计算环路参数,确保100%的可靠性。
正文
要真正学好电源,必须学好数学。很多人对此不以为然,或者自己不懂就刻意贬低,其实这是有害的。数学主要分3个方向,即数学分析,高等代数,概率论。数学分析再进一步就是实变函数论,复变函数论,泛函分析。高等代数再进一步就是近世代数。概率论再进一步就是数理分析。以上这几门数学均是学好电源设计的理论基础。就算暂时无法更近一步,至少要懂得这3个方向的第一步,即数学分析,高等代数,概率论。
数学分析即常说的微积分,对电源设计的理解相当有用。具体主要表现在理解电路的时域波形,尤其是求解常微分方程与偏微分方程上。有些同学自己不懂还贬低它,个人觉得相当不可取。
实变函数论在电源中较少用到,因为在开关电源设计中,绝大部分函数是黎曼可积的,即R可积的。并不需要用到勒贝格可积,即L可积。但凡事并没有绝对,毕竟实变函数是数学分析的深化,黎曼可积必定勒贝格可积,反之则不一定。所以懂得实变函数论,可以用更高观点的眼光来看待电源设计。积分如此,当然微分也是如此。
复变函数论广泛应用于电源设计中。拉普拉斯变换与反变换是其最直接的体现。可以这样说,如果没有复变函数论,就没有开关电源的设计。在这个帖子中,也用到了拉
普拉斯变换与反变换,因为有了这个变换与反变换,环路计算才得以简化。而在电路时域计算中,也因为有了复变函数论的复数分裂域的特征,才使得可以把复杂的高阶运算化为简单的一阶线性运算,大大简化了计算。至此,大部分同学应该相信高等数学在电源设计中的重要作用。至于认为可以用简单的加减乘除平方开方等初等数学就能足够设计开关电源的想法可以休了,这样的想法是错误的。如果不懂高等数学就认为是无用的,认为只需要初等数学就足够了,甚至认为高等数学是卖弄,是糊弄,只能说明是不懂装懂,贬低别人抬高自己。
而高等代数主要包括线性代数,本帖子所用的环路计算大量采用了线性代数中矩阵的计算方法。简要说明即是将非线性电路小信号线性化,从而解决其控制的可靠性。
概率论与电源的统计规律关系密切,比如可靠性与失效分析,可以让设计人员在成本与可靠性之间找到最好的折中点,从而实现利润的最大化。
以最简单的反激电路为例,计算电源的环路。揭开电源设计中环路设计的面纱:原来环路计算是如此简单?
按照以下3部分讲述:
1、主电路的小信号传递函数,
2、控制电路的小信号传递函数,
3、总的开环小信号传递函数。
坐在电脑前就能把电源设计好?这是真的,电源设计90%的工作量都可以在电脑前完成。尤其是涉及到电源稳定性的环路设计,再也不用怕电源调试炸机了,分分钟搞定电源稳定性。
由于时间有限,所以先贴出整个过程,如果有不明白的地方,请回帖提出来,我看到了自然会回帖慢慢解释。
首先自然是一些必要的参数,即计算从10Hz-1MHz的频率范围,每10Hz计算一个点。这个范围比较大,实际为了节省软件计算时间,不用设的这么大。
总的示意原理图如下所示:
首先是主电路的传递函数,主电路分2部分,先讲简单的第2部分,即功率滤波电路,主要由第1级输出电解电容、输出直流滤波电感、第2级输出电解电容组成,即所谓的Π电路。
(13贴)
相关解释如下:
1、副边电阻R折算到原边Rr与副原边匝比n的平方n^2成反比,即Rr=R/(n^2)。电感也成反比,即Lr=L/(n^2)。但是电容成正比,即Cr=C*(n^2)。具体可参见13贴与41贴。
2、Ro等不带“r”的即为副边电阻,Zr3等带“r”的即为折算到原边的阻抗。下标“o”表示2路输出,当o=0时为24V输出,当o=1时为8V输出。下标“v”表示扫描频率点,具体可参见12贴。
3、与上类似。
4、各路并联是指2路输出(即24V、8V输出,即下标o=0与o=1)折算到原边后并联,而不是指Z1、Z2、Z3并联。因为Z1有2路,折算到原边Zr1也为2路,但是这2路折算到原边后是位于同一个位置点,即相当于这2路折算到原边之后是并联关系,所以总等效阻抗即为1/(1/Zr1下标0,v+1/Zr1下标1,v)。
所用的电路是24V3.5A与8V1.2A两路输出。
主电路的一些参数如下所示:
(41帖)
两路输出的第1级输出电解电容、输出直流滤波电感、第2级输出电解电容参数如下所示:(其中电解电容的ESR根据电解电容的规格书可以查到。)
画图板手绘的滤波电路示意图如下:
Z1、Z2、Z3即如下图所示。
这个就是主电路滤波电路部分的小信号传递函数,由于滤波前是3级滤波电路,滤波后是2级滤波电路,所以相差1级滤波电路,即是以-20dB每10倍频的斜率下降。
滤波前的电压即为第1级电解电容上的电压,滤波后的电压即为第2级电解电容上的电压。
所以滤波电路的小信号传递函数,即为滤波后的电压比滤波前的电压,也即输出滤波电路的分压比(即第3级等效输出电抗比第2级等效输出电抗=Zr3/Zr2)。
画图板软件手绘的主电路滤波电路部分的小信号传递函数Gvv的框图如下所示,其中Uo1为输出电压(滤波前),Uo2为输出电压(滤波后)。
这是主电路第1部分的采用电流峰值控制的反激电路的小信号模型的一些参数。6个参数,其实只有2个参数是需要的,其它的只是列出来而已,别无他意。由于电流连续CCM与电流断续DCM模式的小信号模型不一样,所以采用分段函数做了一个统一,由软件自行判断采用哪个模式,同时从最后的结果来看,也几乎是平滑过渡的,所以电源在CCM、DCM切换时,是不会有任何可靠性问题产生的(虽然很多教科书会说DCM比CCM更容易控制,其实不然)。
以上6个参数即为构成峰值控制的小信号模型的全部,具体含义见下图。
图中:vg为输入电压,ig为输入电流,v为输出电压,
R为负载电阻,C为滤波电容(实际上这里应该为CLC滤波电路,即第1级输出电解电容、输出直流滤波电感、第2级输出电解电容),
由于以上的原因,所以v应该修正为滤波前的输出电压。
ic为电流峰值(即为电流峰值控制中的原边电流峰值),
r1为输入电抗,f1为输入独立电流源比例系数(由电流峰值ic控制),g1为输入受控电流源导纳(由输出电压v控制),
r2为输出电抗,f2为输出独立电流源比例系数(由电流峰值ic控制),g2为输出受控电流源导纳(由输出电压v控制)。
以下推导本贴最核心的部分,即反激电路的小信号模型的参数。
反激变换器的示意图如下图所示:
推导分2步,第1步先推导平均值控制的反激小信号模型,第2步再推导峰值电流控制的反激小信号模型。
同时:推导分2方面,即1为连续电流模式CCM的反激小信号模型,断续电流模式DCM的反激小信号模型。
一、首先推导平均值控制CCM模式的反激小信号模型。
占空比导通的D1工作区间,即开关管Q1开通、二极管D1关断工作区,等效电路如下图所示。
状态方程为:
L*di/dt=vg;
C*dv/dt=-v/R;
输出变量为:
ig=i;
v=v;
占空比截至的D2工作区间,即开关管Q1关断、二极管D1开通工作区,等效电路如下图所示。
状态方程为:
L*di/dt=-v/n;
C*dv/dt=i/n-v/R;
输出变量为:
ig=0;
v=v;
小信号模型即是:在一个开关周期里取平均。
所以可由以上2个工作区的方程,取平均(即分别乘占空比*d1、*d2,再相加+)推导出如下方程:
状态方程为:
L*di/dt=d1*vg+d2*(-v/n);
C*dv/dt=d1*(-v/R)+d2*(i/n-v/R);
输出变量为:
ig=d1*i+d2*0;
v=d1*v+d2*v;
由于是电流连续模式CCM,所以满足条件:
d1+d2=1;
因此,化简之:
状态方程为:
L*di/dt=d1*vg+d2*(-v/n);
C*dv/dt=-v/R+d2*i/n;
输出变量为:
ig=d1*i;
v=v;
将每个变量写成直流大信号分量与交流小信号分量之和,即:
i=I+i~;
v=V+v~;
vg=Vg+vg~;
ig=Ig+ig~;
d1=D1+d~;
d2=D2-d~;
其中
D1+D2=1;
将以上变量代入以上的方程,即可得:
状态方程为:
L*d(I+i~)/dt=(D1+d~)*(Vg+vg~)+(D2-d~)*(-(V+v~)/n);
C*d(V+v~)/dt=-(V+v~)/R+(D2-d~)*(I+i~)/n;
输出变量为:
(Ig+ig~)=(D1+d~)*(I+i~);
(V+v~)=(V+v~);
化简之,则如下所示:
状态方程为:
L*di~/dt=[D1*Vg-D2*V/n]+[D1*vg~+(Vg+V/n)*d~-D2/n*v~]+[d~*vg~+d~*v~/n]; C*dv~/dt=[-V/R+D2*I/n]+[-1/R*v~+D2/n*i~-I/n*d~]+[-d~*i~/n];
输出变量为:
Ig+ig~=[D1*I]+[D1*i~+I*d~]+[d~*i~];
V+v~=[V]+[v~];
所以直流大信号方程为:
状态方程为:
0=D1*Vg-D2*V/n;
0=-V/R+D2*I/n;
输出变量为:
Ig=D1*I;
V=V;
而忽略2阶小信号,则交流小信号方程为:
状态方程为:
L*di~/dt=D1*vg~+(Vg+V/n)*d~-D2/n*v~;
C*dv~/dt=-1/R*v~+D2/n*i~-I/n*d~;
输出变量为:
ig~=D1*i~+I*d~;
v~=v~;
(插入:不是的,就第一次设计反激开关电源是自己推导写mathcad。再次设计同样的反激拓扑电源,只需要把原来mathcad模板中的参数改改就可以了,比如只需要改输入电压范围,输出电压与电流等。所以虽然mathcad写的很长,但是重新计算一遍,一般只需要1-2个小时,就可以把所有元器件的参数确定了,毕竟mathcad软件会自动计算。所以时间一长,推导过程就已经忘记了,这次写帖子就需要重新推导,所以时间拖得有点长,需要边推导边写帖子。这些拓扑的传函都是我推导出来的精确公式,并不是经验公式,有些是参考教科书,有些是完全自己推导出来的。对于新的拓扑,有时候也参考application note,只是作为参考,里面合理的公式就采用,有些不太合理的公式(比如工程化的经验公式)我会用自己推导的更精确的公式替代之。
一般采用电流平均值控制的电源,即你说的电压外环和电流内环,才需要分别计算电压外环和电流内环的传函。而电流峰值控制的电源,其内环电流环是天然稳定的,因此并不需要画蛇添足而多此一举计算电流环的传函,其实这个只要你自己去推导一次就明白了,所以电流峰值控制的电源,只需要计算电压外环的传函就可以了。)
将以上交流小信号方程拉普拉斯变换,即由时域t变换为频域s:
因此di~/dt变换为s*i~,dv~/dt变换为s*v~;其中s=j*ω=j*2*π*f;(其中ω为角频率,π=3.14,f为频率)。
状态方程变换为:
L*s*i~=D1*vg~+(Vg+V/n)*d~-D2/n*v~;
C*s*v~=-1/R*v~+D2/n*i~-I/n*d~;
输出变量变换为:
ig~=D1*i~+I*d~;
v~=v~;
将以上变换之后的交流小信号方程消去i~,经化简可得:
ig~=1/Δ*[(n*D1/D2)^2*((1+R*C*s)/R)*vg~+(n^2*D*Vg/(D2^3*R)*(Δ
+(1+R*C*s)*(1-Ln*D1/R*s))*d~];
v~=1/Δ*[n*D1/D2*vg~+n*Vg/D2^2*(1-Ln*D1/R*s)*d~];
其中:
Ln=(n/D2)^2*L;
Δ=1+Ln/R*s+Ln*C*s^2;
则平均值控制的CCM小信号模型如下图所示:
根据下图可知:
ig~=1/Z*vg~+(j+e/Z)*d~;
v~=M*He*vg~+e*M*He*d~;
将上式与变换化简之后的交流小信号方程中的相应项相对应,即可得:
M=V/Vg=n*D1/D2;(根据以上直流大信号方程中的状态方程)
He=1/Δ;
Le=Ln=(n/D2)^2*L;
Ce=C;
e=V/(n*D1^2)*(1-Ln*D1/R*s);
j=n/D2^2*V/R;
二、其次推导峰值控制CCM模式的反激小信号模型。
将以上平均值控制CCM模式的拉普拉斯变换之后的交流小信号方程中重新列出如下:状态方程变换为:
L*s*i~=D1*vg~+(Vg+V/n)*d~-D2/n*v~;
C*s*v~=-1/R*v~+D2/n*i~-I/n*d~;
输出变量变换为:
ig~=D1*i~+I*d~;
v~=v~;
假设CCM模式电感平均值电流i近似等于电感峰值电流ic,如下图所示,则:
ic~=i~;
将以上变换之后的交流小信号方程消去i~、d~,经化简可得:
ig~=D1*(1+n*S*L/R)*ic~+D1*D2/R*v~-n*D1^2/R*vg~;
S*C*v~=D2/n*(1-n*S*L*D1/(D2*R))*ic~-(1/R+D1*D2/(n*R))*v~+D1^2/R*vg;
四、再再次推导平均值控制DCM模式的反激小信号模型。
D1、D2工作区等效电路,与平均值控制CCM模式的相同,这里就不重复了,具体参见226、228贴。
占空比截至的D3工作区间,即开关管Q1关断、二极管D1关断工作区,等效电路如下图所示。
状态方程为:
L*di/dt=0;
C*dv/dt=-v/R;
输出变量为:
ig=0;
v=v;
小信号模型即是:在一个开关周期里取平均。
所以可由以上3个工作区的方程,取平均(即分别乘占空比*d1、*d2、d3,再相加+)推导出如下方程:
状态方程为:
L*di/dt=d1*vg+d2*(-v/n)+d3*0;
C*dv/dt=d1*(-v/R)+d2*(i/n-v/R)+d3*(-v/R);
输出变量为:
ig=d1*i+d2*0+d3*0;
v=d1*v+d2*v+d3*v;
由于是电流连续模式DCM,所以满足条件:
d1+d2+d3=1;
L*(2*i)/(d1*Ts)=vg; (即为:2*L*i=d1*Ts*vg;)
因此,化简之:
状态方程为:
L*di/dt=d1*vg+d2*(-v/n);
C*dv/dt=-v/R+d2*i/n;
输出变量为:
ig=d1*i;
v=v;
补充为:
2*L*i=d1*Ts*vg;
将每个变量写成直流大信号分量与交流小信号分量之和,即:i=I+i~;
v=V+v~;
vg=Vg+vg~;
ig=Ig+ig~;
d1=D1+d~;
d2=D2+d2~;
d3=D3-d~-d2~;
其中
D1+D2+D3=1;
将以上变量代入以上的方程,即可得:
状态方程为:
L*d(I+i~)/dt=(D1+d~)*(Vg+vg~)+(D2+d2~)*(-(V+v~)/n); C*d(V+v~)/dt=-(V+v~)/R+(D2+d2~)*(I+i~)/n;
输出变量为:
(Ig+ig~)=(D1+d~)*(I+i~);
(V+v~)=(V+v~);
补充为:
2*L*(I+i~)=(D1+d~)*Ts*(Vg+vg~);
化简之,则如下所示:
状态方程为:
L*di~/dt=[D1*Vg-D2*V/n]+[D1*vg~+Vg*d-D2/n*v~-V/n*d2~]+[d~*vg~-d2~* v~/n];
C*dv~/dt=[-V/R+D2*I/n]+[-1/R*v~+I/n*d2~+D2/n*i~]+[d2~*i~/n];
输出变量为:
Ig+ig~=[D1*I]+[D1*i~+I*d~];
V+v~=[V]+[v~];
以及:
2*L*I+2*L*i~=[D1*Ts*Vg]+[D1*Ts*vg~+Ts*Vg*d~]+[Ts*d1~*vg~];
所以直流大信号方程为:
状态方程为:
0=D1*Vg-D2*V/n;
0=-V/R+D2*I/n;
输出变量为:
Ig=D1*I;
V=V;
补充为:
2*L*I=D1*Ts*Vg;
而忽略2阶小信号,则交流小信号方程为:
状态方程为:
L*di~/dt=D1*vg~+Vg*d-D2/n*v~-V/n*d2~;
C*dv~/dt=-1/R*v~+I/n*d2~+D2/n*i~;
输出变量为:
ig~=D1*i~+I*d~;
v~=v~;
补充为:
2*L*i~=D1*Ts*vg~+Ts*Vg*d~;
设
K=2*L/(R*Ts);
则根据以上直流大信号方程:
D2=n*K^0.5;
M=V/Vg=D1/K^0.5;
D1=M*K^0.5;
Vg=V/M;
I=V/(R*K^0.5);
Ig=M*V/R;
由于断续电流模式DCM下,电感电压在一个开关周期平均下为零,所以:
(d1+d2)*L*di~/dt=0;
即:辅助条件为:
L*di~/dt=0;
则交流小信号方程变为:
状态方程为:
L*di~/dt=D1*vg~+Vg*d-D2/n*v~-V/n*d2~=0;
C*dv~/dt=-1/R*v~+I/n*d2~+D2/n*i~;
输出变量为:
ig~=D1*i~+I*d~;
v~=v~;
补充为:
2*L*i~=D1*Ts*vg~+Ts*Vg*d~;
将以上变换之后的交流小信号方程消去i~、d2~,经化简可得:ig~=M^2/R*vg~+2*V/(R*K^0.5)*d~;
C*dv~/dt=-2/R*v~+2*M/R*vg~+2*V/(M*R*K^0.5)*d~;
同时为了下文需要,列出:
i~=M/(R*K^0.5)*vg~+V/(K*R*M)*d~;
则平均值控制的DCM小信号模型如下图所示:
根据下图可知:
ig~=-g1*v~+1/r1*vg~+j1*d~;
C*dv~/dt=-(1/r2+1/R)*v~+g2*vg~+j2*d~;
将上式与化简之后的交流小信号方程中的相应项相对应,即可得: