Connect with us

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

Discussion in 'Electronic Basics' started by Matthias Melcher, May 4, 2005.

Scroll to continue with content
  1. 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
     
  2. Chris W

    Chris W Guest

    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
     
  3. Ban

    Ban Guest

    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
     
  4. Chris Dugan

    Chris Dugan Guest

    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
     
  5. 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
     
  6. Brian

    Brian Guest

    Which PIC are you using? How much current does the servos use?
     
  7. 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.
     
  8. Brian

    Brian Guest

    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
     
  9. Thanks, Brien. I implemented it almost exactly like that on the second try
    and it seems to work perfectly now!
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-