智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4504|回复: 15
打印 上一主题 下一主题

求大神解释啊,舵机转角很慢问题

[复制链接]

13

主题

287

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026

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

威望
572
贡献
272
兑换币
354
注册时间
2013-7-18
在线时间
91 小时
跳转到指定楼层
#
发表于 2014-5-5 21:32:47 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
20贡献
换了kl26芯片,之后移植代码后,发现我们设置的4ms进一次定时中断,20ms控制一次舵机的程序有很多问题,首先是发现当检测到ad值改变很大的时候,舵机是很缓慢的转到对应的角度,舵机设置50hz,后来把进中断时间改小,1ms一次,发现会稍块一点点,然后在该,一直改,到了100ns进一次中断,控制一次舵机,还是相对而言的慢,虽然比前面快,时间再缩短舵机就不响应了。请问各位大神,这怎么办,pll频率从220降到96,总线频率40降到24也效果不佳,所以应该不是超频的原因,望各位帮忙,万分感谢,找了好几天的问题,还是不知怎么办。
回复

使用道具 举报

13

主题

287

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026

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

威望
572
贡献
272
兑换币
354
注册时间
2013-7-18
在线时间
91 小时
15#
 楼主| 发表于 2015-10-21 17:49:51 | 只看该作者
奋斗奋斗 发表于 2015-6-27 12:00
问下你这个问题是怎么解决的?我也遇到了

你是不是把舵机中值初始值写成上一次的舵机值了,那样产生类似于增量式的效果,本来应该每次都是中值加或者减变化量,你搞成了在上一次舵机的值基础上加或者减,我当时是这样。
回复

使用道具 举报

12

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
337
威望
190
贡献
89
兑换币
104
注册时间
2015-4-12
在线时间
29 小时
毕业学校
本科
14#
发表于 2015-6-27 12:00:59 | 只看该作者
delay_18 发表于 2014-5-9 17:00
谢谢你的帮助  终于找到问题所在,是程序写错了一句

问下你这个问题是怎么解决的?我也遇到了
回复

使用道具 举报

14

主题

81

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
威望
560
贡献
309
兑换币
354
注册时间
2013-11-16
在线时间
98 小时
毕业学校
wuhu
13#
发表于 2015-3-16 22:36:23 | 只看该作者
:):):)
回复

使用道具 举报

6

主题

308

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1467

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

威望
701
贡献
410
兑换币
428
注册时间
2014-1-6
在线时间
178 小时
12#
发表于 2014-5-9 18:31:07 | 只看该作者
delay_18 发表于 2014-5-9 17:00
谢谢你的帮助  终于找到问题所在,是程序写错了一句

客气,其实我也没有给与你多少帮助
回复

使用道具 举报

13

主题

287

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026

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

威望
572
贡献
272
兑换币
354
注册时间
2013-7-18
在线时间
91 小时
11#
 楼主| 发表于 2014-5-9 17:00:30 | 只看该作者
狂野的庄稼汉 发表于 2014-5-7 16:34
哦,可能是你的控制周期太长了吧

谢谢你的帮助  终于找到问题所在,是程序写错了一句
回复

使用道具 举报

13

主题

287

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026

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

威望
572
贡献
272
兑换币
354
注册时间
2013-7-18
在线时间
91 小时
10#
 楼主| 发表于 2014-5-7 12:26:22 | 只看该作者
狂野的庄稼汉 发表于 2014-5-6 21:59
比如你定义误差为unsigned char,那么它的有效范围应该是0--255,如果得到255以上或者0以下,那么就数据溢 ...

哦,谢谢,我们把舵机控制放到主函数里面就可以转的比较快。
回复

使用道具 举报

6

主题

308

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1467

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

威望
701
贡献
410
兑换币
428
注册时间
2014-1-6
在线时间
178 小时
9#
发表于 2014-5-6 21:59:39 | 只看该作者
delay_18 发表于 2014-5-6 20:25
数据溢出指的是?

比如你定义误差为unsigned char,那么它的有效范围应该是0--255,如果得到255以上或者0以下,那么就数据溢出了,我之前就有过因为数据溢出导致舵机在临界值的时候颤抖
回复

使用道具 举报

13

主题

287

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026

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

威望
572
贡献
272
兑换币
354
注册时间
2013-7-18
在线时间
91 小时
8#
 楼主| 发表于 2014-5-6 20:25:52 | 只看该作者
狂野的庄稼汉 发表于 2014-5-6 15:32
这个.....3s也太慢了吧,那你再盘查下程序吧,看看有没有数据溢出之类的

数据溢出指的是?
回复

使用道具 举报

6

主题

308

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1467

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

威望
701
贡献
410
兑换币
428
注册时间
2014-1-6
在线时间
178 小时
7#
发表于 2014-5-6 15:32:36 | 只看该作者
delay_18 发表于 2014-5-6 14:56
是刚开始测试之用一个p,测试舵机转角,就是慢的。放到一个角度,经过3s才转到那个角度

这个.....3s也太慢了吧,那你再盘查下程序吧,看看有没有数据溢出之类的
回复

使用道具 举报

13

主题

287

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1026

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

威望
572
贡献
272
兑换币
354
注册时间
2013-7-18
在线时间
91 小时
6#
 楼主| 发表于 2014-5-6 14:56:21 | 只看该作者
狂野的庄稼汉 发表于 2014-5-6 14:53
感觉是PID参数没有调好导致的舵机响应滞后

是刚开始测试之用一个p,测试舵机转角,就是慢的。放到一个角度,经过3s才转到那个角度
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 19:43 , Processed in 0.058977 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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