- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PID 控制讲解
王晓刚 2017-8-10
一、引言
这两天想用arduino 做一个自平衡车,对抄来的程序也一知半解,
始终不得法,没有平衡的站住,心里感到很失落;更不巧的是,主控
板USB 接口被我插拔多了,居然从板子上硬生生的拔了下来,而新买
的板子又没有到,所以得空了几天。
我想,这几天不如仔细认真的分析一下自平衡车的实现原理,于
是就接触到了PID 控制理论。关于自动控制,我实在是个门外汉,于
是万丈高楼平地起,在网上搜索了不少PID 控制理论的书,不过看起
来晦涩难懂,于是不如自己思考和书本结合,看自己是不是能够顿悟。
现在略有所得,于是写下来,一来可以整理一下思路,二来可以抛砖
引玉让各位高手来提提意见。
二、PID 基础
所谓自动控制系统,按照我的理解,就是通过传感器,执行器,
让被控系统的某个指标能够自动跟随设定值的系统。
比如,炉温控制,就是通过加热器的加热,将热量传导到炉腔,
然后再采集炉温,如果炉温达到或者超过设定值,就断开加热器。如
果是一个理想的炉温控制系统,我们希望加热器加热时,热量能够没
有任何延时的均匀传导到整个炉腔,从而让温度传感器能立即感知温
度的变化,我们还希望在断开加热器后,加热器将不再有一丁点的热
1
量传导到炉腔内,也就是说整个控制系统是无延时系统。
但是实际上,所有的系统都是有延时的,而执行器的输出和被控
指标的变化量之间的延时函数关系,是这个系统的特性,也决定了将
来的PID 控制的整定。
何为整定呢,一步一步来看。
三、PID 控制的模型系统
PID 控制,实际是三个单词的缩写,对应的中文分别是比例,积
分,微分。我先来讲比例控制,在讲解的时候,需要建立一个模型,
通过这个模型,可以让我们更好的理解PID 控制的思想。
这个模型系统是一个温度控制系统,采样周期假定为0.1s ,加热
器在每个采样周期内放出的热量并不是立即产生效果,而是对其后的
三个周期产生影响,这三个周期的比例关系是1:2:1 。
我建立了一个excel 文件来模拟这样一个系统。
包含设定值:系统需要稳定的温度
实际值:系统实际温度
偏差:某次采样实际值和设定值之间的差值
P、I、D:PID 控制量
控制量:总控制量,为P+I+D 的值
2
控制量将作用到加热器上,控制量的大小用来控制加热器的电流
值,从而控制加热量的多少。前面三个周期的控制量手动输入0 ,表
示还没有开启自动控制。
四、P 控制
P 控制,叫做比例控制,也就是根据偏差值,取一个比例系数,
算出控制量。
如图:
在第1 周期,因为设定值为80,而实际值只有30,偏差50 ,我
取得比例系数为1,所以控制量也为50 。这50 的控制量,将在后续
的第 2,3,4 周期产生影响,分别导致第 2,3,4 周期温度上升 12.5,
25,12.5 。
3
在第 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 取不同的数值时,有不同的温度控制曲线:
4
Kp=1.4,失稳 Kp=0.7,第53 周期稳定
K
文档评论(0)