智能车制作

标题: 纯P控制系统的疑问 [打印本页]

作者: 超超超超人    时间: 2014-5-6 23:29
标题: 纯P控制系统的疑问
[attach]59503[/attach]
如图所示,该图说仅有比例项的温度控制系统输出值始终会低于目标值,在这我就不懂了,我认为在温度控制系统,即使只有P控制,系统也能通过比例把误差逐渐减少,从而达到设置目标啊,为什么这里始终都比目标值低呢?,求解释,断网前发帖,求助
作者: 超超超超人    时间: 2014-5-6 23:31
我有些想法,但不够时间发上来了,求大神指教,或者初学者一起讨论,谢谢·
作者: 阿涛    时间: 2014-5-7 07:22
纯P控制的系统是静差的,加入积分项就可以消除静态误差。上面的图反映的就是有稳态误差,画得比较明显罢了。
作者: yyyzrxh    时间: 2014-5-7 08:08
图是对的,纯比例调节有稳态误差,只有有一定的误差系统才能稳定,比如,当小车在一定曲率的圆上运行时,最后稳定下来一定有一定的偏差,舵机才有一定的打角,小车就稳定的在沿着圆运行了。
作者: idao    时间: 2014-5-7 08:12
确实存在这个现象,通常都是线调节P,再调I、D。 只用P的时候怎样算是调节到位,是不是最初调节P时,也要加少量的I?
作者: 超超超超人    时间: 2014-5-7 08:43
阿涛 发表于 2014-5-7 07:22
纯P控制的系统是静差的,加入积分项就可以消除静态误差。上面的图反映的就是有稳态误差,画得比较明显罢了。 ...

图上的目标值是1,可是P为1的时候,温度稳定在0.5都不够的地方。少了一半有多啊。就算只用P,现在误差还那么大,不是应该继续增大电压升温吗,我觉得只有P会存在静态误差,但最后稳定的时候和目标值应该相差也不大啊?

作者: 超超超超人    时间: 2014-5-7 08:43
yyyzrxh 发表于 2014-5-7 08:08
图是对的,纯比例调节有稳态误差,只有有一定的误差系统才能稳定,比如,当小车在一定曲率的圆上运行时,最 ...

图上的目标值是1,可是P为1的时候,温度稳定在0.5都不够的地方。少了一半有多啊。就算只用P,现在误差还那么大,不是应该继续增大电压升温吗,我觉得只有P会存在静态误差,但最后稳定的时候和目标值应该相差也不大啊?

作者: 超超超超人    时间: 2014-5-7 08:44
idao 发表于 2014-5-7 08:12
确实存在这个现象,通常都是线调节P,再调I、D。 只用P的时候怎样算是调节到位,是不是最初调节P时,也要加 ...

图上的目标值是1,可是P为1的时候,温度稳定在0.5都不够的地方。少了一半有多啊。就算只用P,现在误差还那么大,不是应该继续增大电压升温吗,我觉得只有P会存在静态误差,但最后稳定的时候和目标值应该相差也不大啊?

作者: huang91    时间: 2014-5-7 10:52
这图反应了线性系统稳态误差和开环增益之间的关系

明显系统是0型系统  且单位阶跃输入 所以ess=1/(1+k)  (K是开环增益)

这是自控理论基础知识
作者: 超超超超人    时间: 2014-5-7 12:38
huang91 发表于 2014-5-7 10:52
这图反应了线性系统稳态误差和开环增益之间的关系

明显系统是0型系统  且单位阶跃输入 所以ess=1/(1+k)  ...

我没学那个自控原理,那按拿实际控制来说,该怎么理解这个模型呢?·为什么仅有比例控制,温度始终低于设定值那么多呢。

作者: 重生    时间: 2014-5-7 16:23
因为真实世界的任何系统都存在一定的滞后性,比例表现的是一个随动性,P项过小就会存在稳态误差,过大就会造成振荡,PID控制最大的作用也就是用于控制滞后系统
作者: 重生    时间: 2014-5-7 16:26
像你举的这个例子就非常好,温度就是一个典型的滞后系统,温度的上升是需要一定时间的,而不是你给一个P之后就能立马升上去的,你可以从这个角度思考一下
作者: idao    时间: 2014-5-7 17:25
超超超超人 发表于 2014-5-7 08:43
图上的目标值是1,可是P为1的时候,温度稳定在0.5都不够的地方。少了一半有多啊。就算只用P,现在误差还那 ...

个人觉得稳定的时候和目标值应该相差大小 视系统而定! 还有 貌似只用P控制,同一系统增量式PID和位置式PID的稳态误差也不同! 位置式好些!

