Electronic – arduino – Power arduino with energizer power bank

arduinobatteriesdc motorpower supply

I have this power bank and connected it using the white (not super charged) USB port to a Arduino Nano, to power it up. I have also used the Arduino's 5V and gnd to power up a HC-06 bluetooth module.

Now I have a L9110S motor driver and since I didn't want it to draw power from my Arduino I have powered it directly from the battery before the board supplied with my power bank and I also connected the grounds of two circuits to have the same logic level. There is also many data connections that seem fine to me and I have omitted them. You can see my very poorly drawn image here. (Sorry)

Everything powers up fine and works as planned except that after a few seconds suddenly USB power cuts out and small lights on the battery board go dark as well. It never starts until I move the board (as in, shake it. There is no loose connections but I need to move the board to turn it on)

If I connect Arduino to pc usb port it runs indefinitely but on battery stops after 3 or 4 seconds of running. I have searched all over the internet and found nothing. Thanks for your time

Circuit

Best Answer

Portable USB power sources simply aren't designed to be battery-based supplies for arbitrary purposes, they are designed to charge phones or similar devices for a period of time on the order of an hour or so, and then conserve power for days or weeks until needed again.

As an optimization to limit power wasted when not in use, many will shut themselves off once less than a threshold current representative of a phone charging is drawn. They wake up when you shake them, if the phone starts charging they source current until it stops, when it stops they shut off. Without the motors turning, your Arduino probably doesn't draw sufficient load current.

Really that means this battery gizmo is the wrong power source for your project. It's possible another might have different behavior, but when using consumer product off-label, you run the risk of poorly defined results. If you must use it you could try adding additional loads of some purpose - maybe a lot of LED "bling"? Or a power resistor - but anything like this will cause your battery to run down faster than it would otherwise.

Battery powered solutions for mobile robots are not that trivial to correctly design, unfortunately. And while there are step-up (and step-down) converters of more defined and configurable behavior (Adafruit for example markets some based around identified chips with available data sheets and guides), working with bare cells has its own issues as well.


Going a bit beyond the posted question to the project it is likely a part of, personally my recommendation for Arduino robot projects remains something like 7 alkaline or 8 rechargeable AA cells feeding the Arduino's regulator, in combination with an efficient FET-based H bridge. Whatever you do avoid, the notoriously lossy Darlington drivers (L293, L298, etc) in low voltage battery powered robots. For very small robots, you can use fewer cells and a 3v3 Arduino, or an ARM-based Arduino variant capable of processing at full speed at such a lower supply voltage. But the lower your motor voltage, the more it is critically essential to use an FET and not Darlington bridge.

While I am not finding a definitive statement of the technology of your L9110 driver, it does have listed losses putting it in performance range typical of Darlington and not FET devices (half a volt on the low side, a volt and half on the high - with a 5v supply your motors only get 3 volts!), so regardless of what sort of chip it actually is, its performance specification make it probably a poor choice for your application.