Maker Pro
Maker Pro

Need servo circuit help

R

Robert Wolcott

I am part of a group at Oregon State University (Mechanical engineering) and
we will be attending an international design competition next Sunday in
Anaheim, CA. We will be competing with a robot we designed and constructed:

http://oregonstate.edu/~wolcottr/DSCF0085.JPG

We are currently having stability issues with the servo circuits we created
that are based on a 556 timer IC. The circuits are very simple and they
feed a signal to PWM motor controllers that drive small Speed 400 motors
(robot drives exactly like a tank, with independent left and right speed
control). This setup is extremely unstable and jumps all over the place.
It also seems to wander (from neutral) as it warms up to operating
temperature. When the drive electronics are working properly it is very
easy to drive and control. Is there a better servo signal circuit out there
that is more stable? What could be the cause of these problems we are
having? The PWM controllers have a feature that calibrates them to max,
min, and zero upon plugging into power. This wanders upon warming up
however.

Any help would be appreciated.

Sincerely,
Bob
 
S

Spehro Pefhany

I am part of a group at Oregon State University (Mechanical engineering) and
we will be attending an international design competition next Sunday in
Anaheim, CA. We will be competing with a robot we designed and constructed:

http://oregonstate.edu/~wolcottr/DSCF0085.JPG

We are currently having stability issues with the servo circuits we created
that are based on a 556 timer IC. The circuits are very simple and they
feed a signal to PWM motor controllers that drive small Speed 400 motors
(robot drives exactly like a tank, with independent left and right speed
control). This setup is extremely unstable and jumps all over the place.
It also seems to wander (from neutral) as it warms up to operating
temperature. When the drive electronics are working properly it is very
easy to drive and control. Is there a better servo signal circuit out there
that is more stable? What could be the cause of these problems we are
having? The PWM controllers have a feature that calibrates them to max,
min, and zero upon plugging into power. This wanders upon warming up
however.

Any help would be appreciated.

Sincerely,
Bob

A 556 is pretty stable and should work okay for this application. Did
you bypass the control voltage to ground and put a good size (say 10uF
in parallel with at least 0.1uF ceramic) bypass across the power
supply for the timer chip?

I hope you're using a film capacitor for the timing capacitor and not
some horrible ceramic semiconductor type.


Best regards,
Spehro Pefhany
 
B

Ban

Spehro said:
A 556 is pretty stable and should work okay for this application. Did
you bypass the control voltage to ground and put a good size (say 10uF
in parallel with at least 0.1uF ceramic) bypass across the power
supply for the timer chip?

I hope you're using a film capacitor for the timing capacitor and not
some horrible ceramic semiconductor type.


Best regards,
Spehro Pefhany

If the shoot-through of the bipolar timers is a problem you can maybe
substitute them for the CMOS version (7555 or 7556). These behave much
better and do not suck those current spikes when changing state. Otherwise
Speff is right on point. Try to find out where the crosstalk comes from by
watching critical points with the scope. If you use the dual timer, the
second side can easily be triggered from the first one, here a good decouple
cap is really needed. Better to use separate 7555 for each modulator.
 
T

Terry Given

Ban said:
If the shoot-through of the bipolar timers is a problem you can maybe
substitute them for the CMOS version (7555 or 7556). These behave much
better and do not suck those current spikes when changing state. Otherwise
Speff is right on point. Try to find out where the crosstalk comes from by
watching critical points with the scope. If you use the dual timer, the
second side can easily be triggered from the first one, here a good decouple
cap is really needed. Better to use separate 7555 for each modulator.

all good stuff. Post your schematics, there are plenty of smart people
at SED who will point out any obvious (and not-so-obvious) problems. The
issues are probably a combination of circuit design (does it actually
work under ideal conditions) and implementation (does it work properly
in practice). How you build such a circuit, and where you place it, are
quite important - a bad circuit layout, placed next to poorly wired
motors (the motor leads should be tightly twisted together etc.) is a
recipe for disaster.

Nice robot though. Do you have an mpeg of it moving?

Cheers
Terry
 
D

Daniel Haude

On Wed, 3 Nov 2004 23:00:07 -0800,
Robert Wolcott said:
I am part of a group at Oregon State University (Mechanical engineering) and
we will be attending an international design competition next Sunday in
Anaheim, CA. We will be competing with a robot we designed and constructed:

http://oregonstate.edu/~wolcottr/DSCF0085.JPG

That looks cute. What does it do? Grab something, I guess, and then?

--Daniel
 
T

Tom Seim

Robert Wolcott said:
I am part of a group at Oregon State University (Mechanical engineering) and
we will be attending an international design competition next Sunday in
Anaheim, CA. We will be competing with a robot we designed and constructed:

http://oregonstate.edu/~wolcottr/DSCF0085.JPG

We are currently having stability issues with the servo circuits we created
that are based on a 556 timer IC. The circuits are very simple and they
feed a signal to PWM motor controllers that drive small Speed 400 motors
(robot drives exactly like a tank, with independent left and right speed
control). This setup is extremely unstable and jumps all over the place.
It also seems to wander (from neutral) as it warms up to operating
temperature. When the drive electronics are working properly it is very
easy to drive and control. Is there a better servo signal circuit out there
that is more stable? What could be the cause of these problems we are
having? The PWM controllers have a feature that calibrates them to max,
min, and zero upon plugging into power. This wanders upon warming up
however.

Any help would be appreciated.

Sincerely,
Bob

Your servo system is unstable because you have too much loop gain.
This gain drops as the motor warms up (copper has a positive tempco),
causing it to fall within the stable range. You need to reduce your
loop gain for it to be stable under all conditions.
 
R

Robert Wolcott

The circuit does work under ideal conditions but it tends to wander with
time. I can't even find the original design but it is very basic. There is
a voltage regulator with a 22uF electrolytic capacitor across it. This
powers three servo circuits and I did use ceramic capacitors in the RC time
constant portion. Can anyone supply me with a link to a decent circuit
design? I'd like to redo these this weekend.

Thanks,
Bob
 
J

Joerg

Hi Robert,
The circuit does work under ideal conditions but it tends to wander with
time. I can't even find the original design but it is very basic. There is
a voltage regulator with a 22uF electrolytic capacitor across it. This
powers three servo circuits and I did use ceramic capacitors in the RC time
constant portion. Can anyone supply me with a link to a decent circuit
design? I'd like to redo these this weekend.
I don't know how you want to do that without schematics. If you can see
how the timers are done just jot it onto a piece of paper, take a
digital camera shot of that schematic and post it.

Anyway, as suggested before ceramics will drift. Replace them with good
quality film caps. If you can't order any for the weekend just take the
best you've got. Other erratic behavior can be caused by motor spikes.
Place lots of bypass caps on the power supply lines of the timers.
Ceramics are fine here, and actually preferred. Maybe a few 0.1uF as
close to the chips as possible and 47uF or 100uF electrolytics next to them.

Check the ground. If it's wires, oh boy. Then you need to beef that up
with plenty of copper tape or at least some wide braid. If you have the
time and enough parts rebuild the timers on experimenters board that has
a ground plane, or better yet a ground and a power plane.

The voltage regulator could also benefit from more caps, plus ceramic
ones right at the pins. But be careful, some of the low drop-out variety
can become unstable when there is too much capacitance on the output and
not enough at the input. A little choke between battery and circuit
board can't hurt either.

Regards, Joerg
 
R

Robert Wolcott

Joerg,
There is a picture of the servo circuit at this link:
http://oregonstate.edu/~wolcottr/DSCF0089.JPG

The batteries are on the robot and this is required by the rules. The
control unit with the servo circuits is a gutted radio control box and this
houses the servo circuits and other switches. So the power and return
lines, as well as the signal lines all travel through an umbilical cord.
The circuits are currently built on a prototype board (breadboard) that is
epoxied in the RC box.

My current plans:

Redo the circuits on a circuit board (with solder)
replace the ceramic caps with metal film caps (hard to find?)
Add capacitors across the IC power inputs and VR inputs.

Sound okay?

Thanks,
Bob
 
S

Spehro Pefhany

Your servo system is unstable because you have too much loop gain.
This gain drops as the motor warms up (copper has a positive tempco),
causing it to fall within the stable range. You need to reduce your
loop gain for it to be stable under all conditions.

Sorry, it's not that kind of servo, Tom.
 
R

Robert Wolcott

Thank you for the reply. Will the CMOS version of the 556 be enough of an
improvement to warrant a digikey order?

The servo gets its power directly from the battery pack so the servo circuit
is only supplying the signal. I will go ahead and implement the other
changes.

Thanks,
Bob
 
S

Spehro Pefhany

Joerg,
There is a picture of the servo circuit at this link:
http://oregonstate.edu/~wolcottr/DSCF0089.JPG

The batteries are on the robot and this is required by the rules. The
control unit with the servo circuits is a gutted radio control box and this
houses the servo circuits and other switches. So the power and return
lines, as well as the signal lines all travel through an umbilical cord.
The circuits are currently built on a prototype board (breadboard) that is
epoxied in the RC box.

My current plans:

Redo the circuits on a circuit board (with solder)
replace the ceramic caps with metal film caps (hard to find?)
Add capacitors across the IC power inputs and VR inputs.

Sound okay?

Thanks,
Bob

