反激是开关电源中最常见的电路之一。像手机充电器、笔记本电脑的电源适配器,电动车充电器大都采用该电路。基本作用就是将高压直流将至低压直流。
反激电路的特点表现在结构简单,体积小。缺点是输出功率很难做到很大,一般只适用于150W以下的情况。
其基本电路如下:
工作逻辑就是通过开关管Q1的快速导通与截止,让变压器原边的能量传递至副边,实现降压。
与反激相似的一种电路叫正激,在一些高性能台式机的电源常采用正激式,正激式功率能做得更大些。其原理图如下
正激与反激结构很相似,两者的区别是变压器同名端与二极管D1的位置不同。
反激式电路原理分析:
接通输入电压时,开关管Q1处于关断状态,变压器原边断开。
然后我们给Q1的G极输入高频的PWM波(几十KHz),以控制Q1的开关状态。
Q1导通时,由于变压器原边电感的的存在,原边电流无法突变,而是从0慢慢增加。 原边电流变大,原边线圈在变压器磁芯中激发磁场强度B变大的磁场,变化的磁场又在副边线圈激发感应电压u。
图中曲线为示意图,不代表实际变化曲线。实际上原边电流并不是以一次函数上升,副边电压也是变化的
假如没有二极管D1的存在,此时副边应当给电容C2充电,但是二极管D1的单向导电性将副边的电压截止,电流i无法按上图所示方向流动, 所以副边无电流。
Q1截止时,变压器原边开路。同样,由于电压器原边电感的的存在, 原边电流无法突变,而是有个减小的过程,此时电流是通过R1、C1、D2释放。原边电流减小,原边线圈在变压器磁芯仍激发变化的磁场,但是此时磁场强度B变小,变压器副边感应电压反向。
此时,二极管D1导通,变压器副边给电容充电(或者同时给负载供电)。
Q1再次导通,原边电流升高,副边二极管D1截止。
Q1再次截止,原边电流下降,副边二极管D1导通,电容充电(或者同时给负载供电)。
不断循环上述过程,输出端的能量就能源源不断传输到输出端了。
输出电压分析:
现在我们来分析开环状态下输出电压的情况(假驱动Q1的PWM占空比、频率固定,输出负载也恒定)
首先要知道,每次Q1截止,变压器副边都会向外输出能量。输出电压Vout会等于电容电压,所以分析输出电压等效于分析电容电压。
假如输出端没有负载(即空载),电容右边是开路状态,每次给电容充电,其电压都会升高,只要充电次数足够多,其电压就能升到变压器副边的最大值,理论可以达到,(n1,n2分别为变压器原边、副边的线圈匝数)。
假如输出端有负载R,Q1截止时,变压器副边除了给电容充电,还有一部分电流流向负载R,所以此时电容电压上升的速度会比无负载时慢。Q1导通时,副边截止,此时电容向负载供电,电容电压会下降。Q1再次截止时,电容又充电,电压升高;导通时又下降。
输出电压处于不断上升下降的动态过程中。假如单个周期内(即PWM波的一个周期)上升的量Uup比下降的量Udown多,那么单个周期里,输出电压仍是增加了ΔU。
电压升高后,流过负载R的电流就会变大,所以其功率就相当于增大了。在Q1截止时,负载就会消耗更多的能量,电容得到的能量就少了,所以其电压上升就会的量就会变少;Q1导通时,电容放电给负载,因为电压高了,所以其放电量就多了,电压下降的量就会变少。上升量减少,下降量变大。只要经过足够多的周期,终会在某个周期内电容电压的上升量等于下降量,也就是达到一个平衡,且这个平衡会一直维持下去。也就是输出电压达到了一个动态稳定的状态。
可以得出结论,不管负载R多大,只要经过足够时间,输出电压都能达到稳定。但是R越小,稳定后的输出电压的平均值越小。
从上面分析来看,输出电压的大小与负载大小有关。在实际的应用中,我们是希望电压能稳定在一个值的,不管负载如何变化。所以,我们需要引入输出电压的闭环控制。
输出电压的闭环控制:
所谓闭环控制即将输出值(即输出电压)反馈至调节系统,调节系统对输入量(PWM占空比)进行控制,从而实现输出电压的闭环控制。
为什么调节Q1的PWM占空比就能调节输出电压呢?
可以这么理解,输出电压其实是变压器能量传递密度的表征。单位时间从变压器原边转递到副边的能量越多,输出电压就有升高的趋势(之所以说是趋势,是因为输出电压与负载有关系,负载不变的话,输出电压才越高),或者说功率越大。
对于变压器原边,等效于电感,其功率满足“安秒平衡”。
如上图为Q1的驱动PWM波示意图。 阴影的高可以等效为平均电流(假设导通时的平均电流为I1,截止时为I2),宽等效于时间。
Q1导通,变压器储能,其所储能量值等效于阴影面积S1;Q1截止,变压器释放能量,其值应小于或等于所储能量(理想状态是等于的,如果Q1导通时,变压器磁芯出现饱和,则会小于,这里不考虑该情况),假设释放的能量等效于面积S2,则S1=S2,即I1*t1=I2*t2.
Q1导通时,原边的平均电流基本不变,所以,I2===.(D为占空比)
所以可以推出,D越大,I2越大,传递至副边的能量就越大,表征出的输出电压就越大。
这里只进行简单的分析,实际上能量传递方式与对应的函数关系复杂些。
需要注意,反激电路的占空比不大于50%,以免变压器磁芯饱和。
注:改变占空比有两种方式:一是PWM频率不变,同时改变on的时间与off的时间;二是on的时间不变,改变off的时间,也就是频率会变。
PID控制
PID控制是自动控制中最常用的控制方式。其应用十分广泛,例如变频空调的温控、伺服电机的控制、飞机的自动驾驶、甚至火箭的姿态保持等等。
PID指三个环节:
P:比例环节,比例环节的输出量与时间量成比例关系。对比例环节的微分方程进行拉普拉斯变换,得: C(s)=KR(s)。比例环节并不能消除静态误差,当比例环节的参数过大,会导致系统出现不稳定而产生震荡。
I:积分环节,积分环节的输出量与输入量的时间积分值成比例,积分环节能够消除控制系统中的静态误差,可以认为是比例环节的补充。其值过大也会引起系统震荡。
D:微分环节,微分环节的输出量与输人量对时间变量的导数值成比例,能对变化趋势做出预测,提前做出反应。其值过大同样也会引起系统振荡。
本系统中只需用到比例与积分环节。
MATLAB
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。无论是学术、工程或是科研都能见到它的身影。
电路仿真也只是matlab的一个功能。
2020年6月,哈尔滨工业大学被美国列入“实体名单”,matlab开发公司就终止了matlab哈工大的所有授权。
所以这个软件有多强,这里就不多说了。
MATLAB每年都会退出两个新版本,目前最新的是2022b版,这里我使用的是R2020b版本
电路仿真需用Simlink模块。
新建空白文件,在Library browser中选择器件,构建电路模型如下:
文章来源地址https://www.toymoban.com/news/detail-798599.html
本电路基本设计参数:
额定输入电压:300Vdc
额定输出电压:12Vdc
额定输出电流:12A
额定功率:140W
关于matlab建模器件的选择:
所有的电感电阻电容可选择 Series RLC Branch
然后在Branch type里选择是单电阻还是单电容或者其他组合,然后设置其值。
二极管与MOSFET位置如下,可直接搜索名称。
这两个器件都有一个m的端口,可以连接示波器查看该器件的电压电流波形。如果不需要,也能将该端口影藏,如下:
Snubber resistance(缓冲电阻)与Snubber capacitance(缓冲电容)可分别设为inf(无穷大)与0,以尽可能模拟理想环境。
文章来源:https://www.toymoban.com/news/detail-798599.html
变压器选择Linear Tramsformer(线性变压器),参数可参考下面:
这里我是用的54:6的双绕组变压器,PQ3220磁芯,原边电感700uH,副边8.64uH。
该变压器的参数与模型对应如下(省略了绕组3):
注:
1.在该变压器模型中,V1、V2的值并不代表实际的电压,其实代表原边与副边的电压比值,也可以说是线圈匝数比。比如上面的V1=54,V2=6,如果设成V1=9,V2=1,效果是完全一样的。而原边与副边的电感比值(Lm:L2)不对原副边电压比值产生影响(这与实际的变压器特性不符)。
2.Lm,Rm(磁化电感、磁化电阻)分别模拟变压器的无功损耗与有功损耗。一般可以把L1设为0,Lm设为原边电感,R1设为原边的电阻,Rm设成一个较大的值
3.我这里所有参数都是使用国际单位制(SI),Nominal power and frequency无效。
PWM发波器:
PID控制器
电压与电流探头,以测量电压电流
加法器,用来计算误差值
基准电压由 常数块提供
搜索“scope”可以添加示波器,示波器的设置里可以更改通道数及布局
最后别忘了添加Powergui,没有它就无法运行电路仿真 。也可以在里面修改模型的各项参数,这里我就不做修改,默认即可。
模型构建完成就可以开始了
先说明相关仿真条件:
输入电压300V,负载5欧(电流2.4A)
PWM频率50K,
PID控制器设置如下,使用PI控制 ,输出上下限限定在0-0.5.
设置好之后,如果不改比例积分系数,以默认值运行(默认值为1),就会得到如下波形
测量输出电压,可以看到它出现了频率为271Hz的振荡,显然不符合我们的期望,所以需要对PID参数进行调节。
PID参数调节的基本顺序,先比例后积分(调比例系数时,需将积分系数调为0,从大到小开始调比例系数,直到输出不发生震荡为止),然后不动比例系数,调积分系数,直到误差快速变为0,且不发生振荡。
一般来说,比例系数和积分系数我们希望他越大越好,但是这两个值过大都会导致输出振荡。所以需要找到一个中间值,既不会振荡,又能快速响应。
P=1,I=0时的波形,与前面的一样。可以发现,占空比在0.5到0之间快速切换,当占空比为0.5,输出电压快速上升,当电压达到12V,占空比做出反应时已经来不及,电压超出12V;然后占空比又将为0,电压快速下降,当电压达到12V,占空比做出反应时已经来不及,电压低于12V。往复下去,就造成了输出电压的震荡,原因就是比例系数太大,占空比输出不够柔和。
我们慢慢调小比例系数,当Kp=0.5,Ki=0时,可以看到占空比变化柔和了很多,输出震荡的幅度也稍缓了,但是还不够,继续调小
当Kp=0.1,Ki=0:
此时,输出在刚开始时会稍微震荡两次,后面就基本稳定,且占空比更柔和了。但是还不够,因为输出电压在刚开始上升时出现了过冲,虽然其值只有10.517V,低于12V,但是一旦引入积分环节,其值就会超过12V。所以继续减小Kp值。
当Kp=0.01,Ki=0时,输出基本不发生过冲了。
但是其电压却只有2.043V,远低于12V,这就是因为单比例环节存在稳态误差,所以需要引入积分环节。
先设置Ki为1,试探一下。
Kp=0.01,Ki=1时 :
可以看到,输出电压非常柔和的增加到12V,稳态误差几乎为0.但是注意看时间刻度,输出电压从0增加到12V用了近0.2s的时间,显然太慢了,如果能更快的达到12V,那就好了。所以继续增加Ki
Kp=0.01,Ki=5
发现此时,输出电压从0升到12V,只用了0.02S。当然,我希望他能更快一点。继续调大
Kp=0.01,Ki=6
可以发现,此时到达12V的时间又缩短了,但是却出现了轻微过冲,这显然不是我们想要的。如果继续调大,过冲会越来越严重,所以需要调小Ki。刚才Ki=5时,是没有过冲的,所以只需稍稍调小Ki,且大于5即可。
Kp=0.01,Ki=5.5时:
此时的波形几乎已经完美了!
看看输出电压电流波形:
曲线很漂亮,没有任何问题。
我们换个负载试试,R=10
也是没有任何问题,可以发现,R变大后,升到12V的时间缩短了一些
再换个输入电压试试,Vin=400V,R=2
与前面的几乎没有差别
这样,整个调节就算完成了,最终参数为:Kp=0.01,Ki=5.5
须知,没有最好的PID参数,只有更好的。只要能满足实际需求就行。
如果MOSFET的驱动PWM波由单片机发出,那么如何在单片机中实现PID控制呢?
下篇文章将讲解STM32单片机的PID控制实现方法。
到了这里,关于反激式开关电源输出电压的PID控制之MATLAB仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!