智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 林夕22
打印 上一主题 下一主题

[软件类] 速度控制的问题

  [复制链接]

7

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
威望
205
贡献
60
兑换币
2
注册时间
2012-3-20
在线时间
14 小时
21#
发表于 2012-5-16 13:13:51 | 只看该作者
风少 发表于 2012-5-15 21:06
你是定义的1ms中断是吧,我有个问题就是当100ms的时候,那么1ms中断里面的几乎所有的程序都要被执行(因为 ...

1ms中断中设置变量i,不同的i对应不同的子程序,i累加,i清零。
回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
22#
发表于 2012-5-16 15:03:55 | 只看该作者
林夕22 发表于 2012-5-16 09:19
我的理解是:每个1ms中断里不是所有程序都会执行,只有满足IF条件的时候才会执行。里面的g_n1MSEventCoun ...

恩,我也是这样认为的,但是要保证中断程序执行时间不能超过1ms,AD转换那块容易超出,感谢!
回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
23#
发表于 2012-5-16 15:04:38 | 只看该作者
范德萨 发表于 2012-5-16 13:13
1ms中断中设置变量i,不同的i对应不同的子程序,i累加,i清零。

谢谢!
回复 支持 反对

使用道具 举报

4

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
531
威望
362
贡献
99
兑换币
0
注册时间
2012-1-6
在线时间
35 小时
24#
 楼主| 发表于 2012-5-16 16:18:00 | 只看该作者
风少 发表于 2012-5-16 15:03
恩,我也是这样认为的,但是要保证中断程序执行时间不能超过1ms,AD转换那块容易超出,感谢!

这个时间似乎可以计算出来。
回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
25#
发表于 2012-5-16 19:58:09 | 只看该作者
林夕22 发表于 2012-5-16 16:18
这个时间似乎可以计算出来。

还有哥们,最后那个PWM输出设置函数到底应该怎么做啊?不是最后加一个比例值就行了吗?关键是这个比例值要怎么调啊?我是新手,望指教,谢谢!
回复 支持 反对

使用道具 举报

4

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
531
威望
362
贡献
99
兑换币
0
注册时间
2012-1-6
在线时间
35 小时
26#
 楼主| 发表于 2012-5-16 21:28:57 | 只看该作者
风少 发表于 2012-5-16 19:58
还有哥们,最后那个PWM输出设置函数到底应该怎么做啊?不是最后加一个比例值就行了吗?关键是这个比例值要 ...

如果是速度输出的话,应该是比例加积分的,  g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /
SPEED_CONTROL_PERIOD +g_fSpeedControlOutOld;;如果是最终输出,则是 fLeft = g_fAngleControlOut - g_fSpeedControlOut - g_fDirectionControlOut;
    fRight = g_fAngleControlOut -  g_fSpeedControlOut +  g_fDirectionControlOut;

回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
27#
发表于 2012-5-17 00:46:05 | 只看该作者
林夕22 发表于 2012-5-16 21:28
如果是速度输出的话,应该是比例加积分的,  g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1 ...

我说的是最后加到电机上的占空比,你说的fLeft和fRight应该还要乘以一个比例值转化为占空比吧?这个占空比怎么确定?
回复 支持 反对

使用道具 举报

4

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
531
威望
362
贡献
99
兑换币
0
注册时间
2012-1-6
在线时间
35 小时
28#
 楼主| 发表于 2012-5-18 09:48:15 | 只看该作者
风少 发表于 2012-5-17 00:46
我说的是最后加到电机上的占空比,你说的fLeft和fRight应该还要乘以一个比例值转化为占空比吧?这个占空比 ...

看你给PWM初始化的时候PWMPER的值是什么!
回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
29#
发表于 2012-5-18 13:16:22 | 只看该作者
林夕22 发表于 2012-5-18 09:48
看你给PWM初始化的时候PWMPER的值是什么!

就比如说我周期给100,那么你最后控制占空比的时候也应该有个比例吧,这个比例怎么确定啊?就是你控制量怎么转化为占空比?
回复 支持 反对

使用道具 举报

4

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
531
威望
362
贡献
99
兑换币
0
注册时间
2012-1-6
在线时间
35 小时
30#
 楼主| 发表于 2012-5-18 14:37:12 | 只看该作者
风少 发表于 2012-5-18 13:16
就比如说我周期给100,那么你最后控制占空比的时候也应该有个比例吧,这个比例怎么确定啊?就是你控制量怎 ...

你最后算出来的直立,方向,速度的值加减过后乘以你的PWMPER,再把这个值赋给PWMDTY就可以了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 19:06 , Processed in 0.048542 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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