智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

速度平滑分配是如何实现的?

  [复制链接]

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
跳转到指定楼层
1#
发表于 2015-4-9 21:00:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
void SpeedControlOutput(void) {
float fValue;
fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /
SPEED_CONTROL_PERIOD +g_fSpeedControlOutOld;
}

这个是官方程序  我不是很理解如何实现? 他是100ms的周期,要平滑分配在25个直立控制周期内,如何实现的?
··求解

回复

使用道具 举报

2

主题

78

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2299
威望
1069
贡献
626
兑换币
703
注册时间
2014-12-30
在线时间
302 小时
毕业学校
武大
15#
发表于 2015-6-26 14:48:52 | 只看该作者

那个CONTROL_PERIOD 应该为20吧

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

19

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2948
威望
1463
贡献
847
兑换币
954
注册时间
2013-12-16
在线时间
319 小时
14#
发表于 2015-4-11 16:52:35 | 只看该作者
pang576101312 发表于 2015-4-11 10:00
fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
g_fSpeedControlOut = fValue * (g_nSpeedCo ...

嗯,
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

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

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
13#
发表于 2015-4-11 11:17:10 | 只看该作者
王青松0000 发表于 2015-4-11 11:06
大神不是你想叫   想叫就能叫

这样哦
回复 支持 反对

使用道具 举报

0

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
威望
237
贡献
147
兑换币
150
注册时间
2015-3-27
在线时间
55 小时
毕业学校
城头中心小学
12#
发表于 2015-4-11 11:06:53 | 只看该作者
zhou1994 发表于 2015-4-10 08:48
大神你莫乱喊

大神不是你想叫   想叫就能叫:lol
回复 支持 反对

使用道具 举报

18

主题

694

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8526

活跃会员奖章优秀会员奖章

威望
4770
贡献
1202
兑换币
2431
注册时间
2013-5-15
在线时间
1277 小时
11#
发表于 2015-4-11 10:38:15 | 只看该作者
pang576101312 发表于 2015-4-11 10:00
fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
g_fSpeedControlOut = fValue * (g_nSpeedCo ...

20还是100  看 速度周期/电机控制周期
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
10#
 楼主| 发表于 2015-4-11 10:00:37 | 只看该作者
纷纷扰扰 发表于 2015-4-10 23:15
速度控制周期100ms一次

fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /
SPEED_CONTROL_PERIOD +g_fSpeedControlOutOld;
请教一下,  这里的 SPEED_CONTROL_PERIOD宏定义为 100 ,我不是很理解,虽然它的周期为100ms测速一次,但是角度是5ms。 它这么写,是不是因为它的中断是1ms的定时器呢?    如果我把这个函数写在5ms的角度调整中断里,是不是除的就是20?
回复 支持 反对

使用道具 举报

19

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2948
威望
1463
贡献
847
兑换币
954
注册时间
2013-12-16
在线时间
319 小时
9#
发表于 2015-4-10 23:15:35 | 只看该作者
速度控制周期100ms一次
回复 支持 反对

使用道具 举报

22

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1488
威望
751
贡献
411
兑换币
442
注册时间
2015-1-27
在线时间
163 小时
毕业学校
陕西科技大学
8#
 楼主| 发表于 2015-4-10 20:41:26 | 只看该作者
纷纷扰扰 发表于 2015-4-10 20:05
因为它在中断里好好看看就能懂的结合中断里的程序

额 为什么它除的是100?  不是分成20份么,应该除以20啊
回复 支持 反对

使用道具 举报

19

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2948
威望
1463
贡献
847
兑换币
954
注册时间
2013-12-16
在线时间
319 小时
7#
发表于 2015-4-10 20:05:00 | 只看该作者
因为它在中断里好好看看就能懂的结合中断里的程序
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-25 07:00 , Processed in 0.050750 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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