mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ESP8266 bootet nicht


Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich hab ein ESP8266-12F mit esp-link geflasht und einen IR-Kopf an Tx/Rx 
angeschlossen.
Komischerweise bootet der ESP aber nur wenn ich TX abklemme.
Hat jmd eine Idee woran das liegen könnte?

Die restliche Beschaltung:
EN high
GPIO 0 low

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GPIO15 muß auf GND.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehe gerade: GPIO0 soll nur auf GND während des programmierens, sonst 
auf Vcc.

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja danke!
Hab' mich geirrt; GPIO15 ist eh auf GND, nicht 0.
However bootet er ja normal sobald ich Tx abklemme.

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GPIO 0 hate ich auf VCC, so hat er aber nicht gebootet, deswegen hab 
ichs abgetrennt und dann bootete er, bis ich Tx angeschlossen habe.

Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> GPIO15 ist eh auf GND, nicht 0.

GND = 0 = Low.

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn der TX-Pin zu stark belastet ist und der ESP nach dem Reset dadurch 
Low erkennt, bootet er nicht - schein normal zu sein. Zieht denn dein 
IR-Kopf an dem Pin so viel Eingangsstrom?

Sascha

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte dass ich 15 auf low hab, nicht 0 auf low.
Eingangsstrom müsste ich messen.
Wenn ja, gibt's eine Lösung außer irgendeine Pufferstufe?

Autor: Frank Saner (hobbyist)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, die GPIO dürfen nur mit wenigen mA belastet werden. (Irgendwas mit 
12mA habe ich im Hinterkopf)

Du wirst also einen "Treiber" dazwischen schalten müssen.

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Messung sagt es fließen 70uA wenn ich verbunden booten möchte und 
320uA wenn ich nach dem booten verbinde.

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jz nachgesehen; da hängt direkt der Eingang eines Schmittt. dran.
Der sollte laut DB aber nur 1u ziehen.

