Hallo,
ich beschäftige mich aktuell mit dem ESP8266-07. Nach den ersten
Gehversuchen mit der NodeMCU Firmeware hatte ich Tests mit dem
Arduino-IDE durchgeführt. Programme ohne eine Aktivierung der
WLan-Funktion haben problemlos funktioniert. Nachdem ich ein
Testprogramm geflasht habe, in dem auch das WLan aktiv war, ging das
eins zwei Mal gut. Ab diesem Zeitpunkt befinden sich inzwischen zwei
ESPs in einer Art dauer Reset Loop.
Auch die rote Power-LED glimmt nur leicht oder scheint ganz aus zu sein.
Ich habe leider kein Oszi oder ähnliches um zu prüfen, was genau an der
LED passiert.
Der ESP sitzt auf einem Breadboard und bekommt von einer 1A
Spannungsquelle eine Spannung von 3,3V DC. Desweiteren puffern zwei
10.000µF und ein 100nF Kondensator die Spannung. Somit gehe ich davon
aus, dass die Spannungsversorgung i.O. ist.
Angeschlossen ist der ESP wie auf diesem Bild beschrieben.
https://github.com/esp8266/Arduino/blob/master/doc/ESP_to_serial.png
Welche ESP-Version ich verwende, sollte aus den Bildern vom Anhang
ersichtlich sein. Ich habe keine Ahnung wie groß der Flash ist. Zu dem
Chip finde ich einfach nichts sinnvolles.
Der letzte Quellcode den ich hochgeladen habe, sieht wie folgt aus:
1
#include<ESP8266WiFi.h>
2
3
extern"C"{//required for read Vdd Voltage
4
#include"user_interface.h"
5
// uint16 readvdd33(void);
6
}
7
8
constchar*ssid="...";
9
constchar*password="...";
10
11
voidsetup()
12
{
13
// Open serial communications and wait for port to open:
14
Serial.begin(115200);
15
16
// setting up Station AP
17
WiFi.begin(ssid,password);
18
19
// Wait for connect to AP
20
Serial.print("[Connecting]");
21
Serial.print(ssid);
22
inttries=0;
23
24
while(WiFi.status()!=WL_CONNECTED){
25
delay(500);
26
Serial.print(".");
27
tries++;
28
if(tries>30){
29
break;
30
}
31
}
32
Serial.println();
33
34
Serial.println("Connected to wifi");
35
//Serial.println(WiFi.localIP());
36
Serial.print("Udp server started at port ");
37
Serial.println(localPort);
38
39
}
40
41
voidloop()
42
{
43
delay(200);
44
Serial.println(".");
45
}
Es kommt über das Serial-Interface entweder nur eine kryptische
Zeichenkette oder eine Schleife von Reboot-Informationen. Ähnlich
dieser:
1
etsJan82016,rstcause:4,bootmode:(3,7)
2
wdtreset
3
load0x40100000,len30000,room16
4
tail0
5
chksum0x67
6
load0x3ffe8000,len2556,room8
7
tail4
8
chksum0xb7
9
load0x3ffe8a00,len3080,room4
10
tail4
11
chksum0x59
12
csum0x59
Dabei ist der Reset-Grund entweder 4 (Watchdog) oder die 1 (normal
boot).
Um den Fehler zu korrigieren, habe ich versucht die NodeMCU-Firmeware
auf zu spielen bzw, die original AT-Firmeware ... aber das hat auch
keine Besserung gebracht. Anhand dieser Beschreibung, könnt Ihr auch
erkennen, das der Bootloading-Mode (GPIO0 auf GND) einwandfrei
funktioniert. Somit gehe ich davon aus, das ich beim Flashen den Inhalt
der einzelnen Flash-Bereiche durcheinander gebracht habe. Ich konnte
aber bis jetzt keine Anleitung finden, wo beschrieben ist, wie ich den
gesamten Flash clearen und neu und sauber flaschen kann.
Ich hoffe Ihr könnt mir bei meinem Problem helfen, damit ich meine ESPs
wieder ans fliegen und senden ;-) bekomme
Danke schon mal für Eure Hilfe
Grüße Hans
Trenn mal beim TTL2USB-Wandler die Pins DTR und RTS ab. Der ESP8266
macht kein Hardware-Handshake, so dass die Pegel dort die Funktion
stören könnten...
Gruß,
Thomas
@Pete K.
immer wieder nett, wenn andere für einen googlen und auch nichts (aus
meiner Sicht) sinnvolles dabei finden. Genau die gleiche Suche habe ich
schon gemacht und konnte mit keinem Beitrag was anfangen.
@Thomas T.
die RST und DTR habe ich auch schon getrennt. Das hat aber leider auch
nichts gebracht :-(
>> Auch die rote Power-LED glimmt nur leicht oder scheint ganz aus zu sein.
Hi mit diesem Defekt hab ich auch 2 ESP8266-07 Module rumliegen, die
haben zwar etwas mehr Beschaltung als deine aber ich denke die sind
hinüber.
Bei einen davon hab ich den Flash entfernt um zu testen ob der schuld
ist, der ist aber in Ordnung also kann dann nur noch der ESP hinüber
sein, vom verhalten her würde ich auf ne Resetschleife tippen.
Das war jetzt nicht die Antwort auf die ich gehofft habe, aber das habe
ich schon fast vermutet. Kann es mir allerdings nicht erklären. Ich habe
nur ein Programm aufgespielt und nichts an der Beschaltung geändert.
Warum sollte dann auch ein Nagelneuer ESP8266 sofort defekt sein ... Ich
denke das es doch etwas mit falschen Daten in bestimmten
Speicherbereichen zu tun haben könnte.
Einen weiteren Versuch möchte ich eigentlich kaum riskieren. Denn sobald
ich was flashe ist der Chip hin ... warum auch immer ...
Bei mir laufen alle anderen Perfekt, sind bei mir 2 von 18 damit kann
ich leben, überschrieben haben solltest sie nicht das Bootrom liegt im
ESP nicht im Flash das ist nicht so leicht tot zu bekommen.
1) läßt sich der ESP mit einem Taster im Reset halten? Wurde dies schon
untersucht?
Net_Hans schrieb:> Es kommt über das Serial-Interface entweder nur eine kryptische> Zeichenkette
2) die kryptische Zeichenkette kann von einer anderen Baudrate stammen,
da der Bootloader eine andere verwendet wie die eigentliche Applikation.
Wurde dies schon untersucht?
Ich persönlich halte es für unwahrscheinlich, dass der Baustein kaputt
ist.
Wenn der Watchdog greift, dann wurde wahrscheinlich nicht
berücksichtigt, dass die eigenen Funktionsaufrufe nur 10ms lang dauern
dürfen, weil dann die Hauptschleife wieder zum Zug kommen muss.
ich benutze den SDK vom Hersteller selber und nicht das Arduino
Framework. Aber ich denke, dass auch hier die 10ms Regel gültig ist, und
dann sind die beiden Delays für den Watchdog ausschlaggebend:
delay(500) und delay(200)
Kann mich auch Irren, aber dies wäre meine erste Vermutung!
delays sind hier nicht gut, weil während des delays keine Verarbeitung
stattfindet. Möglicherweise geht das mit über Arduino anders, aber mit
der LUA Software macht man das über einen Timer.
Während des delays kann kein Verbindungsaufbau stattfinden und
irgendwann schlägt Dein Watchdog an.
tja schrieb:> Kann mich auch Irren,
Aus der Doku:
>delay(ms) pauses the sketch for a given number of milliseconds and allows >WiFi
and TCP/IP tasks to run.
Delay ist also kein Problem, eher kann man damit Probleme vermeiden wenn
der Code ein wenig Zeit braucht.
wenn die rote Powerled nur leicht glimmt oder aus ist, dann ist etwas
gröberes passiert oder oberfaul, da diese LED direkt über einen
Widerstand an der Versorgung des ESP liegt (ohne sonstiges Beiwerk oder
gar an einem Pin).
D.h.: entweder mal kräftig Überspannung gehabt und nu LED und ESP tot
oder keine vernünftige Masse/Vcc Verbindung weil beim Auflöten aufs
Breakoutboard geschludert. Einfach mal durchklingeln das ganze bzw
Versorgung direkt am ESP nachmessen.
Hallo,
Net_Hans schrieb:> Der ESP sitzt auf einem Breadboard und bekommt von einer 1A> Spannungsquelle eine Spannung von 3,3V DC. Desweiteren puffern zwei> 10.000µF und ein 100nF Kondensator die Spannung. Somit gehe ich davon> aus, dass die Spannungsversorgung i.O. ist.
wenn das wirklich 2x 10000µF sind würde ich mal die Spannung messen, die
das Netzteil rausgibt. Mit 20000µF bekommt man durchaus auch ein 1A
Netzteil kaputt. Ich habe da normalerweise 47...100µ relativ dicht am
ESP, die 100n hat das Board selber drauf.
Bisher keinerlei Probleme, auch nicht mit meinen -07.
Defekten Flash soll es bei den 4MBit-Versionen schon gegeben haben,
16MBit gibt es bei ebay, die Bauform ist etwas zu groß, läßt sich aber
noch auflöten.
Gruß aus Berlin
Michael
Net_Hans schrieb:> Desweiteren puffern zwei> 10.000µF und ein 100nF Kondensator die Spannung.
Ist das ein Punktschweißgerät? Da verdampfen bei jedem Fehler
Bonddrähte, egal wie die Strombegrenzung beim Netzteil eingestellt ist.
MfG Klaus
>immer wieder nett, wenn andere für einen googlen und auch nichts (aus>meiner Sicht) sinnvolles dabei finden.
Also ich habe was gefunden, war gar nicht so schwer.
Hallo,
vielen Dank für eure zahlreichen Tipps,
ich habe jetzt einen 10.000er Elko aus der Schaltung geschmissen und die
Spannung nachgemessen. Mit meinem Trägen UNI-T komme ich auf eine
Spannung von 3,0V bis 2,89V. Somit muss ich mein Netzteil wohl etwas
umgestalten. Das werde ich morgen auch tun. Vielleicht ist das schon die
Lösung.
Ebenso werde ich alle Kontakte noch einmal nachlöten, eventuell ist ja
wirklich irgendwo eine kalte Lötstelle oder aber das Breadboard hat
Kontaktprobleme .... deswegen werde ich die Verbindungen auch mal direkt
an den ESP anlöten. Sicher ist sicher ;-)
Mal gucken ob es was bewirkt. Ich sag euch bescheid ;-)
@Pete K.
nein ich habe die blank.bin nicht an beide Adressen geschrieben ... nur
an die erste glaube ich ... bin mir aber gerade auch nicht ganz sicher
@Chr. Messener
vielen Dank für das Datenblatt. Ich hatte es leider nicht gefunden ...
THX
Ich betreibe mehrere, direkt am USB-Port. Mit einem Recom 3-Bein
Schaltregler 3,3V 0,5A hole ich mir die Versorgung aus der USB-Spannung.
Ein 10µ Keramikkondensator stützt die 3,3V. Die paar 100mA für den ESP
sind da kein Problem.
MfG Klaus
Mögliche Erklärung für das Phänomen:
Der Chip wird mit WiFi disabled ausgeliefer und braucht daher weniger
Strom,
als du das erste mal WiFi aktiviert hast wurde es auch eingeschaltet und
zieht nun bei jedem start Strom.
Ich hatte so ein Verhalten mal als ich mit dem Multimeter den Strom
direkt messen wollte. :)
Hallo,
mein CP2102 SiLabs USB-Adapter kann laut Datenblatt 100mA mit seinem
internen 3,3V-Regler. Mit 100µF am ESP läuft dieser stabil am CP2102.
Benutze ich gern zum Programmieren und testen. Ansonsten diverse
USB-Lader und ein China AMS1117 oder ein MCP1702 dahinter.
Wenn die rote LED beim WLAN-Zugriff anfängt erkennbar zu flackern reicht
der Strom nicht, egal was mein Multimeter mir erzählt.
Mein momentanes Bastelwerk liegt gerade hier: ESP8266-12 mit einem RFM12
dran und 2x MCP23S17 um 2x HDSP2113S (8-stellige 5x7 Matrix-LED)
anzusteuern. Dazu ein ProMini mit einem RFM12 dran. Regler ist ein
LM3940, Netzteil ein altes Samsumg-Handynetzteil 5V 650mA.
Gruß aus Berlin
Michael
Hallo,
ich habe nun gestern meine Schaltung noch einmal neu aufgebaut in der
Hoffnung, dass sich mein Problem erledigt.
Die gute Nachricht vorweg, die zwei ESPs gehen wieder!
Ich habe die Spannungsversorung neu aufgebaut und verwende jetzt einen
StepDown-Converter welcher 3A liefern kann. Gestützt wird dieser von
jeweils 47µF Kondensatoren am Eingang und Ausgang. Ausgangsseitig und
nahe dem ESP befindet sich noch ein 100nF Kondensator. Mit dieser
Schaltung läuchtet die Power-LED vom ESP erst einmal wieder korrekt. Der
Chip selber hat sich aber weiterhin in einer Reset-Loop gehlaten. Da ich
vor diesem Beitrag schon alles mögliche auf den Chip geflasht hatte, war
ich mir nicht sicher, ob da nicht auch noch irgendwas schief hing. Aus
diesem Grund, habe ich meinen ESP noch mal komplett neu nach dieser
Registerbelegung geflasht
http://wiki.jackslab.org/ESP8266_Flash
Ausnahme war hier die "master_device_key.bin" die habe ich nicht
gefunden.
Danach war die Reset-Loop auch Geschichte. Die nächsten Programme mit
der Arduino IDE haben dann auch wieder ohne Probleme funktioniert.
Aber es gab dann leider wieder Probleme. Als der ESP gut mit UDP zu tun
hatte, kam die Reset-Loop wieder. Also habe ich wieder die
Versorgungsspannung am StepDown gemessen ... 3,29V ... perfekt aber als
ich am ESP gemessen habe, sackte die Spannung sofort auf 1,9V ein. Ich
kann es mir nicht erklären, warum das so ist. Könntet ihr mir noch mal
weiter helfen?
Danke!
Grüße Hans
Da ich nur ein Multimeter habe, kann ich nicht sagen, ob die Spannung am
Wandler stabil bleibt und am ESP einbricht. Ich konnte nur beobachten,
das wenn ich am ESP messe, die Spannung einbricht. So als würde das
Messgerät Störungen verursachen.
hast du am ESP gemessen oder am breakout-board?
miss einfach mal - im spannungslosen Zustand! - den Widerstand der gnd
und vcc Verbindung vom Anschluß der Stromversorgung zum jew. Potenzial
am ESP.
Am breakout-board ist der mittlere SMD Widerstand ein 0 Ohm, der den auf
der Unterseite bestückbaren 3V3 Regler brückt. Ev. ist der "hochohmig"?
Du hast nur von "Schaltung neu aufgebaut" geschrieben; hast du auch die
ESP auf dem breakout-board nachgelötet? Da sah einiges nicht so gut
aus...
Net_Hans schrieb:> Aber es gab dann leider wieder Probleme. Als der ESP gut mit UDP zu tun> hatte, kam die Reset-Loop wieder. Also habe ich wieder die> Versorgungsspannung am StepDown gemessen ... 3,29V ... perfekt aber als> ich am ESP gemessen habe, sackte die Spannung sofort auf 1,9V ein. Ich> kann es mir nicht erklären, warum das so ist. Könntet ihr mir noch mal> weiter helfen?>> Danke!> Grüße Hans
Hast du mal den Strom gemessen meine beiden ziehen im Reset-Loop
ziemlich viel Strom kann nicht genau sagen wie viel da nach einigen Sec.
der Spannungsregler abschaltet aber über 400mA sind es bei mir, würde
auch erklären warum bei dir die Spannung runtergeht.
G. H. schrieb:> Am breakout-board ist der mittlere SMD Widerstand ein 0 Ohm, der den auf> der Unterseite bestückbaren 3V3 Regler brückt. Ev. ist der "hochohmig"?
So ein Break-Out-Board habe ich auch. Da ist der Regler auf der
Unterseite nicht bestückt und die drei Widerstände haben einen Wert >> 0
Ohm. Damit der ESP funktioniert, habe ich eine Drahtbrücke eingebaut.
Marcus