Go Down

Topic: I2C run off of resister regulated supply ok? (Read 938 times) previous topic - next topic

SouthernAtHeart

http://www.sparkfun.com/products/9418
This is powered off of 3.3 v, but in my application, daisy chained with 2 other i2c devices it would be inconvenient to get the 3.3 pin off the UNO.  Can I just feed this with the 5 v supply all my other I2C devices are fed with and put a resister in to drop the voltage? What size would work?   It only uses 10 uA. And runs at 1.4 - 3.6 v.  If I aimed at 2 to be safe?
Thanks.

johnmchilton

#1
Jun 16, 2011, 07:09 am Last Edit: Jun 16, 2011, 07:24 am by johnmchilton Reason: 1
I'm no electrical engineer, but I know one. What you need is a voltage divider. It's two resistors. I watched him calculate the resistor values by hand one time, so it shouldn't be too hard. I'll let you do the Googling.

BTW, interfacing w/software on the computer ??

SouthernAtHeart

I see where a voltage divider would work to connect the 3.3 v sensor pin to the 5 volt Uno, but what about actually powering the sensor... ?

johnwasser

To make everything reliable you should use a voltage regulator to provide 3.3v for your I2C device. 

Things are going to get difficult when you try to connect SCL and SDA from your 3.6v MAX chip to the 5v Arduino.  The SCK shouldn't be too bad since it is always from the Arduino to the chip and a voltage divider can to drop the signal voltage.  The problem is the SDA pin which is bi-directional.  You can't just throw in a voltage divider because then the 3.3v chip might not be able to drive the Arduino input.

Good luck.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

SouthernAtHeart

Thanks, i'll switch to a different sensor...

Grumpy_Mike

You can convert the bi-directional data signal's voltage level with two transistors or FETs. Try searching for level shifting schematics.
But you can't power anything off a resistor or voltage regulator.

johnmchilton

Wait, wait, wait. Just read the datasheet.

3.3v will be above the threshold for logic high, and completely out of the "gray area".

Section 29.1.9
http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf

johnmchilton

Whoops, that's the 168. I'll check the 328 next...

Grumpy_Mike

Yes but the 3v3 device's input will be being pulled up to 5v and that will kill it.

johnmchilton

So why not run SDA and SCL both at 3.3v?

Grumpy_Mike

You need to hack into the library and not enable the internal pull up resistors.

johnmchilton


Grumpy_Mike

Yes if you are not using the I2C library buti suspect you are.

Go Up