讲完模型仿真步长的设置后,接下来说一下如何从头开始搭建一个简洁且便于进行变量观测的Simulink仿真模型。
首先建立一个空模型Blank Model,进入后点击右下角进行第一个步长也就是模型最小步长的设置,选择固定步长(Fixed-step),离散求解器(discrete),固定步长大小为开关周期的1/100,即1/40e3/100。
图1 建立空模型
图2 设置模型仿真步长
然后在模型中添加合适的Simulink模块(Block),我们可以从模块库中选择需要的模块拖拽到模型中,但个人更推荐直接双击模型空白处进行搜索,记住常用的模块名后可以大大提高建模效率。
图3 Simulink模块库
对于电路仿真模型,首先应添加powergui模块,进行元器件仿真参数的设置,这里我们设置元器件仿真步长为模型最小步长,以保证仿真精度,具体设置如下:
图4 powergui模块参数设置
然后依次添加buck电路的直流源模块,串联RCL模块,二极管模块以及mos管模块。
图5 直流源模块
图6 串联RLC模块
图7 mos管模块
图8 二极管模块
需要注意的是串联RCL模块可以设置单一元器件模式,因此可依据需要选择电容、电感或电阻,然后在下面输入框设置相应的元器件参数。上一篇帖子已给出电路设计参数和设计要求,这里不再赘述,只把元器件参数贴出来。
输入直流电压48V; 电感: 100uH (100e-6); 电容: 120uF(120e-6); 电阻: 10Ω。
图9 串联RLC参数设置
接下来按照buck电路的原理图将添加的模块依次连接起来,如下所示。
图10 buck基本电路模型
对于buck电路,在进行闭环控制时我们需要采集输出电压信号和电感电流信号,因此可在电感模块和电阻模块中分别设置对应输出信号。
图11 元器件模块输出参数设置
读取这些信号可以通过万用表模块实现。
图12 万用表模块
双击打开万用表模块可以可到电感电流和电阻电压已经添加进来了,我们全选后点击Select,添加到右侧,这样就可以输出了。设置完成后万用表模块显示‘2’表示有两个信号输出。
图 13 万用表属性设置
但我们发现万用表模块只有一个输出口,这时我们需要用到demux模块将信号分流,具体操作如下。
图 14 Demux模块分流
按照万用表中设置的顺序demux模块依次输出电阻电压和电感电流。
图15 万用表输出参数设置
接下来给mos管输入一个开环控制信号,即PWM波,让电路运行起来。对于PWM的调制我们分别需要一个调制波和一个PWM载波,调制波用常数模块实现,这里将参数设置为0.375。
图16 PWM调制波信号
对于PWM载波则添加三角波模块实现,调制方式采用中心对其型PWM调制,具体设置如下。
图17 PWM载波信号
图18 三角波模块参数设置
然后添加逻辑模块进行数值大小的对比输出。
图19 逻辑判断模块
即调制波(常数0.375)大于PWM载波时PWM波为高,mos管打开,小于PWM载波时PWM为低,mos管关闭。
图20 PWM调制
然后将调制的PWM信号输出给mos管,实现占空比为0.375的开环控制。
图21 buck电路开环控制模型
仿真结果如下所示,依次分别为输出电压、电感电流和PWM载波。
图22 仿真结果
图23 仿真结果局部放大图