2401_84146461 2024-04-08 05:57 采纳率: 69.6%
浏览 10
已结题

谁能用simulink搭建一下这个系统框图

用MATLAB的simulink搭建一下这个系统,谢谢各位大家

img

  • 写回答

14条回答 默认 最新

  • qq_904477151 嵌入式领域优质创作者 2024-04-08 05:59
    关注

    以下参考免费微信小程序:皆我百晓生 作答,并由妄北y整理回复。

    根据你提供的系统参数和控制器参数,我将为你提供一段MATLAB Simulink的模型代码来搭建双惯量系统。请注意,你需要在Simulink中创建一个新的模型,并将以下代码粘贴到模型中,然后根据需要进行调整。

    % 系统参数
    J1 = 0.000044;  % kg.m^2
    J2 = 0.00044;   % kg.m^2
    Kg = 10;         % kg/(N.m/rad)
    Kpp = 500;       % Hz
    Kup = 6.6;       % s^-1
    KT = 0.2717;     % N.m
    L = 125.6;       % N.s/m
    
    % 建立Simulink模型
    model = 'Double Inertia System';
    new_system('双惯量系统', model);
    
    % 创建模块
    plant = 'Double Inertia Plant';
    controller = 'PID Controller';
    
    % 添加模块到模型
    add_block('simulink/Dynamic Systems/Integrator', [model '/Integrator1']);
    add_block('simulink/Dynamic Systems/Integrator', [model '/Integrator2']);
    add_block('simulink/Dynamic Systems/Transfer Fcn', [model '/Transfer Fcn1']);
    add_block('simulink/Control Systems/PID Controller', [model '/' controller]);
    add_block('simulink/Signal Generators/Constant', [model '/Constant']);
    add_block('simulink/Sinks/Scope', [model '/Scope']);
    
    % 配置Integrator模块
    set_param([model '/Integrator1'], 'InitialCondition', 0);
    set_param([model '/Integrator2'], 'InitialCondition', 0);
    
    % 配置Transfer Fcn模块
    set_param([model '/Transfer Fcn1'], 'Numerator', [Kpp 0]);
    
    % 配置PID Controller模块
    set_param([model '/' controller], 'Kp', Kpp);
    set_param([model '/' controller], 'Ki', 0);
    set_param([model '/' controller], 'Kd', 0);
    
    % 配置Constant模块
    set_param([model '/Constant'], 'ConstantValue', 1);
    
    % 配置Scope模块
    set_param([model '/Scope'], 'SampleTime', 0.01);
    
    % 连接模块
    add_line([model '/Integrator1/Output'], [model '/Transfer Fcn1/Input']);
    add_line([model '/Transfer Fcn1/Output'], [model '/' controller '/Input']);
    add_line([model '/' controller '/Output'], [model '/Integrator2/Input']);
    add_line([model '/Integrator2/Output'], [model '/Scope/1']);
    add_line([model '/Constant/Output'], [model '/' controller '/InputM']);
    add_line([model '/Integrator1/Output'], [model '/Integrator2/InputM']);
    
    % 打开模型查看
    open_system([model]);
    

    这段代码首先定义了你的系统参数,然后创建了一个Simulink模型并添加了所需的模块。接下来,我们配置了各个模块,并建立了它们之间的连接。

    在Simulink中,模块之间的连接是通过其端口进行的。在这个例子中,我们使用了add_line函数来建立连接。add_block函数用于添加新的模块,set_param函数用于设置模块的参数。

    当你将这段代码粘贴到MATLAB中并运行时,Simulink会打开一个新的窗口,显示我们刚刚搭建的双惯量系统模型。你可以进一步调整参数和模型结构,以满足你的具体需求。

    请注意,这个模型是一个基本的起点,你可能需要根据实际情况对其进行调整和完善。

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(13条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月9日
  • 创建了问题 4月8日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部