PID算法的C语言实现一 PID算法原理

直接上图:

PID算法的C语言实现一 PID算法原理

PID的算法流程其实很简单!利用测得的真实输出变量与输入变量的误差来控制输出变量!而这个误差的控制就是比例、积分、微分这三个控制的相加!

这里我们假设某个采样点时间为t :

设1、输入变量(预期输出的变量大小)为In(t);

    2、实际输出变量(传感器测得的真实输出的变量)为Out(t);

    3、偏差值 err(t) = In(t)-Out(t);

取得上面的值,再通过pid的控制算法得出误差的补偿值:PID算法的C语言实现一 PID算法原理

理解上面的公式主要几个方面:

1、这个u(x)是对每一次误差的pid控制,相当于我利用这个误差得出一个更精确的误差

2、第一项是对误差做比例的控制,第二项是对以前误差做积分的控制,第三项是对误差做微分的控制

3、最后把这个经过控制的误差加在期望输入变量上来重新改变控制输出变量


这篇先写到这里,因为上面是对于连续的,但我们在计算机控制的时候其实是离散的采样点,下一篇我会说明系统离散化的问题,并根据离散化的特点讲述位置型PID和增量型PID的用法和C语言的实现。