智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3621|回复: 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
回复

使用道具 举报

7

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1206
威望
584
贡献
320
兑换币
377
注册时间
2016-12-10
在线时间
151 小时
毕业学校
豫东某校
29#
 楼主| 发表于 2018-3-26 22:59:06 | 只看该作者
来一杯烈酒 发表于 2018-3-26 22:53
六楼发链接的大神就是

6楼的确很666
回复 支持 反对

使用道具 举报

10

主题

426

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4369

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章

威望
1927
贡献
1278
兑换币
1341
注册时间
2017-7-20
在线时间
582 小时
28#
发表于 2018-3-26 22:53:45 | 只看该作者
imaxaioxi 发表于 2018-3-26 22:44
敢问这位大佬在论坛的昵称是什么

六楼发链接的大神就是
回复 支持 反对

使用道具 举报

7

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1206
威望
584
贡献
320
兑换币
377
注册时间
2016-12-10
在线时间
151 小时
毕业学校
豫东某校
27#
 楼主| 发表于 2018-3-26 22:44:52 | 只看该作者
来一杯烈酒 发表于 2018-3-26 14:42
我觉得火钳刘明大神的帖子上的调法见效特别快

敢问这位大佬在论坛的昵称是什么
回复 支持 反对

使用道具 举报

10

主题

426

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4369

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章

威望
1927
贡献
1278
兑换币
1341
注册时间
2017-7-20
在线时间
582 小时
26#
发表于 2018-3-26 14:42:25 | 只看该作者
我觉得火钳刘明大神的帖子上的调法见效特别快
回复 支持 反对

使用道具 举报

4

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
377
威望
205
贡献
114
兑换币
129
注册时间
2017-3-6
在线时间
29 小时
毕业学校
昆明理工大学
25#
发表于 2018-3-25 17:56:39 | 只看该作者
星空_xALOC 发表于 2018-3-24 17:17
放在赛道上,车一输出,跑了,怎么看波形?我的理解是直接空载,然后看电机输出的占空比。

借助无线设备看呗!
回复 支持 反对

使用道具 举报

11

主题

368

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4377
威望
2287
贡献
1340
兑换币
1240
注册时间
2017-2-21
在线时间
375 小时
24#
发表于 2018-3-24 17:17:28 | 只看该作者
东方斗魂 发表于 2018-3-23 12:50
调闭环好像直接在赛道上调合适吧

放在赛道上,车一输出,跑了,怎么看波形?我的理解是直接空载,然后看电机输出的占空比。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
566
QQ
威望
274
贡献
178
兑换币
183
注册时间
2017-11-3
在线时间
57 小时
毕业学校
宇宙小学
23#
发表于 2018-3-24 11:25:56 | 只看该作者
lzw12138 发表于 2018-3-23 03:34
就是kp是乘偏差变化率 一开始变化率是0的 无论p多大都无法输出,增量式不应该先KI吗 这个问题我很困扰

初始化的时候,current_error为现在的偏差,但是last_error 并没有赋值所以是 0,它们相减是很大的。
回复 支持 反对

使用道具 举报

6

主题

72

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2161
威望
1116
贡献
679
兑换币
745
注册时间
2017-5-6
在线时间
183 小时
毕业学校
江苏省
22#
发表于 2018-3-23 15:27:56 | 只看该作者
直接在赛道上调,该加的能加起来,该减的能减下来就很好,多试机组参数,看看参数的大小会对加速减速起步产生怎样影响。
回复 支持 反对

使用道具 举报

12

主题

2039

帖子

2

精华

顶级版主

只好把岁月化成歌 留在山河

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

积分
43961

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

威望
26183
贡献
9392
兑换币
6553
注册时间
2011-9-30
在线时间
4193 小时
毕业学校
南京动专
21#
发表于 2018-3-23 15:13:07 | 只看该作者
imaxaioxi 发表于 2018-3-23 11:37
大佬,积分限幅可否理解为积分分离呢

不太一样
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-29 10:15 , Processed in 0.078401 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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