Simulink 的传递函数模块和 PID 模块一阶系统仿真浅谈

PID自动调参simulink仿真 PID自动调参simulink仿真-----如何高效调参 设计PID控制器 系统识别APP识别传递函数 Simulink搭建仿真控制系统 使用Maltab自动调参工具PID Tuner调节PID参数 设计PID控制器 我们先看这张经典的PID控制器的图片,可以看e(t)与u(t)与c(t),会发现控制器是控制e(t),也就是反馈值的偏差来输出控制量(u(t))给执行机构的。也就是通过控制执行机构间接控制被控对象。所以,设计PID控制器的关键是找出反馈量,也就是你想要控制的对象。 这个控制对象与执行机构 阅读详情

一、Step 模块

1.1 模块配置

1.2 效果演示

二、Transfer Fcn 模块

2.1 模块配置

其中输入是一个阶跃函数,随后将其传递给传递函数使用。

输入的阶跃函数 U(s) 的拉普拉斯变换为:

\frac{}{}U(s)=\frac{1}{s}

传递函数 G(s) 的拉普拉斯变换为:

G(s)=\frac{1}{s+1}

因此,Y(s) 的输出为:

Y(s)=G(s)U(s)=\frac{1}{s}\cdot\frac{1}{s+1}

拉普拉斯逆变换公式如下:

\mathcal{L}^{-1}\left\{\frac{K}{s+a}\right\}=Ke^{-at}

对输出 Y(s) 进行拉普拉斯逆变换:

\frac{1}{s}\cdot\frac{K}{s+a} =\frac{K}{s(s+a)} =\frac{K}{a}\left(\frac{1}{s}-\frac{1}{s+a}\right) \xrightarrow{\mathcal{L}^{-1}} \frac{K}{a}\left(1-e^{-at}\right)

2.2 1/s+1 仿真

仿真下面的传递函数:

U(s)=\frac{1}{s}

G(s)=\frac{1}{s+1}

Y(s)=\frac{1}{s}\cdot\frac{1}{s+1}

拉普拉斯逆变换后得到:

y=1-e^{1-x}

我们在 Transfer Fcn 模块中输入配置:

仿真结果如下:

与拉普拉斯逆变换后一致:

2.2 2/s+1 仿真

仿真下面的传递函数:

U(s)=\frac{1}{s}

G(s)=\frac{2}{s+1}

Y(s)=\frac{1}{s}\cdot\frac{2}{s+1}

拉普拉斯逆变换后得到:

Y(s)=\frac{1}{s}\cdot\frac{2}{s+1} =\frac{2}{s(s+1)} =\frac{2}{s}-\frac{2}{s+1} \xrightarrow{\mathcal{L}^{-1}} 2-2e^{-t} =2(1-e^{-t})

也就是最终等于:

Y(s)=2(1-e^{-t})

我们在 Transfer Fcn 模块中输入配置:

仿真结果如下:

与拉普拉斯逆变换后一致:

2.3 1/s+2 仿真

仿真下面的传递函数:

U(s)=\frac{1}{s}

G(s)=\frac{1}{s+2}

Y(s)=\frac{1}{s}\cdot\frac{1}{s+2}

拉普拉斯逆变换后得到:

Y(s)=\frac{1}{s}\cdot\frac{1}{s+2} =\frac{1}{s(s+2)} =\frac{1}{2s}-\frac{1}{2(s+2)} \xrightarrow{\mathcal{L}^{-1}} \frac{1}{2}(1-e^{-2t})

也就是最终等于:

Y(s)=\frac{1}{2}(1-e^{-2t})

我们在 Transfer Fcn 模块中输入配置:

仿真结果如下:

与拉普拉斯逆变换后一致:

2.4 1/2s+1 仿真

U(s)=\frac{1}{s}

G(s)=\frac{1}{2s+1}

Y(s)=\frac{1}{s}\cdot\frac{1}{2s+1}

拉普拉斯逆变换后得到:

