今天继续和大家分享基于Buck电路的数字控制系统在Simulink仿真环境下的建模。上一个帖子我们已经搭建完采样模型,控制系统中只需要读取这些信号并进行反馈闭环控制,使输出电压跟随参考电压稳定变化即可。
和采样系统一样,在搭建闭环控制模型时也应保证其执行频率为40KHz。需要注意的是在Simulink仿真中,无需考虑采样的AD转换时间,因此设置采样和中断同一时刻触发,将更新后的占空比延迟半个PWM周期即可。为实现上述效果,可结合Simulink中的Subsystem和Enable模块完成。
图1 Subsystem模块
首先在模型的空白区域左键选中一个区域回车即可添加Subsystem模块,然后在模块里面添加Enable模块。
图2 Subsystem添加Enable模块
返回到上一级我们发现Subsystem上方出现一个触发信号接口,即接口信号为逻辑1时执行Subsystem中的程序,这也与单片机中的中断程序触发逻辑保持一致。
图3 可触发的Subsystem模块
接下来我们就可以在搭建好的Subsystem中添加闭环控制模型了,而触发信号则和电感电流采样保持一致,共用同一触发信号即可。整个控制系统包括信号采样,数字控制系统以及PWM调制如下所示。
图4 控制系统整体模型
对于数字控制系统内部,我们选择使用常规的电压外环加电流内环的双闭环控制系统,该控制模式可使控制系统响应更快,稳定性更好,环路补偿的空间更大。
图5 控制算法模型
图5给出了数字控制系统方案,电压外环和电流内环均采用PI控制。电压环控制对象为Buck电路的输出电压,因此反馈信号为输出电压采样值,输出作为电流环的参考。电流环的控制对象为电感电流,其输出为PWM控制信号的占空比,即PWM调制波。此外,需要说明的是本模型设计的调制比为1,故占空比输出限幅设置为[0,0.99],Buck电路传递函数中的1/Vm项为1,可忽略。
至此基本的Buck电路双闭环控制系统Simulink仿真模型已经搭建完成,我们可以Run一下模型查看仿真结果,其中示波器通道1为输出电压波形,通道2为实际电感电流和采样后的电感电流波形,通道3为PWM载波。从图中可以看出Buck电路输出电压可最终稳定到18V,由于电压环带宽设计的较小,因此电压上升过程中未出现超调。
图6 闭环控制模型仿真结果
图7 仿真结果局部放大图