硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4911|回复: 6
收起左侧

[DSP] DSP中的PID函数有点看不明白

[复制链接]

3

主题

12

回帖

21

积分

新手上路

积分
21
发表于 2020-4-7 23:18:14 | 显示全部楼层 |阅读模式
常规PID控制的公式应该是Output = Kp*e(k) + Ki*∑e(k) + Kd[e(k)-e(k-1)]
输入的积分、微分值分别乘以P、I、D的值
就算增量PID也应该是
ΔOutput = Kp[e(k)-e(k-1)] + Ki*e(k) + Kd[e(k)-2e(k-1)+e(k-2)]


而DSP库里的PID算法

   y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2]   A0 = Kp + Ki + Kd   A1 = (-Kp ) - (2 * Kd )   A2 = Kd

SharedScreenshot.jpg

这个框图倒是画得没问题
不过不太明白这个A0、A1、A2是什么意思?
arm_pid_instance_f32里的state[3]又是什么?

arm_pid_reset_f32和resetStateFlag也不明白是什么用法,为何要清除数据?
看了一下源码,貌似是汇编写的,也没看懂
然后官方也没给出任何例程和说明
唯一的资料就是论坛里的,但是也没说明白这些问题
求指教,谢谢!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2020-4-8 00:04:38 | 显示全部楼层
PID我也是学的半瓶子晃荡,没有理解到精髓,只能默默的帮顶下了。

等后续深入研究了再跟楼主交流交流。
回复

使用道具 举报

75

主题

1257

回帖

1482

积分

至尊会员

积分
1482
发表于 2020-8-4 09:24:11 | 显示全部楼层
dsp教程的pid适合工业控制吗?按你说的好像公式挺特别
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2020-8-4 09:39:10 | 显示全部楼层
wdliming 发表于 2020-8-4 09:24
dsp教程的pid适合工业控制吗?按你说的好像公式挺特别

没问题,PID的公式比较好理解。

麻烦的就是他的参数调节。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2020-8-4 16:22:27 | 显示全部楼层
人家的是初始公式,你发的常规公式是推导之后的
回复

使用道具 举报

12

主题

48

回帖

84

积分

初级会员

积分
84
发表于 2020-8-21 14:16:28 | 显示全部楼层
在项目中用过,没问题
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2020-9-14 07:35:04 | 显示全部楼层
额,你把增量式拆开看看不就是一样的吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-1 07:16 , Processed in 0.411556 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表