标签:四轴飞行器 程序 测量 没有 而在 工程 改变 根据 大量
PID控制
一、前言
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
所谓的PID系统,其实就是一个反馈系统。什么是反馈系统?当你在马路上悠闲的开着车的时候,前面的一个哥们的车突然减速,这时,你会毫不犹豫的踩刹车,这就是你的反馈系统在起作用。所以,反馈系统首先需要传感器获取反馈量(就像是你的眼睛在获取前面车的速度以及它和你之间的距离一样),然后根据反馈量你进行分析(什么时候我的速度要慢一点,别撞着人家),然后产生一个结果控制你的行为(踩油门还是踩刹车)。
二、比例、微分、积分
一般情况下,在系统要求不高的情况下,一个比例就可以解决所有问题了。但如果你这个系统对稳定性要求特别高,就需要在原来比例的基础上再加上积分,微分不需要,积分和比例就可以构成一个很稳定的系统了,俗称PI控制。
那么,什么情况下使用微分呢?当你的系统有很大的加速度或者参数有很大的变化率的时候,才需要使用微分,来进行预判。
说的很抽象,下面举一些具体的例子来进行说明。
其实,说白了,PID就是一种思想,一种控制方法,在我们程序员眼里,就是算法。它的作用就是获取传感器的数据,然后使用算法进行分析,把分析的结果告诉PLC,让它执行对应的操作(是使用变频器把水泵的功率调高还是调低还是保持不变)。
(1)比例
我们公司现在做的温度控制系统,恕我直言,我不认为我们公司现在做的温度控制系统使用了积分和微分,我认为它只是使用了一个比例。
为什么使用比例就可以控制如此一个大规模的系统呢?因为,比例功能已经很强大了,这个系统如果不是要求太高的话,一个比例真的可以解决所有问题。
现在请了解一下这几个量。比如,当前环境的温度C是13摄氏度,机器的温度JQC是55摄氏度,希望通过PLC的调节使机器的温度降到AimC(20摄氏度)。当前水泵的功率是3KW。比例系数K=0.5。返回值U。
U=(JQC-AimC)*K
由此可以算出,U等于(55-20)*0.5=17.5。
然后,拿3+17.5=20.5KW。就把水泵的功率调节到20.5KW。
然后再次获取反馈的温度(机器的温度)可能是25摄氏度。
再次使用公式:U=(JQC-AimC)*K
得到U等于(25-20)*0.5=2.5KW。
再把这个U加上原来的功率20.5KW。得到水泵的功率为23KW。这样,温度会越来越趋向于20摄氏度,而随着机器的温度趋向于20摄氏度,U=(JQC-AimC)*K的值也就会越来越趋向于0,最终会变得相对水泵的功率趋近于某个值,机器的温度趋近于20摄氏度。
那么,有没有可能机器的温度完全变成20摄氏度呢?答案是不可能,因为散热。由于环境的温度是13摄氏度,而机器的温度是20摄氏度,所以机器会像环境散出一部分热。这样,机器的温度就可能会从原来的20摄氏度,将为19摄氏度。这样U=(JQC-AimC)*K的值就又不是0了,然后PLC又会控制水泵改变功率进行调节。
由于散热不断在进行,你现在温度传感器测量到的温度是20摄氏度,下一刻可能就变成19摄氏度了,而外界的环境温度随着一天不同的时刻,温度也是处于不断变化之中,所以,PLC会不断的进行调节,使温度趋近于20摄氏度。
稳态误差:对于比例调节,会经常出现一种尴尬的情况,稳态误差。说的具体一点,假如说,外界环境的温度是20摄氏度,而我想把一个物体加热到60摄氏度(AimC),但是,当我加热到59摄氏度(JQC)的时候,U=(JQC-AimC)*K这个U的值已经很小了。这个U的值就可以代表我要加多少的燃料。由于散热的存在,每当我加U点燃料,产生的热量,恰好被散热给释放出去了,因此,我的温度将会始终保持在59摄氏度,永远不可能达到60摄氏度,这就是所谓的稳态误差。
(2)积分
为了消除稳态误差,使系统更稳定,更强大,就需要加上积分。
原理是每当产生误差了,我把这个误差累加,作为我添加燃料的依据。
还是上面这个例子,当我加热到59摄氏度的时候,距离60摄氏度,每次都有U=(JQC-AimC)*K多的误差。(60-59)*0.5=0.5。这个0.5就是说在原来加的燃料的基础上我再加0.5的燃料,而这0.5的燃料,产生的热量,恰好被机器散热放完了,机器始终保持59摄氏度,达到了稳态误差。但是,当引入了积分之后,第一次是0.5,第二次就是0.5+0.5=1了,当连续十次后,原来的0.5就被累加到一个相当大的数值了,假如说是10,而在原来的燃料基础之上,再加上10这么多的的燃料之后,减去机器的散热,就可以恰好的把温度调节到60摄氏度了。
这样就消除了稳态误差,这种控制系统,可以把温度调节成一个非常稳定的目标值,比如,我们现在做的项目,需要把及其温度调成20摄氏度。如果我们只使用比例,温度可能智能保持在19摄氏度,这样就会加大水泵的功率,浪费不必要的资源。而使用比例加积分的形式,可以把温度稳定的调节到20摄氏度,这样水泵的功率比19摄氏度时水泵的功率就小了一些,虽然只是一些,但从全国来说,这么多工厂,如果都使用比例加积分的调节方式,每年可为国家节省大量资源的,也减少不必要的资源浪费和环境污染。
(3)微分
何为微分?就是预判,比如说,当温度传感器的值在一秒钟之内从20摄氏度上升到20.2摄氏度,那么我们只要稍微增加一下水泵的功率就可以了。但是,如果机器的温度,在一秒钟之内,从20摄氏度升高到25摄氏度,我们增加的水泵的功率不是要把25降低到20,而是有可能加大的功率是把30的降到20。
为什么呢?因为,既然机器可以在一秒钟之内增加了5度,可想而知,第二秒就可能会增加十度,因为温度传导也需要时间,你程序运行也需要时间。机器升高到25摄氏度的时候,你并未测量到,当你测量到温度是25摄氏度的时候,有可能当前的温度已经变成30度了。而微分恰好能根据变化率来进行对PLC的控制。
上个图:
为了保持摆杆不倒下来,下车就要左右移动来控制单摆。而θ角度不同,摆杆下降打加速度是不同的。当θ角度变大时,可以测出来速度变化率非常大,而当θ角度很小时,小车左右移动的速度就不能快,越快越容易不稳定。
当θ角度为10度的时候,小车向右的加速度假如说是a,那么,当θ角度为60度的时候,小车向右移动的加速度有可能就是5a,反正要比a大很多,这样才能不让摆杆倒下。
事实上,角度是测不出来的,我们只能测量摆杆的加速度,根据加速度来进行控制小车的加速度。这就是所谓的微分。通过变化率来预判未来将会怎么样,来控制。
三、什么样的系统需要PID呢?并且是三者都要使用呢?
非常需要稳定的系统,比如:四轴飞行器,而且是用来航拍的
比如倒立摆:
标签:四轴飞行器 程序 测量 没有 而在 工程 改变 根据 大量
原文地址:http://www.cnblogs.com/Study02/p/7151665.html