Forum: Mikrocontroller und Digitale Elektronik Atmega (5V) <-> I2C <-> Sensor (3.3V), wie verbinden?


von i2c (Gast)


Lesenswert?

Hallo!

Ich möchte einen Sensor mit meinem Atmega verbinden. Dazu stellt der 
Sensor einen I2C-Bus zur Verfügung. Das alles wäre ja gar kein Problem, 
hätte ich eine L-Version des Atmegas, der auch mit 3.3 V auskommt. Habe 
ich aber nicht, deshalb muss ich irgendwie schauen wie ich das nun 
verbinden kann.
Hat jemand eine Idee, natürlich sollte sie möglichst einfach sein (am 
liebsten mit Widerständen...). Wenn ich es mit Spannungsteilern mache, 
dann schätze ich mal, dass ich Probleme bekomme mit der Kommunikation 
vom Sensor zum Atmega? Die SCL-Leitung lässt sich so sicher 
"bearbeiten". Aber ob die Pegel noch stimmen um vom Sensor zu lesen? Hat 
da jemand eine Idee?

Danke für Tipps

von i2c (Gast)


Lesenswert?

Hallo, ich bins nochmal. Ich poste hir mal noch den Link zu dem 
Datenblatt des Sensors. Da steht: Supply Voltage: 2.x bis 3.6 V, unter 
absolute maximum ratings steht aber Vdd = 6V. Was meint ihr, kann ich 
ihn also mit 5 V betreiebn, das wäre doch die einfachste Möglichkeit.
Hab ein bisschen schiss, dass er kaputt geht, ist ja nicht der 
billigste...

Datenblatt:
http://www.st.com/stonline/products/literature/ds/11115/lis3lv02dq.pdf

von Michael W. (miwitt001)


Lesenswert?

Bevor du den Sensor mit 5Volt grillst, versuch doch einfach ob der 
Atmega evtl mit 3,3 volt auskommt.

Ich hab jetzt net genau geschaut, wie der Sensor ausgelesen wird, aber 
ich denke über irgendein digitales Signal...
Der AVR sollte 3,3 Volt schon als High Pegel erkennen (Bsp ATmega8 ab 
0,6Vcc, wären 3 Volt), so dass du den Ausgang vom Sensor direkt an den 
AVR anschließen kannst.
Falls das ganze bidirektional läuft, würde ich in die andere Richtung 
einen Widerstand an den AVR-Pin hängen, danach ne 3,3Volt Z-Diode gegen 
Masse (Polung !!) und dann auf den Sensoreingang. Die Diode "schneidet" 
dann einfach die Spannung über 3,3 Volt ab, der Widerstand is da damit 
der Strom im AVR-Pin nicht zu hoch wird.

mfg

von A.K. (Gast)


Lesenswert?

Nimm deinen non-L AVR und betreibe ihn mit 3,3V. Der entstammt der 
gleichen Fertigung, wurde nur nicht bei 3,3V getestet.

von i2c (Gast)


Lesenswert?

OK, das ist natürlich auch eine Variante.
Falls das Trotzdem Probleme bereitet, merke ich das sofort, oder gibts 
dann sporadische Aussetzer, die man dann nur schwer nachvollziehen kann?

von A.K. (Gast)


Lesenswert?

Eher letzteres fürchte ich. Wenn du sicher gehen willst, dann fahr den 
Takt etwas unterhalb der 8MHz-Grenze. Ist aber ziemlich 
unwahrscheinlich. Viel wahrscheinlicher ist der Ärger, wenn du den 
Sensor ausserhalb fährst.

von i2c (Gast)


Lesenswert?

Ok, dann werde ich das mit .3 Volt Spannungsversorgung testen.
Jetzt habe ich aber noch das Problem, dass ich 4 Servo-Signale einlese, 
die bei High-Pegel 5 Volt ausgeben. Muss ich da umbedingt einen 
Spannungsteiler pro kanal nehmen, oder kann ich auch bloss inen 
Widerstand nehmen, der Atmega hat ja glaube ich intern Dioden an Vdd 
bzw. GND, welche zu eiten beginnen, sobald eine Spannung grösser bzw. 
kleiner als Vdd bzw. GND ist. Ertragen diese auch die Ströme, die ein 
I/O verträgt? Ich hätte jetzt einen ca. 1k Widerstand genommen, damit 
wären die Ströme so um ca. 2mA pro Kanal, ist das i.O.?

von A.K. (Gast)


Lesenswert?

Die Schurtdioden produktiv zu nutzen ist zwar nicht elegant, wird aber 
recht häufig gemacht.

von i2c (Gast)


Lesenswert?

Tjs, die Eleganz ist wohl schon mit 3.3 Volt Betriebsspannung für einen 
nicht-L-Typen verloren gegangen ;) Bei Atmel wird sogar eine 
Nulldurchfgangserkennung mit einem I/O über einen Widerstan direkt am 
230V-Netz vorgeschlagen, da ist mein Ding gerade human!!
Was würdest du für einen Wert für die Widerstände vorschlagen?

von E. M. (hias)


Lesenswert?

Hallo!

Ich würd das Problem so lösen:
Seite 10
http://www.standardics.nxp.com/support/documents/i2c/pdf/an97055.pdf

Hias

von Sven (Gast)


Lesenswert?

Ich würde es auch mit zwei Mosfettransistoren lösen.
Da der Sensor das einzigste Bauteil ist,
das mit den 3,3v laufen soll, würde ich also
die 7 Bauteile einfügen.

2 x Mosfet und 2 x Pullups auf der 3,3V Seite,
Spannungsregler und 2 Kondensatoren.
Bei SMD ist der Platzbedarf ja nicht so hoch....

Gruß Sven

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.