开关电源
本帖最后由 xukun977 于 2020-2-7 20:34 编辑开关电源书籍,网上起码有上百本,有的偏向于理论,例如功率电子学基础,有的偏向于设计,给出cookbook设计流程,甚至有辅助软件。
两种方法各有优缺点,能互补一下就好了。
现在赶上特殊时期了,不能随便出门,憋死了,于是通过发帖来发泄一下。
不过这样也好,难得安静一点,正月里天天吃喝也没多少意思。
1,升压型电源工作原理
这种电源的英文名是boost或者step-up,理解的重点是理论联系实际,先看基本原理图,再看实际原理图,看看两者的关系。
基本原理图如下:
图1
图1是纯原理图,图中开关在实际电路中是用二极管或BJT、FET等实现(同步整流)。
当S闭合,电池电压加到电感上,于是电感中电流上升,这就建立起了磁场,电源的能量开始转化成磁场能的形式储存累积起来。
于此同时,S闭合时,二极管D是反偏截止的,上一个周期电容储存的电能向负载释放,电容放电的形式。
也就是,左边电池对电感充电,右边电容C对负载放电,各干各的事。
电感上如果近似不变,那么其中的电流可好计算了,因为是线性变化的!
所以开关闭合时,电感电流能升到多高Imax,取决于电感值,电压和开关闭合时间。
当电容上电压放的差不多了,抓紧把开关S开路,不然负载上纹波电压太大了,开关一旦断开,刚才电感中储存的磁场能要释放了,以放电电流的形式,从电感中向外流淌,这个电流通过二极管D向负载和电容C中供应。
理论上研究的是实用的小纹波近似,即默认负载电压是几乎不变的,纹波幅度较小,所以电感上的电压等于电池电压减去负载电压,于是电流线性下降,如下图蓝线所示。
注:对于升压开关电源,Vbat低于负载电压,所以电流的斜率是负的。
输出电压高于电池电压是可能的,因为根据楞次定律,电感极型如下图,于是电池电压加电感电压可以非常高,
本帖最后由 xukun977 于 2020-2-7 21:07 编辑
上面是纯理论的升压开关电源工作原理,如何具体实现?现在几乎都是清一色的电源IC,价格低廉:
对于理解原理非常有帮助的各点波形:
上图中的E是电感电流,图中电感电流下坡沿标错了,应该是(Vbat-Vout)/Lx
工作原理:R1为芯片提供偏置电流,为基准REF提供启动偏置,让基准输出1.2V左右的基准电压,同时,这个基准为芯片内部其它电路提供稳定的偏置。
芯片启动后,电流经过Lx和二极管D1流向负载,芯片反馈引脚通过R2/3检测输出电压,一旦检测到7脚电压低于1.2V左右,比较器输出逻辑0,振荡器输出的方波为低,NOR门输出为高电平,让Q1导通为电感充电;如果振荡器输出为高,则NOR门输出为低,令Q1断开。
本帖最后由 xukun977 于 2020-2-7 21:59 编辑
花点时间把电感讲清楚。
电感的基本定义是磁链/电流:
物理意义如下,如下图所示,磁心上绕n匝铜线圈,用电流源i做激励,磁心中发生的电磁现象很多,因为关于物质的磁行为,有两种观点:
一种观点认为磁场强度H是磁化驱动力,由电流或永磁体产生,而B是最终的磁通密度,H的线积分叫磁动力。而相对磁导率u是判断给定的材料中,产生磁通量的难易程度的。
这个说法只是为了便于理解,磁场比较直观,计算时常用。
另一种观点是理论上认为B场只与电流有关,与材料的特性等其它方面无关!!!也无需引入磁相对导率的概念了。
常用的是不太严格的第一种观点,认为电流在铜线绕组中通过,产生磁场强度H,然后这个磁场强度H产生最终的磁通密度B=uH,然后磁通密度产生的总磁通量=BA,A是磁心的截面积,然后磁通量又产生了磁链=n*磁通量,n为匝数!
这个不太严格但直观形象的因果关系,产生顺序是电流----》磁场强度-----》磁通密度-----》磁通量------》磁链
这个因果关系,站在信号流的角度看,或者类似模拟电路中的网络端口的观点看,电流是输入,磁链是输出,于是类似于模电中的传递函数的概念【传递函数=输出/输入】,于是定义成电感L=磁链/电流!
基本原理搞清楚,就能知道上面的电感电流斜率为何是固定的了。
本帖最后由 xukun977 于 2020-2-7 22:09 编辑
再解释电感为何害怕饱和。
磁心的传递函数为下图,不考虑迟滞效应。
如上图,电流从-i临界到+i临界范围内变化时,磁链也是随之线性变化的,但是电流一旦超过临界值,磁链就几乎保持不变了,正所谓“磁饱和”了。
饱和会发生什么后果,看上面的电感定义:
磁链几乎不变,意味着电感约=0,在开关电源中,电感两端电压近似是直流,于是根据上面的伏安关系,分母L=0,意味着电流i=∞
电流为无穷有什么后果?
支持,再接再厉,详细普及 本帖最后由 Love安呐老哥 于 2020-2-8 10:26 编辑
xukun977 发表于 2020-2-7 22:06
再解释电感为何害怕饱和。
V=phi/t,饱和了之后,phi/t不是零吗?怎么解释 本帖最后由 Love安呐老哥 于 2020-2-8 10:22 编辑
xukun977 发表于 2020-2-7 22:06
再解释电感为何害怕饱和。
------------- Love安呐老哥 发表于 2020-2-8 10:09
V=phi/t,饱和了之后,phi/t不是零吗?怎么解释
我看不懂你在说什么!
V=phi/t是什么意思?哪来的? xukun977 发表于 2020-2-8 11:39
我看不懂你在说什么!
V=phi/t是什么意思?哪来的?
说错了,是磁链对时间的导数=0,这个等于电压,但又有VDC,不矛盾吗 Love安呐老哥 发表于 2020-2-8 11:44
说错了,是磁链对时间的导数=0,这个等于电压,但又有VDC,不矛盾吗
实在想不通,可以类比于欧姆定律R=U/I 本帖最后由 xukun977 于 2020-2-27 13:44 编辑
做DC-DC设计,或者是研究DC-DC的动态特性,所需要的matlab程序:
在2108版本的matlab中验证过了,可以直接用。
使用者根据需要,修改电压值、元件值和寄生参数。
同时根据需要,用%号屏蔽某些传递函数,把想看的传递函数前面%号删除掉。
V1=3.3, Vo=1.2, L=4.7e-6, C=20e-6, T=5e-7, Ro=5,
rc=0.07, RL=0.1, r1=0.19, r2=0.16, Td=10e-9, %寄生参数
%rc=0.05, RL=0.04, r1=0, r2=0, Td=0, %寄生参数
Cc1=2.2e-9, Cc2=5e-10, Rc1=11e3, Rmo=10e3,gm=1000e-6, %斜率补偿参数
Rs=0.42, %电流采样电阻
IL=Vo/Ro,
D=(Vo+1.4*Td/T)/V1,
A=2.*r2.*IL-1.4,
Rsw=r1.*D+r2.*(1-D-2*Td/T)+RL,
M1=(V1-(r1+RL)*IL-Vo)*Rs/L,
M2=(Vo-(r2+RL)*IL)*Rs/L,
M3=8e4,
E=V1-IL*(r1-r2),
Fm=1/(M3*T+M1*T),
Kf=-D*T*Rs*(1-0.5*D)/L,
Kr=T*Rs/(2*L),
% Fm=1/(M3*T+0.7*Td/L),
% Kf=-D*D*T/(2*L),
% Kr=(T*(D*D*(2*RL+r1+r2)-(1-2*D)*(Ro-r2-RL)))/(2*L*Ro),
Kt=-0.7*(1-D)*T/L,
a3=,b3=,
He=tf(a3,b3),
Fi=Rs*He,
Wo=1/sqrt(L*C*(1+rc/Ro)),
Qp=1/(Wo*(L/Ro+rc*C)+Rsw/(Wo*L)),
Wn=pi/T,
Qn=-2/pi,
% a=Fm*E*Rs*(Ro+rc)*C*T*T/(Ro*pi*pi),
% b=1/(Wo*Wo)+a*Wn/Qn+a/((Ro+rc)*C),
% c=1/(Wo*Qp)+a*Wn*Wn+a*Wn/((Ro+rc)*C*Qn)-Kr*Fm*E*rc*C,
% d=1+Rsw/Ro+Fm*E*Rs/Ro-Kr*Fm*E,
% xx=1/((b/d-a/c)*d/c),
% Wx=sqrt((c*Fm*E*gm*Rmo)/(a*d)),%pi/T*sqrt(gm*Rmo*Ro/(d*Rs)*(1/(Wo*Qp)+Fm*E*Rs/Ro))
% nn=c*c/(d*d)-4*b/d,
% Rss=2*Wn/(Wo*Wo*pi*E*Fm*(Ro+rc)*C),
% wp1=2/(c/d+sqrt(c*c/(d*d)-4*b/d)),
% wp1_1=d/c,
% wp1_2=1/(Ro*C)+T*(M3*(1-D)/M1-0.5)/(L*C),
% wp1_3=1/(Ro*C)+T*(1-D)*(M3*(1-D)*(Rs+Ro)/(Ro*M1)-(1-D)/2)/(L*C),
% wp2=2*d/(c-sqrt(c*c-4*b*d)),
% fa=((c+sqrt(c*c-4*b*d))^(1/2))/(wp2*2*sqrt(2*a*Fm*E*gm*Rmo/d)),
X=,
a4=, b4=,
Tc=tf(a4,b4),
%b41=,
%Tc1=gm*Rmo*tf(a4,b41),
a1=,
a2=,
Gtv=A*tf(a1,X),
Gti=(A/Ro)*tf(a2,X),
Mvv=D*tf(a1,X),
Mvi=(D/Ro)*tf(a2,X),
Tpv=E*tf(a1,X),
Tpi=(E/Ro)*tf(a2,X),
Hv=(Mvv+Kf*Tpv*Fm)/(1+Tpi*Fi*Fm-Kr*Tpv*Fm+Tc*Fm*Tpv),
%Hr1=9*Tc*Fm*Tpv/(Tpi*Fi*Fm+9*Tc*Fm*Tpv-Kr*Fm*Tpv+1),
%Hr2=15*Tc*Fm*Tpv/(Tpi*Fi*Fm+15*Tc*Fm*Tpv-Kr*Fm*Tpv+1),
Hr=Tc*Fm*Tpv/(Tpi*Fi*Fm+Tc*Fm*Tpv-Kr*Fm*Tpv+1),
Hn=(Gtv+Kt*Tpv*Fm)/(1+Tpi*Fi*Fm-Kr*Tpv*Fm+Tc*Fm*Tpv),
Ac=(Fm*Tpv)/(1+Fi*Fm*Tpi-Kr*Fm*Tpv), %电流闭环 电压开环的环路增益
Ti=Fi*Fm*Tpi, %电流环路增益
Lp1=Ac*Tc*18,
Lp2=Ac*Tc*32,
Lp3=Ac*Tc*56,
% Tt=(9*a*b*c-2*b*b*b)/(27*a*a*Fm*E),
% mc=1+M3/M1,
% M=mc*(1-D)-0.5,
% %Tt1=10*L*C*M*(9-2*pi*pi*M*M)/(T*T*27*Fm*E*(M+0.5)),
% Tt2=10*C*M*Rs*(9-20*M*M)/(T*27),
Z=zero(Ac),
P=pole(Ac),
% Z=zero(Hr),
% P=pole(Hr),
%
% figure
% =step(Ac),
% plot(y1)
% =step(Hr1),
% y11=y1*0.03+1.2,
% plot(t1,y11,'r'),
% hold on
% =step(Hr2),
% y22=y2*0.03+1.2,
% plot(t2,y22,'b'),
% hold on
% =step(Hr3),
% y33=y3*0.03+1.2,
% plot(t3,y33,'y'),
% hold on
% y4=t-t+1.23,
% plot(t,y4),
% Heaviside(t),
% figure
% aaa=,bbb=,
% ccc=1e4*tf(aaa,bbb),
% G11=Hr*ccc,
% impulse(G11),%斜坡响应
% =step(Hr),
% plot(y2,'b')
% title('Hr的阶跃响应,红色虚线为考虑MOS管道通损耗和死区时间,蓝色实线不考虑')
figure
margin(Ac),
title('Ac'),
% figure
%margin(Lp1),
%%title('Lp( Vo=1.2v )'),
%hold on,
%
%margin(Lp2),
%%title('Lp( EA=30 dB )'),
%hold on,
%
%margin(Lp3),
%title('Lp( Vo=1.2v )'),
% =step(Hr2),
% plot(t2,y2,'r'),
% hold on
% =step(Hr3),
% plot(t3,y3,'b'),
% hold on
本帖最后由 xukun977 于 2020-3-20 18:41 编辑
本人上面分析中,已经给出波形了,但是非常不幸,碰到半瓶子醋了,死缠烂打,说我分析错了。
然后居然连发数贴证明:电感电流必须从非零值开始。
讲这话的人,才真正是大水货!!!
DCM模式下的电感,就是从0开始的,或者说初始值就是零:
而且天底下所有的开关电源书籍,都是说电感电流是从0开始的:
人可以无知,但不能无耻!
这个眼睛,即便是长在裤裆里的,也该能看见老夫所标的0吧???
下面用PSIM做仿真,软件是9.1版本的。
下面这个是软件使用指导,中文版的:
页:
[1]