Forum: Mikrocontroller und Digitale Elektronik ESP8266 gpio mit 5V ansteuern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Pepe T. (pepe_t)


Lesenswert?

Meine esp8266 board liest die daten eines 1-wire busses aus. Dieser bus 
ist normmal auf 5V und kann von 2 sendern auf 0V gezogen werden. Das ist 
ein opencollector dings, timing ist 1ms pulse.
Der input pin vom esp8266 liest das 5V signal klaglos ein, nach 
spec-sheed dürfte das aber nur 3.3V sein. Ich hab mal einen 10kohm 
vorgeschalten, mit der folge dass der esp das signal nicht mehr erkennt.

Was schalte ich da vor dann der esp8266 keinen schaden nimmt und das 
trotzdem noch läuft? Welche inpedanz hat ein esp-gpio input, offenbar 
unter 10k?
Es muss einfach sein, also kein dedizierter level shifter!

von Teo (Gast)


Lesenswert?

Schau mal in die Artikelsammlung: 
https://www.mikrocontroller.net/articles/Hauptseite

Beitrag #6975258 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

Ich nehme mal an, dass dein 1-wire Bus auch vom ESP beschrieben wird. 
Wenn das so ist, kommst du um einen richtigen Pegelwandler nicht herum.

Ansonsten (wenn der SP nur mitlesen muss) sollte ein hochohmiger 
Spannungsteiler gehen. Bei dir war der 10kΩ Widerstand jedoch offenbar 
schon zu viel. Das kann an der Übertragungsrate liegen oder daran, dass 
du einen I/O Pin genommen hast, der in deinem Modul bereits mit einem 
Pull-Widerstand beschaltet wurde.

Ein Oszilloskop wäre zur Aufklärung hilfreich.

> Es muss einfach sein, also kein dedizierter level shifter!

Was man gerne hätte, interessiert die Physik nicht.

von Brain 2.0 (Gast)


Lesenswert?

Was ist denn an einem Levelshifter (1Transistor und 2Widerstände) 
kompliziert.
Wenn man sich nicht an die Datenblätter hält, wird es kompliziert.

von Wolfgang (Gast)


Lesenswert?

Pepe T. schrieb:
> Meine esp8266 board liest die daten eines 1-wire busses aus. Dieser bus
> ist normmal auf 5V und kann von 2 sendern auf 0V gezogen werden. Das ist
> ein opencollector dings, timing ist 1ms pulse.
Man beachte den kleinen Unterschied zwischen ms und µs

> Der input pin vom esp8266 liest das 5V signal klaglos ein, nach
> spec-sheed dürfte das aber nur 3.3V sein.

Vielleicht wird er sogar darüber versorgt.
Woher weißt du, dass er nicht klagt? Hast du ihm wirklich richtig 
zugehört und den Eingangsstrom kontrolliert?

von Pepe T. (pepe_t)


Angehängte Dateien:

Lesenswert?

Wolfgang schrieb:
> Man beachte den kleinen Unterschied zwischen ms und µs
Wilst du mit meinem DSO streiten?

> Woher weißt du, dass er nicht klagt? Hast du ihm wirklich richtig
> zugehört
Ich habe eine intersektionale transaktionsanalyse mit schwerpunkt 
postkoloniales trauma bei HadmutDanisch in Berlin erstellen lassen.
Sollte reichen!

Stefan ⛄ F. schrieb:
> Ich nehme mal an, dass dein 1-wire Bus auch vom ESP beschrieben wird.
> Wenn das so ist, kommst du um einen richtigen Pegelwandler nicht herum.
Nein der esp8266 kann "open drain". Das sollte kein problem sein.
Aber noch nicht getestet.

Scheint die 10kohm gehen beim "esp-wroom-02" nicht, aber beim 
"ESOP8266MOD" geht das. Ich hol mir mal 5kohm :)

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Pepe T. schrieb:
> Meine esp8266 board liest die daten eines 1-wire busses aus. Dieser bus
> ist normmal auf 5V und kann von 2 sendern auf 0V gezogen werde

