我是靠谱客的博主 聪慧滑板,最近开发中收集的这篇文章主要介绍matlab里的pid参数调节,pid调节的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

上一篇介绍了建立系统模型的三种方法,这一篇介绍如何调节pid,并用MATLAB仿真

427ebea552e6

调节pid的目标就是使得从模型中得到的增益能够使物理系统正常工作

调节pid的理论分析

pid的一般形式如下图

427ebea552e6

经过移动化简可以得到

427ebea552e6

现在我们的问题就简化成了在哪里放置这两个极点,和设置多大的增益?

427ebea552e6

在给微分器加上滤波器,相当于系统多了一个极点,滤波器的相关内容之后介绍

MATLAB仿真

仿真使用的模型还是我们上一篇使用的电机模型

随便取一个之前的模型进行pid控制仿真

先初始化电机模型的变量,再加上pid的必要模型,开始仿真

随便调了几下pid参数,得到下图的效果

427ebea552e6

调节零点位置和增益的方法

新名词介绍

根轨迹图(root locus)是控制理论及稳定性理论中,绘图分析的方式,可以看到在特定参数(一般会是反馈系统的环路增益)变化时,系统极点的变化。

说实话,这东西以前我听都没听过,在经过线上线下查找资料才算知道了这么个东西。

简单的说,这个图可以用来判断非时变系统系统的稳定性,以及计算系统增益并实现它的控制器

手画这个图是有许多规则的,不过我没有去了解,毕竟我时间也不多,只知道可以用MATLAB画

进入主题

有两种方法用于调节:Pole placement 和 Loop shaping

Pole placement

一个简单的开环系统,他的根轨迹图是这样的

427ebea552e6

在加入PID后,会引入新的零点和极点,就会变成这样

427ebea552e6

这种调节方法就是通过调节增益,从而得到希望的系统性能

Loop shaping

这个方法和上面的类似,换了种形式的图

427ebea552e6

据论文介绍,这两种方法的性能都是差不多的,loop-shaping多了两个优点,(i)不需要在FRF上拟合LTI模型来设计控制器,并且(ii)随着控制器系数的平滑变化,增益调度的实现更加缓慢。

对于我来说,暂时只管怎么用,好不好用,就没有深入学习了

MATLAB仿真

下图是我用之前的模型随意调的pid的阶跃响应,可以看出是不符合我们的期望的,下面我们就使用MATLAB进行pid调节

427ebea552e6

我们首先需要做的是打开analysis->control design->control system designer,然后按照下面三张图所示,添加需要调节的pid模块,添加需要的信号

427ebea552e6

427ebea552e6

427ebea552e6

在control system designer的菜单栏中点击tuning methods,在下拉框中选择root locus editor,就可以得到下图

427ebea552e6

在new plot下选择new step,在弹出窗口按下图配置

427ebea552e6

最终效果如下

427ebea552e6

手动pid调节

手动调节说实话我是不太懂,我这里只是随便乱调一下表示可以手动修整而已

这里使用的是pole placement的方法,loop shaping也是类似的

cd91471c34b5c75dd1b58cf9939177cc.gif

自整定pid

这里主要还是介绍自整定pid,毕竟方便,不需要懂太多相关知识

在tuning methods下选择pid tuning

可以在弹出窗口中选择pid控制器的类型、性能等等,最后附上调节效果图

427ebea552e6

最后弄完后要在菜单栏选择update blocks

427ebea552e6

结尾

调节好的模型已上传github的项目库

缺失的链接在留言中

参考资料Design Compensator Using Automated PID Tuning and Graphical Bode Design

Designing PID Controllers with PID Tuner

最后

以上就是聪慧滑板为你收集整理的matlab里的pid参数调节,pid调节的方法的全部内容,希望文章能够帮你解决matlab里的pid参数调节,pid调节的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部