标题: PID算法与pwm占空比对应问题 [打印本页]

作者: 王小火    时间: 2018-8-21 15:07
标题: PID算法与pwm占空比对应问题
通过PID算法算出来的结果怎样与pwm的占空比相对应?求解答


作者: 726434632    时间: 2018-8-21 16:21
线性对应
作者: mengzhixinheng    时间: 2018-8-21 16:57
这个是不需要对应的,只是算出的PID值做极限设定就可以。比如你的PWM值最大是200;那么你的PID值如果大于等于200就是200.如果PID值小于0可以让它等于0;这样PID值最终被限定在0到200间变化。当然你肯定不希望PID值常常超出界限,这样不好控制,所以要确定一下你的PID值达到了哪一个量级,然后PWM也能达到这个量级就更好。
作者: tscowa    时间: 2018-8-21 17:04
PID输出范围限定为PWM的范围。
作者: little4_su    时间: 2018-10-1 00:15
很多刚开始接触pid的人,都不知道如何利用pid计算后的结果,我见过的教材也没有说,网上的资料也很少详细的介绍。其实pid并没有规定输出域,换句话说pid是个没有单位的东西,既然如此你想怎么用就怎么用,所以它才能应用在不同的领域,控制速度、控制水位、控制温度、控制角度等等。二楼说得已经很好了。我补充一下,现在很多单片机都带有pwm模块,假如pwm模块现在设置的频率是1000Hz,其控制寄存器写入0xffff就是1000Hz,写入0就是0Hz。你把计算出来的pid结果写入pwm模块的控制寄存器就可以了。当然具体的操作还得做些限值处理,计算结果不要超过控制寄存器的值。对于没有pwm模块的单片机,那只能软件模拟了,这个也不难。总体来说基础型的pid是很简单的,简单得不得了,pid控制的难点就在参数的整定。
作者: 51heidzi    时间: 2018-10-27 17:38
问一下PID是什么意思
作者: 酷酷酷000    时间: 2019-5-29 21:48
51heidzi 发表于 2018-10-27 17:38
问一下PID是什么意思

比例积分微分
作者: gaoyan    时间: 2020-9-5 16:16
mengzhixinheng 发表于 2018-8-21 16:57
这个是不需要对应的,只是算出的PID值做极限设定就可以。比如你的PWM值最大是200;那么你的PID值如果大于等 ...

您好,请问误差=实际值-设定值,实际值是转速可以测得,那么设定值怎么给?是通过占空比来算出来的吗?
作者: mengzhixinheng    时间: 2020-9-5 22:11
gaoyan 发表于 2020-9-5 16:16
您好,请问误差=实际值-设定值,实际值是转速可以测得,那么设定值怎么给?是通过占空比来算出来的吗?

把PID算法看做黑匣子。你给什么他就出什么。如果你要控制转速,当然要给转速。要控制温度就给温度!你得给啊,你不给,它怎么晓得你要干嘛。要用什么方法控制与算法没什么关系。所以你要设定想要的转速与占空比也没什么关系,占空比变化是你关联算法后算法自动控制的。
作者: 3319702068    时间: 2020-9-7 08:03

PID输出时范围限定为PWM的范围。
作者: 图锐工程    时间: 2020-9-7 08:43
线性对应
作者: i_could_have    时间: 2020-10-27 08:58
gaoyan 发表于 2020-9-5 16:16
您好,请问误差=实际值-设定值,实际值是转速可以测得,那么设定值怎么给?是通过占空比来算出来的吗?

负反馈的误差一般是设定值(给定值)减去实际值(反馈值),实际值可以通过传感器测量得到,给定值是你想让他输出多少,比如你说的转速,你想让转速输出多少,给定值就设置多少,然后误差通过PID计算,得到结果作为PWM输入值。最好是PID输出范围控制在PWM输入范围(这个范围与PWM周期以及PWM的具体设置有关)之内。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1