智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 24310|回复: 79
打印 上一主题 下一主题

pwm舵机控制模块

    [复制链接]

15

主题

171

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1618

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

QQ
威望
726
贡献
414
兑换币
189
注册时间
2012-7-31
在线时间
239 小时
跳转到指定楼层
1#
发表于 2012-9-14 20:01:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

控制思想

该模块的程序框图如图 4.5 所示。车模在行驶过程中不断采样赛道信息,并通过分 析车模与赛道相对位置判断车模所处赛道路况,是弯道还是直道,弯道时是左转还是右转。直道时小车舵机状态保持不变,弯道时左转或右转,计算转弯半径。我们所用舵机的标准PWM周期为20ms,转动角度最大为左右90度,PWM调制波如图7.2所示。

当给舵机输入脉宽为0.5ms,即占空比为0.5/20=2.5%的调制波时,舵机右转90度;当给舵机输入脉宽为1.5ms,即占空比为1.5/20=7.5%的调制波时,舵机静止不动;当给舵机输入脉宽为2.5ms,即占空比为2.5/20=12.5%的调制波时,舵机左转90度。可以推导出舵机转动角度与脉冲宽度的关系计算公式为:

注:其中t为正脉冲宽度(ms);θ为转动角度;当左转时取加法计算,右转时取减 法计算结果。

当我们根据赛道弯度计算出转动角度以后便可以根据舵机的参数计算出脉冲宽度,控制舵机转动,舵机转角与PWM脉宽关系如表4-1所示 。


在具体操作中PWM调制波的周期可以设置在20ms左右一定范围内,比如设置为10ms 或是30ms均可以使舵机正常转动,但是设置周期较长时,系统延迟时间较多,舵机转向会出现滞后,导致赛车冲出跑道;设置周期如果过短,系统输出PWM 调制波不稳定,舵机转动也会受影响,不能实现赛车的精确转向。经过反复测试,最终把输出 PWM 调制波周期设定为13ms。

运行电机的转速以及舵机的转角,在软件上都是通过对PWM 波占空比进行设置来相应控制的。前面提到,舵机转角控制需要将两个八位寄存器合成为一个十六位寄存器。程序中的舵机位置信号,当PWM调制波周期设为13ms时,因为总线频率为24MHz,用时钟SB,可计算得到16进制参数为9870H,舵机中间位置时占空比16进制参数为1680H,要分配给PWM6和7,分配时这2个端口的赋值必须是16进制,那么PWM模块初始化赋值为

PWMPER6= 0x98,PWMPER7= 0x70,PWMDTY6= 0x16,PWMDTY7= 0x80,因此这就牵涉到如何将1个十进制数分配为2个十六进制数问题。有2种方案,一种是除法取余,另一种是移位操作,前者编译生成的代码比后者要多,所以采用移位操作来实现,即取高位时 与0xFF00先作“&”计算,然后将所得到的数向右移8位(>>8),即可取得高8位;同理,取低8位时只要与0x00FF作“&”计算即可。

本帖子中包含更多资源

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

x

27

主题

441

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2351

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

威望
1251
贡献
584
兑换币
296
注册时间
2012-5-24
在线时间
258 小时
毕业学校
南昌航空大学
2#
发表于 2012-9-15 09:28:35 | 只看该作者
不错!!
回复 支持 反对

使用道具 举报

5

主题

370

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1534
QQ
威望
921
贡献
397
兑换币
68
注册时间
2011-11-26
在线时间
108 小时
3#
发表于 2012-9-15 12:29:22 | 只看该作者
nice
回复 支持 反对

使用道具 举报

42

主题

1450

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8643

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

威望
4293
贡献
2166
兑换币
2108
注册时间
2011-10-20
在线时间
1092 小时
4#
发表于 2012-9-15 22:50:06 | 只看该作者
回复 支持 反对

使用道具 举报

25

主题

1217

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
27542

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

QQ
威望
18741
贡献
5859
兑换币
3255
注册时间
2012-6-6
在线时间
1471 小时
5#
发表于 2012-9-17 22:47:54 | 只看该作者
不错
回复 支持 反对

使用道具 举报

7

主题

171

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1627
威望
893
贡献
510
兑换币
283
注册时间
2012-9-8
在线时间
112 小时
6#
发表于 2012-9-18 16:57:31 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
威望
165
贡献
67
兑换币
3
注册时间
2012-7-28
在线时间
9 小时
7#
发表于 2012-9-19 00:20:09 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

37

帖子

0

精华

注册会员

Rank: 2

积分
185
威望
145
贡献
30
兑换币
2
注册时间
2012-8-24
在线时间
5 小时
8#
发表于 2012-9-19 00:45:13 | 只看该作者
好!!  
回复 支持 反对

使用道具 举报

3

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
379
威望
217
贡献
110
兑换币
57
注册时间
2012-9-17
在线时间
26 小时
毕业学校
西邮
9#
发表于 2012-9-19 22:40:26 | 只看该作者
呵呵,,谢啦
回复 支持 反对

使用道具 举报

7

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
852
威望
445
贡献
273
兑换币
146
注册时间
2012-2-3
在线时间
67 小时
毕业学校
西南科技大学
10#
发表于 2012-9-28 20:27:11 | 只看该作者
一般的不都是用20ms周期吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 14:38 , Processed in 0.078262 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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