Maker Pro
Maker Pro

Power drop with R/C servos and PIC form same battery

  • Thread starter Matthias Melcher
  • Start date
M

Matthias Melcher

Jan 1, 1970
0
I have built a servo controller around a PIC Microcontroller. The servos are
pwered by a 6V NiCad battery pack that also powers the PIC through an
LM1117.

Unfortunatly, as soon as I get some load on the servos, the PIC resets due
to the poer drop.

How can I make sure that the PIC will always get sufficient DC, so it won't
reset?

Adding a separate battery for the PIC is not an option (space constraints).

Any help is greatly appreciated.

Matt
 
C

Chris W

Jan 1, 1970
0
Matthias said:
I have built a servo controller around a PIC Microcontroller. The servos are
pwered by a 6V NiCad battery pack that also powers the PIC through an
LM1117.

Unfortunatly, as soon as I get some load on the servos, the PIC resets due
to the poer drop.

How can I make sure that the PIC will always get sufficient DC, so it won't
reset?

Adding a separate battery for the PIC is not an option (space constraints).

Any help is greatly appreciated.
The easiest thing would be to get a battery that can handle the higher
current draw of the servo under load. I would suggest a high capacity
NiCd or NiMH, if that is what you are already using, then maybe a
voltage regulator that will "step up" or "boost" the voltage when the
servo drops it too low for the PIC. I found a regulator at digikey once
that would do both step up and step down regulation though I'm not sure
if it would do both in the same circuit.


--
Chris W

Gift Giving Made Easy
Get the gifts you want &
give the gifts they want
http://thewishzone.com
 
B

Ban

Jan 1, 1970
0
Matthias said:
I have built a servo controller around a PIC Microcontroller. The
servos are pwered by a 6V NiCad battery pack that also powers the PIC
through an LM1117.

Unfortunatly, as soon as I get some load on the servos, the PIC
resets due to the poer drop.

How can I make sure that the PIC will always get sufficient DC, so it
won't reset?

Adding a separate battery for the PIC is not an option (space
constraints).
Any help is greatly appreciated.

Matt

Since the regulator you have chosen needs even 1V dropout for zero current,
it is no wonder that the 5V can not be maintained. You should take
1. some other *very* low dropout regulator (i.e. LT3021)
2. a 7.2V battery pack as everybody else uses
3. a bigger capacitor(1000uF) at the output of the regulator
best will be all combined
 
C

Chris Dugan

Jan 1, 1970
0
Try some of what Ban said but my option would be to run direct from a 4.8v
battery pack with a large electrolytic capacitor across the power input
terminals to the circuit and decoupling capacitors as close as you can fit
them to the PIC and across the power connections for each servo.

The reason for this is that at the lower voltage you get less idle and
working current drawn from the battery so the changes under load will be
less.

You may also want to switch to another PIC that has a wider tolerance for
supply voltage changes.

Chris
 
M

Matthias Melcher

Jan 1, 1970
0
Thanks for all the help from the NG. So putting it all together, I got it
checked in the skope and working! Yeah!

So here's a summay:

Problems:
- regulating 6V down to 5V is a bad idea, because of voltage drop.
- running up to 24 servos simultanously on a walker robot puts huge strain
on the battery, each servo sucking up to 1Amp!
- noise!

Limitations:
- due to space and simplicity in the charging unit, it is not possible to
have a second battery

Solutions:
- the voltage regulator runs through a filter, then a low drop diaode, then
a cap, then the regulator, then two more caps
- Connect the regulator as close to the battery as possible, don't run the
lines by a few motors first (stop thinking digital! Wire is always a
resistor and a cpacitor!). Clean up the layout!
- Worst case, use a switching regulator that even pumps 3V up to 5V if need.
- a 300Ohm resistor on every servo data line in series keeps the noise from
the servos to the PIC low (not neede for digital servos)
- 3k pullup on the servo data line keeps the servos from jerking all at
onece when power is switched on
- I change the software to send pulses to the servos in groups of 4 with 2ms
delay from group to group, so that there is only on high load (leg) servo
per group. This spreads battery load over the 20ms cycle.
- with digital servos, the load on the battery is even greater. On the other
hand, they are happy with 3.2V pulses. So in that case, I use a 3.2V
regulator which runs more stable on 6V battery anyways.

Problem solved! Thanks for all the help!!

20uH +---+
Bat ---UUUU---|>|--o--|reg|--o---o--> pic
| +---+ | |
=== | === ===
470uF| | 10u| |.1uF
GND ---------------o----o----o---o--> GND
 
B

Brian

Jan 1, 1970
0
Matthias Melcher said:
I have built a servo controller around a PIC Microcontroller. The servos are
pwered by a 6V NiCad battery pack that also powers the PIC through an
LM1117.

Unfortunatly, as soon as I get some load on the servos, the PIC resets due
to the poer drop.

How can I make sure that the PIC will always get sufficient DC, so it won't
reset?

Adding a separate battery for the PIC is not an option (space constraints).

Any help is greatly appreciated.

Matt

Which PIC are you using? How much current does the servos use?
 
M

Matthias Melcher

Jan 1, 1970
0
PIC 16F628, the servos use worst case 1.5A each, but only for a fraction of
a second (1/100th and less), but 50 times a second.
 
B

Brian

Jan 1, 1970
0
Matthias Melcher said:
PIC 16F628, the servos use worst case 1.5A each, but only for a fraction of
a second (1/100th and less), but 50 times a second.

This PIC can work down to 3 volts. If you use an adjustable LM1117 and set
it's output to 3 volts, that will give you 1.8 volts differential to work
with. You might try putting a schottky diode in series with the input of the
LM1117, with a capacitor from the input of the LM1117 to ground. Use
seperate grounds (going back to the negative terminal of the battery), for
the power circuits and the PIC. You might need some decoupling between the
inputs and outputs of the PIC and what it is driving or reading.

Brian
 
M

Matthias Melcher

Jan 1, 1970
0
Thanks, Brien. I implemented it almost exactly like that on the second try
and it seems to work perfectly now!
 
Top