Y(s)=\frac{1}{s}\cdot\frac{1}{2s+1} =\frac{1}{s(2s+1)} =\frac{1}{s}-\frac{2}{2s+1} =\frac{1}{s}-\frac{1}{s+\frac{1}{2}} \xrightarrow{\mathcal{L}^{-1}} 1-e^{-\frac{t}{2}}

也就是最终等于:

Y(s)=1-e^{-\frac{t}{2}}

仿真结果如下:

与拉普拉斯逆变换后一致:

2.5 总结

仿真对象 G(s)单位阶跃输入后 Y(s)逆拉普拉斯 $y(t)$
\frac{1}{s+1}\frac{1}{s(s+1)}1-e^{-t}
\frac{2}{s+1}\frac{2}{s(s+1)}2(1-e^{-t})
\frac{1}{s+2}\frac{1}{s(s+2)}\frac{1}{2}(1-e^{-2t})
\frac{1}{2s+1}\frac{1}{s(2s+1)}1-e^{-t/2}

三、PID 模块

3.2 PI 的拉普拉斯变换

3.2.1 PI 的公式

u(t)=K_p e(t)+K_i\int_{0}^{t}e(\tau)\,d\tau

3.2.2 拉普拉斯变换

拉普拉斯变换后:

U(s)=K_pE(s)+K_i\frac{E(s)}{s}

提取 E(s) 得到拉普拉斯变换得到:

U(s)=\left(K_p+\frac{K_i}{s}\right)E(s)

  • U(s) = 输出量的拉普拉斯域
  • E(s) = 误差量的拉普拉斯域

3.2.3 传递函数

我们的 U(s) 就是:

U(s)=\left(K_p+\frac{K_i}{s}\right)E(s)

  • U(s) = 输出量的拉普拉斯域
  • E(s) = 误差量的拉普拉斯域

E(s) 是输入函数的拉普拉斯域,对于 PI 函数的输入就是误差量了。

传递函数是输出除以输入:

G_{PI}(s)=\frac{U(s)}{E(s)} =K_p+\frac{K_i}{s} =\frac{K_ps+K_i}{s}

  • U(s) = 输出量的拉普拉斯域
  • E(s) = 误差量的拉普拉斯域

3.2.4 全部公式

最终我们得到 PI 的全部公式:

U(s)=\left(K_p+\frac{K_i}{s}\right)E(s)

E(s) = E(s)

G_{PI}(s)=\frac{U(s)}{E(s)} =K_p+\frac{K_i}{s} =\frac{K_ps+K_i}{s}

四、PID 模块 和 Transfer Fcn 模块串级控制

4.1 模块配置

下图为 PI 闭环仿真:

4.2 PI 和一阶传递函数构成的系统

4.2.1 PI 和传递函数

G_P(s)=\frac{K}{Ts+1}

  • G_P(s) = 一阶微分方程的传递函数

G_{PI}(s)=\frac{K_ps+K_i}{s}

  • G_{PI}(s) = PI 的传递函数

所以两者串联的开环传递函数为:

G_{OL}(s)=G_{PI}(s)G_P(s)=\frac{K(K_ps+K_i)}{s(Ts+1)}

闭环传递函数为:

G_{CL}(s) = \frac{Y(s)}{R(s)} = \frac{G_{OL}(s)}{1+G_{OL}(s)} = \frac{K(K_ps+K_i)} {Ts^2+(1+KK_p)s+KK_i}

4.2.2 闭环函数消成一阶闭环

我们已经得到了闭环函数的传递函数,显然这是一个二阶系统:

G_{CL}(s) = \frac{K(K_ps+K_i)} {Ts^2+(1+KK_p)s+KK_i}

我们可以调节 kp 和 ki 设:

K_i=\frac{K_p}{T}

\frac{K_{i}}{K_{p}}=\frac{1}{T}

然后闭环函数就是:

G_{CL}(s)= \frac{KK_p\left(s+\frac{1}{T}\right)} {T\left(s+\frac{1}{T}\right)\left(s+\frac{KK_p}{T}\right)}

最后,我们的闭环系统被从新消成一阶系统:

G_{CL}(s)=\frac{\omega_c}{s+\omega_c}

至此,不仅整个系统重新变成一阶的,而且我们便可以用 PI 参数控制整个系统的带宽了。

4.3 自由控制带宽

4.3.1 控制 1/s+1 传递函数的带宽

G_{PI}(s)=K_p+\frac{K_i}{s}=\frac{K_ps+K_i}{s}

G_P(s)=\frac{1}{s+1}

开环相乘得到:

G_{OL}(s) = G_{PI}(s)G_P(s) = \frac{K_ps+K_i}{s} \cdot \frac{1}{s+1} = \frac{K_ps+K_i}{s(s+1)}

我们直接设 kp 和 ki 都是 1

开环的情况下被约分掉了,只剩下 1/s:

G_{OL}(s) = G_{PI}(s)G_P(s) = \frac{s+1}{s} \cdot \frac{1}{s+1} = \frac{1}{s}

闭环得到:

G_{CL}(s) = \frac{G_{OL}(s)}{1+G_{OL}(s)} = \frac{\frac{1}{s}}{1+\frac{1}{s}} = \frac{1}{s+1}

此时我们使用这个 PI 便得到了

4.3.2 控制 1/2s+3 传递函数的带宽

G_{PI}(s)=K_p+\frac{K_i}{s}=\frac{K_ps+K_i}{s}

G_P(s)=\frac{1}{2s+3}

开环相乘得到:

G_{OL}(s) = G_{PI}(s)G_P(s) = \frac{K_ps+K_i}{s} \cdot \frac{1}{s+1} = \frac{K_ps+K_i}{s(2s+3)}

我们直接设 kp = 2 ki = 3:

开环的情况下被约分掉了,只剩下 1/s:

G_{OL}(s) = G_{PI}(s)G_P(s) = \frac{2s+3}{s} \cdot \frac{1}{2s+3} = \frac{1}{s}

闭环得到:

G_{CL}(s) = \frac{G_{OL}(s)}{1+G_{OL}(s)} = \frac{\frac{1}{s}}{1+\frac{1}{s}} = \frac{1}{s+1}

MATLAB使用系统辨识工具箱建立PID水温的传递函数系数 最后点击Import选项。(1).以PID控制水温为例子,在实际的工程项目中,以PWM的占空比为输入,输出为温度的值,以百分之百的占空比加热水温,将水温从当前温度(例如:30度)加热到100度,记录加热期间每秒钟对应的PWM占空比的值,以及每秒钟对应的水温值,这里为了便于计算以恒定的占空比百分之百加热,记录的数值存储到SD卡中,若没有SD卡可用串口讲记录的数据发送到上位机中,这里以SD卡为例,将每秒钟记录的水温存储到txt格式的文本中。 阅读详情

相关推荐

PID控制入门之PID仿真(Simulink)

离散传递函数模型,更适合嵌入式系统,PLC系统的实现。2、传递函数大家也可以选择离散Z变化传递函数。

RXXW_Dor的博客 5388

1_simulink简单入门_simulink仿真PID控制

毕业前想去做物联网还是或者linux,结果玩了一年多的电机控制,早就深知matlab/simulink绕不过的,拖到现在,下班晚上再把大学自控做实验用的matlab捡起来,再去b站学习simulink。做控制,matlab/simulink是绕不过的,这是个很强大的仿真工具。 如果学习simulink是做电机控制的,我推荐b站的:CELEC(陈诚电气) https://space.bilibili.com/493190982?spm_id_from=333.788.b_765f7570696e666f.2

wei 6万+

【Simulink教程案例60】基于强化学习的自适应PID控制器simulink建模与仿真