Na ja, OneWire muss nicht unbedingt mit 5V laufen,
ein DS18x20 beispielsweise geht von 3V bis 5V.

Auch kann ein mit 5V versorgter Chip seinen OneWire pull up
an 3.3V haben und immer noch high erkennen.

Nur wenn manparasitiv power auf einem zwangsweise 5V erfordernden
Chip hat, machen 3.3V Probleme.

Denn ein Pegelwandler ist nicht so einfach, es können ja beide Seiten 
senden.
Der übliche Pegelwandler benutzt einen MOSFET mit dem Gate an 3.3V.

https://www.maximintegrated.com/en/design/technical-documents/app-notes/7/7106.html

Keinen Vorwiderstand

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Pepe T. schrieb:
> Nein der esp8266 kann "open drain".
> Das sollte kein problem sein.

Aber doch nicht durch eine 10kΩ Widerstand. Der muss ja gegen alle 
Lasten (auch der Leitungskapazität) arbeiten.

von Pepe T. (pepe_t)


Lesenswert?

Stefan ⛄ F. schrieb:
> Der muss ja gegen alle Lasten arbeiten.
Wo er recht hat hat er recht. Hab ich nicht bedacht.
Also R an einem pin und senden mit anderem pin.

Michael B. schrieb:
> Der übliche Pegelwandler benutzt einen MOSFET mit dem Gate an 3.3V.
Wenn ich das einfacher nicht hinbringe mach ich das so.

Ist für das teil hier: Beitrag "Kennt jemand diese WarmwasserWärmepumpe?"

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Pepe T. schrieb:
> Also R an einem pin und senden mit anderem pin.

Dann riskierst du den anderen Pin zu überlasten (wegen der 5V).

von Wolfgang (Gast)


Lesenswert?

Pepe T. schrieb:
> Wolfgang schrieb:
>> Man beachte den kleinen Unterschied zwischen ms und µs
> Wilst du mit meinem DSO streiten?

Klingt überzeugend.
Dann machst du wohl etwas anderes, als 1-wire
https://de.wikipedia.org/wiki/1-Wire

von Pepe T. (pepe_t)


Angehängte Dateien:

Lesenswert?

