Hallo,
mit vieler Mühe und freundlicher Beihilfe aus dem Forum hier ist es mir
schließlich gelungen, zunächst ein Beispielsketch vollständig zu
kompilieren und auf einen ESP32 WROOM 32 hochzuladen.
Daß der Sketch erfolgreich hochgeladen war, entnehme ich dem Ausdruck am
Ende der Arduino-IDE-Ausgabe:
1
Leaving...
2
HardresettingviaRTSpin...
Nun hatte ich erwartet, daß der Sketch so abläuft, wie er soll. Aber das
geschah keineswegs, vielmehr lief unentwegt der nachfolgende Text über
den seriellen Monitor:
Man konnte ihn mit der Resettaste anhalten, aber er lief nach Loslassen
sofort weiter. Lediglich mit der Boottaste blieb er stehen und es wurde
die Bereitschaft zu neuen Download angezeigt.
Wie kann ich denn das Teil dazu bringen, nun endlich den Sketch
auszuführen?
Gruß
Knut735
Hey Knut,
Egon M. schrieb:> Nun hatte ich erwartet, daß der Sketch so abläuft, wie er soll.
Ja solche Erwartungshaltungen kann man haben. Gerade am Anfang stimmen
die häufig nicht.
Egon M. schrieb:> Aber das geschah keineswegs, vielmehr lief unentwegt der nachfolgende> Text über den seriellen Monitor:
Das sind die Startupmeldungen.
Wenn sich die wiederholen ist das normalerweise ein Zeichen dafür dass
der Core neu startet/resettet.
Gründe dafür gibt es einige.
Von defektem Code bis zum zuschlagen des Watchdog oder ähnlichem.
Deshalb steht da normalerweise auch der reset Grund mit dran.
Zeig also Mal mehr von der Ausgabe. Also über mehrere Wiederholungen
hinweg.
Egon M. schrieb:> Man konnte ihn mit der Resettaste anhalten
Das kann man immer. Dafür ist der da.
Egon M. schrieb:> Lediglich mit der Boottaste blieb er stehen und es wurde die> Bereitschaft zu neuen Download angezeigt.
Klar, dann springt der Controller in den Boot Mode und führt nicht dein
Programm aus.
Das wäre dann eher ein Zeichen dafür dass es an deinem hineingeladenen
Programm liegt und z.B. nicht an Störungen oder einer schlechten
Versorgungsspannung.
Egon M. schrieb:> Wie kann ich denn das Teil dazu bringen, nun endlich den Sketch> auszuführen?
Lade Mal deinen Code und dein Binary hier hoch, dann kann man die
Theorie bestätigen.
N. M. schrieb:> Deshalb steht da normalerweise auch der reset Grund mit dran.
tut er doch :
rst:0x10 (RTCWDT_RTC_RESET)
Der Watchdog-Timer des Bootloaders hat zugeschlagen, er konnte in der
vorgegebenen Zeit keinen Programmcode ausführen.
Das kann verschiedenste Gründe haben, Code nicht ausführbar, instabile
Spannungsversorgung, Flash falsch patitioniert, falsche Einstellungen
zum Flash, kein Flash vorhanden ....
Oliver R. schrieb:> Flash falsch patitioniert
Mit Fremdworten ist das so eine Sache. Schreib besser einfach "falsch
eingeteilt" wenn du damit Schwierigkeiten hast.
Oliver R. schrieb:> Das kann verschiedenste Gründe haben, Code nicht ausführbar, instabile> Spannungsversorgung, Flash falsch patitioniert, falsche Einstellungen> zum Flash, kein Flash vorhanden ....
Oder das Programm ist schlicht fehlerhaft.
Oder einfach mal einen Beispielcode hochladen, von dem man weiss, dass
er funktioniert. Tut er das, muss man seinen eigenen Code nochmal
genauer ansehen. Die gröbsten Fehler zeigt dir die Arduino IDE ja schon
beim überprüfen.
Rainer W. schrieb:>> Flash falsch patitioniert>> Mit Fremdworten ist das so eine Sache. Schreib besser einfach "falsch> eingeteilt" wenn du damit Schwierigkeiten hast.
Der ESP-Flash wird halt partitioniert. Das ist der korrekte Begriff.
Egon M. schrieb:> Ob das Teil vielleicht einen Schaden hat?
Sicher nicht. Dir fehlt es eher an systematischer Analysefähigkeit.
Liefere doch mal die restlichen Salamischeiben.
Vielleicht ist das Teil wirklich defekt; ich habe einen ESP32 WROVER
angeschlossen (allerdings mit anderem USB-Kabel (3.0)), da funktionier
Dein Sketch.
VG
MaWin O. schrieb:> Und nächste Salamischeibe:> - Wie baust du es?
z.Zt. ist da nur das nackte Teil mit einem USB-Kabel dran
> - Buildparameter?
Ich benutze Arduino-IDE, da hat man auf so etwas keinen Einfluß
> - Wie lädst du es auf den Controller?
Arduino-IDE
Egon M. schrieb:> Vielleicht ist das Teil wirklich defekt;
Unwahrscheinlich.
> ich habe einen ESP32 WROVER> angeschlossen (allerdings mit anderem USB-Kabel (3.0)), da funktionier> Dein Sketch.
Eher hast du halt ein Programm erstellt, was nur auf dem WROVER und
nicht auf dem WROOM funktioniert, weil die halt unterschiedlich sind
(z.b. SRAM)
Ich habe die kurze Programmsequenz von Stefan ausprobiert. Die ist doch
sicher so einfach, daß es auf WROVER und auch auf WROOM laufen sollte.
Bei mir läuft sie auf WROVER, aber nicht auf dem WROOM.
Was die Stromversorgung angeht, die erfolgt auf dem WROVER mit USB 3.0
und die auf dem WROOM mit verschiedenen Mikro-USB-Kabeln, die alle zur
Speisung von Leonardo eingesetzt sind und dort keine Probleme bereiten.
Ich habe neue WROOM's von AZ-Delivery bestellt, mal sehen, ob es da
besser geht
VG
knut735
Joachim B. schrieb:> Egon M. schrieb:>> #include "Arsuino.h">> Egon M. schrieb:>> Ich benutze Arduino-IDE>> ach
Schreibfehler. Im Sketch steht es richtig! Ich wollte es verbessern,
aber die Beabeitungsfunktion funktioniert hier nicht immer richtig.
Egon M. schrieb:> Da ist nur ein USB-Anschluß dran, sonst nichts.
Nimm ein anderes USB Kabel und einen anderen Port am PC. Am Ende vom USB
Kabel kommt manchmal nicht genug Strom an.
Oder versorge es mit einem zusätzlichen 3,3V Netzteil.
Egon M. schrieb:> Bei mir läuft sie auf WROVER, aber nicht auf dem WROOM.
Was hast du denn in deinen Compiler-Einstellungen drinne ? Bei arduino
kann man ja afaik auch irgendwie auswählen welches board man hat und
wenn er anfängt einen nicht vorhandenen psram zu suchen ist es kein
wunder wenn er ned will...
Max D. schrieb:> Was hast du denn in deinen Compiler-Einstellungen drinne ? Bei arduino> kann man ja afaik auch irgendwie auswählen welches board man hat
Das ist doch das Allererste, was man tut.
Ich habe übrigens alle möglichen USB-Kabel und auch andere USB-Stecker
am PC ausprobiert. Üblicherweise benutze ich einen Hub mit eigener
Stromversorgung.
Die Kabel benutze ich auch für Arduinos verschiedener Typen als
alleinige Stromversorgung.
Hat bei dem WROOM alles nichts gebracht. Was mich aber wundert, ist das
ungewöhliche Verhalten der LED: wenn man die USB-Verbindung herstellt,
blinkt die LED, wo man doch ein rotes Dauerlicht erwartet.
Also doch ein Schaden?
VG
knut735
Egon M. schrieb:> Also doch ein Schaden?
Nein. Ganz bestimmt nicht.
Es ist immer ein Nutzerproblem.
Warum sollte das Board defekt sein?
Ich habe noch nie ein defektes Board oder einen defekten Mikrocontroller
gehabt.
MaWin O. schrieb:> Warum sollte das Board defekt sein?> Ich habe noch nie ein defektes Board oder einen defekten Mikrocontroller> gehabt.
du Glücklicher, ich habe schon öfter aus China defektes -> LCD Nokia
3210 oder merkwürdiges bekommen -> wie schon mal geschrieben von 5 ESP32
wemos lolin funktionierte nur einer ab Lieferung, 4 musste ich mit 10µF
an EN nach GND tunen.
Hallo
MaWin O hatte recht (natürlich abgesehen von der Aussage über nie
defekte MCU's) und die anderen, die an der USB-Verbindung zweifelten,
auch: es lag an der Stromversorgung, die allein durch den USB-Anschluß
nicht gewährleistet ist. Ich habe an den 3,3-V-Pin ca 3,3 V angelegt und
nun funktioniert es; es laufen nicht mehr ununterbrochen die
Statusmeldungen über den seriellen Monitor, jetzt wird das angezeigt,
was das Programm vorgibt.
Vielen Dank für Eure Hilfe!
VG
knut735
Egon M. schrieb:> natürlich abgesehen von der Aussage über nie> defekte MCU's
Weil deine MCU nicht defekt ist, schlussfolgerst du das nun?
Interessant.
Ich bleibe dabei: Wenn man MCUs nicht durch massive Überspannung
misshandelt oder mutwillig per Fuse totflasht, sterben sie nie.
Die kaputte MCU bei Fehlverhalten ist das Hardwareäquivalent zum
kaputten Compiler bei Fehlverhalten. Es passiert praktisch gesehen so
selten, dass man es praktisch direkt ausschließen kann.
MaWin O. schrieb:> Weil deine MCU nicht defekt ist, schlussfolgerst du das nun?> Interessant.
Ja.
Ich habe heute die bestellten ESP32 WROOM 32 erhalten, genau wie gehabt.
Einen davon habe ich probeweise ebenso betrieben, wie den besprochenen
aus diesem Thread, nämlich mit dem gleichen USB-Kabel am gleichen Port
mit dem gleichen Programm.
Wenn Du recht hättest, sollten wieder pausenlos die bekannten
Statusmeldungen über den seriellen Schirm laufen und auf unentwegte
Resets hindeuten. So ist es aber nicht. Das Teil liefert auf Anhieb
genau das, was das Programm vorschreibt.
Meine erste MCU hatte also doch einen Schaden, einen kleinen zwar, der
sich mit etwas externem Strom beheben ließ, aber immerhin. Im Manual
steht davon nichts. Man sollte nicht immer alles auf den unbedarften
Nutzer schieben.
VG
knut735
Egon M. schrieb:> Meine erste MCU hatte also doch einen Schaden, einen kleinen zwar, der> sich mit etwas externem Strom beheben ließ, aber immerhin.
Die Schlussfolgerung ist höchstwahrscheinlich falsch.
Ohne die extra Stromversorgung betreibst du die Module wahrscheinlich
außerhalb ihrer Spezifikation. Ob und wie lange sie so funktionieren,
ist reine Glückssache. Da können sonst harmlose Material-Streuungen und
Temperatur-Schwankungen plötzlich einen großen Effekt haben-
Bei den ESP Chips ist eine potente stabile Stromversorgung das
allerwichtigste. Ich behaupte, dass mehr als 90% aller Fehlfunktionen
von mangelhafter Stromversorgung her kommen.
> Im Manual steht davon nichts
Du meinst wohl das Referenzhandbuch und die Application Notes. Dort gibt
es klare Angaben zur Stromversorgung. Bei deinem USB Kabel kommen
mehrere Faktoren zusammen, die in Summe zu einer zu instabilen
Stromversorgung führen können. Deswegen haben externe Festplatten (die
via USB versorgt werden) ein sehr kurzes sehr dickes Anschlusskabel.