View Full Version : .....................
Post Edited (agfa) : 2/13/2007 2:33:24 PM GMT
11-27-2006, 06:47 AM
It's normal for the servos to run at different speeds since that was not their initial function. you should be able to find a setting of pulseout that will run 'almost' straight but you may need to have different settings for forward and back. If you absolutely need straight lines you might consider wheel encoders.
Have you tried running one servo at a constant speed (value), while varying the other servo's speed (value) until you've achieved a more straight (if not exactly straight) line of travel? (I'm not sure what you meant by "programming a different center value than 750"; depending on how your program uses that information, you may have already tried what I asked above, or possibly not. Show your test program's code to provide more insight to us about how the program is using the speed values.)
I am trying to get my Boe Bot to navigate a straight line. When I set the pulsout values to 650 and 850 (both directions) the left servo runs faster, which makes it roll a curve to the right when running forward, If I remember correctly, the servos ran evenly when I first received and built my bot.
I’ve tried re-centering the servos, I’ve tried programming a different center value than 750, I’ve tried running the servos from both Vdd and Vin. I’ve tried compensating the left to right pulsout values. Still can’t get a straight run.
Is there something I am missing, Or is this normal?
11-27-2006, 06:50 AM
It is normal that the two servo's might run a slightly different speeds which would cause it to veer off in one direction.
You should be able to correct this by changing the pulse value for one of the servos (that is, run one at 650 and the other at 849 and see if you see a difference... if not, try 650, 848, then 650, 847, etc. until it tracks straight)
check your mounting as well... are both servos securely mounted to the boebot?· are the wheels on straight and secure?· Is the frame bent?
11-27-2006, 03:33 PM
Upgrading to a BS2-SX will probably allow your code to execute at a sufficiently fast rate to overcome any code anomalies, or inefficiencies.
The frame being out of true could be the entire problem in a nut shell. One wheel is experiencing more rolling friction than the other is. The only cure here is to address the source of the problem, as it may not remain consistant, or constant and thus is not easily software correctable.
Post Edited (Bruce Bates) : 11/27/2006 9:00:02 AM GMT