Go Down

Topic: Is there a voltage regulated, level shifted I2C bus solution for AA powered unit (Read 7179 times) previous topic - next topic

EKMallon

I have a general question, that I am sure many people have solved before:  How do you stabilize both the voltage (to 3.3v) and the logic levels, when you are diving an unregulated Arduino system (eg: tinyduino, etc) directly from 3AA batteries.  In this system the input voltage will swing from 5.4 volts (if I use lithium AA's) down to 2.8 volts as the batteries discharge in a year long data logger deployment.  I have several I2C bus sensors (compas, accelerometer, temp, pressure, etc) with a max vcc of 3.3 volts.

I have been looking at the pololu 3.3V Step-Up/Step-Down Voltage Regulator S7V8F3 ( http://www.pololu.com/product/2122 ) as it has a shutdown pin that would allow me to completely de-power the sensors during the 99% sleep time of this application. But I still have to add a logic level shifter, to deal with the voltage changes on the mcu side of SDA/SCL and could use a little guidance finding one that is suitable.  I also don't know if I am causing myself grief by shutting down the sensors all the time, but for such long term deployments quiescent current is almost the most important issue in the whole design.

And it occurred to me that this must be a reasonably common problem, so perhaps someone has already built something like this? Is there a single, off the shelf module that will provide both voltage regulation, and logic level isolation, to an I2C bus in battery powered situations?

Grumpy_Mike

Quote
But I still have to add a logic level shifter, to deal with the voltage changes on the mcu side of SDA/SCL and could use a little guidance finding one that is suitable.

The logic level shifters have pull up resistors on both sides. Simply connect these to your supply on each side. As the arduino side's supply voltage changes so will the voltage of the conversion.

Chagrin

You're looking for a logic level converter like: http://www.adafruit.com/products/757. It's just two mosfets and four resistors; pretty easy to implement on your own as well. The BSS138 mosfet is pretty common and can be found for less than $.10.

For a regulator, you can find lots of LDO regulators that include a "shutdown" pin. When in shutdown they consume mere microamps of current. An LP2951 ($1) would be an example and is available in a DIP package -- needs just three capacitors to go with it. The S7V8F3 would work fine as well.

EKMallon

Thank you both. 

But I was wondering if there was a single chip or break out board that did both functions at the same time - boost/buck voltage regulation to 3.3v and logic level shifting,  as an off the shelf part.  It just seemed like these might be a very common combination.

Grumpy_Mike

Sorry it is not a common combination and I have never seen a joint board.

EKMallon

Well I did eventually find one:
http://www.buildyourowndrone.co.uk/all-products/i2c-smbus-voltage-traslator-i2c-level-shifter-with-adapter.html

but I will have to wait for their reply to find out what voltage regulator they are using.  I need both boost & buck, with low quiescent current. (I know, I'm asking for alot)

For now though, I will probably cobble together the Sparkfun PCA9306 Level Translator Breakout:
( https://www.sparkfun.com/products/11955 )
with the Pololu 3.3V Step-Up/Step-Down Voltage Regulator S7V8F3
( http://www.pololu.com/product/2122 )

as that regulator will handle the full voltage swing from my 3x AA battery pack ( 5.4 v down to <3 v )





Chagrin

The schematic is listed on the page, but I guarantee that it's a 3.3V linear regulator. That linear regulator will more than likely be more efficient (get more from your batteries) than a switching regulator would.

A 5.4V to 3V pack would be three batteries each going from 1.8V to 1V. What kind of battery are you using?

Grumpy_Mike

Quote
That linear regulator will more than likely be more efficient (get more from your batteries) than a switching regulator would.

An odd statement. Have you anything to back that up?

Chagrin


Quote
That linear regulator will more than likely be more efficient (get more from your batteries) than a switching regulator would.

An odd statement. Have you anything to back that up?

The S7V8F3 at 3.3V is around 95% efficient (peak) with 3.6V input per Pololu's docs. For a linear regulator that's .3V drop, or (3.3 / 3.6 =) 91% efficient. So no, it's not more efficient meeting the peak efficiency, but it's respectably close. But as he mentioned this is a long-running project, I'm thinking that the lower quiescent current (< 1uA) of a linear regulator compared to the ".1 ma" quiescent current of the S7V8F3 is likely to put the linear regulator ahead.

Grumpy_Mike

And can you actually get a linear regulator that will work with just a 0.3V drop?

Chagrin


Grumpy_Mike


EKMallon

Thanks for the extra input guys! I will do some more homework.

The 1.8 volt top end is from lithium AA batteries IF I can use them.  In a 3-pack these run very close to the upper tolerance limit of my components, but  3000 mAh power is very attractive in a 1 year plus data logging situation. They also have a really nice flat power curve once they fall to 1.4-1.3 volts, so even if I shut the system down at 3 volts,  I get 90% of the power out of the cells.

JChristensen

I have a solution but data storage is limited to 512kB. What is the logging frequency, and how many bytes per sample?

EKMallon

bytes per record:  64-96, depending on how many sensors I have attached, but there is alot of optimization I could do there.
15 minute sample frequency (so 96 records per day), but I want to bring that down to 5 minutes when interesting "events" are occurring, such as a storm pulse, etc.   Looking at year long deployments so at the moment I don't think I can get down to 512k...currently using a 128 mb sd card.

Go Up