Continuous Rotation Servos: some basic questions
Okay, I'm new to this, so excuse the simple questions.
I've got a BOEBOT and I'm just playing with it for the first time. I've encountered some
issues I don't fully understand and would like to draw from the collective wisdom.
First, on zeroing. I zeroed the servos and ran them for a while. But after a bit, they
were no longer zeroed correctly; a pulse of 1.5ms caused very slow rotations. I'm
giving them voltage from a battery (unregulated); can that cause a drift? Or could it
be temperature or something like that?
Also, I found that for slow speeds (for instance, 1.52ms pulses), even after zeroing
carefully, the motors still spun at different speeds. Is this to be expected? How do
people deal with this?
Why is it that the time between pulses needs to be 20ms? What would happen
if I used, say, 15ms?
I don't know how people re-zero a servo after they've built the bot; it seems you'd
have to completely remove a motor (so that's five screws to take off). Or do people
tend to power the servos off the regulated supply instead?
Does anyone use any sort of "autotrim", where on powerup the robot attempts to
determine the "real" range of no-movement pulse widths (for instance, this morning
I measured that on one servo as between 1.51 and 1.57 ms), perhaps by measuring
current draw from the power supply to detect motor motion?
The continuous rotation servos also seem very loud. A DC motor of the same size
and gearing seems to be much quieter. Why are these things so loud?
Thanks for any clues for this newbie.
I've got a BOEBOT and I'm just playing with it for the first time. I've encountered some
issues I don't fully understand and would like to draw from the collective wisdom.
First, on zeroing. I zeroed the servos and ran them for a while. But after a bit, they
were no longer zeroed correctly; a pulse of 1.5ms caused very slow rotations. I'm
giving them voltage from a battery (unregulated); can that cause a drift? Or could it
be temperature or something like that?
Also, I found that for slow speeds (for instance, 1.52ms pulses), even after zeroing
carefully, the motors still spun at different speeds. Is this to be expected? How do
people deal with this?
Why is it that the time between pulses needs to be 20ms? What would happen
if I used, say, 15ms?
I don't know how people re-zero a servo after they've built the bot; it seems you'd
have to completely remove a motor (so that's five screws to take off). Or do people
tend to power the servos off the regulated supply instead?
Does anyone use any sort of "autotrim", where on powerup the robot attempts to
determine the "real" range of no-movement pulse widths (for instance, this morning
I measured that on one servo as between 1.51 and 1.57 ms), perhaps by measuring
current draw from the power supply to detect motor motion?
The continuous rotation servos also seem very loud. A DC motor of the same size
and gearing seems to be much quieter. Why are these things so loud?
Thanks for any clues for this newbie.
Comments
I assumed you "zeroed" the servos using a screwdriver to turn the potentiometer inside?· if so, then just like any screw that is shaken repeatedly, it will move and drift over time... just readjust it and you should be fine for a while.
Yes, servos will move at slightly different speeds... I usually deal with this in the software side... something like
rightadjustmentvar···· CON······ 5
leftadjustmentvar······ CON······ 2
pulsout 5, 650 + rightadjustmentvar
pulsout 6, 850 - leftadjustmentvar
Servos are designed to look for an updated signal every 20 ms... that is just the way they are designed... if you give it a new signal more or less frequently, it may start to jitter... there is some "play" with the number, however, so you don't need to be super precise in doing it exactly at 20 ms, you can vary a bit... the best way to see what happens and how far you can deviate from the 20 ms is to test and experiment with it!· You won't damage anything, so go ahead and see for yourself!· test each servo and see if they both behave the same way.
Continuous Rotation servos are loud because you are doing something that the manufacturer never intended.· Servos were designed to move at most 180 degrees at at time, so noise is not much of an issue.