智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3483|回复: 28
打印 上一主题 下一主题

疯狂的电机

[复制链接]

7

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1206
威望
584
贡献
320
兑换币
377
注册时间
2016-12-10
在线时间
151 小时
毕业学校
豫东某校
跳转到指定楼层
1#
发表于 2018-3-22 23:38:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 imaxaioxi 于 2018-3-22 23:40 编辑
各位车友,本小菜向各位大佬问声好!无事不登智能车论坛,本菜菜在智能车制作过程中又遇到了新问题,还请各位大佬帮忙
话说本菜菜最近在做电机闭环,在调节pid的时候遇到了一些问题,不是很明白.
首先,本菜菜放在赛道上之前,使用虚拟示波器观察其速度曲线,调了一个很好看的波峰,只有一个峰哟,
如图,还不错吧,于是本菜菜强忍着内心的愉悦,迫不及待的把车子放在赛道上试了试(考虑到赛道的摩擦力,要想输出同样的速度,应该需要更大的占空比吧,要输出更大的占空比的话,电机pi系数也应该增大吧,于是本菜菜增大了相应的系数,比如ki原来是0.2,本菜菜增加到了0.22,就是这个样子),但是把车子放到赛道上以后,车子的疯狂的跑了起来,根本不像我设定的速度,而且直道一会快,一会慢,明显震荡,当时我的心是奔溃的,于是想使用虚拟示波器查看曲线,无奈发送函数时间太长,影响了控制周期,结果图像就看不成了,于是本菜菜从0.01从头开始调,一直调到0.20,也没觉得电机很乖巧,ki小的时候,电机启动贼慢,大的时候吧,电机又不稳定,
想问下各位大佬是怎么做电机闭环的?(对了,本菜菜使用的是增量式pid)
对了,本菜菜在车子跑的时候感觉到车子启动时在赛道会有打滑的现象,这会不会影响呀?
希望各位大佬能够为本菜菜指点一下,不用太细,本菜菜知道有些学校是不会外传的,所以各位大佬只需提点一下,剩下的就让本菜菜去悟吧!
附增量式电机pid代码:
  1. void Speed_deal(void)
  2. {
  3.     error_speed_left = (double)(speed_left_set - speed_left_real);
  4.     d_speed_left_out = (int) ( Kp_speed * (error_speed_left-error_speed_left_last) +  
  5.     Ki_speed * error_speed_left +
  6.     Kd_speed *  (error_speed_left-2*error_speed_left_last + error_speed_left_pre));
  7.     error_speed_right = (double)(speed_right_set - speed_right_real );                       
  8.     d_speed_right_out = (int) ( Kp_speed * (error_speed_right-error_speed_right_last)+
  9.     Ki_speed * error_speed_right +
  10.     Kd_speed * (error_speed_right-2*error_speed_right_last + error_speed_right_pre));
  11.    
  12.     error_speed_left_pre=error_speed_left_last;
  13.     error_speed_left_last=error_speed_left;
  14.     error_speed_right_pre=error_speed_right_last;
  15.     error_speed_right_last=error_speed_right;
  16.    
  17.     if(speed_left_real==0)
  18.     {
  19.         speed_left_out=d_speed_left_out;
  20.     }
  21.     else
  22.     {
  23.         speed_left_out += d_speed_left_out;
  24.     }
  25.     if(speed_left_real == 0)
  26.     {
  27.         speed_right_out = d_speed_right_out;
  28.     }
  29.     else
  30.     {
  31.         speed_right_out += d_speed_right_out;
  32.     }
  33.    duty_left=(int)(speed_left_out/kr_left)+duty_death;
  34.    duty_right=(int)(speed_right_out/kr_right)+duty_death;
复制代码




补充内容 (2018-3-24 22:10):
感谢各位大佬提点,目前本菜菜在不识别圆环的情况下轻松上两米,哈哈

本帖子中包含更多资源

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

x
回复

使用道具 举报

4

主题

67

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1960
威望
970
贡献
608
兑换币
631
注册时间
2016-8-5
在线时间
191 小时
毕业学校
SDUST
2#
发表于 2018-3-23 00:37:01 | 只看该作者
顶一顶,我也有这种疑问
回复 支持 反对

使用道具 举报

56

主题

4914

帖子

3

精华

顶级版主

北京科技大学智能汽车队公共主页管理员

Rank: 11Rank: 11Rank: 11Rank: 11

积分
56131

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
19568
贡献
13933
兑换币
3365
注册时间
2010-7-22
在线时间
11315 小时
3#
发表于 2018-3-23 01:39:35 | 只看该作者
先调KP到临界振荡,然后KP减到大概80%调ki。电机系统KD可以不用调
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3678
QQ
威望
1769
贡献
1093
兑换币
1057
注册时间
2016-4-27
在线时间
408 小时
毕业学校
巢湖学院
4#
发表于 2018-3-23 03:33:15 | 只看该作者
一直有个疑问 Kp乘偏差变化率 但是一开始转速为0,无论p多大都不可能有数值的吧,增量式应该先调ki吧
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3678
QQ
威望
1769
贡献
1093
兑换币
1057
注册时间
2016-4-27
在线时间
408 小时
毕业学校
巢湖学院
5#
发表于 2018-3-23 03:34:18 | 只看该作者
aytc100 发表于 2018-3-23 01:39
先调KP到临界振荡,然后KP减到大概80%调ki。电机系统KD可以不用调

就是kp是乘偏差变化率 一开始变化率是0的 无论p多大都无法输出,增量式不应该先KI吗 这个问题我很困扰
回复 支持 反对

使用道具 举报

56

主题

1684

帖子

2

精华

版主

有所思,有所为。

Rank: 9Rank: 9Rank: 9

积分
9497

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章资源大师奖章论坛骨干奖章

威望
6762
贡献
83
兑换币
3601
注册时间
2014-10-31
在线时间
1326 小时
6#
发表于 2018-3-23 07:37:37 | 只看该作者
回复 支持 反对

使用道具 举报

7

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1206
威望
584
贡献
320
兑换币
377
注册时间
2016-12-10
在线时间
151 小时
毕业学校
豫东某校
7#
 楼主| 发表于 2018-3-23 08:50:33 | 只看该作者
じ~凝眸处 发表于 2018-3-23 07:37
http://www.znczz.com/forum.php?mod=viewthread&tid=264685&extra=

大佬,大佬,我看了你的帖子,帖子中详细说明了空载时如何调参,但是我弱弱的问下,您说的放在路上微调指的是往上调还是往下调呢?
回复 支持 反对

使用道具 举报

7

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1206
威望
584
贡献
320
兑换币
377
注册时间
2016-12-10
在线时间
151 小时
毕业学校
豫东某校
8#
 楼主| 发表于 2018-3-23 08:52:09 | 只看该作者
aytc100 发表于 2018-3-23 01:39
先调KP到临界振荡,然后KP减到大概80%调ki。电机系统KD可以不用调

我试试呀,大佬,谢谢大佬提点!
回复 支持 反对

使用道具 举报

7

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1206
威望
584
贡献
320
兑换币
377
注册时间
2016-12-10
在线时间
151 小时
毕业学校
豫东某校
9#
 楼主| 发表于 2018-3-23 09:33:09 | 只看该作者
aytc100 发表于 2018-3-23 01:39
先调KP到临界振荡,然后KP减到大概80%调ki。电机系统KD可以不用调

大佬,大佬,两点疑惑1.您说的调节是直接放到赛道上调吗?
2.p临界稳定是通过虚拟示波器看的,还是通过车子运行的状态来观察得到的
回复 支持 反对

使用道具 举报

56

主题

4914

帖子

3

精华

顶级版主

北京科技大学智能汽车队公共主页管理员

Rank: 11Rank: 11Rank: 11Rank: 11

积分
56131

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
19568
贡献
13933
兑换币
3365
注册时间
2010-7-22
在线时间
11315 小时
10#
发表于 2018-3-23 09:44:59 | 只看该作者
1、直接放到赛道上调
2、听声音就行了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 13:43 , Processed in 0.071347 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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