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

2023-11-11

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的打开方式

  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

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. 点击模块,就可以实现这样的效果了
    在这里插入图片描述

matlab,simulink需要多使用,才能用的熟。


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

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1_simulink简单入门_simulink仿真PID控制 的相关文章

  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • 使用 varargin (...) 时如何显示不同的函数用法?

    当您输入 Matlab 函数名称并打开大括号时 例如sum 在命令窗口中 将打开一个工具提示 显示此函数的所有可能用法 当我编写自己的接受函数时varargin 工具提示仅显示一个选项 而不是varargin puts e g myfunc
  • 如何将Matlab代码库与Android集成?

    我有一个算法和 MATLAB 中的一些其他代码 我想在我的 Android 应用程序中使用它 我怎样才能做到这一点 我可以从 MATLAB 制作 jar 文件以便与 Android 一起使用吗 我必须做点别的事吗 如果您还有其他产品 适用于
  • 图像增强 - 从书写中清除给定图像

    我需要清理这张照片 删除 清理我 的字样并使其变亮 作为图像处理课程作业的一部分 我可能会使用 matlab 函数 ginput 来查找图像中的特定点 当然 在脚本中您应该对所需的坐标进行硬编码 您可以使用 conv2 fft2 ifft2
  • 将单元格转换为双精度

    gt gt C 1 2 CF 2 C 1 2 CF 2 gt gt whos C Name Size Bytes Class Attributes C 2x2 478 cell 我怎样才能转换C into double以便 gt gt C
  • matlab矩阵中求子矩阵的通用方法

    我正在寻找一种 好 方法来在更大的矩阵 任意维数 中找到矩阵 模式 Example total rand 3 4 5 sub total 2 3 1 3 3 4 现在我希望这样的事情发生 loc matrixFind total sub 在
  • 使用 java 执行 Matlab 函数

    我正在编写一个应用程序 它使用 matlab 进行图像处理 然后使用 Java 接口显示结果 由于某些原因 我必须同时使用 Java 和 Matlab 如何在java中使用matlab函数 如何创建和访问界面 MATLAB控制 http m
  • 如何获取活动对象 MATLAB GUI 的句柄

    我正在尝试使用 MATLAB GUI 创建日历 我有两个Edit Text对象 edittext1 and edittext2 我想做这个 我把光标放在edittext1然后在日历中选择日期 它会进入文本字段edittext1 同样对于ed
  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • 同时重新排序和旋转图像的高效方法

    为了快速加载 jpeg 我为turbojpeg 实现了一个 mex wrapper 以有效地将 大 jpeg 读入 MATLAB 对于 4000x3000px 的图像 实际解码只需要大约 120 毫秒 而不是 5 毫秒 然而 像素顺序是 R
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • 作为动画的八度情节点

    我有以下八度脚本 TOTAL POINTS 100 figure 1 for i 1 TOTAL POINTS randX rand 1 randY rand 1 scatter randX randY hold on endfor 当我运
  • 如何在Matlab中将世界坐标转换为像素索引

    我有 512x512x313 体积的 dicom 图像 并且我有一个以世界坐标表示的点 57 7475 63 4184 83 1515 我如何在 Matlab 中获得该世界坐标的相应像素坐标 我不想戳破你的幻想 但你所要求的是不可能的 我能
  • 非模态 questdlg.m 提示

    我的代码绘制了一个图 然后提示用户是否想使用不同的参数绘制另一个图 问题是 当 questdlg m 打开时 用户无法查看绘图的详细信息 这是代码 while strcmp Cont Yes 1 Some code modifying da
  • 从 imread 返回的 ndims

    我正在从文件夹中选取图像 尺寸为128 128 为此 我使用以下代码行 FileName PathName uigetfile jpg Select the Cover Image file fullfile PathName FileNa
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • 使用 R2010b 中的符号工具箱来求解和/或 linsolve

    我前几天问了一个问题here https stackoverflow com questions 20317038 matlab linear congruence solver that supports a non prime modu
  • 如何获取MATLAB句柄对象的ID?

    当我尝试使用时出现问题MATLAB 句柄对象 http www mathworks com help techdoc ref handle html作为关键值MATLAB 容器 Map http www mathworks com help
  • 在 Matlab 的命令窗口中获取旧式帮助

    问题的简短版本 在最新版本的 Matlab 中 我在 Windows 上的 R2014b 和 R2015a 中看到过 当您键入help foo你得到一个简要描述 简介函数及其签名 例如 输入help bsxfun产生类似这样的东西 只有更好

