智能车制作
标题: pwm舵机控制模块 [打印本页]
作者: 黎明sunshine 时间: 2012-9-14 20:01
标题: pwm舵机控制模块
控制思想
[attach]32175[/attach]
该模块的程序框图如图 4.5 所示。车模在行驶过程中不断采样赛道信息,并通过分 析车模与赛道相对位置判断车模所处赛道路况,是弯道还是直道,弯道时是左转还是右转。直道时小车舵机状态保持不变,弯道时左转或右转,计算转弯半径。我们所用舵机的标准PWM周期为20ms,转动角度最大为左右90度,PWM调制波如图7.2所示。
[attach]32177[/attach]
当给舵机输入脉宽为0.5ms,即占空比为0.5/20=2.5%的调制波时,舵机右转90度;当给舵机输入脉宽为1.5ms,即占空比为1.5/20=7.5%的调制波时,舵机静止不动;当给舵机输入脉宽为2.5ms,即占空比为2.5/20=12.5%的调制波时,舵机左转90度。可以推导出舵机转动角度与脉冲宽度的关系计算公式为:
[attach]32178[/attach]
注:其中t为正脉冲宽度(ms);θ为转动角度;当左转时取加法计算,右转时取减 法计算结果。
当我们根据赛道弯度计算出转动角度以后便可以根据舵机的参数计算出脉冲宽度,控制舵机转动,舵机转角与PWM脉宽关系如表4-1所示 。
[attach]32176[/attach]
在具体操作中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作“&”计算即可。
作者: 1434636181 时间: 2012-9-15 09:28
不错!!
作者: 774960834 时间: 2012-9-15 12:29
nice
作者: 叶子一哥 时间: 2012-9-15 22:50
作者: 简单丹 时间: 2012-9-17 22:47
不错
作者: zz蓝sea 时间: 2012-9-18 16:57
作者: melodi 时间: 2012-9-19 00:20
作者: arno_lin 时间: 2012-9-19 00:45
好!!
作者: 小车新手 时间: 2012-9-19 22:40
呵呵,,谢啦
作者: xu-lin 时间: 2012-9-28 20:27
一般的不都是用20ms周期吗?
作者: 海的声音 时间: 2012-10-17 11:01
作者: 小三爷 时间: 2012-10-23 19:18
xu-lin 发表于 2012-9-28 20:27
一般的不都是用20ms周期吗?
是啊
作者: liuCY 时间: 2012-10-26 12:36
好
作者: majihong 时间: 2012-11-4 00:17
作者: tanghui1990123 时间: 2012-11-24 18:54
作者: 刘伟lawrence 时间: 2012-11-27 21:33
:victory:
作者: &印 时间: 2012-12-1 12:26
有用
作者: fxk416532131 时间: 2012-12-1 15:57
受教
作者: yangguangyu 时间: 2012-12-3 11:55
帅哥,问个问题!那个舵机的频率是24MHZ,那么周期应该是
0.013*24000000=312000啊?怎么是9870呢?是不是我的计算有点问题,求指点啊,我这个地方也搞不明白!
作者: 煮石水 时间: 2012-12-8 23:07
作者: 背负蓝天的云 时间: 2012-12-10 10:30
makt
作者: wen123 时间: 2012-12-15 14:06
相当好!!!
作者: yangyulong123 时间: 2012-12-17 12:29
nice
作者: leepeeyoung 时间: 2012-12-17 12:37
非常好!!!
作者: ゞ卟メ懂Lveゞ 时间: 2012-12-17 22:40
不错、、
作者: 工大飞虎队007 时间: 2012-12-19 21:18
mark‘
作者: wpfly 时间: 2012-12-25 10:28
{:soso_e179:}
作者: yangyulong123 时间: 2012-12-29 14:55
我用的是k60,要把信号电压升到5v吗
作者: xiaopihai1213 时间: 2012-12-30 11:26
good
作者: zhongchunyuan 时间: 2012-12-31 10:14
谢谢==
作者: 天天向上2013 时间: 2013-1-4 22:06
很好
作者: 林的0922 时间: 2013-1-9 12:26
嘿。不错
作者: 110415101 时间: 2013-1-13 11:46
有用
作者: chlhyj 时间: 2013-1-21 10:12
顶一下
作者: 你好妈32 时间: 2013-1-21 15:00
真心不错
作者: 寒如风 时间: 2013-1-29 20:25
不错
作者: tianyi1729 时间: 2013-2-22 19:51
作者: 鸡蛋灌饼 时间: 2013-2-25 20:25
GOOD
作者: qcznc 时间: 2013-2-25 21:34
精彩
作者: Lo.ju 时间: 2013-2-27 19:39
作者: xiaohunnanzi 时间: 2013-3-2 11:21
舵机的占空比不是唯一的吧,好像即使相同型号的舵机如果要求相同的打角,占空比也不一样。。。
作者: ^戀·陽、 时间: 2013-3-2 19:02
顶一个
作者: zhouxin 时间: 2013-3-3 09:49
谢谢
作者: 小混蛋 时间: 2013-3-8 15:02
不错 哦
作者: 地狱狼 时间: 2013-3-12 11:28
:):):):)
作者: jkjkd123456 时间: 2013-3-15 20:31
恩啊不错
作者: 山楂草包 时间: 2013-3-20 12:48
GOOD JOB
作者: yyyzrxh 时间: 2013-3-21 21:52
周期比我们的短
作者: 张涛B 时间: 2013-3-24 18:17
good
作者: luqiwei 时间: 2013-3-25 19:45
仰望
作者: uli12345 时间: 2013-3-26 10:02
有用啊!
作者: m__dd 时间: 2013-3-26 14:59
yangyulong123 发表于 2012-12-29 14:55
我用的是k60,要把信号电压升到5v吗
同问
作者: 时光茶居 时间: 2013-3-26 17:49
谢谢
作者: panshaosong 时间: 2013-4-4 21:13
谢谢楼主的分享!给力
作者: 我是谁2011 时间: 2013-4-8 15:13
m__dd 发表于 2013-3-26 14:59
同问
k60如果用5V供电的话应该就是5V
作者: m__dd 时间: 2013-4-9 15:24
我是谁2011 发表于 2013-4-8 15:13
k60如果用5V供电的话应该就是5V
还是用个244吧
作者: 独行天下幻 时间: 2013-4-14 00:32
不错,谢谢!
作者: zhongchunyuan 时间: 2013-4-14 22:00
有没有参考程序。呢
作者: ii._wolf 时间: 2013-5-7 17:01
刚做
作者: zhuangzi1227 时间: 2013-5-9 14:04
太感谢搂住了,正在做毕业设计,楼主的帖子帮了大忙
作者: 聂焱 时间: 2013-5-9 15:00
作者: 飞尘 时间: 2013-5-14 10:42
学习了
作者: 阿暮的烦恼 时间: 2013-5-16 19:32
有程序吗?
作者: anne2100 时间: 2013-5-17 12:58
{:soso_e179:}
作者: anne2100 时间: 2013-5-17 12:58
{:soso_e179:}
作者: 周乐刘波 时间: 2013-5-18 14:35
重新看了一遍,写的很到位
作者: kk228 时间: 2013-11-26 00:00
作者: 中华旺仔 时间: 2014-1-20 10:13
:):):):):)
作者: 小布的梦 时间: 2014-2-17 23:04
很好!!!正需要 感谢@!!
作者: 您好~ 时间: 2014-2-22 17:21
作者: mnh999 时间: 2014-2-27 18:36
作者: wyf1020 时间: 2014-3-3 16:47
作者: mnh999 时间: 2014-3-6 18:02
作者: 贝菲可 时间: 2014-4-12 21:01
谢谢~!
作者: jieyingxiao 时间: 2014-5-16 19:05
不错
作者: 2417838042 时间: 2014-8-6 21:02
so good!
作者: 2417838042 时间: 2014-8-18 15:28
很详细,受益匪浅
作者: Sτrīvé___ 时间: 2015-12-9 11:51
:lol:lol:lol:lol
作者: ZHOOUZ 时间: 2016-1-25 20:22
nice!
作者: hugochen1024 时间: 2016-8-26 11:37
谢谢分享
欢迎光临 智能车制作 (http://dns.znczz.com/) |
Powered by Discuz! X3.2 |