PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pegelwandler RX/TX Arduino ESP8266



Cysign
05.02.2018, 02:46
Hallo zusammen,
ich bastel mir grade ne LED-Steuerung die ich gerne später auch per Spartphone steuern möchte.
Dazu hab ich mit nen ESP-05 (weil externe Antenne) ausm Sortiment gepackt und verheirate den grade mit meinem Arduino.

TX vom Arduino an RX vom ESP: Klar, hier muss n Spannungsteiler her Arduino







ESP8266 RX
|
|
Arduino TX |
___ | ___
----------|10K|----o---|20K|------
|
|
GND
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)




In die andere Richtung müsste ich aber das Signal von 3.3V zu 5V wandeln.
Unter https://iot-playground.com/blog/2-uncategorised/17-esp8266-wifi-module-and-5v-arduino-connection gibts folgende Grafik:
33266


Nen 2N2222 hab ich nicht da, da würd ich gerne nen BC548 nehmen.

Wenn ich das richtig verstehe, wird die ESP TX => Arduino RX Leitung über einen Pullup [R6] hochgezogen.
R5 sorgt dafür, dass der Transistor permanent durchschaltet.
Wenn im ESP nun der Pegel runtergezogen wird, fällt der logischerweise auf der Logikstrecke.

Aber liegen so nicht permanent die 5V des Pullups (abzgl. des Spannungsabfalls üebr den Transistor) am ESP an?
Oder kann ich das getrost vernachlässigen, da der Strom mit <1mA so gering ist, dass der ESP keinen Schaden nimmt?

HaWe
05.02.2018, 09:42
hallo,
nach meiner Erfahrung braucht man nicht das 3.3V TX Signal auf 5V zu anzuheben, 3.3V TTL werden vom "5V Arduino RX" korrekt erkannt (bei mir von Raspi zu Arduino):

http://www.mindstormsforum.de/viewtopic.php?f=78&t=8689&start=30#p70513

Cysign
05.02.2018, 16:35
Prinzipiell hast du Recht. Aber ich würde gerne die 'saubere' Lösung nehmen ;)
Hab bisher nur fertige Pegelwandler aus Basis des BSS138 genutzt, auch wenns nichts besonderes ist, würd ich gerne die Transistorlösung nehmen^^

Klebwax
06.02.2018, 00:29
Prinzipiell hast du Recht. Aber ich würde gerne die 'saubere' Lösung nehmen ;)
Hab bisher nur fertige Pegelwandler aus Basis des BSS138 genutzt, auch wenns nichts besonderes ist, würd ich gerne die Transistorlösung nehmen^^

Was du an dieser Transistorlösung "sauber" findest, kann ich nicht erkennen. Der High-Pegel wird nur passiv durch einen Pullup erzeugt. Das Zeitverhalten muß man sich auch ansehen, sollte bei einem UART eher kein Problem sein. Ist halt eine Schaltung mit minimalstem Einsatz.

Eine saubere Lösung ist einen 74HCT14 mit 5V zu betreiben und den mit dem 3,3V Signal anzusteuern. Das T nach dem HC garantiert dir die 3,3V Pegel. Das Signal ist dann invertiert, das kann man mit einem zweiten Gatter des 74HCT14 wieder in Ordnung bringen. Das wäre eine "saubere" Lösung.

MfG Klebwax