设为首页
|
加入收藏
联系热线:0573-86128502
您好,欢迎来到嘉兴奥拓迈讯自动化控制技术有限公司!
网站首页
关于我们
产品中心
新闻资讯
联系我们
在线留言
嘉兴奥拓迈讯自动化控制技术有限公司
Jiaxing Automation Control Technology Co., Ltd.
产品
文章
搜索
名称
描述
内容
专业执着
精益求精
Professional dedication and excellence.
专业执着
精益求精
公司坚持高起点、高技术、高质量的原则为客户提供称心如意的产品及完善的售后服务。真诚与各界人士携手并进,共谋发展!
Professional dedication and excellence.
公司坚持高起点、高技术、高质量的原则为客户提供称心如意的产品及完善的售后服务。真诚与各界人士携手并进,共谋发展!
网站首页
>>
技术知识
>>
⾃动化控制PID讲解
公司新闻
行业新闻
技术知识
3
资讯分类
联系我们
地址:浙江省海盐县盐北路211号西区1-1
手机:13906834312
座机:0573-86128502
传真:0573-86112502
邮箱:hygongkong@163.com
⾃动化控制PID讲解
来源:
来源互联⽹,侵删
|
作者:
降魔神兵
|
发布时间:
2019-12-31
|
463
次浏览
|
分享到:
⾃动化控制PID讲解
啥是PID?
PID , 就 是 “ ⽐ 例 ( proportional ) 、 积 分
(integral)、微分(derivative)”,是⼀种很
常⻅的控制算法。算法是不可以吃的。
PID已经有107年的历史了。
它并不是什么很神圣的东西,⼤家⼀定都⻅过
PID的实际应⽤。
⽐如四轴⻜⾏器,再⽐如平衡⼩⻋......还有汽⻋
的定速巡航、3D打印机上的温度控制器....
就是类似于这种:需要将某⼀个物理量“保持稳
定 ” 的 场 合 ( ⽐ 如 维 持 平 衡 , 稳 定 温 度 、 转 速
等),PID都会派上⼤⽤场。
那么问题来了:
⽐如,我想控制⼀个“热得快”,让⼀锅⽔的温度
保持在50℃
这么简单的任务,为啥要⽤到微积分的理论呢。
你⼀定在想:
这不是so easy嘛~ ⼩于50度就让它加热⼤于5
0度就断电,不就⾏了?⼏⾏代码⽤Arduino分
分钟写出来。
没错~ 在要求不⾼的情况下,确实可以这么⼲~
But! 如果换⼀种说法,你就知道问题出在哪⾥
了:
如果我的控制对象是⼀辆汽⻋呢?
要是希望汽⻋的⻋速保持在50km/h不动,你还
敢这样⼲么。
设想⼀下,假如汽⻋的定速巡航电脑在某⼀时间
测 到 ⻋ 速 是 45km/h 。 它 ⽴ 刻 命 令 发 动 机 : 加
速!
结果,发动机那边突然来了个100%全油⻔,嗡
的⼀下,汽⻋急加速到了60km/h。
这时电脑⼜发出命令:刹⻋!
结果,吱...............哇............(乘客吐)
所以,在⼤多数场合中,⽤“开关量”来控制⼀个
物理量,就显得⽐较简单粗暴了。有时候,是⽆
法保持稳定的。因为单⽚机、传感器不是⽆限快
的,采集、控制需要时间。
⽽且,控制对象具有惯性。⽐如你将⼀个加热器
拔掉,它的“余热”(即热惯性)可能还会使⽔温
继续升⾼⼀⼩会。
这时,就需要⼀种『算法』:
它可以将需要控制的物理量带到⽬标附近
它可以“预⻅”这个量的变化趋势
它也可以消除因为散热、阻⼒等因素造成的
静态误差
....
于是,当时的数学家们发明了这⼀历久不衰的算
法——这就是PID。
你应该已经知道了,P,I,D是三种不同的调节
作⽤,既可以单独使⽤(P,I,D),也可以两
个 两 个 ⽤ ( PI , PD ) , 也 可 以 三 个 ⼀ 起 ⽤
(PID)。
这三种作⽤有什么区别呢?客官别急,听我慢慢
道来
我 们 先 只 说 PID 控 制 器 的 三 个 最 基 本 的 参 数 :
kP,kI,kD。
kP
P就是⽐例的意思。它的作⽤最明显,原理也最
简单。我们先说这个:
需要控制的量,⽐如⽔温,有它现在的『当前
值』,也有我们期望的『⽬标值』。
当两者差距不⼤时,就让加热器“轻轻地”加
热⼀下。
要是因为某些原因温度降低了很多就让
加热器“稍稍⽤⼒”加热⼀下。
要是当前温度⽐⽬标温度低得多,就让加热
器“开⾜⻢⼒”加热,尽快让⽔温到达⽬标附
近。
这 就 是 P 的 作 ⽤ , 跟 开 关 控 制 ⽅ 法 相 ⽐ , 是 不
是“温⽂尔雅”了很多。
实际写程序时,就让偏差(⽬标减去当前)与调
节 装 置 的 “调 节 ⼒ 度 ”, 建 ⽴ ⼀ 个 ⼀ 次 函 数 的 关
系,就可以实现最基本的“⽐例”控制了~
kP越⼤,调节作⽤越激进,kP调⼩会让调节作⽤
更保守。
要是你正在制作⼀个平衡⻋,有了P的作⽤,你
会发现,平衡⻋在平衡⻆度附近来回“狂抖”,⽐
较难稳住。
如果已经到了这⼀步——恭喜你!离成功只差⼀
⼩步了~
kD
D的作⽤更好理解⼀些,所以先说说D,最后说
I。
刚才我们有了P的作⽤。你不难发现,只有P好像
不能让平衡⻋站起来,⽔温也控制得晃晃悠悠,
好像整个系统不是特别稳定,总是在“抖动”。
你⼼⾥设想⼀个弹簧:现在在平衡位置上。拉它
⼀下,然后松⼿。这时它会震荡起来。因为阻⼒
很⼩,它可能会震荡很⻓时间,才会重新停在平
衡位置。
我们需要⼀个控制作⽤,让被控制的物理量的“变
化速度”趋于0,即类似于“阻尼”的作⽤。
因为,当⽐较接近⽬标时,P的控制作⽤就⽐较
⼩了。越接近⽬标,P的作⽤越温柔。有很多内
在的或者外部的因素,使控制量发⽣⼩范围的摆
动。
D的作⽤就是让物理量的速度趋于0,只要什么时
候 , 这 个 量 具 有 了 速 度 , D 就 向 相 反 的 ⽅ 向 ⽤
⼒,尽⼒刹住这个变化。
kD参数越⼤,向速度相反⽅向刹⻋的⼒道就越
强。
如果是平衡⼩⻋,加上P和D两种控制作⽤,如果
参数调节合适,它应该可以站起来了~欢呼吧。
等等,PID三兄弟好想还有⼀位。看起来PD就可
以让物理量保持稳定,那还要I⼲嘛?
因为我们忽视了⼀种重要的情况:
kI
还是以热⽔为例。假如有个⼈把我们的加热装置
带到了⾮常冷的地⽅,开始烧⽔了。需要烧到
50℃。
在P的作⽤下,⽔温慢慢升⾼。直到升⾼到45℃
时,他发现了⼀个不好的事情:天⽓太冷,⽔散
热的速度,和P控制的加热的速度相等了。
这可怎么办?
P兄这样想:我和⽬标已经很近了,只需要
轻轻加热就可以了。
D兄这样想:加热和散热相等,温度没有波
动,我好像不⽤调整什么。
于 是 , ⽔ 温 永 远 地 停 留 在 45 ℃ , 永 远 到 不 了
50℃。
作为⼀个⼈,根据常识,我们知道,应该进⼀步
增加加热的功率。可是增加多少该如何计算呢?
前辈科学家们想到的⽅法是真的巧妙。
设置⼀个积分量。只要偏差存在,就不断地对偏
差进⾏积分(累加),并反应在调节⼒度上。
这样⼀来,即使45℃和50℃相差不太⼤,但是
随着时间的推移,只要没达到⽬标温度,这个积
分量就不断增加。系统就会慢慢意识到:还没有
到达⽬标温度,该增加功率啦!
到了⽬标温度后,假设温度没有波动,积分值就
不会再变动。这时,加热功率仍然等于散热功
率。但是,温度是稳稳的50℃。
kI的值越⼤,积分时乘的系数就越⼤,积分效果
越明显。
所以,I的作⽤就是,减⼩静态情况下的误差,让
受控物理量尽可能接近⽬标值。
I在使⽤时还有个问题:需要设定积分限制。防⽌
在刚开始加热时,就把积分量积得太⼤,难以控
制。
上一篇:
电⽓⾃动化控制专业术语,你了解⼏个?
下一篇:
电机有变频器保护也会烧毁?如何规避?