Peinlich aber ...
Das läuft auch mit 10kohm wenn man den richtigen pin erwischt.
Bei meinen 2 modulen ist pin5 nicht am gleichen pin. :(

Ich bau jetzt mal das mit der diode und schau ob ich senden kann.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Pepe T. schrieb:
> Ich bau jetzt mal das mit der diode und schau ob ich senden kann.

Und wie willst du die 5V von dem ESP fern halten? Mit der Diode sind es 
4,3 Volt - immer noch deutlich zu viel.

von Pepe T. (pepe_t)


Lesenswert?

Die chip interne begrenzung soll erst bei 5.6V kommen.
Da das "open drain" is kein problem.
Und sonst 3 eur für einen neuen esp.

Die diode ist eigentlich völlig unnötig, die war nur beim nicht 
opendrain fähigen atmega328p nötig.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Pepe T. schrieb:
> Die chip interne begrenzung soll erst bei 5.6V kommen.

Hat irgendwer mal mittel Experimente herausgefunden. Ich würde mich 
lieber ans Datenblatt halten, denn solche Dinge können sich ändern.

> Und sonst 3 eur für einen neuen esp.

Nützt dir nichts, wenn die neuen Chips die im Datenblatt zugesicherten 
3,6V erlauben. Was bei mehr Volt passiert, ist nicht spezifiziert. Von 
"geht nicht" über "hängt sich auf" bis zu "geht kaputt" ist alles 
möglich. Die Chinesen sind dafür bekannt, Details im Rahmen des 
Datenblattes zu ändern, wenn sie gerade Lust drauf haben.

von Brain 2.0 (Gast)


Lesenswert?

Pepe T. schrieb:
> Und sonst 3 eur für einen neuen esp

Für einen selbst verschuldeten Tot eines ESP sind 3 € Ok.
Aber zu geizig einen sauberen Levelschifter für ein paar Cent 
einzubauen.
Lieber irgend etwas zurecht wurschteln. Echt Super....viel Glück.

von Wolfgang (Gast)


Lesenswert?

Pepe T. schrieb:
> Die diode ist eigentlich völlig unnötig, die war nur beim nicht
> opendrain fähigen atmega328p nötig.

Seit wann kann ein ATmega328 kein Open-Drain?

von Pepe T. (pepe_t)


Lesenswert?

Wolfgang schrieb:
> Seit wann kann ein ATmega328 kein Open-Drain?

Der kann "input pullup".
Wie geht denn "open drain" mit dem teil?

von Wolfgang (Gast)


Lesenswert?

Pepe T. schrieb:
> Wie geht denn "open drain" mit dem teil?

Portxn auf 0, Daten an DDxn
(s. Datenblatt Abb.14-2 "General Digital I/O" im Kapitel 14.2 "Ports as 
General Digital I/O")

von Pepe T. (pepe_t)


Lesenswert?

Wolfgang schrieb:
> Portxn auf 0, Daten an DDxn

Schon wider was gelernt :)
Das läuft mit R und diode.
Ich kann jetzt meine wärmepumpe über's netz steuern.

von Heinz R. (heijz)


Lesenswert?

was ist das eigentlich für ein 1Wire-Bus?

Sind das einfach 2 x DS18B20-Sensoren?

Die versorgst halt nach belieben mt 3,3 oder 5V - den Pull-Up machst 
nach 3.3V

Ein ESP8266 ist übrigens - obwohl hier oft anders geschrieben - 
5V-tolerant
Es gab da mal ein offizielles Statement seitens Espressif

https://ba0sh1.com/2016/08/03/is-esp8266-io-really-5v-tolerant/

von Pepe T. (pepe_t)


Lesenswert?

Das ist eine warmwasserwärmepumpe mit 300 liter speicher.
Da unten draufkliken, das ist ein link.

Beitrag "Kennt jemand diese WarmwasserWärmepumpe?"

Die soll zukünftig automatisch starten wenn solar genug liefert.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Heinz R. schrieb:
> Sind das einfach 2 x DS18B20-Sensoren?

Die würden dir etwas husten, wenn du denen mit solchen Signalen kommst.

Pepe T. schrieb:
> IMG_20220207_172358.jpg

von Stefan F. (Gast)


Lesenswert?

Heinz R. schrieb:
> Ein ESP8266 ist übrigens - obwohl hier oft anders geschrieben -
> 5V-tolerant
> Es gab da mal ein offizielles Statement seitens Espressif
>
> https://ba0sh1.com/2016/08/03/is-esp8266-io-really-5v-tolerant/

Ich würde mich für aktuelle Chargen des Chips lieber am aktuellen 
Datenblatt orientieren.
https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf

Da steht diese angebliche Bestätigung der 5V Aussage nicht mehr drin, 
und das wird einen Grund haben.

von Pepe T. (pepe_t)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bestätigung der 5V Aussage

Klar schreiben die das nicht sonst sind sie dafür haftbar.

von Stefan F. (Gast)


Lesenswert?

Pepe T. schrieb:
> Klar schreiben die das nicht sonst sind sie dafür haftbar.

Der Heinz will auch nicht für seine Aussage haften, nehme ich mal an.

von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Da steht diese angebliche Bestätigung der 5V Aussage nicht mehr drin,
> und das wird einen Grund haben.

Sie gehen sogar noch weiter: Es ist explizit ausgeschlossen (S.19).

von Heinz R. (heijz)


Lesenswert?

Stefan ⛄ F. schrieb:
> Der Heinz will auch nicht für seine Aussage haften, nehme ich mal an.

nein werde ich nicht, warum sollte ich das auch tun?
Hast Du auch die deutsche Vollkasko-Mentalität?

Ist mir auch egal ob er jetzt 5V abkann oder nicht - da wurde viel in 
diversen grossteils englischen und chinesischen Foren hin und her 
diskutiert - manche sagen so, die anderen so - Deine Meinung ist sicher 
die Richtige...

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.