pid建立模型

作者: greedyhao | 来源:发表于2019-04-13 15:31 被阅读0次

上一篇文章是一份pid的指南,目的是为pid建立一个整体的概念,这一篇简单介绍了pid建立模型的三种方法

根据元件性质直接得到模型

适用于简单的系统,需要关注整个系统的具体组成

通过欧姆定律等电路定律,为元件建模,最终得到系统模型

这种方式很麻烦,不在这里讨论

系统识别的方法

这种方法不需要关注系统的具体实现,将系统当做一个双端口的加工器,给定输入可以得到想要的输出

就好像图中所示的一个加热器,面包经过加热器后上升了10度,就可以给加热器建立相关的方程了,并不需要知道加热器是电阻加热还是红外光热

还需要注意的是,给定输入是否在系统输入范围,避免对系统造成损伤

MATLAB仿真

这里使用到了MATLAB的system identification的工具库

本次仿真是对一个电机建立模型

电机模型在这里提供

首先需要在matlab命令行初始化模型相关的以下变量

J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;

在simulink中运行一遍模型,回到matlab,这时候会发现工作区多了step_input/img/matlab/motor_speed这两个变量

在matlab的工具箱中找到system identification这个工具,打开

import data下选择time domain data,在弹出的窗口填入下图中的信息,点击import

接下来在estimate的下拉框中选择transfer function model,点击estimate,运行完后,如图所示把结果tf1拖入to workspace

此时在MATLAB的工作区中应该能看见tf1这个变量,在命令行输入tf1,就能看见传递函数

>> tf1

tf1 =

From input "u1" to output "y1":
-1.042e-08 s + 2
------------------
s^2 + 12 s + 20.02

Name: tf1
Continuous-time identified transfer function.

Parameterization:
Number of poles: 2 Number of zeros: 1
Number of free coefficients: 4
Use "tfdata", "getpvec", "getcov" for parameters and their uncertainties.

Status:
Estimated using TFEST on time domain data "mydata".
Fit to estimation data: 100% (stability enforced)
FPE: 4.857e-33, MSE: 4.851e-33

回到simulink,修改DC Motor Transfer Fcn为对应的传递函数,开始仿真。

仿真结束后打开scope查看,结果如下图

从结果可以看出这个传递函数是正确的

对现有非线性模型线性化

这个方法和前面系统辨识的方法很类似,不过上一个方法使用的是模型的输入输出结果建立模型,这个是通过对系统线性化得到模型

MATLAB仿真

最终效果的模型在这里提供

如下图所示,先添加linear analysis points

在菜单栏打开Analysis->Control Design->Linear Analysis..

如下图所示,设置t=2,点击Step Plot 1,双击点开linsys1,显示线性化的选项选择Transfer Function

如下图所示,验证这个传输函数的正确性

可以看出这个传递函数是正确的


相关文章

  • pid建立模型

    上一篇文章是一份pid的指南,目的是为pid建立一个整体的概念,这一篇简单介绍了pid建立模型的三种方法 根据元件...

  • 龙油项目

    新收到条件: 1.新版Pid 升版模型——还剩下取样部分;重新核对一遍Pid。 2.应力报告 模型里画出弹簧架位置...

  • pid调节的方法

    上一篇 调节pid的目标就是使得从模型中得到的增益能够使物理系统正常工作 调节pid的理论分析 pid的一般形式如...

  • HDU2094

    http://acm.hdu.edu.cn/showproblem.php?pid=2094思路,用map建立节点...

  • 机器学习

    概念 通过大量数据建立模型(分类模型, 回归模型, 聚类模型), 然后通过建立的模型对新的样本数据进行预测 算法分...

  • 二次元萌图

    Pid=82702275 Pid=75508590 Pid=82693645 Pid=82705039 Pid=8...

  • IO 模型实现

    基本 IO 模型 IO 模型 传统的 CS 网络模型 虚线标识网络连接的建立,实线表示链接建立后的请求/响应。 多...

  • “快乐共成长组”11号 圈圈 第2节课后作业:时间管理的目标模型

    11号 圈圈 第二节课后作业:时间管理的目标模型 在建立了心智模型之后,我们迫切地需要建立目标模型,利用目标模型来...

  • Java对简单链表的操作

    首先建立一个节点模型 其次建立一个链表模型,包含对链表的操作 最终测试

  • pytorch模型转keras模型

    1. 概述 使用pytorch建立的模型,有时想把pytorch建立好的模型装换为keras,本人使用Tensor...

网友评论

    本文标题:pid建立模型

    本文链接:https://www.haomeiwen.com/subject/qcxrwqtx.html