Hallo, ich würde gerne einen MPU6050 mit einem Atmega32 über i2c verheiraten. Mein Problem ist, dass der Mpu mit 3V und der Atmega mit 5V laufen. Auf den gängigen Mpu-Platinen ist üblicherweise ein Spannungsregler 5->3V integriert. Bei mir harkt es bei der i2c Verdrahtung. - Kann ich die Leitungen einfach mit einander verbinden, trotz des Spannungsunterschieds der ICs, da open collector? PullUp dann gegen 5V oder 3V? - Muss ein Pegelwandler rein? Es wäre super, wenn mir jemand einen Tipp geben kann.
Daniel R. schrieb: > Pull-Ups an 3,3V. Das ist das schöne an I2C, da open drain Kann funktionieren, muss es aber nicht: http://www.atmel.com/images/doc2503.pdf Seite 290 Two-wire Serial Interface Characteristics VIH Input High-voltage min. 0,7 Vcc 0,7*5V = 3,5V Also wenn man es richtig machen will: Pegelwandler oder mit Vcc des uCs nach unten gehen.
5V ist tot schrieb: > Also wenn man es richtig machen will: Pegelwandler oder mit Vcc des > uCs nach unten gehen. ... und wenn man keine Lust hat, die selber zu basteln, gibt es genügend fertige Module bei ebay ("I2C Logic Level Converter", z.B. 5 Stk 4-Kanal 310965629276)
MPU6050 habe ich ohne Level Shifter benutzt, indem ich den AVR einfach auf 3,3V laufen lasse. Sonst sind diese Level Shifter gut, betreibe damit ein OLED-Display via I2C (400kHz) am 5V Arduino Pro Mini: http://www.dx.com/de/p/jy-mcu-5v-3v-iic-uart-level-2-way-converter-module-adapter-178301#.VUSpjdM8au4 (ok, die Variante mit 4 IOs anstatt 2). Das Ding kommt mit eigenem Spannungswandler (LDO XC6206) und sogar zwei Schootkys MBR0520; die Stromversorgung kommt also vom Arduino und kann vom Level Shifter für das I2C-Modul abgenommen werden; spart die Verwendung des 3,3V-Pins vom Arduino ein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.