PID算法简介

前言:PID算法是非常常见的控制算法,广泛运用于小车平衡,与闭环控制速度的场景。利用MPU6050、编码器等反馈的数据来调整PWM输出,使得小车速度或姿态达到稳定的一个算法。

一、PID的介绍

PID算法是一种闭环的,也就是输入会受到输出影响的一种控制算法。PID算法可以使得外部由电机舵机等PWM控制的外设达到一种速度或姿态稳定,用于消除由于惯性作用产生的误差。简单来说PID算法就是一种反馈算法,由外部数据来实时调节自身PWM输出,来让单片机操控的外设稳定运作。

二、PID算法的数学表达式及含义

PID本质上就是一个修正公式,正如下图,输入信号u(t)受到输出信号的控制,且由三个环节进行修正反馈,分别为比例环节、积分环节、微分环节。分别对应PID算法里的P、I、D

它们三个分别的作用为:

1、比例环节P:简单的控制作用,使反馈量向目标值接近,但由于这只是简单的多了就少给点,少了就多给点的控制方式,结果就是会导致反馈量像弹簧一样在目标值附近震荡。

2、微分环节D:使得反馈量的变化产生阻尼效果,有效抑制比例环节产生的震荡与积分环节的超调,但会使得输出量的反馈速度变慢。

3、积分环节I:消除误差作用,解决当内部产生的控制力与外部力相平衡的情况,使得反馈量无限接近目标值。

但是由于上面的数学公式为理想的连续系统,而在单片机实际的控制当中却是离散的系统,所以在实际的调参过程中我们都使用下面的公式,上面的式子仅作为PID算法的理解PID算法的式子。

PID调参调的就是上式中的Kp、Ki、Kd三个参数,其中ek为误差即反馈量与目标量的差。 PID算法是这三个反馈调节的组合,不一定每个环节都要。Kd可以作为一个阻尼作用,削弱Kp的输出。Ki是对误差的求和进行反馈,用于消除稳态误差,进行更精确的控制。

下面给出一个网址让大家进行PID调参,更直观的理解PID算法

https://rossning92.github.io/pid-simulation/

代码部分接下来会更新

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Young member

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值