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