智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3190|回复: 14
打印 上一主题 下一主题

【求助帖】关于直立车速度环速度跟不上与积分饱和的问题

[复制链接]

18

主题

466

帖子

0

精华

常驻嘉宾

你又在盯着我的头像

Rank: 8Rank: 8

积分
4193
威望
2071
贡献
1138
兑换币
1225
注册时间
2016-1-9
在线时间
492 小时
毕业学校
北华航天工业学院
跳转到指定楼层
1#
发表于 2016-7-10 08:09:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近日,本渣渣开始调速度环,把数据发到上位机发现,速度快的时候,速度一直跟不上设定速度,偏差就是一个方向的,所以积分只有上升趋势,直接饱和,积分限幅是满占空比*1.2即1200,调到5000,也能饱和,P是100多,I是1点多,这俩参数也调好几天了,学长说速度跟不上是P太小,但直立车不像四轮车,速度P大了干扰直立,试过P调到几百,根本没法跑,I小了饱和慢点,I大了饱和快点,下坡增速时积分会下降一点点,但根本起不到作用,希望各大神能指教一下,为什么速度跟随不上设定速度,进而导致积分饱和?蓝色实际速度,粉色目标速度,红色积分,实际速度两米目标速度很慢的时候还算正常,速度一米多一点{:3_65:}{:3_65:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

15

主题

383

帖子

0

精华

杰出人士

三轮飙车狂魔

Rank: 12Rank: 12Rank: 12

积分
17853
威望
12249
贡献
3258
兑换币
2783
注册时间
2015-10-15
在线时间
1173 小时
毕业学校
北方邮政大学
推荐
发表于 2016-7-10 10:31:25 | 只看该作者
太早积分了吧,当速度和期望速度差太大时,就不要引入积分调节了,也就是积分分离
另外,积分的限幅量也应该是实验出来的
我自己是在长直道,去掉I,看到最后角度和期望角度的差,以及速度和期望速度的差
此时,角度环的输出等于摩擦力和速度P的输出。
而我们引入I就是为了把速度P代替掉(稳定时候到目标速度,P没输出,只有i有输出)

因此积分的限度量应该比此时P的输出略大一些
回复 支持 1 反对 0

使用道具 举报

3

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
953
威望
487
贡献
276
兑换币
318
注册时间
2015-10-23
在线时间
95 小时
毕业学校
青岛理工大学
2#
发表于 2016-7-10 09:56:16 | 只看该作者
试试积分清零?
回复 支持 反对

使用道具 举报

18

主题

466

帖子

0

精华

常驻嘉宾

你又在盯着我的头像

Rank: 8Rank: 8

积分
4193
威望
2071
贡献
1138
兑换币
1225
注册时间
2016-1-9
在线时间
492 小时
毕业学校
北华航天工业学院
4#
 楼主| 发表于 2016-7-10 16:32:17 | 只看该作者
361369499 发表于 2016-7-10 10:31
太早积分了吧,当速度和期望速度差太大时,就不要引入积分调节了,也就是积分分离
另外,积分的限幅量也应 ...

积分分离试过,加了一句  if(fDelta>=10||fDelta<=-10)  {
    fP=140;
    fI=0;
  }
但是从图像看,偏差大的时候积分并没有等于0,不知道哪里出问题了;
还有积分限幅数值的单位是什么呢?一直没明白,好像不是直接等于pwm的吧,但单位什么时候怎么转化的也没看到,限幅用的诸葛大神说的满占空比*1.2,更大的也试过也能饱和,不知道您说的限幅试出来的要限到什么程度


回复 支持 反对

使用道具 举报

18

主题

466

帖子

0

精华

常驻嘉宾

你又在盯着我的头像

Rank: 8Rank: 8

积分
4193
威望
2071
贡献
1138
兑换币
1225
注册时间
2016-1-9
在线时间
492 小时
毕业学校
北华航天工业学院
5#
 楼主| 发表于 2016-7-10 16:34:32 | 只看该作者

开始每跑完一圈停下来再跑是不清零的,积分开始就大,后来已经在按键里面加了清零了,每次起跑积分从0开始还是上升至饱和
回复 支持 反对

使用道具 举报

15

主题

383

帖子

0

精华

杰出人士

三轮飙车狂魔

Rank: 12Rank: 12Rank: 12

积分
17853
威望
12249
贡献
3258
兑换币
2783
注册时间
2015-10-15
在线时间
1173 小时
毕业学校
北方邮政大学
6#
发表于 2016-7-10 17:36:45 | 只看该作者
萌萌晨 发表于 2016-7-10 16:32
积分分离试过,加了一句  if(fDelta>=10||fDelta

你这是积分清零啊。。。不是积分分离。。。

我感觉跑的过程中积分清零是不合理的

积分分离是当当前速度和期望速度的差小于一定数值得时候,
这个时候的i*err才算有效的,才加到总的积分输出里面。。。

也就是说,比如你期望速度100,那么从0到80这段速度应该不参与积分的
回复 支持 反对

使用道具 举报

18

主题

466

帖子

0

精华

常驻嘉宾

你又在盯着我的头像

Rank: 8Rank: 8

积分
4193
威望
2071
贡献
1138
兑换币
1225
注册时间
2016-1-9
在线时间
492 小时
毕业学校
北华航天工业学院
7#
 楼主| 发表于 2016-7-10 18:32:30 | 只看该作者
361369499 发表于 2016-7-10 17:36
你这是积分清零啊。。。不是积分分离。。。

我感觉跑的过程中积分清零是不合理的

fDelta是速度与设定速度的误差,误差大于阈值时积分系数等于0,这样不对吗?只是积分系数这个变量是按键调的,想让它符合if时为0,否则按设置的数值,但误差大时积分好像没有停止累加
回复 支持 反对

使用道具 举报

15

主题

383

帖子

0

精华

杰出人士

三轮飙车狂魔

Rank: 12Rank: 12Rank: 12

积分
17853
威望
12249
贡献
3258
兑换币
2783
注册时间
2015-10-15
在线时间
1173 小时
毕业学校
北方邮政大学
8#
发表于 2016-7-10 18:44:50 | 只看该作者
萌萌晨 发表于 2016-7-10 18:32
fDelta是速度与设定速度的误差,误差大于阈值时积分系数等于0,这样不对吗?只是积分系数这个变量是按键 ...

哦。。。我理解错了,我以为你那个I是整个积分值。。。

这样积分分离确实是对。。。但你说加上后没有效果,可能是程序哪里有问题

回复 支持 反对

使用道具 举报

18

主题

466

帖子

0

精华

常驻嘉宾

你又在盯着我的头像

Rank: 8Rank: 8

积分
4193
威望
2071
贡献
1138
兑换币
1225
注册时间
2016-1-9
在线时间
492 小时
毕业学校
北华航天工业学院
9#
 楼主| 发表于 2016-7-10 20:25:11 | 只看该作者
361369499 发表于 2016-7-10 18:44
哦。。。我理解错了,我以为你那个I是整个积分值。。。

这样积分分离确实是对。。。但你说加上后没有 ...

额,我再研究研究
回复 支持 反对

使用道具 举报

14

主题

37

帖子

0

精华

高级会员

Rank: 4

积分
913
威望
462
贡献
275
兑换币
280
注册时间
2015-8-7
在线时间
88 小时
毕业学校
123
10#
发表于 2016-7-11 03:15:45 | 只看该作者
i 限副 -------->   i 设定很小。刚开始不给限副,观察图像。此时i会一直加,跑个几圈,看你哪一段速度重合的比较好,i 限副就是那时候的值。然后加大 i 让i很快到达那个值。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-3 04:18 , Processed in 0.048706 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表