自己想要编一个关于pid程序,是增量式的
公式如下:
PID = Uk + KP*[E(k)-E(k-1)]+KI*E(k)+KD*[E(k)-2E(k-1)+E(k-2)];(增量型PID算式)
------------------------------
有个问题,采集了取样值以后,然后计算出来一个pid值,然后通过这个值去控制加热器的脉冲宽度(加热器的脉冲宽度这个是假如)
就是这个值如何去对应脉冲宽度的上限和下限呢????
问题补充:
看了:务本的说明,就是里面所说的0~2000如何定?按照经验来大致估的吗???
比如控制温度 用多少值范围
控制压力 用多少值范围??
最佳答案
一般将PID计算出的数据直接赋给内部定时器控制占空比,但是要对最大值和最小值加以限定。我们假设当定时器的值为0时占空比为0%,值为2000时占空比为100%,这样PID计算出不同的值,就改变了脉冲的占空比。
具体参考:《数字式PID控制的应用总结》
http://www.cnblogs.com/Yz81128/archive/2013/09/06/3305032.html
提问者对于答案的评价:
谢谢你的答案。。。
专家置评
已阅,最佳答案正确。
如果自己编程,需要注意使用PID回路表,里面都是标准化了的参数,需要换算到0-1之间。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc220658.html