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

news/2024/6/17 9:11:04 标签: matlab, simulink, 仿真, PID

1_simulink简单入门_simulink仿真PID控制
2_simulink搭建RCL_电阻电感电容模块


毕业前想去做物联网还是或者linux,结果玩了一年多的电机控制,早就深知matlab/simulink绕不过的,拖到现在,下班晚上再把大学自控做实验用的matlab捡起来,再去b站学习simulink。做控制,matlab/simulink是绕不过的,这是个很强大的仿真工具。

如果初学simulink,做电机控制的,我推荐b站的:CELEC(陈诚电气)
https://space.bilibili.com/493190982/video

姑且说是simulink是图形化的编程。那么编程学习最快的方式,就是边系统学习边实践边探索。

c语言采用面向对象思想实现的pid模块:
https://blog.csdn.net/qq_38190041/article/details/119276490

simulink_16">simulink的打开方式

  1. 在命令行窗口中直接输入simulink
  2. 在上方菜单栏主页中,点击simulink

创建新的模型

一般也就只会用到这个Blank Model。在这里插入图片描述

电气、 控制常用的库

在这里插入图片描述

  1. simulink
    这个是最重要的,基础的、数学的
  2. Simscape
    这个是电气、控制的常用库

这些库就是我们进行图形化编程的,拖拉拽的模块。我大概记录一些,不过还是多用用试试就晓得了。

  1. simulink/Commonly Used Blocks

    • Bus Creator:总线器,不同信号组合成一个输出信号(一个数据结构,像数组,结构体)
    • Bus Selector:与Bus Creator相反、分解。
    • Constant: 常数,恒定值。
    • Data Type Conversion: 数据转换器
    • Delay:延时模块。
    • Demux: 组合信号分解
    • Mux:多个信号组合
    • Discrete-Time Integrator: 离散积分器
    • Gain:增益,比例(比如在单位变换,系数)
    • In1: 生成子模块的时候,信号的输入
    • Integrator: 积分器
    • logical Operator: 逻辑与或
    • Out1: 子系统输出常用的输出信号
    • Product: 乘法器
    • Relational operator: 小于等于
    • stauration: 限幅饱和
    • Scope: 示波器,波形显示
  2. simulink/Continous:连续模块,积分微分,二阶积分,pid,传递函数

  3. simulink/Dashboard:人机交互的 界面相关的

  4. simulink/Discontinuities:只有Quantizer常用一点

  5. simulink/Discrete:离散形式的一些模块,做仿真z变换的用的较少。

  6. simulink/Logic and Bit Operations:简单的逻辑

  7. simulink/Lookup Tables:查表相关的函数

  8. simulink/Math operations:数学相关的,常用的,加减乘除等等

  9. simulink/Signal :信号相关的

  10. simulink/sinks:显示,保存等等的

  11. simulink/source:pwm,波等等的,阶跃

  12. simulink/user-Defined Functions:用户自定义

    • fcn: 最简单的
    • matlab function: 考虑采样,if else
    • S-Function:功能负载,卡尔曼滤波,最小二乘法。

PID_67">一个简单仿真_PID

PID仿真。用库里的PID模块,然后自己搭建一个PID模块。

首先需要大概会用到什么

  • 一个阶跃(Step)
  • PID模块(PID controller)
  • 传递函数(Transfer fcn)
  • 示波器(scope)
  • 求和(sum)

如果熟悉simulink的模块名字,可以直接在空白处,输入模块名字。
在这里插入图片描述
不熟悉,需要到模块库里找。

这样就搭建了一个针对这个传递函数的控制调节模型。
在这里插入图片描述

双击PID即可设置控制器参数,设置KP=26,KI=65,KD=0的波形:

在这里插入图片描述

如何搭建自己搭建一个简单的PID模块。
需要用的模块

  1. 增益
  2. 积分
  3. 微分
  4. 求和

在这里插入图片描述
上面是用matlab的模块,下面是自己搭的。然后看下波形对比,也是一样的:
在这里插入图片描述
最后可以把它生成一个subsystem。
在这里插入图片描述

如何对subsystem进行参数设置接口

  1. 先在增益模块中,将kp,ki,kd的值进行参数化
    在这里插入图片描述
  2. 对生成的subsystem右键进行Mask的创建
    在这里插入图片描述
  3. 编辑mask
    在这里插入图片描述
  4. 点击模块,就可以实现这样的效果了
    在这里插入图片描述

matlabsimulink需要多使用,才能用的熟。


被抛弃的写随笔公众号改写技术文章了,感兴趣的可以关注公众号:王崇卫

在这里插入图片描述


http://www.niftyadmin.cn/n/1244224.html

相关文章

我的Android进阶之旅------Android之Animations动画详解

一、动画类型 Android的animation由四种类型组成:alpha、scale、translate、rotate XML中<

我的Android进阶之旅------Android常用计量单位(Dimension)的介绍(px,in,mm,pt,dp,dip,sp)

在Android开发中常用到px,in,mm,pt,dp,dip,sp这几个单位,你可不要混淆了 摘自:http://developer.android.com/guide/topics/resources/more-resources.html#Dimension的一段简介 Dimension

2_simulink搭建RCL_电阻电感电容模块

1_simulink简单入门_simulink仿真PID控制 2_simulink搭建RCL_电阻电感电容模块 基本元件 电阻 - 单位: 欧姆 Ω\varOmegaΩ 电压方程: uiRuiRuiR 电流方程: iuRi\frac{u}{R}iRu​ 电容 - 单位: 法拉 F\rm{F}F 电压方程: u1C∫0tidtu\frac{1}{C}\int_0^t{idt}uC1​∫0t​idt 电…

BISS绝对值编码器_TI方案_线路延迟补偿

这篇主要是介绍一下BISS编码器协议&#xff0c;以及TI的对于绝对值编码器的方案。主要针对BISS的是线路延迟补偿的一些介绍。顺便一提&#xff0c;有一说一&#xff0c;TI的文档写的全&#xff0c;还细致。 关于SSI的绝对值编码器协议可以看这里&#xff1a; SSI编码器通信 首…

抗积分饱和 PID代码实现,matlab仿真实现

抗饱和PID 前几天开始我就计划把c电机仿真的PI控制器代码优化一下的时候&#xff0c;群里刚好讨论了Microchip的AN1078文档中的PI框图: &#xfeff;在这里插入图片描述 找了点视频和文章&#xff0c;大家感兴趣可以去看看&#xff0c;相信你会收获更多。 TI的公开培训 &…

[现代控制理论]2_state-space状态空间方程

[现代控制理论]11_现代控制理论串讲_完结_pdf获取 [现代控制理论]10_可观测性与分离原理_观测器与控制器 [现代控制理论]9_状态观测器设计_龙伯格观测器 [现代控制理论]8.5_线性控制器设计_轨迹跟踪simulink [现代控制理论]8_LQR控制器_simulink [现代控制理论]7_线性控制器设计…

[工程数学]1_特征值与特征向量

首先向b站up&#xff0c;DR_CAN致敬。 视频二刷了&#xff0c;为了收获&#xff0c;理解更多&#xff0c;用极慢的方式&#xff0c;把笔记抄了下来&#xff0c;整理一遍&#xff0c;为了好翻阅。后续会转成pdf格式&#xff0c;放微信公众号后台获取。 [现代控制理论]2_state-…

我的Android进阶之旅------Android开发错误汇总

大家都在为项目开发成功而喜悦,但可不知成功的路上是会经常出错的,下面是我碰到的一些错误集合! 【错误信息】 [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement! [2011-01-19 16:39:10 - ApiDemos] Device API version i…