Proper Voltage Supply

Hello everyone.
I am developing a robot which has a primary power supply of about 12V (with several cells). For the sake of argument, let's assume these are 3.7V LiPoly batteries. The arduino requires 5V and anything more than that is wasted wattage and dissipated as heat. At 11.1V, 6.1V is being lost and at the board maximum of 500mA, that makes 3W. Is there a better way to supply the board without wasting so much power??
(My original though would be hooking the supply up with just 2 of the cells instead of all 3, which would only mean 7.4V being supplied, but the batteries would be drained unevenly...)
Thanks for all your help!
-A Mechanical Engineer ::slight_smile:

hi!
have a look into switching regulators. this site got me started: A beginner's guide to switching regulators
it would be nice to hear something from the more experienced on this topic.
what about the MC33269D in the current Diecimila design? i understand that it's a low dropout regulator, but isn't it quite inefficient on 9v and more? i think this is definetly worth being discussed a little. it took me a year to realize that probably more than half of the batteries i killed, was due to using ordinary 7805s for everything (inspired by the original arduino design). the design wasn't bad, i just didn't know the loss in energy would grow with each servo/led/etc.

kuk

As kuk says, a switching regulator is a good solution for efficiently running from higher voltage batteries. I can recommend [u]this one[/u] for your application.

On the bright side, if you're using the 11.1V power for most of your heavy-duty electronics, your arduino isn't going to use anywhere NEAT 500mA; more like 50mA to 100mA, probably.

(Low dropout regulators are still linear and have the same power dissipation issues as a 7805-style regulator.)

I looked some at making a freeduino board variant with this cheap two transistor switching regulator, but even though it can be made not too much bigger than a TO220 package, I still couldn't make it fit...

... your arduino isn't going to use anywhere NEAR 500mA; more like 50mA to 100mA, probably.

If the Robot uses any servos powered from the 5v supply than the current starts getting significant.

BTW, I would think another challenge with the transistor regulator would be to keep the EMI at levels that would not interfere with some of the low cost wireless solutions being used with the arduino.

I was going to post this question in a seperate thread until I saw you guys talking about power here and thought it may apply to you or at least you would have an informed opinion. I also want to power my arduinos with 3.7V LiPo's. I really like the Lilypad because it runs on 3.7V but I hate the size (round). I was toying with the idea of just changing the regulator on the Diecimila to something like an lms1587IT which is 3.3V, but you would need at least 4.8V as a start point and you're still wasting power. The ATMEGA168 will operate on 3.7V, so what about bypassing the regulator all together.

This is what I was thinking. The Boarduino by Adafruit.com (very small board) has a jumper which allows you to power the board with external power or USB. Most regulators need more than the 5V to function, so that they can drop the V down and "regulate" it. If you move the jumper to select power through USB and then hooked a 3.7V LiPo to the + and - headers for the FTD TTL-USB adapter, wouldn't this bypass the regulator and power everything up just fine????? Of course your outputs would only be putting out 3.7V through PWM or High, but to some this may not matter. If you're running motors, you might be using seperate power for those anyhow because of the current draw. For myself, I am using the boards to manipulate an ADXL320 accelerometer which works just fine at 3.7V as well as a cell phone, which also runs on 3.7V, so getting my board to run on 3.7V is ideal.

So what do you think about the jumpers on the Boarduino bypassing the regulator and running it on 3.7V ????

I have no direct experience of running the ATmega168 on voltages lower than 5v but the data sheet indicates that to run at 16mhz the voltage wants to be about 3.8 volts or more. I don't know how conservative this is, perhaps westfw has first hand knowledge.

So what do you think about the jumpers on the Boarduino bypassing the regulator and running it on 3.7V ?

I think the analog inputs will be useless (without adding an external reference, anyway), as the reference voltage is off.

I would use a boost circuit to get 5V out of the 3.7V pack, or modify the whole thing to run at a lower voltage like 3.3V (which means slowing down the clock), regulated with a 3.3V LDO.

Sparkfun has a circuit that takes two AAs and gives you 5V - you can probably rip the AA holder off and attach your Lipo battery.

-j

So what do you think about the jumpers on the Boarduino bypassing the regulator and running it on 3.7V ?

I think the analog inputs will be useless (without adding an external reference, anyway), as the reference voltage is off.

i thought the analog reference was vcc by default?

So what do you think about the jumpers on the Boarduino bypassing the regulator and running it on 3.7V ?

I think the analog inputs will be useless (without adding an external reference, anyway), as the reference voltage is off.

I would use a boost circuit to get 5V out of the 3.7V pack, or modify the whole thing to run at a lower voltage like 3.3V (which means slowing down the clock), regulated with a 3.3V LDO.

Sparkfun has a circuit that takes two AAs and gives you 5V - you can probably rip the AA holder off and attach your Lipo battery.

-j

Have you used the sparkfun step up supply with an arduino doing analog to digital conversion? The ripple is rated at 100mv and that could significantly reduce the accuracy of the readings.

I agree that an external reference would be required if powered by a LiPo but wonder if something like an LM431 precision regulator supplying the Aref voltage for an arduino running on an single LiPo cell would be more accurate and lower cost.

kuk: the reference is Vcc, but the issue is that when directly connected to the battery, the actual voltage will depend on the load, the amount of charge left in the battery, ambient temperature, etc. In order for Vcc to be a useful reference, it must be stable.

mem: No, didn't notice the huge ripple in the sparkfun boost specs; I don't actually have one myself. Maybe the filter caps on the typical Arduino would soak up some of that? Anyway, with 100mv ripple another reference for the ADC would probably be in order.

Another thing I didn't look at on the sparkfun boost circuit was current rating - it may not be enough to drive much more than the stuff already on the Arduino board, for all I know. I threw it out as an example of how to solve the problem of 5V circuit/sub-5V power supply.

-j

kuk: the reference is Vcc, but the issue is that when directly connected to the battery, the actual voltage will depend on the load, the amount of charge left in the battery, ambient temperature, etc. In order for Vcc to be a useful reference, it must be stable.

this actually what i meant... somehow... i only thought of using trim pots though. where half a turn would read 512 out of 1024 no matter what Vcc actually is, right? you're right that absolute values won't work this way.

I goofed; it does need to be stable, but what it really needs to be is known.

-j