0

I have several questions on externally powering the Arduino Uno

  • I have a 7.2V power source that is 6 rechargeable AA batteries together, 1.2V and 1300mA each. If i use a 4.70 and 1.5 ohm resistors together to give 1.16 amps, can I power the arduino with this?

    • Can I power a servo off the Arduino 5V rail If i place a 470uF or more capacitor alongside it?

    • Will anything heat or blow up or am I just being paranoid like always?

migrated from electronics.stackexchange.com Aug 24 '16 at 21:35

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

  • 4
    Why would you use resistors? – Ignacio Vazquez-Abrams Aug 24 '16 at 21:14
  • (1) Which Arduino model? Power supply varies between different kinds of Arduinos. (2) In any case, using a voltage divider (if I understand correctly) to step down power supply voltage is a wrong idea. – Nick Alexeev Aug 24 '16 at 21:16
  • I said arduino uno rev 3 is the model Why is using a resistor bad for bringing power down? The arduino said it needs around an 1 amp to work well. – Kr4t0s Aug 24 '16 at 21:25
  • DEFINE your surge load current or DCR of motor and Uno schematic plus any external loads. Some use MC33269D with 1.25V drop on regulator to 5V for different current ratings. – Tony Stewart Aug 24 '16 at 21:33
  • The reasons why not to use voltage dividers to step down power supply voltage have been discussed in depth here and here. I doubt that an Arduino needs 1A to work well. I suspect that you are misreading the current rating; so read this. – Nick Alexeev Aug 24 '16 at 21:35
3

I am guessing that you are thinking of dividing down the battery voltage from 7.2V down to 7.2*(4.7)/(4.7+1.5) = 5.5V. This is generally a bad idea for a few reasons.

  1. The battery voltage will not be a constant 7.2V. When they are fully charged it could be even higher. As they discharge they could drop significantly and your Arduino POR (power-on-reset) circuit would potentially shut the board down before the batteries are fully discharged

  2. The batterys' internal resistance would probably drop the output voltage considerably once the resistors try to draw 1A of current. It might even collapse the voltage to some unusable value.

  3. Even if the battery internal resistance is very low and even if the Arduino is not drawing much power (or even off) you will always be drawing ~1A of current from the batteries. This will rapidly drain your batteries and will also heat them up from their internal resistance. Not to mention your external resistors better be able to handle > 5W or so. Conclusion: lots of unnecessary heat and power loss.

To answer your other question, assuming the servo is low power and the Arduino power supply is up, you could power it from the Arduino 5V supply (not your batteries).

If you need to use batteries to power an Arduino, I would highly recommend a power regulator to produce a stable output voltage to power your Arduino.

2

This question has been answered on electronics.stackexchange, e.g. How to provide separate voltages from a common power source

Daniel V has explained the main issues.

The 'killer' for most people is the resistors are always across the battery, and so they alone will take over 1A from the battery pack continuously, and hence run it flat in just over an hour. Further, they need to dissipate over 5W of heat, so they aren't that cheap either.

A NiMh rechargeable battery will have a voltage of about 1.4V when it's fully charged, dropping to under 1V before it is exhausted. So that would mean the resistor network needs to output 5V or less with an input voltage from 6x1.4V=8.2V down to under 6x1V=6V.

So the resistor ratio would need to handle 8.2V in and produce 5V out, and then 6V in would produce 3.66V. My reading of the ATmega sec is it might struggle to run at 16MHz at that 3.66V input voltage.

You might try to make a resistor-based voltage divider more efficient by increasing the total resistance.

However, as explained on the electronics.stackexchange, the load presented by the ATmega on an Arduino varies dynamically, from microsecond to microsecond, so it is very hard to choose resistors which would maintain the voltage within a reasonable operating range, while the current passing through the Arduino varies so much.

An Arduino has an on-board voltage regulator.

However, the typical 5V regulator on generic Arduino's have a drop-out voltage of 2V, i.e. the input voltage needs to be 7V or more. That means most of that battery pack capacity will provide less than 7V, so the voltage will start to drop.

You might be lucky and the on-board regulator will 'track' the input voltage down. That means it will fail below 5V as its input drops below 7V. You would need to test your Arduino; there is no guarantee that the regulator on the board does this. Further, it might struggle to run at 16MHz as the voltage approaches 4V.

