- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《PID例子
本文只是技术交流,仅仅是鄙人对一些知识的看法和认识,由于鄙人学疏才浅,必然会在本文中出现定义理解不深刻,原理叙述有误等错误,敬请各位高人理解,如有错误之处,请大家指出,我将积极学习改进。其实很早就应该写这么一个东西,由于学习和工作太忙,一直没有时间去写,春节放假,偶尔有了时间,决心一定要写好,本文只是针对初学者,对于那些老鸟和大神们,基本上没有看的必要,所以再您看这篇文章之前,还要对我多多的理解和宽容,写不好,我改进学习,写的好,希望对您有帮助。(一) PID 的背景和一些原理上理解PID 控制技术,是最简单的闭环控制技术之一,一般都是利用单反馈或者多反馈来实现对控制对象的调节,实现被控对象的可控性和可预知性的控制。使得设备运行的更加的可靠,合理且平稳。PID 的全称为比例积分微分控制,P 即为比例,I 即为积分,D 即为微分。PID 往往都是应用于惰性系统,所谓惰性系统就是变化较慢且无法精确控制和调节的对象,其中最最重要的特点就是变化速度慢,调节速度慢,控制周期较长,最经典的控制对象就为温度的温控。下面就举一个简单的例子进行说明:比如我们要对一个水箱里面的水进行加热,我们的目标加热温度为100℃,首先我们不用闭环对水温进行加热,也就是说我们只是靠人为观察温度计的温度值来对加热器进行人工的干预。当温度加热到100℃以后,我们就停止加热,这个时候,虽然水温已经到达100 且加热器已经不再通电加热,但是由于加热器的预热和水本身传递温度的惰性,导致水温会继续上升,经过一段时间后,水温会继续升高,并且超过100℃,那么该系统就无法达到我们所预期的要求。这个时候您谁想,停止加热后本身会继续散热继续升温,那等到温度到90摄氏度左右以后,我们停止加热,然后利用水的惰性和加热器的散热,让水温继续升温,正好达到100℃,这样不就解决问题了吗? 这么想是对的,但是水温要达到90 几度的时候我们停止加热呢?还有就是从停止加热到100℃的时间是多少?经过一段时间后,温度没有达到100℃,而是小于100 摄氏度以后温度就达到了顶峰,这样怎么办?上述所有的办法,可能能够解决水温到达 100℃的要求,但是其中很多环节很多结果都是无法预测和无法控制的,即便经历了很麻烦的人为干预同时经过了一个较长的时间达到了我们对水温加热到100℃的要求,也要经历一个相当复杂和相当漫长的时间才能达到,并且整个过程一直要有人为的干预,实在是属于劳民伤财。不只是对温度的控制,还有其他很多领域的过程控制,都遇到了这些让人很困惑问题,所以科学家就针对此类问题发明了闭环控制原理,其中最经典最简单最实用的就是PID 闭环控制。该控制原理简单可靠,参数调整简便,实用性强,广泛的受到人们的支持。利用 PID 控制原理对水温进行加热控制,我现在进行举例说明:目标温度还是我们之前设定的100℃,加热前我们首先要把这个温度值输入到加热器控制器中,此时温度计只是作为我们认为观察温度的一个参考,我们在水中放入一个电子温度计,电子温度计测量的温度可以传送到控制器,以使得我们的PID控制器知道当前的水温,在刚刚通电加热的时候,水温假定为室温20℃,当前的水温会通过电子温度计测量并传输到PID 控制器中,此温度作为当前温度值C_TEM,我们的目标温度值设定的为100℃作为T_TEM,那么CPU 通过计算T_TEM-C_TEM=80,二者的差值较大为80,说明水温远远没有达到我们所需的100℃,那么这个时候CPU 就给加热器通上最高的供电电压,以全速对水箱里面的水进行加热,随着加热的进行,水温会慢慢的增加,某一时刻,水温达到了80℃,那么目标温度与当前温度做差,差值仅仅为20,那么CPU 就知道了当前的温度跟实际我们所希望的温度差别已经很小了,那么这个时候控制器就减小加热器的供电电压,以一个适当的加热量对水温进行加热。当到了一个时刻,水温达到了95℃,目标温度和他的差值仅仅只有5 了,说明温度已经十分接近目标温度,此时控制器可能已经早已停止对加热器供电或者以一个更加低电压的加热量对水温进行加热,直到水温加热到100℃。当然水温不可能一直恒定在 100℃,水温一定会超过100 摄氏度,但是由于采用PID 闭环控制,水温不会超过的太多,比如某一时刻水温到达了105℃,做差后,差值为-5℃,CPU 就知道此时温度已经超过了目标温度,那么将会在一段时间内停止加热,直到温度降低到100℃或者100℃以下后再进行进一步控制,所以当水温到达100 摄氏度附近的时候,CPU 控制器将会频繁的对加热器进行控制,从而导致水温永远维持在100℃左右附近,而且水温与100℃的目标温度相差不会很大,宏观上通过平均测量,水温就是认为在100℃了,其实根本上,水温是永远不会达到正好的100℃,只能是在100℃左右进行震荡,但是震荡始终不会
文档评论(0)