随机推荐

  • 尾行3解3D马赛克补丁

    尾行3解3D马赛克补丁 尾行3下载尾行3补丁尾行3图片尾行3去马赛克尾行3怎么玩尾行3下载尾行3视频illusion尾行3秘籍尾行3攻略秘籍 尾行3作弊单机游戏尾行3下载尾行3外挂尾行3对话单机游戏尾行3 尾行3中文补丁 尾行3黑屏补丁尾行
  • M1 Mac 安装Python及相关库|pytorch安装M1 Mac

    今天安装pytorch的时候发现安装的anaconda是x86版本的 自己的电脑是arm64架构的 所以一直安装不上 之后找到一个方法 以后可以通过命令行直接安装在arm64上运行的库了很方便 1 安装homebrew 这是一个mac上的包
  • 编译opencv.js

    opencv 支持编译多个平台 其中还支持JavaScript 不过编译需要emscripten 编译环境 centos7 Python2 7 1 下载OpenCV源码 官网 https opencv org releases 例如下载4
  • Docker如何安装seafile

    SQLite 方式 要在 Docker 中安装 Seafile 您可以按照以下步骤进行操作 安装 Docker 确保您的系统上已经安装了 Docker 您可以根据您的操作系统类型 在官方网站上找到适合您系统的 Docker 版本并进行安装
  • 数字化转型的趋势、挑战与战略【一】

    在全球经济进入数字化转型时期 数字化转型已成为传统企业必须付诸行动的必选题 企业为什么要进行数字化转型 如何把握数字化转型的时机 近日 在大华南IT高管共赢圈 大华南IT培训学院联合举办的 企业数据化转型的战略与规划 培训会上 IDC中国副
  • PyTorch:梯度计算之反向传播函数backward()

    一 计算图 计算图 是一种用来描述计算的有向无环图 我们假设一个计算过程 其中 X 1 mathbf X 1 X1 W 1
  • cmd更换主题配色

    cmd更换主题配色 去github下载colortool 地址 使用管理员打开cmd进入解压后的文件夹 执行命令 colortool exe b solarized light itermcolors 其他可选方案在schemes下 更换效
  • java反射基础巩固

    反射机制是在运行状态中 对于任意一个类 都能够知道这个类的所有属性和方法 对于任意一个对象 都能够调用它的任意一个方法和属性 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制 一直以来反射技术都是Java中的闪亮点
  • 反射和多线程基础

    一 今日内容 1 1 课程回顾 1 2 反射是啥 1 3 进程和线程 1 4 线程的创建方式 1 5 线程的状态 1 6 线程的常用方法 二 课程回顾 Java的基本语法 1 数据类型 基本 引用 2 运算符 算术 逻辑 比较 赋值 位 三
  • 掌握的几种禁止转换八进制,十进制,十六进制

    1 十进制 除表示正负的符号外 以1 9开头 由0 9组成 如 128 234 278 2 八进制 以0开头 由0 7组成的数 如 0126 050000 3 十六进制 以0X或0x开头 由0 9 A F或a f 组成 如 0x12A 0x
  • 实训周笔记

    主机信息收集技术 基础知识 主要收集目标主机的相关信息 主要包括端口 服务 漏洞等信息 信息收集手段多样 可借助工具也多种多样 端口扫描 Nmap 主机信息收集技术 Nmap namp 192 168 1 1 namp A T4 v 192
  • proteus 问题--解决创建项目、打开项目:Error opening VSM Studio project STM32F401VE,无法查看Source Code,无法创建硬件项目

    问题描述 原因 安装软件的路径有中文 删掉所有东西后 重新下载即可 创建新项目 点击New Project 选择GCC for ARM这个配置项 也可以进入后在配置
  • qt如何触发点击事件_PyQt5事件处理机制(一)

    基于窗体的应用程序都是事件 event 驱动的 鼠标单击 按下某个按键 重绘某个组件 最小化窗口都会产生相应的事件 应用程序对这些事件作出相应的处理以实现程序的功能 常用的特定事件处理函数及方法示例代码 from PyQt5 Qt impo
  • 解读 Q_D, Q_Q 指针

    见 qglog h文件定义 define Q D Class Class Private const d d func define Q Q Class Class const q q func d指针是在主类中使用的 来获取私有子类成员指
  • STM32HAL库软件模拟SPI驱动0.96OLED屏幕,F1、F4系列通用,6pin和7pin模块通用

    本实验通过网上搜集的资料 整理出HAL库的SPI驱动 为了方便移植 选择采用软件模拟SPI通信来驱动OLED 本实验使用的OLED为7pin 默认通信模式为SPI 可以更改板上电阻更换为IIC模式 屏幕驱动芯片为SSD1306 模块简介 6
  • 代码流星雨

    什么是html html就是前端可以理解成为网页界面 不会但是想玩 可以在电脑桌面上建一个记事本然后把代码复制后粘贴在记事本里面 然后保存最后吧记事本 新建文本文档 tx 的后缀 就是重命名 改成html 新建文本文档 html 来自htm
  • 阀门与压力表同步代码

    using System Collections using System Collections Generic using UnityEngine public class Mmmmmm MonoBehaviour float sum
  • Elasticsearch 写入和查询优化底层原理

    一 Elasticsearch 写入原理 1 每个index 是由多个shard组成 默认是5个 每个shard有一个主节点和多个副本节点 分散在不同的物理节点上 2 写入数据的时候 先根据routing参数 以那个字段的值作为路由key
  • 入门级题解:704. 二分查找

    题目 给定一个 n 个元素有序的 升序 整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target 如果目标值存在返回下标 否则返回 1 暴力查找 直接找 遍历 直接尝试二分查找 递归应该要用 中间的值 a
  • 1_simulink简单入门_simulink仿真PID控制

    1 simulink简单入门 simulink仿真PID控制 2 simulink搭建RCL 电阻电感电容模块 毕业前想去做物联网还是或者linux 结果玩了一年多的电机控制 早就深知matlab simulink绕不过的 拖到现在 下班晚