Working from the schematic in the book:

1) It's best to use a separate supply for the timer
and the servo. If that's not possible you may have
to add a bunch of complexity. The ground current
from the servo should not flow through the ground
connection on the timer board (it should run
directly to the servo supply).

2) The CMOS version of the dual timer is preferable.
Eg. TLC556CN Digikey: 296-1859-5-ND 1.04 1-off.

3) Put another 0.01uF ceramic from pin 11 to ground.

4) Decrease the 10uF to 0.1uF film You can use two
BC 2222 370 11104 0.1uF/63V
Digikey: BC1621-ND 0.98 for 10 pieces.

5) Increase the 2.2K to 220K and the 150 ohms to 15K

6) Put a 0.1uF ceramic across Vcc to GND near the chip.
 
T

Terry Given

Robert said:
Thank you for the reply. Will the CMOS version of the 556 be enough of an
improvement to warrant a digikey order?

very likely. The non-cmos version draws a huge current spike every time
the output switches. This can (and often does) cause all sorts of
problems, and is the main reason for placing a decent cap across the
power supply pins.
The servo gets its power directly from the battery pack so the servo circuit
is only supplying the signal. I will go ahead and implement the other
changes.

see below
Thanks,
Bob

What Spehro specifically means is that the servo Vcc and 0V wires should
go directly to the battery pack, and nowhere else. The Servo Vcc & 0V
wires should also be twisted together - one twist per inch is fine.

Likewise a separate pair of twisted wires for Vcc and 0V from the timer
board to the battery.


Cheers
Terry
 
S

Spehro Pefhany

Thank you for the reply. Will the CMOS version of the 556 be enough of an
improvement to warrant a digikey order?

Add a 100uF electrolytic across the power supply (parallel with the
0.1uF) and the bipolar type should be fine.

But if you're ordering the film capacitors anyway, get the CMOS 556
for the extra buck.
The servo gets its power directly from the battery pack so the servo circuit
is only supplying the signal. I will go ahead and implement the other
changes.

Thanks,
Bob

Sounds good. Let us know how it turns out.

Best regards,


Best regards,
Spehro Pefhany
 
J

Joe

In additiion to the missing connection listed by Sphero, I also noticed
that pin 8 (timer 2 - trigger) wasn't on the schematic in the book. For
astable operation, pin 8 is typically connected to pin 12 (timer 2 -
threshold).
 
T

Tom Seim

Spehro Pefhany said:
Sorry, it's not that kind of servo, Tom.

So you're saying it's not a servo system at all-that it's open loop.
If that is the case then they ought to consider closing the loop.
 
S

Spehro Pefhany

So you're saying it's not a servo system at all-that it's open loop.
If that is the case then they ought to consider closing the loop.

No, the loop is already closed inside the "servo" black box. This is
an RC hobby type device. His circuit is suppling a pulse-width
modulated signal as the setpoint input for the "servo". So, his
problem is exactly that the pulse width is not stable.

The stability of the repetition rate is not important for this kind of
device- it's designed for multi-channel radio use where each channel
gets refreshed with a pulse periodically.
 
P

Pooh Bear

Robert said:
My current plans:

Redo the circuits on a circuit board (with solder)

And nice big wide ground traces. Avoid a common path for motor current and
control circuitry.
replace the ceramic caps with metal film caps (hard to find?)

Who said 'metal film caps' ?

They said 'film caps' meaning metallised plastic film. Polyester ( mylar ) film
types will be fine. These are so easy to find it's untrue.

They have stable capacitance unlike certain ceramic types.
Add capacitors across the IC power inputs and VR inputs.

This is called 'supply decoupling' and helps reduce the effect of noise that may
couple to the power supply. Absence of this can cause erratic operation.


Graham
 
J

Joerg

Hi Spehro, Hi Robert,
1) It's best to use a separate supply for the timer
and the servo. If that's not possible you may have
to add a bunch of complexity. The ground current
from the servo should not flow through the ground
connection on the timer board (it should run
directly to the servo supply).

Really nice would be a very low impedance ground through the chassis.
But if anodized aluminum was used that may not be possible this late in
the game.

Separate supplies as you suggested and decoupling through twisted pair
as Terry had suggested can be nicely done with CAT-5 cable. It looks
neat that way and you can write on the gray jacket with a small black
Sharpie pen so it is clear which cable goes where. There usually is a
spool of CAT-5 somewhere. Just don't run too much current through it or
double up pairs for that.
6) Put a 0.1uF ceramic across Vcc to GND near the chip.

And maybe slide a few ferrite beads on the VCC line coming in. Secure
them with soft glue so they don't rattle. Small chokes of a few uH may
also do.

Regards, Joerg
 
Top