打印

请教关于PID的问题,百思不得其解,请教大虾帮忙给看看

[复制链接]
楼主: 秋雨
手机看帖
扫描二维码
随时随地手机跟帖
21
秋雨|  楼主 | 2011-1-10 08:34 | 只看该作者 回帖奖励 |倒序浏览
再算算比例系数调大的例子看看,
那么电机设定转速100转,比例系数1,

通电后Vold=0,e(t)=100-0=100, e(t-1)=0 第一次输出为

Vout=1*(100-0)+0v=100V,

第二次输出时假设电机已经达到100转(即已经稳定了),
此时e(t)=100-100=0,e(t-1)=100
那个输出为
Vout=1*(0-100)+100=0V

第三次输出时假设电机已经达到0转(即已经稳定了),

e(t)=(100-0)=100, e(t-1)=0

那个输出为

Vout=1*(100-0)+0=100V
..这样系统会在0-100转之间振荡。。。

使用特权

评论回复
22
秋雨|  楼主 | 2011-1-10 08:36 | 只看该作者
另外,我发现如果用
Vout=Kp*e(t)+Vold
这个公式的,倒能比较接近达到目标,但是昨晚仔细想了想,貌似这个公式是积分控制吧?
为何资料都说不能单独用积分控制?

使用特权

评论回复
23
martial| | 2011-1-10 09:46 | 只看该作者
按楼主的意思,速度控制在0~220,细分达到1转,比例系数一定大于等于1才行,否则永远有一个静态误差,你将比例系数放大应该就可以了

使用特权

评论回复
24
jack_shine| | 2011-1-10 10:11 | 只看该作者
e(t)=设定值-当前值
12# 正解

使用特权

评论回复
25
martial| | 2011-1-10 10:13 | 只看该作者
再算算比例系数调大的例子看看,
那么电机设定转速100转,比例系数1,

通电后Vold=0,e(t)=100-0=100, e(t-1)=0 第一次输出为

Vout=1*(100-0)+0v=100V,

第二次输出时假设电机已经达到100转(即已经稳定了),
此 ...
秋雨 发表于 2011-1-10 08:34

你的步距太大了,或者说你采样频率太低了,你将第一次采样的速度值调成5(假设),然后依次计算试试

使用特权

评论回复
26
秋雨|  楼主 | 2011-1-10 12:19 | 只看该作者
楼上的,采样快好像也没用。。。
那么电机设定转速100转,比例系数1,
通电后Vold=0,e(t)=100-0=100, e(t-1)=0 第一次输出为
Vout=1*(100-0)+0v=100V,
第二次采样时假设电机已经达到20转(即还没有到稳定转速),
e(t)=100-5=95, e(t-1)=100  
第二次输出
Vout=1*(95-100)+100v=95V,
第三次转速10
e(t)=100-10=90, e(t-1)=95  
第三次输出
Vout=1*(90-95)+95v=90V,
假设每次测速都+5转,则输出电压每次-5v,
直到第10次采样转速为45,此时输出电压为55v
Vout=1*(55-60)+55v=50V,
第11次采样转速为50,
Vout=1*(50-55)+50v=45V,
第12次采样转速为45
Vout=1*(55-50)+45v=50V,
第13次采样转速为50
Vout=1*(50-55)+50v=45V,
。。。之后就一直在45和50之间摆动。。。

以上虽然每次采样都加减5转不可能正好,但是却也能大体说明方向,最后不会稳定在100左右,,

使用特权

评论回复
27
pjy| | 2011-1-10 12:20 | 只看该作者
用锁相环

使用特权

评论回复
28
论坛游客| | 2011-1-10 12:21 | 只看该作者
可是我看好多人说可以只用比例控制电机呀。。。
而且在正定参数过程中不是要先去掉积分和微分而只保留比例吗?逐渐增大比例系数,让系统最后达到振荡。。 ...
秋雨 发表于 2011-1-10 08:29

那个叫临界比例法,可以得到一个可用的参数
先只要kp,然后慢慢调大KP,直到震荡,再根据公式算出可行的kp,ki,kd

使用特权

评论回复
29
论坛游客| | 2011-1-10 12:22 | 只看该作者
临界比例法是经过证明的一个可行的镇定PID参数的方法,确定后的PID参数在时域和频域指标上面可以取得一个较好的平衡

使用特权

评论回复
30
秋雨|  楼主 | 2011-1-10 12:23 | 只看该作者
关键的一点在于增量式输出当误差减少时,输出电压也变小。最后或大或小出现一个稳定或者振荡状态,但是这个状态离目标值也太远了。。。
为何有的人说电机调速只用比例控制呢?
而Vout=Kp*e(t)+Vold肯定能用,但是这个究竟还是比例控制吗?我咋看着像积分呀

使用特权

评论回复
31
论坛游客| | 2011-1-10 12:30 | 只看该作者
那叫静差  知道没?
增大kp可以减少静差
这个不是那么简单的,系统的静差与你采样精度 采样时间 驱动电路性能都有关系的

使用特权

评论回复
32
论坛游客| | 2011-1-10 12:32 | 只看该作者
你先减少采样时间   增大kp   调到刚好震荡
然后算出kp ki kd
给积分 微分环节加上去看看
不过电机控制最好不要微分环节

使用特权

评论回复
33
论坛游客| | 2011-1-10 12:33 | 只看该作者
说半天  你都不说是什么电机

使用特权

评论回复
34
鸟鸟| | 2011-1-10 13:04 | 只看该作者
mark

使用特权

评论回复
35
collus| | 2011-1-10 13:05 | 只看该作者
参数整定是这样,但你的参数整的不对啊,调节Kp使输出在200转振荡。

使用特权

评论回复
36
秋雨|  楼主 | 2011-1-10 14:05 | 只看该作者
直流无刷电机。。。楼上的我就是不能让他到200转呀。。。

使用特权

评论回复
37
ZCDS| | 2011-1-10 15:08 | 只看该作者
mark

使用特权

评论回复
38
程序匠人| | 2011-1-10 16:50 | 只看该作者
不要纠缠在“增量式”或“位置式”上面,这二者,本质上是一样的。

还是那句话,消除静态误差,靠积分。
但是要补充的是,比例本身也很重要,一个“合适”的比例系数可以让静态误差“降低”到最小(但不是“消除”)。这里,所谓的“合适”,就是指刚好不会让系统振荡的那个值。——这就要靠整定来实现,参见“论坛游客”的发言。

使用特权

评论回复
39
论坛游客| | 2011-1-10 18:05 | 只看该作者
直流无刷可不是那么好玩的
我怀疑你驱动电路和换相都没有搞好

使用特权

评论回复
40
秋雨|  楼主 | 2011-1-10 23:33 | 只看该作者
。。。硬件弄好了。只等完善软件算法。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则