智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9439|回复: 11
打印 上一主题 下一主题

舵机控制 心得

[复制链接]

6

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1092
QQ
威望
556
贡献
346
兑换币
358
注册时间
2012-10-22
在线时间
95 小时
跳转到指定楼层
1#
发表于 2014-4-28 12:56:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天花了一天的时间研究180度舵机的编程,发现一个问题。舵机转动的角度与占空比无关,而与脉宽(通道周期*占空比寄存器)有关。
以前看过一些资料得到的认识,把总线频率设置为64M,PWM A时钟64分频(),01级联,选择A时钟(通道周日1us),周期寄存器设置为20000,这样就可以给舵机提供20ms的脉冲周期,占空比寄存器设置为500到2500就可以调节-90度到90度。

我一直认为角度与占空比有关
后来我就吧周期寄存器设置为10000,占空比寄存器设置为250到1250,结果舵机只能从-90度到 不到0度的样子。  
我把占空比寄存器改回到500到2500,舵机又能从-90到90度。
接着分别把周期寄存器改成5000和60000,占空比寄存器还是500到2500,舵机也能转-90到90度。
到此为止,我总结出,舵机的角度与占空比(占空比寄存器500到2500,周期任意设置,大于2500)无关。
然后我把通道周期设置为10us,周期寄存器还是20000,占空比寄存器为50到250,舵机确实能转180度。再把周期寄存器设置为255,舵机还是能转180度。

总结,舵机控制与占空比(占空比寄存器/周期寄存器)无关,与脉冲宽度(通道周期*占空比寄存器)有关。

我们学校的机器人协会做双足,需要控制六个舵机,写程序用到定时器模拟出6个PWM通道(我在协会不是搞双足的,是搞智能车方面的,不是飞思卡尔智能车。我看过双足程序,模拟出PWM,设数值控制舵机角度,数值是50到250)。如果按以往的认识,控制舵机必须要级联的PWM通道,无法控制6个舵机。现在我得出的结论,颠覆了以往的认识(难道我以前看资料,理解错了?)。一个单片机不需要级联PWM通道,就可以最多控制8个舵机。

本人是个菜鸟,希望有机会跟网友多交流交流QQ654549279




补充内容 (2014-5-3 11:28):

180度舵机+360度舵机 程序 在7楼
回复

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

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

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
2#
发表于 2014-4-28 13:17:40 | 只看该作者
很有道理。
回复 支持 反对

使用道具 举报

165

主题

4119

帖子

2

精华

杰出人士

老司机【呆萌侠】

Rank: 12Rank: 12Rank: 12

积分
16895

活跃会员奖章优秀会员奖章推广达人奖章热心会员奖章论坛元老奖章论坛骨干奖章在线王奖章资源大师奖章

QQ
威望
9751
贡献
4562
兑换币
1629
注册时间
2011-7-23
在线时间
1291 小时
毕业学校
工大
3#
发表于 2014-4-28 16:20:23 | 只看该作者
还是不透。。。
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1092
QQ
威望
556
贡献
346
兑换币
358
注册时间
2012-10-22
在线时间
95 小时
4#
 楼主| 发表于 2014-4-28 16:42:49 | 只看该作者
恋May 发表于 2014-4-28 16:20
还是不透。。。

???
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
26
威望
24
贡献
2
兑换币
3
注册时间
2014-5-1
在线时间
0 小时
毕业学校
厦门理工
5#
发表于 2014-5-1 10:49:51 | 只看该作者
请教一下你用的是什么型号的舵机呀?
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1092
QQ
威望
556
贡献
346
兑换币
358
注册时间
2012-10-22
在线时间
95 小时
6#
 楼主| 发表于 2014-5-1 21:46:47 | 只看该作者
吉╰☆╰☆米 发表于 2014-5-1 10:49
请教一下你用的是什么型号的舵机呀?

MG945,MG995
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1092
QQ
威望
556
贡献
346
兑换币
358
注册时间
2012-10-22
在线时间
95 小时
7#
 楼主| 发表于 2014-5-3 11:27:40 | 只看该作者
180度舵机+360度舵机 程序

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
威望
178
贡献
114
兑换币
117
注册时间
2014-3-24
在线时间
55 小时
8#
发表于 2014-5-7 20:59:48 | 只看该作者
恋May 发表于 2014-4-28 16:20
还是不透。。。

是不是可以这么讲,
占空比=(PWMDTYx/PWMPERx)×100%;(CAEx=0)-------------(1)


PWM x 周期=通道时钟周期×PWMPERx;(PPOLx =1)--------------------(2)

所谓脉宽就是PWMx周期×占空比,也就是(1)×(2).那么显然通道时钟周期不变的情况下,占空比一定,那么500--2500的范围很显然是固定的。


回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1092
QQ
威望
556
贡献
346
兑换币
358
注册时间
2012-10-22
在线时间
95 小时
9#
 楼主| 发表于 2014-5-14 22:38:08 | 只看该作者
破釜沉舟1 发表于 2014-5-7 20:59
是不是可以这么讲,
占空比=(PWMDTYx/PWMPERx)×100%;(CAEx=0)-------------(1)

是的
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1092
QQ
威望
556
贡献
346
兑换币
358
注册时间
2012-10-22
在线时间
95 小时
10#
 楼主| 发表于 2014-5-18 17:57:30 | 只看该作者
头上两只角 发表于 2014-4-28 13:17
很有道理。

你会两个单片机用SPI通信吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 20:22 , Processed in 0.057950 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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