打印

PID算法疑问

[复制链接]
5391|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjucsd|  楼主 | 2010-5-27 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jack_shine| | 2010-5-27 15:32 | 只看该作者
将输出值设定为一个变量,小于此值的输出高电平,大于此值的输出低电平,便可实现PWM~~~

使用特权

评论回复
板凳
zjucsd|  楼主 | 2010-5-27 15:57 | 只看该作者
输出量的最大值如何获得?这样输出值/最大输出量 = PWM。

使用特权

评论回复
地板
zjucsd|  楼主 | 2010-5-27 16:47 | 只看该作者
本人对最大输出量随意取了800 和 10000 这两个数,发现PWM的输出值中0和200占了绝对多数,很少出现之间数据。而且,控制的温度的范围从小上一两度,如设定为100℃的话,却在108℃左右徘徊?
  请各位老大帮帮忙咯,本人感激不尽呀!!!

使用特权

评论回复
5
zjp8683463| | 2010-5-27 18:37 | 只看该作者
本帖最后由 zjp8683463 于 2010-5-27 20:36 编辑

看你PWM是多少位的.搞个带PWM输出的MCU,把PWM那段手册读10遍

从4楼现象来看,很可能是变正反馈了.哪里极性搞反了吧

使用特权

评论回复
6
huangbb| | 2010-5-27 21:31 | 只看该作者
pid的sv pv值得量纲统一了吗(所谓控制理论里的归一化处理是否正确)?pwm=200的话,输出精度对于温控来说是够了,另外pid的三个参数整定是否合适?

使用特权

评论回复
7
huangbb| | 2010-5-27 21:37 | 只看该作者
看了lz在4楼的说明,感觉lz对pid运算的做法有误:设定值sv,过程测量值pv,输出值mv的量程必须统一,比如lz设定最大输出是1000,则在进行pid运算时,sv,pv的最大量程范围也必须换算成1000。

使用特权

评论回复
8
原野之狼| | 2010-5-27 22:55 | 只看该作者
1 对SV PV的量纲要求一致
2 归一化处理,意思就是把pid的计算值限制在一定范围内。
3 pid输出值再映射到实际的控制参数,比如PWM的占空比。假设PID输出范围是0到100,PWM的占空比范围是0到1000,那么对应过去就是了,即PID:0对应PWM:0,PID:100对应PWM:1000。
4 PID参数要设置合理
5 防止积分过饱和
6 正向PID和反向PID不要搞反了

使用特权

评论回复
9
zjucsd|  楼主 | 2010-5-28 08:10 | 只看该作者
请问一下,如何确认PID算法的输出值的范围?

使用特权

评论回复
10
algr| | 2010-5-28 09:44 | 只看该作者
楼主你先要明白什么是负反馈,什么是比例,积分和微分。。。
那样才能算PID的输出值的范围

如果你不想弄懂其中原理,那么PID输出设置门槛,然后PID三个参数慢慢调就是了。。。

使用特权

评论回复
11
emailli| | 2010-5-28 11:00 | 只看该作者
可以去我的博客看看

有一个说的很清楚的转换方案

使用特权

评论回复
12
zjucsd|  楼主 | 2010-5-28 12:48 | 只看该作者
PWM方波,不是电压,是时间

使用特权

评论回复
13
zjp8683463| | 2010-5-28 14:05 | 只看该作者
PMW不是时间,是占空比

使用特权

评论回复
14
chunyang| | 2010-5-28 14:05 | 只看该作者
PID输出对应一个数值量,然后要考虑执行元件的特性,比如加热元件得考虑其功率、热传导系数和被加热系统的热容积,然后才能换算。工程上可以用试验凑数的办法来整定,将系统温度人工调节到被控目标点,然后试PWM占空比恰好可以稳定温度,这时无需控制算法的介入,仅仅通过人工寻找转换系数,然后切自动后根据响应曲线微调即可。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

351

帖子

3

粉丝