前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PID的那些事——模拟PID控制

PID的那些事——模拟PID控制

作者头像
狂人V
发布2020-06-29 10:34:39
3.1K0
发布2020-06-29 10:34:39
举报
文章被收录于专栏:电子狂人
不知不觉已经到4月的下旬了,这段时间,有学弟学妹问了一些电赛的事情,给他们大概讲了下电赛的一些东西,然后当初我自己本人是连续参加了两年电赛中的控制方向,最后一次国赛才去了信号处理的方向,技术也不并是很强,但是我比较会熬在第一次参加全国大学生电子设计大赛的时候,那时候非常的菜,就连简单的单片机都用得不熟练,很感谢指导老师那时候愿意让我进入电赛培训进行学习,没错,就是学习,因为太菜,只能去跟大佬们学习

也很庆幸最后有机会参与到历时四天三夜的电赛,可能是第一次参加这么大的比赛,很激动,也很紧张,那些天我估计自己总的睡眠时间不足10个小时,是蛮累的,但是现在想起来,很充足,很开心~

在那时候参加的是电赛的控制方向,我觉得印象最深的算法之一就是PID了,那时候控制方向的大佬们嘴上常挂着的就是PID的东西,P大点,小点什么的当时可能是数学没学好的原因吧,对微积分都有点抗拒,所以这个算法学得并不是很好,后来很长一段时间都不曾进行实践,所以至今我也觉得自己学得并不是太好,所以打算重新对PID算法进行理解,并做下记录进行分享,有算法大佬发现错误的话,麻烦指出哦~

今天先对PID算法中的模拟PID进行理解

PID简介

PID控制器就是将系统的输出值与预先设定的一个值的误差通过比例(Proportion)、积分(Integral) 和微分(Differential)的线性组合计算得到一个控制量,再使用该控制量去控制被控制的对象。

模拟PID控制原理

在这里使用直流电机的例子进行理解,先看一个使用PID调节直流电机速度的系统框图:

图中,r(t)是想要的电机转速,也就是提前设定的一个值,y(t)是实际的电机转速,e(t)是两者的偏差即e(t), u(t)是PID的输出。

偏差e(t)的计算如下:

这个偏差就是PID控制器的输入,经过PID控制器,可计算出u(t),然后将u(t)作为直流电机(注:需要有电机的驱动才可带动电机的转动,这里的直流电机包括电机驱动模块在内)的输入。具体的模拟PID计算公式,也可以说是PID的一个控制规律如下:

注:Kp、Ti和Td分别是PID控制的比例系数、积分系数(积分时间)和微分系数(微分时间)

接下来对PID控制器中的比例、积分和微分这三个部分进行分析。

1、比例部分:

在模拟PID控制器中,比例部分的作用是对偏差做出瞬间的反应,当设定的转速和实际的转速产生偏差时,控制器也立即产生控制作用,使控制量向减少偏差的方向变化。而控制作用的强弱就取决于比例系数Kp,Kp越大,控制作用越强,相应的过渡过程也越快,因此控制过程的静态偏差就越小;然而当Kp过大,容易产生振荡,从而破坏系统的稳定性。因此Kp选择必须恰当才能实现过渡过程快,静差小且系统稳定的效果。

2、积分部分:

从积分的公式可知,当存在偏差时,它的控制作用会不断的增强,直至偏差e(t)=0时,积分是一个常数,从而控制作用也是稳定的一个强度,可以看出积分部分是能够消除偏差的。

积分部分虽然可以消除静态误差,但是会因此降低系统的响应速度,增加系统的超调量。当积分系数Ti较大时,积分的作用就弱,这时的系统在过渡期间不会产生振荡,也可以减少超调量,提高系统的稳定性,但是这将导致消除静态误差的过程所耗的时间变长;如果积分系数Ti较小,积分的作用较强,这时候系统过渡过程可能会产生振荡,但是消除静差的时间将变短。所以需要根据实际控制的具体情况来确定Ti的值。

3、微分部分:

实际的控制系统除了希望可以消除静差,还希望加快调节过程。当偏差出现的瞬间,比例和积分这两部分可以分别对偏差量做出立即响应和消除静差,而在偏差的变化时,要对其变化趋势做一个预判,然后给出一个纠正的能量,这就需要有微分部分进行作用。

微分部分的作用就是阻止偏差的变化,根据偏差变化的趋势进行控制。偏差变化越快,微分部分的控制能量就越大,在这个偏差过大之前就纠正回来。讲到这里,就可以发现它有减小超调量、克服振荡使系统趋于稳定的作用。

但是有一点要注意,就是微分对于噪声信号也很敏感,对于一些具有大噪声的系统一般不使用微分,要不就是在使用前对输入信号进行滤波处理。

微分系数Td越大,它抑制偏差e(t)变化的能力也越大,反之,微分系数Td越小,抑制能力也越弱,因此需要适当的选择微分系数Td,使得微分作用达到最优,让系统更加稳定。

模拟PID相当于已经讲完了,不知道是否发现,该种类型的PID控制器是连续输出控制量的,因此这部分适用于硬件的操作,而我们在一些软件平台进行使用时,并不能实现这样连续的效果,需要对其进行离散化处理,才可以在软件上实现,也就是下次要讲的数字PID控制。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子狂人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档