Autor: Rene K. (xdraconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal langsam, das ist recht verwirrend deine Beschreibungen, gehe mal 
von low und 0 etc.. weg und benutze GND und VCC:

Immer:
CH_PD/EN -> Pull-Up   (10k) an VCC


Zum Betrieb:
GPIO0  -> Pull-Up   (10k) an VCC 
GPIO2  -> Pull-Up   (10k) an VCC
GPIO15 -> Pull-Down (10k) an GND

Zum seriellen Laden:
GPIO0  -> Pull-Down (10k) an GND 
GPIO2  -> Pull-Up   (10k) an VCC
GPIO15 -> Pull-Down (10k) an GND

GPIO15 muss eigentlich immer auf GND gezogen sein, es sei denn du 
bootest von SD-Card.

Was hast du für einen "IR-Kopf" an RX/TX? Wie ist der Verschaltet? Da 
Hilft auch mal ganz deutlich ein Schaltplan!

Autor: C3PO (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Der TX pin darf beim start nicht LOW sein. Wenn er es ist bootet der ESP 
im "Test Mode".

Man muss daher neben gpio 0,2 und 15 auch auf den Logikpegel am TX pin 
(gpio 1) beim booten achten.

Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der TX pin darf beim start nicht LOW sein

Das ist mir noch gar nicht aufgefallen, aber ich konnte das Problem 
tatsächlich nachvollziehen.

Steht das irgendwo im Datenblatt?

: Bearbeitet durch User
Autor: Rene K. (xdraconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C3PO schrieb:
> Der TX pin darf beim start nicht LOW sein. Wenn er es ist bootet der ESP
> im "Test Mode".
>
> Man muss daher neben gpio 0,2 und 15 auch auf den Logikpegel am TX pin
> (gpio 1) beim booten achten.

Danke für die Infos, ist mir tatsächlich auch noch nie aufgefallen. Gilt 
das für alle ESP8266? Auch für die ESP-01 Modelle (TX == GPIO1)?

Wenn dem wirklich so wäre, dann müsste ich tatsächlich etwas in meiner 
Software-Lib ändern, da ich den ESP-01 mitunder über einen µC 
programmiere, der diesen Resetet und in den Serial Mode setzt - und in 
dem Zustand des Resets der RX/TX Pin aus Richtung µC undefiniert ist.

: Bearbeitet durch User
Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gilt das für alle ESP8266? Auch für die ESP-01 Modelle (TX == GPIO1)?

Vermutlich ja, denn alle ESP8266 Module enthalten den selben ESP8266 
Chip.

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also...

Beschaltung:
VCC/GND an LM1117 mit Puffer-C
GPIO15 <-> GND
EN <-> VCC

GPIO0 ist NICHT auf VCC, da er dann GARNICHT bootet.

Geflash ist esp-link.
Die Schaltung an Rx/Tx ist der IR-Schreib-/Lesekopf von 
wiki.volkszaehler.org:

https://wiki.volkszaehler.org/_media/hardware/cont...

Wie gesagt, hinge da am Tx des ESP nur der Eingang des Schmitt-Triggers.

Wenn ich den ESP boote und dann Tx an den Schmittt. hänge funktioniert 
alles.
Mit von haus aus angeschlossenem Tx kann ich aber nicht booten.
In den Eingang des Schmittt. fließen bei 3,3V ~320uA falls das relevant 
ist.

Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ~320uA falls das relevant ist.

Ich denke, das ist relevant. Die internen Pull-Up und Pull-Down 
Widerstände des ESP Chips sind recht hochohmig. Packe einfach einen 
externen 2,2k Ohm Pull-Up Widerstand dazu, dann sollte es klappen.

: Bearbeitet durch User
Autor: Rene K. (xdraconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ESPnoob schrieb:
> Beschaltung:
> VCC/GND an LM1117 mit Puffer-C
> GPIO15 <-> GND
> EN <-> VCC
>
> GPIO0 ist NICHT auf VCC, da er dann GARNICHT bootet.

GPIO2... Was ist mit GPIO2???

Rene K. schrieb:
> Zum Betrieb:
> GPIO0  -> Pull-Up   (10k) an VCC
> GPIO2  -> Pull-Up   (10k) an VCC
> GPIO15 -> Pull-Down (10k) an GND



> GPIO0 ist NICHT auf VCC, da er dann GARNICHT bootet.

Und du bist dir sicher das er überhaupt arbeitet und sein Programm aus 
dem Flash zieht und nicht einfach dann bloß in den Serial Mode geht?!

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GPIO2 muss laut db high oder floating sein, hab auf floating vertraut 
was prinzipiell funktioniert.
Kann die Rx/Tx Beschaltung die Notwendigkeit der GPIO2-Beschaltung 
verändern?

Nein, da bin ich nicht sicher, muss ich überprüfen.


2k2 als pull-up an Tx meinst du?

Autor: Rene K. (xdraconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist der "Boot-Code" - wenn er, wie du sagst, bei GPIO0 auf VCC nicht 
anspringt. Dann geht er halt nicht in den normalen Modus - sprich dein 
Programm was du darauf geflasht hast läuft nicht. Und er geht in den 
Serial Mode.


                                  | GPIO 0 | GPIO 2 | GPIO 15
----------------------------------|--------|--------|---------
Flash Startup (Normal)            |   1    |   1    |   0
UART Download Mode (Programming)  |   0    |   1    |   0
SD-Card Boot                      |   0    |   0    |   1


Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach den aktuellen Erkenntnissen sollten man die Tabelle ergänzen:
                                             (TxD)
                                  | GPIO 0 | GPIO 1 | GPIO 2 | GPIO 15
----------------------------------|--------|--------|--------|---------
Flash Startup (Normal)            |   1f   |   1f   |   1f   |   0
UART Download Mode (Programming)  |   0    |   1f   |   1f   |   0
SD-Card Boot                      |   0    |   1f   |   0    |   1

f bedeutet: "oder floating"

Autor: Rene K. (xdraconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan, so sehr ich deine Arbeit schätze und immer mal wieder bei dir 
stöbern gehe :-D Aber ich hab gerade mal, da ich hier nur mit ESP-01 
Modulen arbeite, eines "floaten" lassen. Es ging nicht - es tat sich 
rein garnichts. :-)

Es mag ja sein das es eventuell funktioniert. Aber auf einen floateten 
Pin als Zustandsgeber kann man sich einfach nicht verlassen - weiß man 
was man sich da einfängt?! Nein, lieber einen festen definierten Zustand 
herstellen. Bei ungenutzten µC Pins - okay - die lasse ich meistens in 
meinen Layouts (soweit nicht anders im DB angegeben ist) auch offen, 
aber ich würde nie einen Zustandspin, sei es eine I²C Adresse oder eben 
ein BootPin, offen lassen.

: Bearbeitet durch User
Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um das klarzustellen:
Mit der oben genannten Beschaltung bootet er esp-link IMMER und 
funktioniert auch normal.

Außer wenn Tx beschaltet ist.

Autor: ESPnoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, jetzt hab ich ungeschickterweise meinen 3V3 Regler geschrottet und 
kann ihn diese Woche nicht ersetzen.
Ich hoffe ich kann in einer Woche auch nauch auf eure Hilfe zählen.

Danke vorerst!

Autor: DraconiX (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was zum Geier machst du da bloß?! 😂 Wie kann man denn bitte einen 3V3 
LDO schrotten? Die haben doch zu 90% ne Overcurrent- und 
Shortcurcuit-Protection?! Also wie bekommt man sowas kaputt?

Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber auf einen floateten  Pin als Zustandsgeber
> kann man sich einfach nicht verlassen

Absolut richtig. Sobald an einem Pin auch nur 1cm Draht hängen, sollte 
man ihn nich tmehr floaten lassen. Der ESP8266 hat zwar intern Pull-Up 
Widerstände aber die sind arg hochohmig.

> Wie kann man denn bitte einen 3V3 LDO schrotten?

Auf Steckbrett passiert es ganz schnell, daß man ihn verpolt.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.