内容简介:上一篇介绍了建立系统模型的三种方法,这一篇介绍如何调节pid,并用MATLAB仿真调节pid的目标就是使得从模型中得到的增益能够使物理系统正常工作pid的一般形式如下图
上一篇介绍了建立系统模型的三种方法,这一篇介绍如何调节pid,并用MATLAB仿真
调节pid的目标就是使得从模型中得到的增益能够使物理系统正常工作
调节pid的理论分析
pid的一般形式如下图
经过移动化简可以得到
现在我们的问题就简化成了在哪里放置这两个极点,和设置多大的增益?
在给微分器加上滤波器,相当于系统多了一个极点,滤波器的相关内容之后介绍
MATLAB仿真
仿真使用的模型还是我们上一篇使用的电机模型
随便取一个之前的模型进行pid控制仿真
先初始化电机模型的变量,再加上pid的必要模型,开始仿真
随便调了几下pid参数,得到下图的效果
调节零点位置和增益的方法
新名词介绍
根轨迹图(root locus)是控制理论及稳定性理论中,绘图分析的方式,可以看到在特定参数(一般会是反馈系统的环路增益)变化时,系统极点的变化。
说实话,这东西以前我听都没听过,在经过线上线下查找资料才算知道了这么个东西。
简单的说,这个图可以用来判断非时变系统系统的稳定性,以及计算系统增益并实现它的控制器
手画这个图是有许多规则的,不过我没有去了解,毕竟我时间也不多,只知道可以用MATLAB画
进入主题
有两种方法用于调节:Pole placement 和 Loop shaping
Pole placement
一个简单的开环系统,他的根轨迹图是这样的
在加入PID后,会引入新的零点和极点,就会变成这样
这种调节方法就是通过调节增益,从而得到希望的系统性能
Loop shaping
这个方法和上面的类似,换了种形式的图
据 论文 介绍,这两种方法的性能都是差不多的,loop-shaping多了两个优点,(i)不需要在FRF上拟合LTI模型来设计控制器,并且(ii)随着控制器系数的平滑变化,增益调度的实现更加缓慢。
对于我来说,暂时只管怎么用,好不好用,就没有深入学习了
MATLAB仿真
下图是我用之前的模型随意调的pid的阶跃响应,可以看出是不符合我们的期望的,下面我们就使用MATLAB进行pid调节
我们首先需要做的是打开 analysis->control design->control system designer ,然后按照下面三张图所示,添加需要调节的pid模块,添加需要的信号
在control system designer的菜单栏中点击tuning methods,在下拉框中选择root locus editor,就可以得到下图
在new plot下选择new step,在弹出窗口按下图配置
最终效果如下
手动pid调节
手动调节说实话我是不太懂,我这里只是随便乱调一下表示可以手动修整而已
这里使用的是pole placement的方法,loop shaping也是类似的
自整定pid
这里主要还是介绍自整定pid,毕竟方便,不需要懂太多相关知识
在tuning methods下选择pid tuning
可以在弹出窗口中选择pid控制器的类型、性能等等,最后附上调节效果图
最后弄完后要在菜单栏选择update blocks
结尾
调节好的模型已上传github的 项目库
参考资料
以上所述就是小编给大家介绍的《pid调节的方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 海盗船为苹果macOS推出iCUE软件,调节RGB灯效
- 理解实例方法、类方法、静态方法
- 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(上篇)
- 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(上篇)
- java:方法覆盖与方法重载
- 静态方法、实例化方法与线程安全
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程的修炼(中英双语)
[荷]Edsger W. Dijkstra / 裘宗燕 / 电子工业出版社 / 2013-7 / 79.00元
本书是图灵奖获得者Edsger W. Dijkstra在编程领域里的经典著作中的经典。作者基于其敏锐的洞察力和长期的实际编程经验,对基本顺序程序的描述和开发中的许多关键问题做了独到的总结和开发。书中讨论了顺序程序的本质特征、程序描述和对程序行为(正确性)的推理,并通过一系列从简单到复杂的程序的思考和开发范例,阐释了基于严格的逻辑推理开发正确可靠程序的过程。 本书写于20世纪70年代中后期,但......一起来看看 《编程的修炼(中英双语)》 这本书的介绍吧!