嵌入式硬件篇---PID控制


文章目录


前言

以上就是今天要讲的内容,本文简单介绍了连续型PID和离散型PID的原理及各种PID的优缺点。


第一部分:连续PID

PID:

PID控制器,即比例-积分-微分控制器,是一种广泛应用于工业控制系统中的反馈回路控制器。它通过**控制系统的偏差(即设定值与实际值之间的差)**来调节控制变量,使得系统稳定并达到预期的性能指标。PID控制器由以下三个基本控制作用组成:

1.比例(Proportional,P)控制

作用:比例控制的作用与当前偏差 成正比。偏差越大,比例控制作用产生的调节量就越大。

特点:可以快速减少偏差,但不能完全消除静态误差 (即系统稳定后存在的偏差,即系统的实际值和目标值之间恒定存在的差值),如果P过大会导致超调(控制器输出量变化过大)。

参数:比例增益,决定了比例作用的强度。

2.积分(Integral,I)控制

作用:积分控制的作用与偏差的累积量 成正比。只要偏差存在,积分控制就会不断累积,从而产生调节作用。

特点:可以消除静态误差,提高系统的稳态精度,但可能会引起系统的响应速度变慢和超调

参数:积分时间,决定了积分作用的累积速度。

3.微分(Derivative,D)控制

作用:微分控制的作用与偏差变化的速率 成正比。它预测偏差的未来趋势,并提前产生调节作用。

特点:可以减小超调,提高系统的动态性能,对噪声敏感,可能会引起系统的振荡。

参数:微分时间,决定了微分作用的强度。

4.PID的工作原理

PID控制器的工作原理: PID控制器通过以下步骤对系统进行控制:

  1. 测量系统的输出(或过程变量)。
  2. 计算设定值与实际输出之间的偏差。
  3. 根据偏差及偏差的变化率,分别计算出比例、积分、微分三个控制作用。
  4. 将这三个控制作用相加,得到总的控制量。
  5. 利用这个控制量对系统进行调节。

5...实质

  1. 实质:通过改变PWM等的输出值 ,将实际目标参量 始终围绕在设定目标参量附近
  2. 公式:目标值与实际反馈值通过比例、微分、积分计算获得控制器输出值
  3. 示例:带编码器(测量电机的位置和素速度)的直流减速(降低速度、提高扭矩)电机的速度跟踪(不会因为电压波动或者电机负载变化导致的电机速度变化)

6.分析

  1. 首先点明受控对象、目标值、控制器输出值、反馈实际值是谁

  2. 静态误差的存在判断:如果控制器输出量为0,判断控制对象是否会发生自发偏移

  3. 无论是P、I、D参数都是与误差有关(目标值-反馈实际值)

7.各种PID控制器

P控制器

优点

反应快

缺点

存在静态误差,过大会导致振荡输出或者超调

I控制器

优点

反应慢

缺点

不存在静态误差

PI控制器

优点

反应快、没有稳态误差

缺点

没有D项,无法对未来进行预测,因此无法有效控制振荡输出或者超调

D控制器

注意

通常与P控制器或者PI控制器一起使用,不单独使用

优点

对未来进行预测,产生阻碍作用,解决振荡输出或者超调

缺点

过大会导致系统卡顿

第二部分:离散PID

实质:离散PID:将调控周期进行适当控制

分类

1.位置式PID

  1. 位置式PID就是连续型PID离散化后的PID公式,输出完整控制量
  2. 涉及到:本次、上次误差

2.增量式PID

  1. 增量式PID,第k次与第(k-1)次输出结果做差的结果,输出的是控制量的变化值
  2. 涉及到:本次、上次、上上次三次误差量
  3. 注意:增量式PID可以通过控制器内积分的操作实现位置式PID类似的功能

第三部分:额外小知识点

  1. STLINK:给STM32下载程序和调试程序
  2. USB转串口模块:用于STM32与上位机进行通信
  3. 离散型PID的调控周期T:取决于被控制对象的变化速度
  4. STM32等单片机,使用中断操作时,注意中断和主函数内的硬件操作的冲突问题(避免同时进行操作)
  5. PID调试,可以使用串口工具(SerialPlot)显示PID波形。使用串口时,注意适当的延迟作用。

总结

最后使用哪一种PID形式,需要根据自己项目的需求具体来确定


总结

以上就是今天要讲的内容,本文仅仅简单介绍了连续型PID和离散型PID的原理及各种PID的优缺点。

相关推荐
earthzhang202123 分钟前
《深入浅出HTTPS》读书笔记(29):TLS/SSL协议
开发语言·网络协议·算法·https·ssl
Victoria.a41 分钟前
二叉树和堆
数据结构·算法
m0_dawn43 分钟前
算法(蓝桥杯)贪心算法7——过河的最短时间问题解析
开发语言·python·算法·职场和发展·蓝桥杯
jacob~44 分钟前
C++学习第五天
学习
studyForMokey2 小时前
【Android学习】Kotlin随笔
android·学习·kotlin
云山工作室2 小时前
基于单片机的直流电机控制系统(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
悄悄敲敲敲2 小时前
C++:bfs解决多源最短路与拓扑排序问题习题
算法·宽度优先
执念斩长河2 小时前
go-echo学习笔记
笔记·学习·golang
会蹦的鱼2 小时前
算法4(力扣206)-反转链表
算法·leetcode·链表
黄雪超2 小时前
数据结构与算法面试专题——引入及归并排序
数据结构·算法·面试