PID控制器是一种广泛应用于工业控制领域的反馈控制器,其输出由比例(P)、积分(I)和微分(D)三项组成,用于减小系统误差,提高系统稳定性。PID控制器的输出 u(t) 可表示为:其中 e(t) 是系统误差,Kp​、Ki​ 和 Kd​ 分别是比例、积分和微分系数。强化学习是一种机器学习的方法,通过智能体(agent)与环境(environment)的交互来学习最优决策策略。其核心思想是通过最大化累积奖励(reward)来学习行为策略。

FPGA/MATLAB学习教程/源码/项目合作开发 4750

PID控制 Simulink仿真

使用Simulink做最基础的PID控制仿真

qq_46320189的博客 9434

【Simulink教程案例1】基于Simulink的PID控制器设计与实现

PID控制器,即控制器的控制方式为P比例调整,I积分调整以及D微分调整三个部分构成,PID控制器是目前为止应用最为广泛的控制方式。PID控制器适用于各种控制对象无法进行测量获得系统参数的情况,其根据控制对象的输出和参考控制变量的输入差进行实时的调整实现对未知参数控制对象的有效控制。

FPGA/MATLAB学习教程/源码/项目合作开发 4401

【Matlab上机测试】PID控制器Simulink仿真

1.题目 2.模块清单 2.1 Step Simulink/Sources 阶跃响应 2.2 Sum Simulink/Math Operations 求和 2.3 Gain 增益 Simulink/Math Operations 2.4 Integrator 积分 Simulink/Continuous 2.5 Derivative 微分 Simulink/Continuous 2.6 Add 累加 Simulink/Math Operations 2.7 Transfer Fcn 传递函数.

霍喜猫的博客 3117

MATLAB之Simulink仿真——PID控制实例

基本PID控制 一、控制要求 被控对象为二阶线性传递函数为133/(s^2+25s) 发生信号为正弦信号y=A*sin(2*pi*Ft) 比例环节系数Kp=60,积分环节系数Ki=1,微分环节系数Kd=3 二、操作步骤 1、打开simulink界面 2、选择第一个空模板 3、进入操作界面,打开工具库 4、搜索需要的工具,选中拖动到空白界面中。 5、根据工具名称,...

STM89C56的博客 6万+

MATLAB Simulink中PID控制器模块的应用与仿真

在现代控制系统设计与仿真中,MATLAB 与 Simulink 已成为不可或缺的工具链。MATLAB 提供了强大的数值计算、算法开发与数据可视化能力,而 Simulink 则以其图形化建模与动态系统仿真功能,成为工程系统建模与验证的首选平台。本章将深入介绍 MATLAB 的基础功能及其在控制系统设计中的应用,随后解析 Simulink 的建模机制及其与 MATLAB 的协同工作机制,为后续的 PID 控制器建模与仿真打下坚实基础。

weixin_32252929的博客 1270

【PID精讲12】基于MATLAB和Simulink的仿真教程

第11讲介绍的连续系统的数字PID仿真是基于 Matlab的 M 语言实现的,对于初学者或者工程应用人员来说,可能不是很清楚是怎样实现的?本文以单P仿真为例详细介绍基于 MATLAB 和 Simulink 的实现过程。

自强不息怀壮志以长行,厚德载物携梦想而抚凌。 8376

SIMULINK仿真中的模糊PID控制研究

SIMULINK的界面设计十分直观,用户可以通过拖放的方式将不同的模块放置在模型画布上,并使用线条连接它们来建立系统之间的关系。SIMULINK提供了丰富的库资源,例如信号源、数学运算、逻辑运算、系统动态模型等模块,能够满足各种复杂的建模需求。模糊逻辑是一种处理不确定性问题的逻辑形式,它允许变量在一定范围内取值,而不是传统的二值逻辑(即0或1)。在模糊逻辑中,一个变量可以同时部分地属于多个集合,这种程度被称为“隶属度”。例如,“温度”可以同时部分地属于“冷”和“热”的集合。

weixin_42612804的博客 1398