So, if this is just a one-off hobby project, it might be reasonable to try that. However, if other people are going to use it, it might be too risky.

The ATmega can be run with anything between 5V and 1.8V if the clock is slow enough. Also you'd need to either modify the electronics, or change the bootloader of the Arduino to ensure it runs at a much lower clock frequency. So it is possible to run at a lower voltage than 5V, by changing the bootloader, but it seems like a strange exercise. Then a resistor divider (which wastes a lot of energy), or the on-board regulator could be used.

Instead, look at a Low-Drop-Out (LDO) voltage regulator. There are parts which will regulate anything from 8.4V down to 6V, or less, down to 5V. An Arduino alone uses well under 100mA, it is the electronics it is driving which uses the majority of an Arduino's specified 500mA.

So you look for a voltage regulator, which will take 9V in (as a safety margin) with a drop-out voltage of 0.7V (lots at this spec), 5V out, and 250mA or better. Most electronics distributors have a product selector which will help you find this, and you may find small ready-made modules which do exactly this (but not an LM111xx).

You don't post a link to the servo you're using.

Low-cost servo's typically take a lot of current as they move. I've measured some using a proper bench power-supply unit (bench PSU). They typically take well over 1A for periods long enough for me to see it happen. So the power supply would likely need to supply more than 1A for short periods, i.e. 10's of milliseconds. You will need quite a substantial capacitor to handle that.

Depending on the servo, you might be better to use 4xNiMh to power the servo directly, without any intermediate regulation, and a more modest capacitor. The ground (-) of that power supply needs to be connected to the GND of the Arduino so that the servo signal from the Arduino will drive the servo correctly.

In that case, you might use a low-cost (ebay) DC-DC step up (boost) switching regulator to provide the 5V to the Arduino. Their are lots available which are intended to power USB devices at 5V.

1

Your typical Arduino has a built-in 5V regulator. Just plug the batteries into the barrel jack - that is what it is for.

If you don't have a barrel jack on your Arduino (it's one of the little ones?) then you will need a voltage regulator. For battery usage you want a switching "buck" regulator.

You can find them cheaply enough under the name "UBEC" (Universal Battery Elimination Circuit) and are used for model aircraft etc.

0

You can connect the batteries fine into Vin or the barrel jack, however you will run into the issue that your battery voltage will sag. This will vary on what chemistry batteries you are using, NiMh voltage discharge sits on a bit of a plateau around 1.2V typically, alkaline has more of a gentle curve downwards and then drops off quite sharply around or below 1V.

The reason this is an issue is highlighted on the Arduino Uno page itself:

Input Voltage (recommended) 7-12V

Input Voltage (limit) 6-20V

and

The board can operate on an external supply from 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may become unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.

The issue here is the dropout of the onboard regulator.

The solution is to use your own external regulator and connect it to the 5VDC pin.

You can use:

  1. An external swithcmode DC-DC converter, you would be ideally after a buck boost. DC-DC converters are available from ICs for a full ground up DIY design to available on board modules and daughterboards and fully assembled circuits. Regarding the other answer a BEC or UBEC may not be suitable as typically they are buck converters and have higher minimum output voltages than that required by the OP, some however with careful selection may be alright to use.

Adafruit off the shelf buck-boost module: https://www.adafruit.com/products/2190

  1. An external linear LDO regulator, ideally with as low dropout as possible. You will need to pick this part to suit your input voltage range, this may be difficult as extremely low dropout parts are typically low current and not suitable if wanting to drive a servo. Something like a REG103 for example may work, depending on the dropout an LDO linear regulator may work down to around 5.2~5.3VDC minimum, which should be okay for most of the capacity of the batteries.

  2. A premade shield, some may work for you, some to give you an idea of what is required.

DC-DC converter for battery shield: https://www.wayneandlayne.com/projects/battery-booster-shield/

Adafruit has a lithium battery shield such as does Sparkfun (not enough rep for more links)

Itead has a AAA battery shield also.

Options here will depend on your design ability and assembly skills as to if you can DIY or need off the shelf.

Your servo will be fine connected to the external regulator as long as the option you use is rated to supply enough current.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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