Forum: Mikrocontroller und Digitale Elektronik Spannungsteiler in UART geht nicht


von Thomas (Gast)


Lesenswert?

Hallo,

ich habe einen Arduino, an dessen TX Pin hängt bekanntlich ein 
USB2Seriell Wandler. Nun habe ich zusätzlich über einen Spannungsteiler 
(1.8 kOhm und 3.3 kOhm) den RX Pin eines ESP8266 (genauer ein ESP-12 
Modul auf einem NodeMCU) angeschlossen.

Ist der ESP nicht am Spannungsteiler angesteckt so habe ich einen 
sauberen ~3.3V Pegel der beim UART senden des Arduino auf GND geht. Mit 
dem ESP sind es weiterhin 3.3V Ruhepegel, nur beim senden geht es nicht 
mehr auf GND, eher nur so auf 2V. Kann es sein dass der Spannungsteiler 
zuviel Strom braucht und deshalb der Arduino UART den Pegel nicht mehr 
sauber auf GND ziehen kann?

Thomas

von Bla (Gast)


Lesenswert?

Schaltplan bitte. Spannungsteiler sind keine Pegelwandler, schnelle 
Signale werden total verschliffen.
Was hast du mit dem USB UART auf dem NodeMCU gemacht? Dessen Tx treibt 
den Rx am ESP, da läuft der Arduino mit seinem Tx in Konkurrenz.

von Thomas (Gast)


Lesenswert?

Ahhh... stimmt. Auf dem NodeMCU läuft ja auch noch ein USB2Seriall 
Wandler. Ich denke der könnte das Problem sein.

Nachdem der ESP mehr oder weniger "5V Tolerant" ist habe ichs mal mit 
direktem verbinden vom NodeMCU mit dem Arduino probiert und das läuft 
problemlos.

Ein richtiger Pegelwandler wäre natürlich schöner, dafür müsste ich aber 
wieder etwas mehr Anschlüsse hinbasteln.

Danke für dne Tipp mit dem Seriell-Chip auf dem NodeMCU!!!

Thomas

von Einer K. (Gast)


Lesenswert?

Was auch immer du zu tun versuchst, die Serielle ist kein Bus.
2 Geräte, und das wars.
Alles andere ist Pfusch.

Und du bist gerade bei 4 Geräten.


Mein Tipp:
Benutze den Arduino als I2C Slave des ESP.

von Thomas (Gast)


Lesenswert?

Hallo ufuf,

womit du absolut Recht hast. I2C, eventuell mit Pullups an 3.3V sollte 
perfekt funktionieren.

Der ESP8266 macht übrigens nichts anderes als empfangene Daten vom 
Arduino übers Wifi (TCP/IP Verbindung) zu senden und übers Wifi 
empfangene Daten wieder über seriell rauszugeben.

Sinn und Zweck ist es die seriellen Debugmeldungen die ein Arduino 
Roboter während der Fahrt ausgibt auch empfangen zu können. USB-Kabel 
dran lassen geht nicht sonderlich gut :-)

Danke für den Tipp mit I2C - und dass ein serieller Bus mit 4 
Teilnehmern Pfusch ist stimmt natürlich auch. Aber ich bin ja zum Glück 
erst in der Anfangsphase. Da darf ruhig mal ein bisschen Magic Smoke 
entweichen.

Thomas

von Stefan F. (Gast)


Lesenswert?

Für deinen Fall ist das NodeMCU das falsche Produkt. Nimm besser einen 
"nackten" ESP-07, ESP-12 oder ESP-01. Aber bitte mit Spannunsgteiler 
oder Pegelwandler.

Spannungsteiler aus 1,5k Ohm + 2,2k Ohm klappen einwandfrei bei 115200 
baud.

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.