[C语言] 求助 程序匠 PID

[复制链接]
1068|1
 楼主| pengjun_45 发表于 2016-5-2 18:45 | 显示全部楼层 |阅读模式
程序匠人,
你的书第一版我买过。能不能抽空解释一下PID算法呢、。?
网上看过很多资料,都是把公式直接放在程序里,都没有说到点子上。
比如一个控温系统,AD采样,可控硅驱动,即热式。
采样时间怎么确定,是调电压控功率,还是调运行ON/OFF时间求平均功率 ?;PID输出值与控制怎么个对应法?
用位置式,还是增量式?
cuya 发表于 2016-5-3 11:06 | 显示全部楼层
简单的回答你的问题

采样时间的确定是根据你的加热系统时间常数来定, 时间常数 1/4 以上, 太快也没有必要, 采样时间会影响积分,微分系数。

若可控硅驱动, 调电压当然更好,因为可以更精准的控制功率。运行ON/OFF时间求平均功率, 实现更简单,适合大时间常数的系统。功率 控制部分应被封装成为线性控制, 例如 1.0 为全功率, 0.5 为半功率, 0.0 为全断。

获取PID系数前, 还是需要你了解系统, 最好有一个阶跃响应曲线 (在环境温度下加全功率运行), 通过此曲线可以获得准确的 PID 理论值, 如果理论扎实的话。加热系统最好使用 PI, 不建议使用微分, 因为时间常数较大而且因温度反馈容易引入不必要的噪声。

至于位置式,还是增量式, 都一样,只是形式不同, 没有本质不同。



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

本版积分规则

1

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部