首页 > 其他分享 >数字控制系统Simulink仿真建模(1)(仿真步长和中断触发的设置)

数字控制系统Simulink仿真建模(1)(仿真步长和中断触发的设置)

时间:2024-03-13 22:32:54浏览次数:30  
标签:仿真 采样 Simulink 模型 步长 设置 占空比

  • 仿真步长的设置

  对于数字控制系统而言,在Simulink仿真环境中,总的来说有三个步长需要考虑。首先由于数字控制系统是离散系统,因此需要在仿真模型的模型设置中将求解器类型设置为固定步长,求解器设置为离散,固定步长大小为整个模型的最小执行步长,即在该模型中的模块将默认按照此步长执行。

图1 模型步长设置

  任何模块需要单独设置执行步长(Sample time)时不能小于该步长,默认设置为-1,即固定步长大小设置的步长。

图2 可单独设置执行步长的模块

此外当求解器类型设置为固定步长后,模型中将不能包含任何连续状态(continuous)的模块,否则模型运行时将报错。

  第二个步长为电力电子元器件的运行步长,例如电源模块,电感、电容和电阻模块,二极管、mos管模块等。在进行元器件的仿真时,需同步在模型中添加powergui模块。

图3 powergui模块

  该模块中设置的参数即为元器件的仿真属性,由于实际的电力电子元器件为连续系统,因此在仿真时可将其步长设置的小一点,从而使仿真更接近真实情况。因此在仿真时可将上文提到的两个步长设置为中断时间间隔的1/100 ~ 1/500。

  第三个步长为数字控制系统的运行步长,即中断时间间隔。通常来说,数字控制系统每触发一次中断,将进行一次采样,中断控制程序运行一次,控制信号(占空比信号)更新一次,因此在仿真时需将上述逻辑充分考虑到,设置合理的中断触发点和触发频率,还原真实数字控制器的工作模式,从而使仿真设计得到的控制器参数能够很好的应用到实际实验中。

  遗憾的是,网上的多数教学视频在进行建模仿真时并没有考虑第三个步长的设置,常见的情况是使用同一步长进行仿真,这样虽然输出结果可以稳定跟随参考信号变化,但由于占空比信号是和PWM载波信号同一步长进行更新的,因此占空比信号是在0 ~ 1之间跳变的,这样设计补偿出来的控制器参数是不具有实际指导意义的。

  • 中断触发的设置

  本文以Buck电路为例,讨论其控制系统的建模与仿真。下图为最终的Simulink仿真模型,整个模型均采用黑模型进行建模,其中左侧为电路部分,右侧为采样和控制算法部分。

图4 Buck电路控制系统Simulink模型

  电路参数设计参考的小破站西瓜粥老师DC-DC变换器Buck部分的课后习题。(西瓜粥老师的电路原理讲解还是非常nice的,强烈推荐刚入门的同学看一下!)。具体参数如下所示,没有时间看视频的同学可以直接看下面的参数。

Buck变换器,输入40V, 输出18V,负载10Ω,要求输出电压纹波不超0.5%,电路工作在连续电流模式。计算参数:占空比: 0.375; 电感: 100uH; 电容: 120uF; 开关频率: 40kHz; 平均电感电流: 1.8A; 电感电流最大值: 3.24A ; 电感电流最小值: 0.36A。

  对于控制部分,开关频率为40kHz,本模型采用中断频率、采样频率和开关频率同频率的控制模式,首先将上文提到的第一个和第二个步长设置为开关周期的1/100,即2.5e-7s,以提高模型的仿真精度。相应的,电路的输出电压更新时间间隔也为2.5e-7s。而控制系统的采样时间间隔为2.5e-5s,即模型每执行100个步长,让采样触发一次,将采样结果输入到控制系统中进行占空比的更新计算。因此本模型选择使用采样保持模块进行采样,触发时间间隔为2.5e-5s。

图5 采样模块

  对于平均值电流控制而言,还需保证电感电流的采样点在每个变换周期的最大值和最小值的中点位置。

  采样和占空比更新位置与PWM载波的关系如下所示。在数字控制器中,PWM的计数最高点触发ADC采样,AD转换完成后进中断,在下一次PWM载波开始(计数清零时)进行占空比更新。

