DSP中的PID函数有点看不明白
常规PID控制的公式应该是Output = Kp*e(k) + Ki*∑e(k) + Kd输入的积分、微分值分别乘以P、I、D的值
就算增量PID也应该是
ΔOutput = Kp + Ki*e(k) + Kd
而DSP库里的PID算法
y = y + A0 * x + A1 * x + A2 * x A0 = Kp + Ki + Kd A1 = (-Kp ) - (2 * Kd ) A2 = Kd
这个框图倒是画得没问题
不过不太明白这个A0、A1、A2是什么意思?
arm_pid_instance_f32里的state又是什么?
arm_pid_reset_f32和resetStateFlag也不明白是什么用法,为何要清除数据?
看了一下源码,貌似是汇编写的,也没看懂
然后官方也没给出任何例程和说明
唯一的资料就是论坛里的,但是也没说明白这些问题
求指教,谢谢!
PID我也是学的半瓶子晃荡,没有理解到精髓,只能默默的帮顶下了。
等后续深入研究了再跟楼主交流交流。 dsp教程的pid适合工业控制吗?按你说的好像公式挺特别 wdliming 发表于 2020-8-4 09:24
dsp教程的pid适合工业控制吗?按你说的好像公式挺特别
没问题,PID的公式比较好理解。
麻烦的就是他的参数调节。 人家的是初始公式,你发的常规公式是推导之后的 在项目中用过,没问题 额,你把增量式拆开看看不就是一样的吗
页:
[1]