- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
\\
PID控制讲解
王晓刚 2017-8-10
一、引言
这两天想用arduino做一个自平衡车,对抄来的程序也一知半解,始终不得法,没有平衡的站住,心里感到很失落;更不巧的是,主控板USB接口被我插拔多了,居然从板子上硬生生的拔了下来,而新买的板子又没有到,所以得空了几天。
我想,这几天不如仔细认真的分析一下自平衡车的实现原理,于是就接触到了PID控制理论。关于自动控制,我实在是个门外汉,于是万丈高楼平地起,在网上搜索了不少PID控制理论的书,不过看起来晦涩难懂,于是不如自己思考和书本结合,看自己是不是能够顿悟。现在略有所得,于是写下来,一来可以整理一下思路,二来可以抛砖引玉让各位高手来提提意见。
二、PID基础
所谓自动控制系统,按照我的理解,就是通过传感器,执行器,让被控系统的某个指标能够自动跟随设定值的系统。
比如,炉温控制,就是通过加热器的加热,将热量传导到炉腔,然后再采集炉温,如果炉温达到或者超过设定值,就断开加热器。如果是一个理想的炉温控制系统,我们希望加热器加热时,热量能够没有任何延时的均匀传导到整个炉腔,从而让温度传感器能立即感知温度的变化,我们还希望在断开加热器后,加热器将不再有一丁点的热量传导到炉腔内,也就是说整个控制系统是无延时系统。
但是实际上,所有的系统都是有延时的,而执行器的输出和被控指标的变化量之间的延时函数关系,是这个系统的特性,也决定了将来的PID控制的整定。
何为整定呢,一步一步来看。
三、PID控制的模型系统
PID控制,实际是三个单词的缩写,对应的中文分别是比例,积分,微分。我先来讲比例控制,在讲解的时候,需要建立一个模型,通过这个模型,可以让我们更好的理解PID控制的思想。
这个模型系统是一个温度控制系统,采样周期假定为0.1s,加热器在每个采样周期内放出的热量并不是立即产生效果,而是对其后的三个周期产生影响,这三个周期的比例关系是1:2:1 。
我建立了一个excel文件来模拟这样一个系统。
包含设定值:系统需要稳定的温度
实际值:系统实际温度
偏差:某次采样实际值和设定值之间的差值
P、I、D:PID控制量
控制量:总控制量,为P+I+D的值
控制量将作用到加热器上,控制量的大小用来控制加热器的电流值,从而控制加热量的多少。前面三个周期的控制量手动输入0,表示还没有开启自动控制。
四、P控制
P控制,叫做比例控制,也就是根据偏差值,取一个比例系数,算出控制量。
如图:
在第1周期,因为设定值为80,而实际值只有30,偏差50,我取得比例系数为1,所以控制量也为50。这50的控制量,将在后续的第2,3,4周期产生影响,分别导致第2,3,4周期温度上升12.5,25,12.5 。
在第2周期,设定值为80,实际值是42.5,偏差37.5,于是控制量为37.5。这37.5的控制量,也将在后续的第3,4,5周期产生影响,这样的延时性会产生一个问题,也就是在第3周期时,第1,2周期的控制量的作用,已经使温度升高到76.875度,还没有达到设定温度,还需要加热,但是第1,2周期的控制量的影响还没有消失,于是,在第4周期时,温度已经超过80度,达到108.91度,直到第5周期时达到温度的峰值112.62度。
下图是当P系数取1时的温度控制曲线
可见当P的系数取1时,实际温度呈现震荡形态,逐渐收敛于设定温度。当P取不同的数值时,有不同的温度控制曲线:
Kp=1.4,失稳
Kp=0.7,第53周期稳定
Kp=0.25,第24周期稳定
Kp=0.1,观察期内未稳定
可见,Kp取较大的值,可以让实际温度快速到达设定温度,但是会产生震荡,过大的Kp甚至导致失稳;过小的Kp虽然可以避免震荡的产生,但是会导致稳定期太长,如当Kp=0.1时,虽然没有产生震荡,但是经过96个周期后,温度仍然没有达到设定值。
五、D控制
从P控制的分析可以得到,过大的Kp可以快速达到设定温度,但是会产生震荡。
当Kp=0.7时,我们可以看到,实际温度在第3-4周期内达到设定值,但是后续周期内,因为延时效应,温度继续冲高,最高达到100.88度,也许某些系统上,超温20多度是不被允许的。
我们分析一下为什么会在达到设定温度后继续冲高呢,这是因为前面几个周期的控制量的影响还在,于是我们能不能引入一个量,就是看一下每个周期内温度的变化速度怎么样,如果温度升高的速度太高,可能会超过设定温度时,我们减小控制量,从而减少超温的程度呢?
答案是肯定的,我们用每个周期的温度变化量除以采样周期,得到温度的变化速度,也就是温度对时间的微分,再乘以一个系数Kd,得到微分控制量,并将微分控制量也叠加到总的控制量中去。因为我们希望当温度快速升高时,降低控制量的值,因此Kd应取负值。
下图是当Kp取0.7时,不同的Kd对温度控制的影响:
Kd=-0.
文档评论(0)