智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2854|回复: 7
打印 上一主题 下一主题

速度环怎么调?调到怎样算成功?

[复制链接]

13

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
816
威望
469
贡献
223
兑换币
213
注册时间
2016-5-8
在线时间
62 小时
毕业学校
加里顿大学
跳转到指定楼层
1#
发表于 2017-6-13 23:45:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关闭转向环,只用直立环和速度环吗?
这样调的话,速度环调到什么程度算成功了呢?
快来个老司机把!

本帖子中包含更多资源

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

x
回复

使用道具 举报

13

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
816
威望
469
贡献
223
兑换币
213
注册时间
2016-5-8
在线时间
62 小时
毕业学校
加里顿大学
2#
 楼主| 发表于 2017-6-13 23:52:04 | 只看该作者
  1. void SpeedPID()//都正 前冲  都负 后冲  结论
  2. {   
  3.    LastSpeedCut0 = (g_nLeftMotorPulseSigma+g_nRightMotorPulseSigma)/2 ;//将左右轮的速度取平均
  4.    sumlspeed =g_nLeftMotorPulseSigma;
  5.    sumrspeed = g_nRightMotorPulseSigma;
  6.    g_nLeftMotorPulseSigma=0;
  7.    g_nRightMotorPulseSigma=0;//然后清零
  8.    if(g_nSpeedControlFlag == 0) //如果加了停车遥控,有时命令停车时还不挺,需要将积分项清零
  9.    {
  10.       SpeedPWMKI = 0 ;
  11.       SpeedPWMKP = 0 ;
  12.       LastSpeedCut0 = DSpeed ;
  13.       g_SpeedControlIntegral=0;//积分项
  14.     }  
  15.     DSpeed =g_Speedgoal;//内部速度
  16.     SpeedDifference0 =LastSpeedCut0-DSpeed  ;//与实际速度做差
  17.    
  18.     SpeedPWMKP = SpeedKP*SpeedDifference0/10;                //P
  19.     SpeedPWMKI = SpeedKI*(SpeedDifference0-oldSpeeDif)/10;  //D
  20.     oldSpeeDif = SpeedDifference0;
  21.     g_SpeedControlOutOld=g_SpeedControlOutNew;
  22.     g_SpeedControlOutNew = SpeedPWMKP;// + SpeedPWMKI;
  23.    
  24.     if(SpeedPWMKP>KPPLUSMAX)//30000
  25.     {
  26.       SpeedPWMKP = KPPLUSMAX;
  27.     }
  28.     else if (SpeedPWMKP <KPNEGATIVEMAX)
  29.     {
  30.       SpeedPWMKP = KPNEGATIVEMAX;                       
  31.     }
  32.     if(SpeedPWMKI > KIPLUSMAX)//30000
  33.     {
  34.       SpeedPWMKI = KIPLUSMAX;
  35.     }
  36.     else if(SpeedPWMKI < KINEGATIVEMAX)
  37.     {
  38.       SpeedPWMKI = KINEGATIVEMAX;
  39.     }
  40. }
复制代码


回复 支持 反对

使用道具 举报

13

主题

53

帖子

0

精华

高级会员

Rank: 4

积分
816
威望
469
贡献
223
兑换币
213
注册时间
2016-5-8
在线时间
62 小时
毕业学校
加里顿大学
3#
 楼主| 发表于 2017-6-13 23:55:31 | 只看该作者
以上是参考程序,但新人实在不懂PID,大佬们能否具体和我说一下参数 SpeedPWMKP以及 SpeedPWMKI的含义及作用!
感激不尽!
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
420
威望
221
贡献
125
兑换币
131
注册时间
2014-12-23
在线时间
37 小时
4#
发表于 2017-6-14 21:18:32 | 只看该作者
g_SpeedControlOutNew 输出舵机打角值,SpeedPWMKP是通过P积分算出,SpeedPWMKI是通过I微分算出,g_SpeedControlOutNew  =  SpeedPWMKP + SpeedPWMKI;
回复 支持 反对

使用道具 举报

23

主题

140

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1250
QQ
威望
702
贡献
376
兑换币
437
注册时间
2016-1-25
在线时间
86 小时
毕业学校
湖北汽车工业学院
5#
发表于 2017-6-17 16:32:45 | 只看该作者
梦幻-天空 发表于 2017-6-14 21:18
g_SpeedControlOutNew 输出舵机打角值,SpeedPWMKP是通过P积分算出,SpeedPWMKI是通过I微分算出,g_SpeedCo ...

加速加的停不下来
回复 支持 反对

使用道具 举报

4

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
威望
134
贡献
70
兑换币
83
注册时间
2016-3-26
在线时间
27 小时
毕业学校
安徽三联学院
6#
发表于 2017-6-17 19:24:59 | 只看该作者
同问,速度换该怎么调。。。还有直立换跟速度环之间的关系,怎么算是很好。。。。。
回复 支持 反对

使用道具 举报

15

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
598
威望
292
贡献
146
兑换币
174
注册时间
2017-4-4
在线时间
80 小时
毕业学校
北大
7#
发表于 2017-6-17 23:23:21 | 只看该作者
zqs3328729 发表于 2017-6-17 19:24
同问,速度换该怎么调。。。还有直立换跟速度环之间的关系,怎么算是很好。。。。。

个人觉得静态调速度参数没什么意义哈 还不如加个小的速度设定值把方向控制也加进来调pi参数

回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1317
威望
527
贡献
326
兑换币
342
注册时间
2017-3-15
在线时间
232 小时
8#
发表于 2017-6-21 14:52:18 | 只看该作者
调到你开30圈 每一圈的时间一模一样为止(我猜的)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 19:19 , Processed in 0.040749 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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