关于PID电机调速的疑惑

2019-12-10 18:20发布

本人最近在苦心研究PID,所以经常三更半夜在思考一些问题,基本搞清楚PID每个参数的控制规律,刚才我在想如果我用位置式PID中的PD进行电机调速或者温度控制估计会有些问题,假如我是电机PWM调速,设定转数是100,当前转数是0,规定0%占空比位0转速,100%占空比为100转数,那么假如我只要PD来控制,那么根据P比例规律,当转速到达100时,P项的结果肯定是0,而D项微分是误差变化率,当转数到达100时,D项肯定也为0,因为误差变化率已经为零了,所以PD的结果最终是0,然而我要维持100的转数,PWM的占空比必须是100%,但是现在PD的结果在转数到达100的时候输出控制量已经为0了,这个好像有矛盾啊! !
我觉得应该在PD过程中需要累加控制量,这样当误差为0的时候,不至于控制量也为0,而是维持在一个恒定控制量(100%占空比)
或者在PD中加入I积分项,因为积分项是误差的累积,所以当PD都为0的时候,积分作用可以保存恒定的控制量输出(100%占空比)。

我翻阅了很多调速和温控的,程序基本都是离不开I积分项。没发现单独用PD来控制的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
57条回答
673104326
1楼-- · 2019-12-13 03:27
myqiang1990 发表于 2015-12-5 21:52
我也看到我这里的数值了,果然,当当前值接近设定之后,I的积分项果然是0,太TM神奇了~~累加正值,累到后 ...

I项不为零并且比较大,要么是还没有达到最终的稳定状态,要么是这个值来驱动比较大的误差。

你为什么不都用PID,而是分别用PD和PI。PD应该是容易引起振荡,PI稳定的时间会比较长。

jieao
2楼-- · 2019-12-13 07:23
myqiang1990 发表于 2015-12-5 19:42
我觉得是零,你看,假如误差EK = 0,那么P*EK = 0,比例项为0了吧~~而D,D * (EK -EK1) = 0,因为误差 ...

你去看看论坛那篇pid温度控制的帖子吧,里面有PD控制的响应曲线
gylg3344love
3楼-- · 2019-12-13 10:50
 精彩回答 2  元偷偷看……
pangbin4
4楼-- · 2019-12-13 11:41
看着过隐啊!学习!
lngdzph
5楼-- · 2019-12-13 15:33
使用PD控制,被控对象输入输出之间要有积分环节。
desertsailor
6楼-- · 2019-12-13 17:52
不用积分会有稳态误差

一周热门 更多>