Re: Servo motor for track switches
- --- In email@example.com, John Jabour <jjabour@o...> wrote:
> Any chance your signal isn't a perfect square wave?I've been using a scope to watch the pulses I send and the current
> Do you have a scope that you can throw on it to see
> how clean the square wave is? If it's not clean then
> the dead band I mentioned is going to have trouble.
taken by the servo. The pulses looked sharp but I added a sharpener
circuit to make sure - it made no difference!
--- In firstname.lastname@example.org, kimvellore <kim@b...> wrote:
> I had the same problem initially, it was due to the power supply.
> If you ground the common to earth ground it goes away. You can
> if it is the power supply or not by trying it with a battery.
That was the first thing I thought of so I added lots of smoothing
capacitors and also tried battery power. No different!
Thanks to John's explanation of how the RC servo works, I think I now
understand what is happening to mine. There are two sets of pulses to
consider: (a) the internal pulses generated from the position-sensing
potentiometer turned by the motor, and (b) the external pulses
generated by (Kim's) control circuit. The difference in width between
the two is used to generate a pulse which turns the motor; when both
sets of pulses are the same width, no pulse is generated and the
motor remains where it is. My problem seems to be that the "last"
pulse (the one that should position the motor absolutely correctly)
is either too weak to turn the motor that last squidgeon, or is too
small to overcome the backlash in the gears driving the position-
sensing potentiometer. So the "last" pulse repeats endlessly (I said
it vibrates), unless I turn the control pot back very slightly.
Now ... what to do about it? In Kim's circuit the 68K resistor sets
the interval between pulses to about 20mS. Making it larger increases
the interval (and makes the servo turn slower), making it smaller
decreases the interval. By trial and error, I have found that
decreasing the interval to 10mS (decrease the resistor to 33K) gives
enough "oompf" to the motor so it turns that last step.
Problem solved! Jeremy.