反激式开关电源双环PID(电压环+电流环)控制之MATLAB仿真

前面一篇文章我讲解了反激式开关电源输出电压的pid控制的matlab仿真。

《反激式开关电源输出电压PID控制的MATLAB仿真

       我只对输出电压做了控制,不管负载多大,只要在设计功率之内,都能把电压维持在12V。但在实际电路设计中,我们还需要考虑输出电流的限定
        因为器件选择都是基于额定值来的,如果实际值超出额定值,轻则无法工作,重则击穿器件。
        例如副边的二极管D1,如果流过它的电流超过最大正向电流,则会击穿烧坏。

         所以输出光有电压的闭环控制(简称电压环)还不行,还得有电流的闭环控制(简称电流环)。
电压环起作用时,输出电压稳定在一个值,输出电流随负载变化。


        电流环起作用时,相当于一个恒流源,输出电流稳定在一个值,电压是随负载变化的。


        从他们的作用来看,电压环与电流环似乎是矛盾的。电压环想稳定电压,电流环想稳定电流。
        其实并不矛盾,因为他们不会同时起作用。我们来具体分析两个环路的工作状态。

        假设现有一个电路,设计为输出电压12V,最大输出电流10A。        
        然后给他带负载R,R的阻值从大到小变化。
       · 当R无穷大时,相当于空载,此时电压环应将输出电压控制在12v,输出电流为0A。
       · 当R减小到2.4欧,此时电压环仍将输出电压控制在12v,电流为12/2.4=5A,相当于半载。
       ·继续减小到1.2欧,此时电压仍为12V,电流为12/1.2=10A。此时电流已经达到最大设计值了。
       · 如果继续减小R到 1欧,且保持输出电压不变的话,输出电流会达到12/1=12A,超出了设计值。怎么办呢?

此时,就轮到电流环起作用了。
        电流环的作用并不是去抬高输出电压来稳定电流,其实是通过拉低输出电压来限制电流。也就是电流环会把输出电压降低,以满足输出电流不大于10A的设定,会拉低到多少呢?计算很简单,R为 1欧时,为满足电流为10A,此时的电压应为10×1=10v。
        那么此时电压环呢?为了不让电压环把电压抬高到12v,需将电压环开环(开环即环路失效),输出由电流环控制。
        同样,在电流未达到10A时,电流环开环,不起作用,整个系统由电压环控制。
两个状态的转折点就是负载R=电压环设计值/电流环设计值=12/10=1.2欧,

        R>1.2时电压环工作,电流环开环;R<1.2欧时,电流环工作,点压环开环。

在上述电路中,输出电压电流与负载R的关系应当如下:

        我们要做的就是设置两个环路,按上面的逻辑来控制占空比。

注意:在模拟电路控制的开关电源中,逻辑与数字控制的稍有不同。模拟电路中,控制MOSFET的PWM波由专门的驱动IC提供,IC有一个FB端口(feedback,即反馈),其输出的PWM占空比取决于FB端口的电压,一般成线性关系,FB电压越高,输出的占空比越高,且FB在悬空状态下是处于最大电压状态,也就是FB如果悬空,输出的PWM占空比是最大的。

而输出的电压环电流环就是通过拉低FB的电压来实现控制电压电流。可以这么理解,开关电源刚开机时,其占空比是最大的,电压会迅速上升,当达到电压的设计值,电压环会将FB的电压拉低到一定值,以保持输出电压不超过设定值。如果电压环失效,输出电压则会失控过压。当电流达到电流的设计值,电流环则会动作,也将FB电压拉低一定值,以限制输出电流。
不过,PWM驱动IC都会有开环保护,一旦检测到开环(FB电压如果保持在最高电压的时间过长),就会自动锁死,停止发波。

例如NCP1253是一款用于反激电路的PWM控制器,其引脚定义如下:

 其FB的频率与FB端口电压的关系如下:

 注:该控制器是保持固定的on时间,通过改变PWM波的off时间,来改变占空比与频率。

该芯片在反激开关电源中的应用实例:

         该电路中反馈信号通过光耦传递,在副边是个由基准电压源构成的电压环,这里暂不详细分析原理。

MATLAB仿真

我们回到matlab,电路设计技术指标:

输出电压300V,输出功率120W,输出电压12V,输出电流10A

在simlink中建模如下:

  将其分为各个模块:

1.反激电路原边

2.反激电路副边

3.电压PID控制环

4.电流PID控制环

5.模拟动态负载。通过延时控制开关,来控制R2的接通与否,实现负载大小的切换

6.输出电压、电流、功率监控

7.电压环电流环工作状态转换。原理是通过计算负载的总阻值,与1.2进行比较,如果大于1.2,则切换至电压环控制占空比;若小于1.2,则切换至电流环控制。

关于PID参数的调节,我上篇文章已经讲过,这里就不演示了。

        对于双环的电路,一般先调电压环。我们先将R2断开(可以先删除或者将线断开),设置R=1.5Ω。

        然后将PID电压环的Ki设为0,Kp设为1,然后运行,观察输出电压波形,波形是否流畅,无明显震荡,且在电压升至12V时,是否有过冲,如果有,则调小Kp至波形无振荡且无过冲。

         确定Kp之后再设Ki=1,运行仿真后,观察输出电压是否能快速升到12V,如果很慢,则增加Ki值,直到符合要求,如果有过冲,则调小Ki。直到上升既快又不发生过冲。

         以下是我的电压环PID参数,可供参考:

        电压环PID参数设置完成之后,开始电流环。

        调电流环就必须让电压环开路,所以我们需要将电阻R设为小于1.2Ω,这里我设置为0.1Ω。

        调节方式与电压环类似。只不过是观察输出电流波形来确定参数是否合适,这里就不演示了。

        下面的参数可供参考:

下面是电流环最终的效果 

PID的参数调节完成之后,老看看实际的效果。

----------------------------

1.当R=2.4Ω,输出波形如下:

 稳定后,输出电压12V,输出电流5A,输出功率60W,符合要求

---------------------------------------

2.当R=1.2Ω,输出波形如下;

稳定后, 输出电压12V,输出电流10A,输出功率120W,符合要求

----------------------------------------------

3.当R=1Ω,输出波形如下:

 稳定后,输出电压10V,输出电流10A,输出功率100W

----------------------------------------------

4.当R=0.5Ω,输出波形如下:

稳定后,输出电压5V,输出电流10A,输出功率50W 。

动态负载

通过动态负载试试环路的响应速度.R设为4Ω,R2设为4Ω,脉冲发生器设置如下:

 也就是0.02s时,负载切换至2Ω(R与R2并联),0.45s时切换回4Ω。

运行仿真看看效果:

         负载由4Ω切换至2Ω时,电压有略微下降,但是仍保持稳定,输出电压由3A增加到6A;

        负载由2欧姆切换回4Ω时,电压有稍微上升,然后稳定,电流降回3A。

再试试电流环的效果,R设为1Ω,R2设为1Ω。

         负载从1Ω切换至0.5Ω时,瞬间电流达到20A,这是因为输出电容电压无法突变导致,但是电流很快就恢复到10A。从0.5Ω切换回1A时,电流急剧下降至5A,也是因为输出电容电压无法突变导致,后面电流恢复到10A。

总体来说,效果还是不错的。

-------------------

觉得有用,点个赞哦~


 

猜你喜欢

转载自blog.csdn.net/qq_55203246/article/details/127113116