Cadence psspxf实战:手把手教你仿真250MHz环形VCO的电源抑制比(附Verilog代码)

本文详细介绍了使用Cadence psspxf仿真器对250MHz环形VCO的电源抑制比(PSRR)进行仿真的全流程。从环形VCO的设计原理、Verilog代码实现,到Cadence环境配置、仿真参数设置,再到结果分析与优化技巧,提供了完整的实战指南。特别适合电路设计工程师学习如何评估和优化VCO的抗电源噪声能力。

weixin_42567752的博客 415

Matlab仿真PID控制(带M文件、simulink截图和参数分析)

在直接数字域设计中,我们常常需要用到PID算法,而PID算法投入单片机使用时,往往需要硬件的支持,在调试时非常麻烦。本文通过Matlab仿真的手段实现PID,方便了开发者对系统的设计和实时调试。

体会编程语言独到的美 26万+

BPMN2.0规范及流程引擎选型方案

本文主要简明扼要的介绍了BPMN2.0规范的内容,可让读者快速度的了解BPMN2.0所涵盖的主要内容和图形样式。也较为详细的阐述了如何绘制标准的流程图,以及在软件层面中如何实现业务流程功能,和技术选型。

比特桃 1万+

智能车Matlab电机系统辨识和PID仿真自动调参

智能车电机系统辨识和PID仿真自动调参:使用 Matlab 的 System Identification 系统辨识工具箱,辨识出传递函数;用 Simulink 仿真控制系统;PID Tuner 自动整定 PID 参数

ittuann的博客 1万+

【ArcGIS Pro微课1000例】0022:基于DEM进行流域分析生成流域图

填洼Fill,在进行水文分析后续操作前,首先要对DEM进行填洼,创建无凹陷点的DEM。在ArcGIS中使用的是八方向流量建模(D8算法),工具位于水文分析下的【流向】。填洼需要使用水文分析工具下的【填洼】。确定输入与输出即可。

智慧空间实验室 2753

基于深度学习的火焰检测系统:YOLOv8 + UI界面 + 数据集详解

YOLO(You Only Look Once)是一种端到端的目标检测算法,其最大优势在于将目标检测任务转化为一个回归问题,可以在一次前向传播中同时完成目标定位和分类。YOLOv8是YOLO系列中的最新版本,相比之前的版本,YOLOv8在精度和推理速度上都做了显著提升,特别是在小物体检测方面表现更加优秀。实时性:YOLOv8具有较高的推理速度,适用于实时火焰检测。高精度:相较于YOLOv7,YOLOv8在精度和小物体检测上有所改进。简单易用:YOLOv8的API简单直观,易于集成和使用。

YOLO 660

buck电路simulink仿真

buck电路matlab仿真及其PID控制器参数调整 主电路搭建 参数设置 buck电路传递函数辨识 matlab pid-tuner进行pid控制器参数调整,将调整好的PI参数更新到buck电路控制器中 一.主电路搭建: 1.buck电路组成:电感、电容、开关器件、同步整流可以不用二极管 主电路: 电感值:85e-6h,电容值:30e-4。电阻:4 2.添加控制模块,测量模块: 死区模块的搭建: ...

qq_36300246的博客 1万+

基于STM32F1XX 、HAL库的OPT4001-Q1环境光传感器驱动应用C语言程序设计

OPT4001-Q1 的输出是半对数 的,具有 9 个二进制对数满量程照度范围,每个范围内具有高度线性响应,使得 PicoStar™ 型号的测量能力为 312.5μlux 至 84klux,USON 型号的测量能力为 400µlux 至 107klux。// 禁用中断(示例)

PP_Cottage的博客 462

模糊PID算法的simulink仿真(新手超速上车入门)