作者: 竹音清影    时间: 2014-5-7 17:32
没有积分肯定不能把静态误差消掉的啊。
作者: 欧若拉    时间: 2014-5-7 17:37
超超超超人 发表于 2014-5-6 23:31
我有些想法,但不够时间发上来了,求大神指教,或者初学者一起讨论,谢谢·

这篇文章可否共享下??我也想参考下!
作者: 而而非无人    时间: 2014-5-7 17:40
来个通俗的解释,误差为error=set-back,控制量的输出为OUT=P*error,系统经控制后得到输出量与反馈量back相等,我们可以认为 控制量OUT给系统做输入后引起了back,是线性关系,如果 out为0,即系统控制输入为0,输出就为零了,故而 out不为零,而OUT=P*error,所以 error不能为零,所以纯P调节必然有静差!!
作者: 超超超超人    时间: 2014-5-7 18:48
而而非无人 发表于 2014-5-7 17:40
来个通俗的解释,误差为error=set-back,控制量的输出为OUT=P*error,系统经控制后得到输出量与反馈量back相等 ...

哥们,我觉得你理解错了,OUT输入是引起BACK,但是BACK是设定值和当前值的差啊,当BACK=0的时候,OUT就等于0啊,这时就说明已经达到设定值了啊,不是你理解那种没输入就没输出啊,这是我看法,你再想想是不是

作者: 超超超超人    时间: 2014-5-7 18:57
而而非无人 发表于 2014-5-7 17:40
来个通俗的解释,误差为error=set-back,控制量的输出为OUT=P*error,系统经控制后得到输出量与反馈量back相等 ...

细想了一下,这种线性关系应该和不同系统有关的吧,你说的应该是一种输入对应一种输出的系统,而我想的那种系统应该是输入和输出并不是线性关系,就比如温度控制系统,一种电压不是对应一种温度,只是电压增加,可以使温度升高,达到设定温度了,电压就可以消失了。

作者: 超超超超人    时间: 2014-5-7 23:16
欧若拉 发表于 2014-5-7 17:37
这篇文章可否共享下??我也想参考下!

不知道怎么上传啊

作者: 超超超超人    时间: 2014-5-7 23:18
而而非无人 发表于 2014-5-7 17:40
来个通俗的解释,误差为error=set-back,控制量的输出为OUT=P*error,系统经控制后得到输出量与反馈量back相等 ...

哥们,给点意见啊

作者: 欧若拉    时间: 2014-5-8 11:07
超超超超人 发表于 2014-5-7 23:16
不知道怎么上传啊

点下“附件”,就可以啦,辛苦啦

作者: 超超超超人    时间: 2014-5-8 12:30
[attach]59567[/attach]
作者: 超超超超人    时间: 2014-5-8 12:30
欧若拉 发表于 2014-5-8 11:07
点下“附件”,就可以啦,辛苦啦

楼下

作者: 欧若拉    时间: 2014-5-9 04:33
超超超超人 发表于 2014-5-8 12:30
楼下

好东西,谢谢!
作者: 而而非无人    时间: 2014-5-20 13:09
超超超超人 发表于 2014-5-7 18:57
细想了一下,这种线性关系应该和不同系统有关的吧,你说的应该是一种输入对应一种输出的系统,而我想的那 ...

咱举个最简单的温度控制例子吧,假设室内温度是由空调等加热设备决定的,我们要达到室内温度25度,现在为20度,我们应该给空调升温的指令,指令根据纯P控制给定,则控制量为P*5,室内温度升高,控制量降低,当室内温度为25度的时候空调升温指令为0,空调不再有调节室温的作用,如你所想,控制量为零 室温刚刚好达到25度,但你别忘了如果室内温度有耗散,当输入为0后,温度必然下降,然后空调再次启动,欲使温度上升,一个加温,一个耗散,最终会有一个平衡点,这个平衡点必然小于25 ,静差出现。
    这里涉及一个问题,室内温度有耗散,实际系统中正是因为这种类似因素,才会导致静差,如倒满一杯水,如果纯P控制倒水,水有蒸发,必然永远倒不满,因为随时蒸发。
    归到理论来看,蒸发,耗散,这种现象,可以认为是系统的阻力(阻尼),这种阻力导致了系统的纯P控制的静差,积分正好弥补,为何能弥补?? 系统把误差累加,误差其实是间接的反映阻力,系统的控制量输出由于积分的左右而不断增大,一直增大到和阻力相等,抵消了阻力(蒸发,散热),加上P控制后,提高响应速度,达到无差控制。
    归到小车的控制,转向控制,用P就可以了,为何,因为当车偏离中心的时候,车会向中心打舵机,当车在中心的时候舵机不转,也不需要转,这里不存在耗散,也不存在散热,所以纯P可以无静差转向,然而,舵机转向有阻力,中心位置有偏差等因素,导致给一个小小的积分是必要的。
    然而小车的速度闭环控制,最好用PI控制,因为小车的速度加到额定速度后,给电机的电压应该保持,而不能为零,否则会降速,即,速度控制中,系统有阻力(蒸发,耗散)需要I参数。
    如果是直立小车,调节直立的时候,也会存在这种类似问题,慢慢分析吧。。

