PID控制面试速成讨论

📖 精选 ✍️ Jack | 📅 2025-12-23 | 👍 0 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/学习求职 #质量/普通 #技术/面试

原帖 | Jack | 2025-12-23 22:32 | 👍0 | 阅读约1

群友发言:
有没有老哥知道pid怎么速成啊?就是可以应付面试的那种程度。

群友A:
1、是PID控制器可以简化为PI或PD控制器。这是因为PID是比例、积分、微分三个部分的组合,根据实际需求,有时可以只用其中两个部分,比如PI(比例积分)或PD(比例微分)。PI控制器可以消除稳态误差,但可能会使系统响应变慢;PD控制器可以提高系统响应速度,减少超调,但无法消除稳态误差。
2、PID控制器的三种形式:位置式PID、增量式PID和微分先行PID;
3、两个数据(或者多个)需要融合,一种常见的做法是使用互补滤波,它更简单,但卡尔曼滤波更优,互补滤波和卡尔曼滤波是两种常用的方法。互补滤波简单易实现,计算量小,但卡尔曼滤波在理论上是最优的,能够提供更好的估计,但计算复杂

4、两个关于PID的难点:

4.1、如何进行问题的抽象,即如何从实际系统中找出合适的误差(error)表达式。(PID控制的核心是消除误差,误差的定义是关键。在不同的控制问题中,误差的定义方式不同)

4.2、如何快速进行PID参数整定,以及是什么因素导致PID调节太慢或不准确。(快速整定方法、导致PID调节太慢或不准确的因素、改进PID性能的一些方法)需要根据系统的实际响应来调整参数。有时,我们需要记录系统的响应曲线

群友B:
面试的时候:
将以pid算法的原理和pid如何调参(这个比较重要,尤其是项目里面有pid的内容)
还有滤波算法(pid算法需要输入连续、平稳的数据,防止数据激变导致的系统抖动。pid基本绑定滤波算法)

实际上嵌入式一半的难度都在与对控制系统的输入的观测,我们很难在资源非常有限的系统上,不失真的传递出所有CPU真正读到的数据。比如现在电机懂不懂几十us的调节周期,单片机连数据都来不及传递出来。

商业的代码都有开源的,重要的是把输入量,输出量理清楚,还有运行的周期,比如当时做的一个舵机的闭环控制系统,输入可以是红点坐标反馈(也可以用陀螺仪,编码器等),输出量是电机的角度的pwm值,放在一个10hz的中断里面运行,对时序要求比较严格的执行最好单开一个定时器,至于后面怎么调,效果好不好,可以引入其他,就比如pid有位置式,增量式,当然也有自适应pid,但关键的一点还是把输入量和输出量理清楚。

群友C:
我一堆项目,用过一堆控制算法,ladrc,滑膜,模糊,pid,bpnn,[旺柴]去搞科研有用,一个阈值,棒棒控制,很多都是开环的。


相关笔记