Powering Arduino with 6V SLA Battery

Hello to All! I'm trying to predict (and prevent) any awkward situations (reset, lock down, etc.) when powering Arduino in the system that runs DC motors from 6V SLA batteries. When fully charged, the voltage goes up to 7V and when the motors stall, it goes down to 4.2V when the batteries are near the end of charge, which leaves me wondering how to connect it. I even considered combined step up/down regulator, but all the cheap ones I've found can't go bellow 5V input, not to mention unnecessary complexity (and cost) of the circuit. I'll be very thankful for any ideas.

I've used Pololu's 2120 for that.... nominal 6V to the motors and 2120 input, and set the 2120 to 7V for the Arduino. Even when the 6V drops or rises, still get the 7V at the Arduino.

Hi Marko,

I had the same issues even with 7.2v nimh packs.

Another option besides the regulator is to slow down the arduino. If I am skirting that 6,7v input range I run the arduino at 8mhz using its internal clock.

Can stay stable down to around 3 volts. It all depends on how critical speed is for your application.

Or a separate supply for the arduino is the most stable. Cheers.

Thanks guys!
I’ll most probably go with the step up converter to 10V or similar, to power Arduino. The 3V solution sounds interesting, but since I need to drive mosfets with Vgs threshold of about 4V it’s not applicable this time.
Alka, how do I connect power supply in that case? If it’s to Vin and the battery goes to 4-5V, I’m not sure I’ll have voltage on regulator output?

The step up converter seems a lot simpler.

This is probably not true for all regulators, I grabbed a pic from the lm117 datasheet.

The voltage output of the regulator starts to drop off linearly below the threshold voltage but does not cut off completely.


What mosfets are you driving?

You will want logic level mosfets even with 5v gate drive. If yours have a threshold of 4v it sounds like it might not be suitable. They won't fully turn on with 5v.

You don’t want to let your SLA voltage drop lower than 5.5V if possible, 5.0V as
an absolute minimum - overdischarge really damages lead-acid cells a lot, reduces
capacity and lifetime. So I would recommend a very-low-dropout 5V regulator, and
sense the battery voltage with a voltage divider (probably to < 1V and use analogReference(INTERNAL))

Solves the power supply issue as well as protecting the life/capacity of your battery pack.

A DC-DC buck converter might also work.

Thanks again!

Alka, there is 1117 on my board, but I never considered feeding voltage to regulator that's out of the limits, since I'm not sure how it will behave. I'm driving IRF5x0. They are switching 3W leds, and I already made the test with them and 4.5V on gate. They're probably not fully on, but I get my 700mA and they don't heat much. :) I'm aware that's not a good solution, but I have quite a few of them and the project itself is more of getting acquanted with Arduino, so everything else is not so important, I'll handle it along the way.

MarkT, the battery is at 6V at normal operation, it goes that low (to 4.2V) when it's nearly empty and the motors stall. It's not a permanent condition, it lasts no more than 2-3 seconds, but does happen and it's not under my control, the motors are turned on with the mechanical switch.

Lead acid batteries have a fairly flat discharge curve - for a 6V pack you'll see about 6.9V on-charge and discharge will be at 6.5 down to about 5.5V. Don't take the pack lower than 5.2V ever.

12V packs are normally deemed competely flat at 10.5V or so, and a flat lead-acid battery needs immediate recharging to prevent damage (ie sulfation) setting in. The recommended practice is to never use more than 80% of a lead-acid battery's capacity if you want it to have a long life.

He mentioned its under stall condition. Even a healthy lead acid battery will droop below ten starting a car.

I am talking battery EMF, not terminal voltage, yes.