Pages: [1]   Go Down
Author Topic: I2C run off of resister regulated supply ok?  (Read 684 times)
0 Members and 1 Guest are viewing this topic.
South East USA
Offline Offline
God Member
*****
Karma: 4
Posts: 636
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ??
« Last Edit: June 16, 2011, 12:24:28 am by johnmchilton » Logged

South East USA
Offline Offline
God Member
*****
Karma: 4
Posts: 636
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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... ?
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 178
Posts: 8064
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

South East USA
Offline Offline
God Member
*****
Karma: 4
Posts: 636
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 506
Posts: 31345
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 506
Posts: 31345
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 506
Posts: 31345
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 83
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Can't you just pinMode them as INPUTs and write LOW?

http://www.arduino.cc/en/Reference/DigitalWrite
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 506
Posts: 31345
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: