Servo Motors

Started by andy...@aol.com June 14, 2006
Hi everybody,
I have 2 of the servo motors that I got off the BasicX website and put
them on my robot. I programmed both of them to go forward and there spinning.
Also one motor is going slower than the other. This is the program:
const leftservo As Byte = 11
const rightservo As Byte = 12

Sub Main()
Do
Call PulseOut(leftservo, 0.0020, 1)
Call PulseOut(rightservo, 0.0020, 1)
Call Delay(0.02)
Loop
End Sub

I have also tried this program:

const leftservo As Byte = 11
const rightservo As Byte = 12

Sub Main()
Do
Call PulseOut(leftservo, 0.0010, 1)
Call PulseOut(rightservo, 0.0020, 1)
Call Delay(0.02)
Loop
End Sub

Both servo motors are connected properly with the schematic shown in the
servo documentation on the basicx website. Thanks!

Sincerely,
Andrew Horsman



I hack my own servos. The hack that i use keeps the pot inside the servo so that a small screwdriver can set the servo. You most likely got servos that the pot was removed and replaced with two resisters. Resisters have a % error on them and as a result you will end up with one moving at a different speed. This is corrected in the software. Check out this sight
http://www.basicx.com/Products/robotbook/robobook.htm
http://www.basicx.com/Products/robotbook/servo%20intro.pdf

Its Chris Odom's new BasicX book there are sample chapters and in the second one is chapter 11 and in the end explains what you might be asking.
Good luck
Mechatronicsccc

a...@aol.com wrote:
Hi everybody,
I have 2 of the servo motors that I got off the BasicX website and put
them on my robot. I programmed both of them to go forward and there spinning.
Also one motor is going slower than the other. This is the program:
const leftservo As Byte = 11
const rightservo As Byte = 12

Sub Main()
Do
Call PulseOut(leftservo, 0.0020, 1)
Call PulseOut(rightservo, 0.0020, 1)
Call Delay(0.02)
Loop
End Sub

I have also tried this program:

const leftservo As Byte = 11
const rightservo As Byte = 12

Sub Main()
Do
Call PulseOut(leftservo, 0.0010, 1)
Call PulseOut(rightservo, 0.0020, 1)
Call Delay(0.02)
Loop
End Sub

Both servo motors are connected properly with the schematic shown in the
servo documentation on the basicx website. Thanks!

Sincerely,
Andrew Horsman



__________________________________________________



--- In b..., Mechatronics At Camden CC
wrote:
>
> I hack my own servos. The hack that i use keeps the pot inside the
servo so that a small screwdriver can set the servo. You most likely
got servos that the pot was removed and replaced with two resisters.
Resisters have a % error on them and as a result you will end up with
one moving at a different speed. This is corrected in the software.
Check out this sight
> http://www.basicx.com/Products/robotbook/robobook.htm
> http://www.basicx.com/Products/robotbook/servo%20intro.pdf

Even if the resistors where exactly the same the motors would
probably run at different speeds. Most DC motors are not
precision pieces. Neither will they run the same speed in
both directions. Another complication is that as the battery
voltage changes not only will the speed change but the differential
speed in two motors changes. I find a good solution, since
servos don't use much current, is to use voltage regulators. I
use a fixed on one and a variable on the other. Adjusting the
variable so that the motors run at the same speed. This doesn't
solve all the problems but then the software doesn't have as much
variation to fight.

JXP