ESP - Arduino -Level Converter

Gast #4461807
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
Gast
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.
Gast
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.
Gast
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.
-------------------------------
Gast
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
Gast
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!
Gast
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!
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.