资源描述
【我是工程师】精确计算开关电源-环路是如何计算出来的?
---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~;
将上式与化简之后的交流小信号方程中的相应项相对应,即可得:
g1=0;
r1=R/M^2;
j1=2*V/(R*K^0.5);
r2=R;
g2=2*M/R;
j2=2*V/(M*R*K^0.5);
这个就是主电路的反激拓扑部分的小信号传递函数,并不符合可靠性的要求,所以要进行控制的补偿。
由于仅仅需要的是输出电压v 比 原边电流峰值ic 的传递函数。
输入变量只需要电流峰值ic,不需要输入电压vg,所以可以直接把vg短路。
输出变量只需要输出电压v,不需要输入电流ig,所以可以忽略图中的左边部分。
对于图中的右边部分,右边最左的受控电流源g2*v,将对输出电压v产生的扰动是v的2阶无穷小量,所以可忽略。
所以输出电压v由右边次左的独立电流源f2*ic,经过输出电抗r2、z1=滤波CLC+负载R(图中为C+R)产生。
即v=f2*ic/(1/r2+1/Z1),所以v/ic=f2/(1/r2+1/Z1)。
这里为了方便,重新贴图如下:
画图板软件手绘的主电路反激拓扑部分的小信号传递函数Gvc的框图如下所示,其中Ic为原边峰值电流,Uo1为输出电压(滤波前)。
控制电路的传递函数部分,主要包括比例积分调节(PI调节),即RC调节。
这个电路采用431(看作运算放大器)的RC串联调节即可(并不用再并联一个C,软件中的Cc并不需要,在这里设了一个1pF,这个值几乎可以忽略)。
这里标红是需要人为调节,再看最终的开环增益是否满足可靠性要求,如果不满足,就需要重新调节标红的部分,直到满足。这也是mathcad这个软件能够实时计算的优点。
单零点单极点补偿网络如下图所示:
可推导其传递函数为G=-k*ωz*(1+s/ωz)/(s*(1+s/ωp));
其中直流增益k=(R2*C2)/(R1*(C1+C2));零点角频率ωz=1/(R2*C2);极点角频率ωp=(1/C1+1/C2)/R2;
控制电路的实际图形如下图所示:
公式中的Rvs_up=[R20,R21]=[20,20]*k欧,Rrc=R24=22k欧,Crc=C5=4.7nF,而Cc并不存在。
AZ431起运算放大器的作用,所以AZ431的3脚电压即为PI控制电压。
画图板软件手绘的控制电路比例积分调节小信号传递函数Gcontrol的框图如下所示,其中Uo2为输出电压(滤波后),Ucontrol为PI控制的输出电压。
这里由于是控制电路,所以输入输出是由右到左,这个只是习惯而已,别无他意。
PI调节是控制电路的第1部分。
如果需要更精确,即考虑431的直流增益、带宽、开环增益等参数,可以用以下这个公式进行修正。
而事实上2者基本一样,所以为简单计,不修正也行。
由于采用的是交叉负载调整,以及使用光耦隔离,所以需要把电压转换成电流,这就是第一部分最终的小信号传递函数。
为了方便看帖起见,再把控制电路图片重新贴下。
图中+24V、+8V为滤波后的24V、8V输出电压,+24V_1为滤波前的24V输出电压。
所以光耦的LED电流iLED+电阻R26上的电流=(滤波前的输出电压+24V_1-AZ431的3脚电压即为PI控制电压VPI-光耦的LED电压)/光耦的串联电阻Rled_s即R25。
由于光耦的LED电压是个不变的常值,所以变化为零。同时电阻R26上的电流也是个常值,所以变化为零。
所以上式可以简化为:iLED=(+24V_1-VPI)/R25。
同时,VPI=+24V_1*(滤波器的小信号传递函数)*(PI调节的传递函数),
所以上式变为iLED=+24V_1(1-(滤波器的小信号传递函数)*(PI调节的传递函数))/R25。
由于滤波前的24V、8V输出电压折算到原边是同一个电压点,所以2路的滤波电路和PI调节电路折算到原边相当于并联。
即iLED/折算到原边的输出电压=(24V的变比-并联的(2路的变比*(滤波器的小信号传递函数)*(PI调节的传递函数)))/R25。
画图板软件手绘的控制电路比例积分调节小信号传递函数Gc1的框图如下所示,其中Uo1为输出电压(滤波前),If为光耦输入LED电流。
Gvv为主电路滤波电路部分的小信号传递函数,Gcontrol为控制电路比例积分调节小信号传递函数,Rled_s为光耦的串联电阻。
Uo2为输出电压(滤波后),Ucontrol为PI控制的输出电压。
主电路的输入输出是由左到右,控制电路的输入输出是由右到左。
这是控制电路的第2部分,即光耦的隔离传递小信号模型。
因为光耦的输出端电容即等效集射极电容=前向放大增益hfc*光耦的集基极Ccb,同时光耦的集射极外并一个电容Cce(图上未画出),
所以总集射极电容C_oc=hfc*Ccb+Cce。
而所用控制芯片的反馈输入端的输入等效阻抗为Rpullup=5k欧,如下图所示:
所以等效为一个RC低通滤波电路,极点频率为f=1/2*3.14*Rpullup*C_oc;
直流增益只考虑电阻,不考虑电容,所以光耦集射极电压=光耦的输出电流*Rpullpu=光耦的输入电流即LED电流iLED*电流传输比CTR*Rpullup;
所以直流增益K=光耦集射极电压/光耦的输入电流即LED电流iLED=电流传输比CTR*Rpullup。
这个就是光耦的传递模型,光耦集射级电压对光耦的LED电流。
画图板手绘的光耦部分传递模型的示意图如下:
其中Rpullup即为芯片内部反馈输入端等效阻抗,Vfb_open即为芯片内部反馈输入端的开路等效电压,
C_oc即为光耦总集射极电容,光耦的输入电流为iLED,光耦的输出电流即为iLED*CTR。
由于Vfb_open为不变的常值电压,所以对于交流小信号传递函数来说,可以看成是0V即可看成Rpullpu与C_oc并联。
所以反馈端电压(光耦集射极电压)=-iLED*CTR/(1/Rpullup+s*C_oc),
即光耦集射极电压/iLED=-CTR*Rpullup/(1+s*Rpullpu*C_oc)=-K_oc/(1+s/(2*3.14*fp_oc))。
其中K_oc=CTR*Rpullpu为直流增益,fp_oc=1/(2*3.14*Rpullup*C_oc)为极点频率。
画图板软件手绘的控制电路光耦部分的小信号传递函数Gc2的框图如下所示,其中If为光耦输入LED电流,Uce为光耦集射极电压。
控制电路的输入输出是由右到左。
这个是控制电流的第3部分,主要是根据控制芯片的参数Avcs,所以是个定值。已经转换为原边峰值电流了。
原边电流采样电压Vcs=原边峰值电流*电流采样电阻Rcs;
而根据芯片资料,反馈端电压(光耦集射极电压)/原边电流采样电压Vcs=Avcs;
所以反馈端电压(光耦集射极电压)/(原边峰值电流*电流采样电阻Rcs)=Avcs,
即原边峰值电流/反馈端电压(光耦集射极电压)=1/(Rcs*Avcs)。
下图即为芯片内部的Avcs。
画图板软件手绘的控制电路控制芯片部分的小信号传递函数Gc3的框图如下所示,其中Uce为光耦集射极电压,Ic为原边峰值电流。
控制电路的输入输出是由右到左。
这个是以上3部分控制电路的综合,即控制电流的传递函数。
控制环路的小信号环路,小结一下:
Gc1为PI调节的传递函数,即光耦输入电流/输出电压(滤波前);
Gc2为光耦的传递函数,即反馈端电压/光耦输入电流;
Gc3为控制芯片的传递函数,即原边峰值电流/反馈端电压;
所以Gc=-Gc1*Gc2*Gc3即为控制电路的传递函数,即原边峰值电流/输出电压(滤波前),负号是因为负反馈。
画图板软件手绘的总的控制电路传递函数Gc的框图如下所示,其中Uo1为输出电压(滤波前),Ic为原边峰值电流。
Gc由比例积分调节传递函数Gc1、光耦传递函数Gc2、控制芯片传递函数Gc3级联而成。
主电路的输入输出是由左到右,控制电路的输入输出是由右到左。
而主电路与控制电路的总和,即为整个电源的开环传递函数。
可以从穿越频率、相位裕量、穿越斜率等参数看是否已经满足了可靠性的要求,如果不满足,则反回去修正PI参数,直到满足为止。
学过控制原理的同学都知道,开环增益是指前馈增益Gvc与反馈增益Gc的乘积PHc=Gvc*Gc。
这里的Gvc是上文中的主电路反激拓扑的小信号传递函数,即输出电压(滤波前)/原边峰值电流。
注意:并不包括主电路滤波电路的传递函数。
而Gc是上文中的控制电路的小信号传递函数,即原边峰值电流/输出电流(滤波前)。
附问题:
这个类似与c语言里的循环语句while。
首先令j=1,即扫描频率点的起始频率,具体可参见12贴。
其次做循环比较,当开环幅值不等于0时(即绝对值>0.1),令j增加1(即另j=j+1),再重复比较(即循环比较)。
直到开环幅值等于0时(即绝对值<0.1),退出循环。
最后返回j值(即把此时的j值赋值给va),所以va即为穿越频率扫描点(穿越即为开环幅值为0时的频率扫描点)。具体可参见25贴的幅频特性图。)
画图板软件手绘的整个电源的开环传递函数PHc=Gvc*Gc的框图如下所示,其中Uo1为输出电压(滤波前),Ic为原边峰值电流。
PHc由主电路的传递函数Gvc与控制电路的传递函数Gc组成。
主电路的输入输出是由左到右,控制电路的输入输出是由右到左。
整个电源的开环增益图,给人更直观的感受,是否可靠,一目了然。自此,计算完成,够简单吧。
整个电源系统是否稳定,主要看如下4个指标是否满足要求:
1、穿越频率(fc)ωc;
2、相位裕量φm;
3、增益裕量Kg;
4、中频宽度h。
示意图如下所示:
1、穿越频率(fc)ωc:
开环对数幅频特性等于0dB时所对应的频率值,称为开环穿越频率或截至频率ωc。它表征系统响应的快速性能,其值越大,系统的快速性能越好。为了使阶跃响应不产生超调,穿越频率ωc应位于斜率为-20dB/dec的线段。如果中频段的斜率为-20dB/dec,则系统必然稳定。
2、相位裕量φm:
φ定义为在ω=ωc时开环对数频率特性相频特性曲线的相位值φ(ωc)与-180度之差,即φm(ωc)=φ(ωc)+180度。
相位裕量φm(ωc)的物理意义:为了保持系统稳定,系统开环频率特性在ω=ωc时所允许增加的最大相位滞后量。如果φm(ωc)>0,则系统稳定;如果φm(ωc)=0,则系统临界稳定;如果φm(ωc)<0,则系统不稳定。对于一个自动控制系统,通常工程领域认为φm(ωc)=45度,表示系统局域足够的相位裕度。
3、增益裕量Kg:
增益裕量Kg,是指相角ωg=180度时所对应的幅值倒数的分贝数,即Kg=20*log(1/|T(j*ωg)|)=-20*log|T(j*ωg)| (dB);
增益裕量Kg的物理意义:为了保持系统稳定,系统开环增益所允许增加的最大分贝数。若Kg>0,则系统稳定;Kg=0,则系统临界稳定;Kg<0,则系统不稳定。对于一个自动控制系统,通常工程领域认为Kg>10dB,则系统具有足够的幅度裕度。
4、中频宽度h:
开环对数幅频特性以斜率为-20dB/dec过横轴的线段在ω轴上所占的宽度称为中频宽度(或称中频带宽),即h=ω2/ω1;
中频带宽反映了系统的稳定程度,h愈大,系统的相角裕量愈大。为了得到较好的瞬态响应性能指标,中频宽度应该大于规定的数值。中频宽度愈大,阶跃响应曲线愈接近指数曲线。如果一个系统的阶跃响应曲线愈接近指数曲线,则穿越频率ωc和指数曲线的时间常数成反比。但是,中频带宽h愈大,高频噪声愈大。
(至于数字控制方面,我的一点点建议就是,这篇帖子讲的还是模拟的控制方法,主要是如何把模拟的时域信号通过拉普拉斯变换转换为模拟的频域S域信号。
不过要转化到数字控制,也很简单。首先是运用某种算法,比如双线性变换,把模拟的频域即S域信号转换为数字的离散Z域信号即可。
另一点就是,峰值电流控制可能不太适合数字控制,因为DSP的采样速度没这么快,不过也有办法解决,即可以采用平均值电流控制。
同时采用了平均值电流控制之后,为了解决控制速度,可以采用双环控制,即内环电流环,外环电压环。
1、本来以为原理图关键部分都给出了,大家都能明白,后续我会给出一张总体的示意原理图。
2、说实话,一般我计算完了,几乎都不用调试,而直接上电成功,也不用更改什么,只是测试一下就ok了,比如电压精度、电压纹波、效率、开关管的电压应力等等,所以也没存下什么调试波形。
3、40贴的电容就不改了,已经在105贴说明了,相信你也已经看到了。
4、书名叫“开关变换器的建模与控制”,如果你有兴趣,可以去看一下,比控制原理更实际的适合于电源的书籍,不过不是关于数字控制的。至于数字控制方面的书,我也没看过什么,说句实话,只要懂得比如象双线性变换这类的把模拟S域信号转换为数字Z域信号的算法,就绝对够用了。
)
从方法来说,主要是设计合理的调节结构和参数,使开环增益满足稳定性的要求。至于设计过程,则如本帖,分别计算出主电路与控制电路的传递函数,最后相乘得到整个电源的开环增益,并判断其稳定性。而如何判断稳定性,主要是看幅频特征曲线:低频段足够高,即至少负40dB每10倍频;中频段为负20dB每10倍频穿越;高频段足够低,即至少负40dB每10倍频。同时满足相位裕量至少30度,幅值裕量至少6dB,穿越频率为开关频率的几分之一到几十分之一之间,中频带宽为10倍频。具体见207贴。
满足稳定性要求的理想幅频特性示意图如下所示:
(待续)
展开阅读全文