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

直接上图:


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

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

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

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

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

取得上面的值,再通过pid的控制算法得出误差的补偿值:

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

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

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

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


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


  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值