Hallo, ich weiß das hier schon immer mal wieder über die Level-Konvertierung zwischen ESP8266 und Arduino diskutiert wurde. Ich habe in meiner Bastelkiste zwei unterschiedliche I2C-LevelConverte gefunden. Der Erste arbeitet mit einem Mosfet und einem Spannungsteiler (ähnlich diesem http://letsmakerobots.com/node/39234) und der Zweite hat in etwa folgenden Aufbau. https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide Meine Frage ist jetzt, warum bekomme ich mit dem ersten Konverter das Serial-Interface ans laufen und mit dem Zweiten nicht?? Ich hoffe ihr könnt mich aufklären. Habt Dank! Peter
ESPnewbie schrieb: > Ich habe in meiner Bastelkiste zwei unterschiedliche I2C-LevelConverte > gefunden. Der ESP hat aber nicht I2C sondern UART. Vom ESP zum Arduino solltes es einfach so gehen, Schaden kann das nicht anrichten. Und andersherum tuts ein einfacher Spannungsteiler, Kolban schlägt 10k zu 22k vor. http://neilkolban.com/tech/esp8266/ MfG Klaus
ja das mit I2C und UART ist mir klar ... aber müsste das nicht bei der Pegelwandlung egal sein?
Nein! Deine I2C Wandler sind Bidirektional. UART Wandler Unidirektional. I2C Ports arbeiten Open Drain, Uart Ports PushPull. Wenn die Pullups genügend klein sind, mag das sogar funktionieren. Darin werden sich deine LevelShifter vermutlich unterscheiden.
Also aus eigener Erfahrung kann ich sagen dass der ESP an den UART Eingängen auch 5V verträgt. Aber das garantiert dir der Hersteller nicht, ist also die Bastellösung für Schmerzfreie. Der 1-BJT Minimalpegelwandler für I2C müsste ja rein theoretisch auch funktionieren, man lässt einfach die Pull-Ups weg.
Sascha schrieb: > Also aus eigener Erfahrung kann ich sagen dass der ESP an den UART > Eingängen auch 5V verträgt. Aber das garantiert dir der Hersteller > nicht, ist also die Bastellösung für Schmerzfreie. Wie wärs wenn du in Zukunft die Pfuschlösungen einfach für dich behälst? Wenn der Hersteller nicht sagt, dass die Ports 5V tolerant sind, dann ist die Wahrscheinlichkeit sehr klein, dass es doch so ist. Und kaputt ist nicht unbedingt "der ESP geht gar nicht mehr", sondern eher "er hält seine Spezifikationen nicht mehr ein". Wenn etwas kaputt gegangen ist, kann es gut sein, dass du es nicht bemerkt hast oder es erst nach längerer Zeit zu schäden kommt. Kaputte ICs zu debuggen macht jedenfalls Spaß, deswegen würde ich allgemein von so etwas abraten. Sascha schrieb: > man lässt einfach die Pull-Ups weg I²C ohne Pullups? Wie soll das gehen? Bei I²C, 5V <-> 3,3V und Avrs kann man übrigens einfach die Pullups an die 3,3V anschließen. Ein 5V Avr erkennt 3V als High.
Am Arduino nur der Softuart, ansonsten der TX0 und RX0 wenn der USBanschluss abgezogen ist. ------------------------------- Also aus eigener Erfahrung kann ich sagen dass der ESP an den UART Eingängen auch 5V verträgt. -------------------------------
Habe ich das jetzt richtig verstanden, das man einfach auf den I2C-Level-Converter ein paar Widerstände (Pull-Ups) auslötet und das Teil kann auch für die UART-Schnittstelle verwendet werden? Und danke für eure Hilfe Gruß Peter
avr schrieb: > Ein 5V Avr erkennt 3V als High. avr schrieb: > Wie wärs wenn du in Zukunft die Pfuschlösungen einfach für dich behälst? Mfg Klaus
ESPnewbie schrieb: > Habe ich das jetzt richtig verstanden, das man einfach auf den > I2C-Level-Converter ein paar Widerstände (Pull-Ups) auslötet und das > Teil kann auch für die UART-Schnittstelle verwendet werden? Unsinn!
Klaus schrieb: > avr schrieb: >> Ein 5V Avr erkennt 3V als High. > > avr schrieb: >> Wie wärs wenn du in Zukunft die Pfuschlösungen einfach für dich behälst? > > Mfg Klaus Im Gegensatz zu seiner Aussage steht das im Datenblatt!
avr schrieb: > Im Gegensatz zu seiner Aussage steht das im Datenblatt! Ja? Wo? Bisher habe ich nur sowas gefunden: Vcc * 0,7 = 3,5V Atmel garantiert, dass ein High bei 3,7V erkannt wird.
DokuLeseVerweigerer schrieb: > avr schrieb: >> Im Gegensatz zu seiner Aussage steht das im Datenblatt! > Ja? > Wo? Wo wohl? Sicher nicht unter Pinout und sicher auch nicht unter Memory Programming. Wenn du das richtige Kapitel gefuden hast, steht es gleich auf der ersten Seite. DokuLeseVerweigerer schrieb: > Bisher habe ich nur sowas gefunden: > Vcc * 0,7 = 3,5V Quelle? Ich habe mal in die Datenblätter vom Atmega168/PA/PB reingeschaut. Bei allen gilt mindestens: VCC = 1.8V - 2.4V 0.7VCC VCC = 2.4V - 5.5V 0.6VCC
Hab mir diesbezüglich vor ein paar Monaten einmal die hier bestellt: http://www.aliexpress.com/item/20pcs-lot-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V/32310611638.html 20 STK für knapp 5.5 Euro und seitdem habe ich Ruhe in allen Belangen (AVR<>ARM<>ESP's<>SD-Card<>Displays usw...)
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.