PID调直流电机,纯P时编码器反馈值会超过设定么?有图..
初调PID,增量式,编码器输出脉冲作为反馈。控制直流电机。我看到很多参数整定的文章说:
“先把I、D设为0,逐渐增加P,直到振荡,取P为此时的百分之多少多少的”
疑问:
这里的振荡是指稳定值在设定值附近振荡么? 那么稳定值有没有可能在设定值上面振荡(稳定值的最小值就大于设定值)???
我按照这个来,P小的时候(P = 20),稳定值在设定值下面,随着P的增大,稳定值有所上升,但仍然在设定值下面。
接着增大P(P = 24),稳定值会在设定值处波动。
接着增大P(P = 30),稳定值会超过设定值。
再增大P(P = 50),稳定值会振荡着上升、看是看图吧
最后一个是(P=20,I=0.6)的。
我的理解是:
要么是我程序有问题;
要么是纯P作用下稳定值可以再设定值上面的,那这种情况下,前文说的振荡指的是什么时候呢???
不知道我的理解对么????
由于身边没有可以求助的人,特来此地。望大家多多指点,
人工置顶下,,,
求关注,求指点。{:smile:} 本帖最后由 时光倒退 于 2014-4-29 21:46 编辑
疑问:
这里的振荡是指稳定值在设定值附近振荡么? 那么稳定值有没有可能在设定值上面振荡(稳定值的最小值就大于设定值)???
我大学时没这课,但上网查过相关资料,楼主可以看下这篇文章第3、4页:
PID控制经典培训教程
I就是用来消除稳态误差的,如果你只有P项很有可能发生振荡均值偏高、偏低。 Ziegler–Nichols法
你这里说的PID参数整定方法实际上就是Ziegler–Nichols法
参见http://zh.wikipedia.org/wiki/Ziegler%E2%80%93Nichols%E6%96%B9%E6%B3%95 一般来说,电机控制使用PI控制就可以了。
上面所说的震荡应该叫临界震荡,在I=D=0的时候,增大P,使反馈达到等幅振荡,这个时候的Pmax作为基准。
工程上根据一些经验,例如P=0.5PmaxI=0.1Pmax作为PI的经验值,在这基础上微调。
不过震荡有时又是很麻烦的事情,楼主的图看起来怪怪的 时光倒退 发表于 2014-4-29 21:43
疑问:
这里的振荡是指稳定值在设定值附近振荡么? 那么稳定值有没有可能在设定值上面振荡(稳定值 ...
我就是先只给P的。
想看看书上说的振荡的情况的。
你给的文章不错,就是太理论,不爱看,{:biggrin:} rclong 发表于 2014-4-29 21:51
Ziegler–Nichols法
你这里说的PID参数整定方法实际上就是Ziegler–Nichols法
对对对,是这个额。
FSL_FAE_River 发表于 2014-4-29 23:12
一般来说,电机控制使用PI控制就可以了。
上面所说的震荡应该叫临界震荡,在I=D=0的时候,增大P,使反馈达 ...
我就是找不到所谓的等幅振荡.....
你是说图上波动很奇怪么?
当电机给固定PWM时,编码器采集回来的脉冲值,经过滑动滤波后还是会有+-2的跳动的。
所以图是那样波动的吧。
电机控制智能小车的,感觉主要要求加减速得快点,准确度到没太多必要吧
所以我感觉: PI的话滞后影响大点。PD加减速快点,更适合吧
不知道理解的对不,我之后都试试吧。
楼主 您这个示波器是什么啊 我一般是直接将 被控对象的模型搞出来,直接填写零极点,再调增益,找到合适带宽。
先加纯积分,增益搞低点,保证环路稳定,在FRA扫描Loopgain,找到被控对象模型,接着想怎么搞都行。
zzjjhh250 发表于 2014-4-30 09:15
楼主 您这个示波器是什么啊
Visual Scope。 波特率只有9600,
你的方法对我来说遥不可及啊。膜拜啊。应该属于是理论计算的方法吧 就是论坛里面破解的那个吗? 楼主好好摸索啊,之后向你讨教PID调参数问题。 zzjjhh250 发表于 2014-4-30 13:26
就是论坛里面破解的那个吗?
你看看吧 时光倒退 发表于 2014-4-30 17:20
楼主好好摸索啊,之后向你讨教PID调参数问题。
大家一起讨论学习啊 {:smile:}
页:
[1]