1
\$\begingroup\$

I have this power bank and connected it using the white (not super-charged) USB port to an Arduino Nano to power it up. I have also used the Arduino's 5 V and GND to power up an 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 are also many data connections that seem fine to me and I have omitted them. You can see my very poorly drawn image here.

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

If I connect the Arduino to a PC USB port it runs indefinitely, but on battery it stops after 3 or 4 seconds of running. I have searched all over the internet and found nothing.

Circuit

\$\endgroup\$

2 Answers 2

2
\$\begingroup\$

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.

\$\endgroup\$
1
  • \$\begingroup\$ This answered my question "many will shut themselves off once less than a threshold current representative of a phone charging is drawn" I have tested and it was the issue. All other explanation came as a bonus and was really appreciated. Thanks. \$\endgroup\$
    – Emad
    Sep 7, 2020 at 20:03
0
\$\begingroup\$

Most power banks switch off after a pre-set time when insufficient current is pulled from them, and an Arduino that isn't very busy doesn't pull enough current to keep them switched on.

Adding a few LEDs will keep them on, but that is a bit wasteful.

There are power banks out there that have an "always-on" mode; you may want to google power bank "always on".

The ones I found are relatively expensive, but it seems they have been designed with powering Arduinos, IoT stuff, sensors, etc. in mind, and not just charging telephones.

\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.