资讯详情

PID控制算法

一、二位控制算法

二、PID算法概述

2.1比例算法控制

2.2积分算法

2.3微分控制

三、PID参数设定

3.1PID基于单片机的数学模型和参数处理

3.2增量式PID(控制器本身具有记忆功能)


一、二位控制算法

控制系统的基本结构 :

执行器:开关器件,如莫斯管/继电器/可控硅

控制对象:加热器/步进电机/电磁阀等

二位控制:1/0,或工作或不工作

因此,控制对象的结果是:要么是100w大功率工作或0w不工作

最终的结果是,我们传感器传回的温度总是在设定值100°上下浮动意味着我们无法控制对象的温度值只有100°,波动在小范围内的主要原因是 控制对象(加热器)有一定的惯性,一般来说,我们的控制对象有一定的惯性。

:比如电烙铁,220V插入电源插头后,电烙铁开始升温,但电烙铁的温度慢慢升温。当温度值升高到一定值时,拔出电烙铁。此时,电源没有为电烙铁供电,但电烙铁的温度会继续升高,所以这段时间就是所谓的此外,当温度下降到一定值并连接到电源,但控制对象(加热器)的温度上升时,其温度仍在下降一段时间。原因是我们控制对象本身有一定的惯性。如果控制对象不是加热器,而是电机,它也有这个特性。此外,电源应立即转动,但电源将慢慢开始转动。当电源切断时,他不会立即停止,需要等待一段时间才能停止。

因此是:我的控制算法不断将控制算法的值与设定值进行比较。主要管理评估是您的控制对象现在的时间点(阅读您的时间点)。如果我读到您的时间点的值低于设定值,我将输出高电压让您(全功率)工作。一旦我发现你达到了设定值,我就完全让它进入一个关闭状态。然后会导致一种情况,当我的当前值没有达到设定值输出高(全功率工作),然后我的传感器不断检测状态值比较,通过控制算法比较,发现他的值没有达到,没有达到他总是输出这样一个(高电平)控制信号,所以控制温度对象(加热器)值将继续接近我的设定值,当它刚刚达到设定值时,控制算法开始输出低电平。此时,虽然您输出了低电平(断开开关),但其热惯性将朝向设定值100°如果我们继续上升一段时间,它就会下降。相反,有一个延迟的时间,所以它不能将我们的控制状态值控制到100°,实践证明,当您设置100度时,使用简单的单位控制算法进行控制,他目前的温度基本在100度左右20度或30度范围内,很难达到控制效果。在这种情况下,他需要喝另一种控制算法,即,他在位控制算法的基础上,他做了大量的调整和优化,并通过几种方式进行了修改。下面将逐一列出。

第一个修改是位置控制的最大缺点(第三个特征)是只检查控制对象当前传感器的值,与目标的差异,是否有偏差。如果控制对象的当前值没有达到设定值,那么我的输出就很高,如果当前值,输出就很低。

PID算法的一般思想:我不仅考虑你目前的状态值是否符合标准,还考虑你以前没有达到标准。虽然你在这个时候达到了标准,但你可能在过去一段时间内没有达到标准

另外PID算法的输出进行了调整:不再像位置控制算法那样输出两种可能性(输出不光滑,要么大功率负荷工作,要么完全停止,导致控制困难,难以控制在一定范围内)

二、PID算法概述

sv:用户设定的目标值

pv:它反映了我们负载的当前状态值(代表我们控制对象的当前状态值)

2.1比例算法控制

和位控制算法不同:多了三个存储器,PID算法将当前值和我们设定的值相减,形成偏差信号。偏差信号通常用E表示,偏差信号=用户设定值-pv,(偏差值表示负载状态与目标值的差异和误差程度),其中一个历史偏差部件(可以理解为存储器,即我们的设备从电源开始,从启动开始,每隔一秒形成一个偏差值,然后存储在存储器中),线性叠加三个存储器中的误差值,输出控制信号,不仅考虑当前偏差,还考虑历史偏差和最近的时间偏差,

Ek:偏差值

Sv:设定值

Xk:传感器返回值

Kp:放大器/缩小器(只要用来调整我们传感器传回的偏差值,偏差值可能会故意放大/缩小,以增加或调整控制方法的增益或放大倍数)

该控制算法的特点是输出信号的大小与我们当前的误差值和偏差值成比例。与位置控制算法(高低)不同,计算出的输出信号输出了一个PWM信号

例如,如果这个开关是一个开关PWM信号为1s(1000ms),在这1000ms可导通100ms关断900ms,也可以导通200ms,关断800ms,或者导通500ms,关断500ms,以1000ms如果是单位,则输出脉宽有1000种可能性,即负载功率在千分之一至百分之百之间运行。具体导通/关闭时间有输出PWM波来定(输出值越大脉宽越宽,负载在一秒内得到电流的时间就会加长反之亦然),而PWM波又输出信号OUT定。也就是说,通过改变控制周期内负载的工作时间和停止时间比来调整,实际上负载功率(平均功率发生变化)是从侧面调整的

但是,如果当前值=然后,设定值Ek=0——>OUT=0——PWM波为0——>输出为0——>不工作

:只有在有误差的情况下才能控制,没有误差,没有工作

为了避免这种情况,常数叠加在比例算法结果后面(OUT0)

这样,即使比例算法等于0后,结果也不会为0,这确保一旦我们当前值等于设定值,我仍然有脉宽来控制它

2.2积分算法

Sk:历史偏差求和

Kp:放大倍数

历史偏差序列:

2.3微分控制

就是用Kp*Dk,明明Dk不是很大,但是可以用Kp为了纠正他,你可以增加它的斜率(夸大是为了更好地抑制未来的变化),提高控制灵敏度,

用过去最近时间的变化来预测这个时间点未来最近时间的变化(即预测控制,即经发现刚才已经有明显的变化趋势,这种趋势很肯能延续到我们当前时刻的将来)

Dk:变化量

 

 

OUT0就是维持惊呆的误差,虽然已经达标了,但我们还得需要一点控制效果,比如平稳开车时,但是油门不能不踩,还需要维持油门的一个距离,让他维持匀速的跑下去。如果没有OUT0,一旦你松开油门他就会慢慢停下来(三种输出都为0,不控制)

三种控制算法各有优缺点,我们把三种算法(P(比例)算法,I(积分)算法,D(微分)算法)进行综合,就可以形成我们的PID算法,我们就可以通过刚才的分析提出

三、PID参数设定

3.1PID基于单片机的数学模型及参数处理

 

三个组合起来他们优缺点之间互相弥补

T:采样周期或者控制周期(影响Sk和Dk)

 

 单片机中PID算法的表达式:

 Ek和Ek-1都可以通过计算得到

3.2增量式PID(控制器本身具有记忆功能)

PID算法不像传统的位式控制一样,低于设定值就全部加上去,高了就关闭(不管了),这样的话就会导致我们控制的结果不理想,总是在上下几十度波动,采用PID算法的话基本就在设定值这个点上

标签: 热继电器怎么控制电磁阀

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台