PID算法的C语言实现二 PID算法的离散化

上面一篇已经讲述了PID的流程!这里对上面做一些补充说明:

1、由上一篇原理图框架我们知道PID控制其实是对偏差的控制;

2、如果偏差为0,则比列控制就不起作用;

3、积分环节主要用来消除静差,就是系统稳定后实际输出变量与输入变量的差值,利用偏差不断的叠加来作为输入变量的补偿;

4、微分环节其实是对偏差趋向的一个规律提前调节,这样可以增加系统稳定的快速性;


补充好了!下面还是贴出这个公式:

PID算法的C语言实现二 PID算法的离散化_第1张图片

假设采样间隔为T,则第K个采样的时间为KT:

偏差err(KT)=In(K)-Out(K);

积分环节 即 err(K)+err(K+1)+。。。。

微分环节 即(err(K)-err((K-1)))/T

则u(x)的离散公式为:


则u(K)可表示成;



这里的Kp Kd Ki相信推回去就是可以知道具体表达式了!上面是位置型的,下面来个增量型的:

由上面表达式可得:



那么可得;

   增量调节值


这就是增量型PID公式,我们发现他跟近3次的偏差有关,这就大大提高了系统稳定性!其实增量型就是算的一个增量误差的调节至就是这次偏差减去上一次偏差的公式!

                                     最后注意增量型PID的输出变量值

                                             U=u(k)+增量调节值

上面已经对PID原理做了分析,下面的篇文将用C语言来实现PID的调节!



你可能感兴趣的:(算法)