gpt4 book ai didi

c - D部分PID计算

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:24 25 4
gpt4 key购买 nike

我正在为电机速度控制实现 PID 控制。在规范中,我被告知要使用 D 部分的以下等式来实现过滤技术。我完成了 PI 控制的实现,它对我来说工作得很好。

enter image description here

到目前为止我所理解的是 s 代表 "dx/dt" 通常对应于错误的变化率,但在这里我可以将它与反馈的变化率联系起来。 Td/N 用于限制整体增益输出(希望我做对了)。现在,为了用 C 代码表示这一点,我尝试了以下方法。

s = (CurrentFeedback()-Old_Feedback)*100/(MaxFeedback()); //to calculate the % change in feedback
s = s*1000/sampleTime; //1000 is multiplied because sampleTime is in milliseconds
D = (Td*s)/(1+(s*Td/N));
D = D*KP; //Kp is multiplied as per the standard pid equation.

Old_Feedback = CurrentFeedback();
PID = P+I-D;

那么添加 D 的结果不是我所预测的。我只想知道..我是否正确地实现了 D 部分方程?我对微分的基本数学理解有误吗?

注意:我无权更改重新计算的 kp、ti、td,因为它直接来自 VFD。非常感谢。抱歉英语不好。

最佳答案

只要采样时间足够长并且测量的灵敏度很高,D 只会增加噪音,因为任何小的变化都会立即受到 D 控制的攻击,最后会产生可怕的波动。在大多数系统中,如果您可以接受较慢的控制,则不需要 D。如果您仍想使用 D,请确保它远小于 P 和 I。

也许您可以更改最后一个符号。

关于c - D部分PID计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com