作者: huan9740    时间: 2014-5-20 13:49
而而非无人 发表于 2014-5-20 13:09
咱举个最简单的温度控制例子吧,假设室内温度是由空调等加热设备决定的,我们要达到室内温度25度,现在为 ...

“控制量为零 室温刚刚好达到25度,但你别忘了如果室内温度有耗散,当输入为0后,温度必然下降,然后空调再次启动,欲使温度上升,一个加温,一个耗散,最终会有一个平衡点,这个平衡点必然小于25 ,静差出现。”、

是个很好的例子
但这是位置式PID
如果是增量式PID的话,单P控制,输入为零, 则输出不变。

若此时输出和耗散平衡,则稳定平衡

若输出大于耗散, 输入为负,输出减小 ,温度上升,输出继续减小,直到温度降回25度。此时若输出刚好等于耗散,进入稳定,若输出小于耗散,温度下降,输入为正,输出增加,直到25度。
但这是一个震荡不断调整的过程,但还是有可能找到稳定点的,恰好输出和耗散相等。大P的话会导致震荡是显然的,小P的话是慢慢接近稳定点。


那么什么时候会出现静态误差呢,求分析。







作者: xunzhou    时间: 2014-5-20 15:35
楼上两位分析的相当深入,让我等颇感钦佩。关于楼主的问题在此想谈一谈我的个人看法。

首先我认为分析一个控制系统要搞清楚被控的过程究竟是什么样的。楼主分享的文章中所讲的电机齿轮组、精密驱动器和加热器基本涵盖了常见的几种被控对象,按我理解分别对应一阶积分环节、二阶积分环节和惯性环节。楼主讲的温度控制属于惯性环节,这类对象的特点是在稳态时一个输入值对应一个输出值,可以简单看做一个放大器。

关于为何会有余差,假设文章中的例子电压每增加1V稳态温度升高1度,相当于被控过程的增益为K=1。此外假设控制器比例系数Kp=1。如果电压=0V时温度为室温20度且保持稳定,现在我们将温度设为22度,由于修改设定值使误差E=2,而Kp=1,所以此时输出电压应为2V。随着温度上升,E逐渐减小,导致输出电压也减小。当温度升至21度时E=1,此时输出电压为1V,刚好稳定在21度。此后剩余的1度的偏差就用来产生输出1V的电压,维持系统稳定。如果Kp越大,那么用来维持输出电压所需的误差就越小,因此余差就越小了。

至于位置式与增量式的问题,我认为如果你的PID参数固定的话其实没有太大区别。楼上9740同学提出的问题我觉得可能是他错把增量式的积分项当比例项了。增量式的比例项应该是(Kp*ΔE)。还是举上面的例子。初始稳态时ΔE=0,当我们改了设定值,ΔE=2,于是输出电压变为2V。在温度上升的过程中ΔE为负数,因此会让输出电压减小。当温度为21度时ΔE的累积量相当于(2-1)=1,所以输出还是1V使系统稳定在21度。因此位置式与增量式在调节过程方面其实没什么太大的区别。
作者: 而而非无人    时间: 2014-5-22 18:52
huan9740 发表于 2014-5-20 13:49
“控制量为零 室温刚刚好达到25度,但你别忘了如果室内温度有耗散,当输入为0后,温度必然下降,然后空调 ...

增量式PID控制其实,是一种改进的传统PID控制,本质一样,增量式的比例分量其实是error的error求积分,不要搞错了哈,积分量为error的积分,现在有些程序写的不怎么明确,在按照我的思路你分析一下,就会发现,无论那种PID 结果都是一样的哈

作者: huan9740    时间: 2014-5-23 17:16
而而非无人 发表于 2014-5-22 18:52
增量式PID控制其实,是一种改进的传统PID控制,本质一样,增量式的比例分量其实是error的error求积分,不 ...

我用的M4自带DSP库里的PID函数,是增量式。Kp没调用错,但我理解错了= =。





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2