图6 数字控制系统控制逻辑

  • 仿真结果

  下图为Buck电路的仿真结果,从图中可以看出,该仿真模型与实际数字控制系统的控制逻辑保持一致,占空比更新的时间间隔为2.5e-5s,PWM载波峰值点触发采样,从而保证电流重点采样,然后在下一个载波零点更新占空比。采样值为1.8A,与设计参数保持一致,此外电路工作在连续电流模式。输出电压的局部放大图如图8所示,纹波不超过0.5%,符合设计要求。

图7 仿真结果

图8 输出电压局部放大

标签:仿真,采样,Simulink,模型,步长,设置,占空比
From: https://blog.csdn.net/m0_61018540/article/details/136588150

相关文章

  • 【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比L
    操作环境:MATLAB2022a1、算法描述深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。信道估计是无线通信系统中的关键技术之一,它直接影响着系统的通信质量和可靠性。本文将详细介......
  • 【MATLAB源码-第146期】基于matlab的信源编码仿真GUI,对比霍夫曼编码,算术编码和LZ编码
    操作环境:MATLAB2022a1、算法描述霍夫曼编码、算术编码和LZ编码是三种广泛应用于数据压缩领域的编码技术。它们各自拥有独特的设计哲学、实现方式和适用场景,因此在压缩效率、编解码速度和内存使用等方面表现出不同的特点。接下来详细描述这三种编码技术,并对它们进行比较。......
  • 从零开始利用MATLAB进行FPGA设计(一):建立脉冲检测模型的Simulink模型2
    目录1.模块的总体结构1.1从工作空间导入输入信号1.2FIR滤波器2.Subsystem3.MATLABFunction文章灵感来源于MATLAB官方免费教程:HDLCoderSelf-GuidedTutorial考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerat......
  • 基于深度学习的人员指纹身份识别算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a  3.算法理论概述      指纹识别技术是一种生物特征识别技术,它通过分析人类手指末端皮肤表面的纹路特征来进行身份认证。深度学习是机器学习的一个分支,特别适用于处理大规模高维数据,并在图像识别、语......
  • 发那科数控机床FanucCNC(NCGuide)仿真模拟器配置和数据采集测试
    开发日记3.12此篇用于记录发那科数控机床(FanucCNC)采集程序开发中,用虚拟机做测试时,虚拟机的配置和使用以支持采集软件开发和测试。配置虚拟机使用仿真软件下载VMware15「链接:https://pan.xunlei.com/s/VNsl9Gmb14ANBiiNlsT7vA2LA1?pwd=bv2z#提取码:bv2z”复制这段内容后打......
  • vivado的使用步骤与仿真详解(LZQ_0311)
    vivado仿真vivado集成了HLS工具,可以直接使用C\C++\systemC语言对Xilinx的FPGA器件进行编程。用户无需手动创建RTL,通过高层次综合生成HDL级的IP核,从而加速IP创建。参考了下面的视频整理出的流程与步骤:vivado视频教程:第一讲:https://www.bilibili.com/video/BV1XU4y1M7n......
  • m基于深度学习的32QAM调制解调系统相位检测和补偿算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要        随着通信技术的飞速发展,高阶调制格式如32QAM(32-QuadratureAmplitudeModulation,32进制正交幅度调制)在高速数据传输中得到了广泛应用。然而,由于信道失真、噪声干扰等因素,接收端往往面......
  • 基于Harris角点的室内三维全景图拼接算法matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述      在室内三维全景图的构建中,Harris角点检测算法扮演着关键的角色,用于识别场景中的特征点以实现图像间的匹配和对齐。该过程通常包括以下几个步骤:图像获取、角点检测、特征描述、匹......
  • m基于深度学习网络的花朵种类识别系统matlab仿真,包含GUI界面
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要       随着人工智能技术的飞速发展,深度学习作为其中的重要分支,在计算机视觉领域取得了显著的成果。花朵种类识别作为植物分类学的一个子领域,具有广泛的应用前景,如生态保护、园艺设计、植物教......
  • Modelsim仿真软件与Notepad++关联
    Step1:在Modelsim下方的控制窗口(Transcript)输入代码,并敲回车procexternal_editor{filenamelinenumber}{exec"????/notepad++.exe"$filename}//????代表notepad++的安装路径,请大家按照自己电脑上的路径进行编辑.//注意:路径中的斜杠为“/”,也可以写成“\\”.//注意:若报错多检......