基于Matlab-Simulink的PID分析

我们使用一个一阶惯性环节的响应曲线来分析一下PID各项参数的作用。
在这里插入图片描述
在这里插入图片描述
示波器的蓝色线为系统的响应输出,黄色线为比例项输出,红色线是积分项输出,绿色线是微分项输出。
首先我们把比例项参数设置为1,其余项设置为0,来看一下系统响应。
在这里插入图片描述
我们发现系统响应最终稳定在0.5处;如果把比例参数设置为2,系统响应最终会稳定在2/3处。经过实验可以发现仅用比例项无法消除静态误差,系统输出X=Kp/(1+Kp),具体的数学推导可以去B站看DR_CAN老师的课。
接下来我们把积分项参数设置为1,其余项设置为0。
在这里插入图片描述
可以发现系统输出波形和积分输出波形非常相似并且滞后于积分输出波形,这是一阶系统的性质所决定的。系统最终稳定在设定值1上。积分输出的最大值在1.3左右,系统稳定所用时间大概10s左右。
在积分参数设置为1的基础上把比例参数设置为0.5再看一下系统响应。
在这里插入图片描述
相对于上图可以看出积分输出最大值不到1.1,系统稳定时间大概在7s左右。为什么会这样呢?因为比例项的加入使得系统响应更迅速曲线更陡峭,误差迅速减小进而使得积分项输出曲线变得迟缓超调减小。也就是说对于一阶系统而言,比例项可以削弱积分项的输出。
继续增大比例项参数,将其设置为1。
在这里插入图片描述可以看到系统输出变得更迅速了,并且没有了超调,积分输出和系统输出曲线完全重合了。
如果继续增大比例参数会怎么样呢?把比例参数设置为2试试。
在这里插入图片描述
可以看到系统输出曲线在初期非常陡峭但是后劲不足,稳定时间明显变慢了。这是因为比例项输出在初期过大,迅速减小了误差狠狠打压了积分项导致积分项发育缓慢,到了后期比例项输出萎了而积分项又没发育起来进而导致系统输出稳定过慢。
到目前来看比例项积分项参数均设置为1是最佳参数,如果这时候引入微分项会发生什么呢?把三者参数都设置为1试试。
在这里插入图片描述
可以看到加入微分项后系统输出变糟了,不仅稳定时间变长还发生了超调。这是因为微分项的作用相当于阻尼,系统输出的变化率越大它的输出就越大(当然方向和系统输出变化率方向相反),它一直在拖系统响应的后腿,导致积分项发育过猛最终导致系统输出变得糟糕。
所以对于一阶系统的PID控制我们不要加微分项,参数整定的时候先调积分参数让系统响应时间达到项目需求,然后再缓慢增大比例参数使其不再振荡即可。电机转速控制系统、温度控制系统都是一阶系统,他们的参数整定方法都一样。
在仿真中可以发现只要把比例项和积项参数设置为1:1就可以使系统输出不发生超调。这是因为仿真的控制器是连续控制器,控制周期可以认为是无穷小并且反馈数据是完全可信的。
但是现实中我们使用的PID控制器一般都是数字控制器属于离散控制器,控制周期受制于反馈传感器的响应速度、准确度、分辨率等参数,系统的真实数学模型也没有那么完美,因此PI参数的绝对值不能无限大否则就会发生剧烈振荡。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值