模糊PID算法的simulink仿真 一、模糊PID是什么? 最近要用到模糊PID控制,分享一下自己的学习心得。模糊PID说白了就是制定模糊规则以后,PID的参数值会随着e、ec的值改变,调整PID参数,使控制效果更好,更快趋于稳定。因此模糊PID的控制效果取决于模糊规则的制定,然而就和调PID参数一样,现在没有具体求解模糊规则的方法,只能试凑。在本文中,先搭建了传递函数的PID仿真,利用tune求得到较好控制效果的kp、ki、kd参数,在此基础上建立模糊PID控制,这样有利于减小模糊PID调试的不

qq_42040735的博客 1万+

DRM遇到的实际问题及领悟(3)

DRM遇到的实际问题及领悟(3)

phmatthaus的专栏 638

①电子产品拆解分析-暖手宝

电子产品拆解分析-暖手宝 ①按键三档调温暖手; ②长按进入氛围呼吸灯; ③安卓接口充电以及支持USB输出;

a6662580的博客 5295

buck电路的matlab仿真,buck电路simulink仿真

buck电路matlab仿真及其PID控制器参数调整主电路搭建参数设置buck电路传递函数辨识matlab pid-tuner进行pid控制器参数调整,将调整好的PI参数更新到buck电路控制器中一.主电路搭建:1.buck电路组成:电感、电容、开关器件、同步整流可以不用二极管主电路: 电感值:85e-6h,电容值:30e-4。电阻:42.添加控制模块,测量模块: 死区模块的搭建: 小技巧:1.在...

weixin_35507450的博客 6110

【华为OD机试】真题-小明减肥(Java)

摘要:题目要求从n个可选运动中选取k个,使其卡路里总和等于目标值t,统计可行方案数。输入包含运动数量n、目标t、选择数量k及卡路里数组。采用DFS回溯算法,通过剪枝优化(提前终止无效分支),分别处理选择/不选当前运动的情况。当遍历完所有运动且满足条件时计数。示例输入"4 3 2"和"1 2 3"时,输出2(对应两种选择组合)。Java实现通过递归完成搜索,最终输出符合条件的方案总数。(149字)

u014481728的博客 287

基于simulink的模糊PID控制器设计与实现

输入E、EC和输出、的模糊集论域采用Mamdani类型,模糊语言集合为{NB,NM,NS,ZO,PS,PM,PB},在MATLAB中,使用模糊函数编辑工具设计上述讲述的模糊模糊集和隶属函数。隶属函数的类型决定了系统的控制性能,隶属函数中的曲线斜率越大,其模糊分辨率就越高,系统的控制性能就越低,隶属函数中的曲线斜率越小,其模糊分辨率就越低。然后,是电机部分,电机部分,为了能突出对比性,我们这里还是使用你上次提供的电机的配置设置,不过修改了初始参数的值,因为之前你的初始值都是0.这样显然是不对的。

FPGA/MATLAB学习教程/源码/项目合作开发 8422

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

基于Matlab/Simulink的多种PID控制仿真探索

基于Matlab/Simulink的PID控制仿真、RBF/BP神经网络PID参数整定控制仿真、模糊PID控制仿真(控制器由S函数编写是封装成Simulink下的模块)提供被控对象传递函数或模型可在Simulink下仿真算法也可用于硬件系统下的半实物仿真在控制工程领域,PID控制及其衍生的各种先进控制策略一直是研究和应用的热点。

EHagSJVNpTY的博客 749

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

基于matlab控制系统simulink仿真,pid控制,模糊pid,模糊免疫pid,遗传算法优化pid和模糊神经网络pid控制;温度控制,流量控制,比值控制,串级控制,PID参数整定,文章复现。

matlab控制系统simulink仿真,pid控制,模糊pid,模糊免疫pid,遗传算法优化pid和模糊神经网络pid控制;温度控制,流量控制,比值控制,串级控制,PID参数整定,文章复现。

2501_90804007的博客 2038

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: RMS (均方根) 是怎么计算的
下一篇: CodeX 的插件、MCP、Skills 目录分析
崔佳宇_
崔佳宇_ 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄10年 1万+粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值