查看: 1522|回复: 5
|
servo motor的疑问
[复制链接]
|
|
hi,大家好。。。。我又遇到了问题了。。。。我终于能用vb send signal给我的PIC,然后PIC再给pulse我的servo motor。。。但是问题又来了。。。不如我直接说出问题吧,因为我的华文不是太好。。。
问题:
i) 在控制我的motor之前,我用手调servo motor去中间的position(大概的)。。。然后我就开始用vb控制我motor。。。刚开始时,我给一个maximum value给motor。。。然后motor就会turn去一个方向。。。之后,我再给一个minimum value 给motor。。。但是,motor 只会去中间过一点点的position 。。。。为什么会这样的呢? |
|
|
|
|
|
|
|
发表于 25-3-2007 08:46 PM
|
显示全部楼层
原帖由 sian840424 于 25-3-2007 07:34 PM 发表
hi,大家好。。。。我又遇到了问题了。。。。我终于能用vb send signal给我的PIC,然后PIC再给pulse我的servo motor。。。但是问题又来了。。。不如我直接说出问题吧,因为我的华文不是太好。。。
问题:
i ...
你的min value是多少??max value是多少??
[ 本帖最后由 fritlizt 于 25-3-2007 08:48 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 25-3-2007 08:58 PM
|
显示全部楼层
回复 #2 fritlizt 的帖子
我的min value 是1ms max value 是2ms
我的问题是为什么motor只转90度。。。而不是180度
我的PIC里的refence value 是100。。。也就是说当vb send 100给PIC时,PIC的refence value会加vb的100。。。然后pic就给pulse直到200才停。。。奇怪的是为什么我给100时,motor 才turn 90度(我大概量了) |
|
|
|
|
|
|
|
发表于 25-3-2007 09:05 PM
|
显示全部楼层
原帖由 sian840424 于 25-3-2007 08:58 PM 发表
我的min value 是1ms max value 是2ms
我的问题是为什么motor只转90度。。。而不是180度
我的PIC里的refence value 是100。。。也就是说当vb send 100给PIC时,PIC的refence value会加vb的100。。。然后pic就 ...
你的servo是不是180度的??像我的servo,只是120度罢了。min和max只是转120度。你的1ms是over20ms?
我的PIC里的refence value 是100。。。也就是说当vb send 100给PIC时,PIC的refence value会加vb的100。。。然后pic就给pulse直到200才停。。。奇怪的是为什么我给100时,motor 才turn 90度(我大概量了)
200是指给200 pulses??还是什么意思??可以解释一下这边的operation吗? |
|
|
|
|
|
|
|
楼主 |
发表于 25-3-2007 09:43 PM
|
显示全部楼层
原帖由 fritlizt 于 25-3-2007 09:05 PM 发表
你的servo是不是180度的??像我的servo,只是120度罢了。min和max只是转120度。你的1ms是over20ms?
我的PIC里的refence value 是100。。。也就是说当vb send 100给PIC时,PIC的refence value会加vb的10 ...
关于我的servo motor是不是180度,这我不敢100%的告诉你啊。。。。也许是120度。。。。因为我的min & max每次都在120度内....
-在vb里,我的maximum value是100,也就是说,我的vb只能send 0 到 100。。。。
-然后,就再加pic里的refence value。。。也就是说,如果我用vb send 20,那么,pic的refence value就会加vb send 的value =〉100+20 = 120。。。
-然后,pic就会给pulses到120 。。。。
-因为我是用PICBasicPro 写Program ,所以,120 = 1.2ms
我想问你有什么办法check servo motor是否能转180度。。。?
谢谢你 |
|
|
|
|
|
|
|
发表于 26-3-2007 12:49 AM
|
显示全部楼层
原帖由 sian840424 于 25-3-2007 09:43 PM 发表
关于我的servo motor是不是180度,这我不敢100%的告诉你啊。。。。也许是120度。。。。因为我的min & max每次都在120度内....
-在vb里,我的maximum value是100,也就是说,我的vb只能send 0 到 1 ...
写一个program, 提供pwm, 0.9ms/20ms。然后过几秒再switch 去2.1ms/20ms.
你就可以看到你的servo到底可以转到哪里。
还有你的2.0ms是2.0ms over几ms??
要控制servo,你提供的pwm必须在0.9ms/20ms到2.1ms/20ms之间。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|