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

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
 Click to see the full signature
Reply to
Chris W
Loading thread data ...

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

Reply to
Matthias Melcher

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
--
ciao Ban
Bordighera, Italy
Reply to
Ban

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

Reply to
Chris Dugan

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
Reply to
Matthias Melcher

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

Reply to
Brian

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

Reply to
Brian

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.

"Brian" schrieb im Newsbeitrag news: snipped-for-privacy@comcast.com...

Reply to
Matthias Melcher

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

Reply to
Matthias Melcher

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.