Hallo,
noch mal einen einfachen Versuch.
Tritt das Problem nur auf wenn die Stromversorgung primärseitig wieder ans Netz kommt ?
was ist wenn Du die 12 Volt Spannung sekundär vom Netztteil trennst und wieder zuschaltetst .
Heinz
Hallo,
noch mal einen einfachen Versuch.
Tritt das Problem nur auf wenn die Stromversorgung primärseitig wieder ans Netz kommt ?
was ist wenn Du die 12 Volt Spannung sekundär vom Netztteil trennst und wieder zuschaltetst .
Heinz
Ich habe mal ein paar Messungen gemacht:
Zwei mal einschalten, ohne ESP32:
Man sieht leider noch deutlich die 50Hz...
Gelb sind meine 12V, cyan sind meine 3,3V. Nicht wirklich schön...
@Dermaptera: dein Code-Vorschlag hat leider nicht funktioniert...
@Rentner: deinen Vorschlag kann ich so nicht direkt ausprobieren, weil das alles auf einer Platine (eigentlich 2 + ESP32-Board) ist. Aber ich habe gerade mal die 3,3V getrennt (das geht bei mir) und wieder angesteckt: das funktioniert...
Also ist es wohl doch meine Spannungsversorgung... Aber könnt ihr mir sagen, was ganz genau? Diese Spitzen sind zwar nicht schön, aber nach einem Reset funktioniert es ja... geht das einschalten zu langsam?
Tut mir leid, das kann ich Dir nicht beantworten. Verwende doch mal testweise ein anderes Board und schau, ob das damit zurecht kommt.
Hallo,
Reset des ESP32 ist Power Enable, er hat keinen direkten Reseteingang. Den Effekt kann aber auch der ESP8266. Die Spannung an Reset steigt mit der Reglerspannung an. Der ESP32 dürfte etwa um 2,5V starten, dann macht er WLAN an und die Spannung bricht etwas ein, weil das Netzteil noch nicht ganz hochgekommen ist und das mag er garnicht.
Du kannst ja mal eine Versuch machen: hänge mal 100n zwischen Reset und GND, vielleicht reicht das schon, um den Anstig der Spannung an Reset soweit zu verzögern, daß die Netzteilspannung weit genug oben ist.
Gruß aus Berlin
Michael
Hallo,
ein anderes Board habe ich leider nicht da...
Das mit dem Kondensator habe ich gerade probiert, hat leider nicht funktioniert...
Sollte bei sowas nicht eigentlich auch Wachdog eingreifen und neustarten? Warum passiert das bei mir nicht? Kann man da etwas konfigurieren?
Viele Grüße
Tobias
Und noch zwei Messungen:
Ich verwende zum Messen ein Analog Discovery 2, da hat man zwei Oszilloskop-Eingänge und noch einen Logik-Analyzer mit drin. Wenn ich den GND-Pin vom Logik-Analyser mit meinem Board verbinde und gleichzeitig die Spannungen mit dem Oszilloskop messe, habe ich keine 50Hz-Störungen... Woran liegt das? Eigentlich dachte ich, die wären getrennt...
Hier meine Messungen:
Nur meine Spannungsversorgung, ohne ESP32, aber mit GND verbunden:

Und einmal mit ESP32 (da komme ich an die 12V leider nicht mehr richtig ran):

Einschalten dauert beide male ca. 2,2-2,5ms... Einen Einbruch in der Spannung sehe ich aber nicht...
Hallo,
naja, war mit dem Kondensator nur der Gedanke, Reset/Enable etwas zu verzögern um den Spannungsanstieg etwas abzufangen. Im Datenblatt habe ich so nichts zu Anstiegszeiten und Timng von Betriebsspannung usw. gefunden. Laufen soll er ja ab 2,2V. Meine Vermutung ist, daß er in einen undefinierten Zusand gerät, wenn eben Reset freigibt und die Spannung gerade so das Startminimum erreicht. Da schlägt dann auch kein Watchdog zu, weil vermutlich garnichts wirklich sauber startet.
Vermutlich hast Du wirklich eine ungünstige Kombination aus Netzteil, StepDown und ESP32 Modul erwischt.
Gruß aus Berlin
Michael
Ok, ich glaube, ich werde mir noch mal ein paar andere Boards bestellen und mal probieren.
Ich bin gleich auch für ein paar Tage unterwegs und kann dann nichts mehr ausprobieren, also ab dann nur noch theoretische Diskussion...
Aber zu den 50Hz-Störungen nochmal eine Frage: Welche von meinen Messungen ist realistischer? Also welche Spannung sieht der ESP32? Kommen die Störungen da an? Und sollte ich mein GND mit irgendwas in der Umwelt verbinden? Aktuell besteht keine Verbindung.
Hallo,
also es liegt am Hochlaufen des Netzteils. Mit einer RC Kombination am Reset Eingang müsse es doch mölich sein den zu erst mal für 50ms auf Low zu halten, damit der ESP später startet. Das mit dem 100nF ist ja eventuell nur was zu kurz gewesen.
Man könnte sich ja notfalls auch noch einen Transistor an der Stelle vorstellen der das erst mal auf 0V zieht.
Heinz
Meine Glaskugel schreit schon die ganze Zeit:
Irgendwas zieht GPIO12 auf High
Ist dem so?
Weiterhin:
Es macht Sinn sich die Bootmeldungen anzusehen!
Denn der ESP32 schreit um Hilfe, wenn der den Hintern nicht hoch bekommt.
Aber wenn da keiner ist, der zuhören will, dann hilft das nix.
Hallo,
combie:
Meine Glaskugel schreit schon die ganze Zeit:Irgendwas zieht GPIO12 auf High
Ist dem so?
was bringt Dich gerade auf GPIO12? Ich sehe da in der IO-Matrix im Moment nicht kritisches?
Mit dem Hinweis auf die Bootmeldungen hast Du natürlich Recht.
Gruß aus Berlin
Michael
GPIO 12
If driven High, flash voltage (VDD_SDIO) is 1.8V not default 3.3V. Has internal pull-down, so unconnected = Low = 3.3V. May prevent flashing and/or booting if 3.3V flash is used and this pin is pulled high, causing the flash to brownout. See the ESP32 datasheet for more details.
Aus: ESP32 Boot Mode Selection
Beim laden des Programms tritt dann der Fehler auf..
Und das bekommt man gemeldet. (wie genau, steht weiter unten im Text)
Dann wäre es klar.
Aber so ist es nicht mehr, als ein Schuss ins Blaue.
Danke für eure ldeen.
Ich bin gerade bei meinen Eltern zu Besuch und kann voraussichtlich erst am Wochenende wieder etwas ausprobieren.
An die Bootmeldungen ranzukommen ist leider etwas schwierig, weil ich ja wie bereits beschrieben nicht einfach ein usb-kabel anschließen kann, sondern direkt an die pins muss. Aber ich versuche am Wochenende mal, da was dranzulöten.
Wenn das auch nicht funktionieren sollte, probiere ich die idee mit dem rc-glied aus. Und bis dahin sollten auch meine anderen boards da sein, mit denen ich es dann auch mal ausprobieren kann.
Hallo,
combie:
Aus: ESP32 Boot Mode Selection
Aber so ist es nicht mehr, als ein Schuss ins Blaue.
Danke, hätte ich glatt übersehen...
Müßte man nur noch wissen, ob und was er am GPIO12 angeschlossen hat. Allerdings sollte dieses Problem dann bei ihm doch eigentlich auch bei Versorgung über USB auftauchen können.
ok, bleibt alles mangels Info rätselraten, warten wir ab.
Gruß aus Berlin
Michael
ok, bleibt alles mangels Info rätselraten, warten wir ab.
Warten hilft wohl nicht....
Die Beschaltung erfrage ich seit meinem ersten Posting hier im Thread.
Permanent.
Da kommt offensichtlich nichts.
Wird irgendwie ausgeblendet, oder unser Tobinator hat beschlossen, dass das Wissen um die Beschaltung geheim bleiben muss. Warum auch immer.
Allerdings sollte dieses Problem dann bei ihm doch eigentlich auch bei Versorgung über USB auftauchen können.
Sollte man meinen...
Tritt aber auch schon mal bei langsam hoch laufenden Versorgungsspannungen auf..
Wie auch immer...
Die Preisfrage:
Wie hoch ist die Wahrscheinlichkeit in einem solchen Fall, dass es an der Beschaltung liegt, bzw. dass die Beschaltung auf das Verhalten Einfluss nimmt?
Kreuze an: (Mehrfachnennungen sind möglich)
[] Völlig unmöglich
[] Ist mir egal
[] Ihr macht das schon
OK, dieser Text mag etwas böse klingen, ist aber eher sarkastisch gemeint.
Meinen Frust über diese beharrliche Ausblendung habe ich letzte Tage hier schon niedergeschrieben, aber dann doch nicht gesendet. Kann ich aber gerne doch noch machen, denn er liegt noch im Lager.
Hallo,
es tut mir leid, wenn ich hier jemandem Frust bereitet habe.
Ich habe dieses Forum hier vor allem gewählt, weil es aus meiner Sicht eher ein Hobbyisten-Forum ist. Auf mikrocontroller.net, was ja insgesamt professioneller zu sein scheint, geht's mir teilweise echt zu aggressiv zu. Diesen Eindruck hatte ich hier bisher nicht. Ich mache das alles nur auf Hobby-Niveau (habt ihr sicher auch schon an meiner Antwort-Frequenz gemerkt) und verlange von niemandem, dass er sich hier irgendeinem Stress aussetzt und fieberhaft an meinem Problem forscht. Es ist alles auf freiwilliger Basis, ich bezahle ja nichts dafür.
Mein Schaltplan ist aktuell auf mehrere Ebenen (KiCad) verteilt und ich würde ihn gern etwas überarbeiten und lesbarer machen, bevor ich ihn euch hier zeige. Aber da das alles nur auf Hobby-Niveau läuft und ich gerade nicht zu Hause bin und damit auch kein Zugriff auf diese Dateien habe, dauert das ein paar Tage.
Meine ursprüngliche Hoffnung war, dass irgendjemand schon mal genau dieses Problem hatte und mir sagen kann: "klar, kann ja nicht gehen, du musst nur in irgendeiner Flash-Option was umstellen und dann funktioniert es".
Hätte ich gewusst, dass das doch ein komplizierteres Problem ist, hätte ich euch gleich ein paar mehr Infos zur Verfügung gestellt.
Ich würde sagen, ich liefere am Wochenende den Schaltplan und das Board-Layout nach und dann reden wir weiter. Bis dahin kann ich sowieso nichts machen.
Also danke nochmal für eure Hilfe bis hierher und ich melde mich (voraussichtlich Samstag), dann mit mehr Infos.
Viele Grüße
Tobias
So, nochmal sry für die lange Pause, aber hier ist jetzt mein Schaltplan.
Ich hab zwar gesagt, dass ich auch das Boardlayout poste, aber durch das verschieben auf ein Board sind einige Annotationen verloren gegangen und es sieht alles ziemlich unübersichtlich aus... Aber falls jemand es sehen will, kann ich es trotzdem hochladen.
GPIO12 ist bei mir nicht belegt (was Zufall ist... das mit dem Bootmode habe ich nicht gewusst...)
Ich würde gleich auch nochmal versuchen ein paar Kabel an TXD und RXD anzulöten und zu gucken, ob irgendwas ausgegeben wird.
Viele Grüße
Tobias
Schematic.pdf (139 KB)
Ok, ich habe ein paar Messungen:
4x Einschalten:
Spannungsversorgung und EN

Spannungsversorgung und GPIO12 (1 mit kleinem Peak, aber kein Unterschied im Verhalten)

Spannungsversorgung und GPIO12 (2)

Spannungsversorgung und GPIO0

2x Reset:
Spannungsversorgung und EN

EN und GPIO12

Und die Bootausgaben:
Einschalten:
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x1 (DOWNLOAD_BOOT(UART0/UART1/SDIO_FEI_REO_V2))
waiting for download
Reset:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310
Er landet also im Bootmode...
Mit Hilfe des Links von combie habe ich es dann rausgefunden:
Wenn ich GPIO0 auf 3,3V ziehe, dann funktioniert es...
Damit kann ich zwar einen Teil meiner Schaltung nicht nutzen, aber das ist für mich nicht so wild... in der nächsten Version wird es besser...
Bleibt eigentlich nur noch die Frage, warum es beim Reset funktioniert.
Aber danke an alle, die mitgeholfen haben.
Bleibt eigentlich nur noch die Frage, warum es beim Reset funktioniert.
Mannooo...
Woher sollen wir das wissen?
Leider hast du alle Fragen zu deiner Beschaltung ausgeblendet.
Erfolgreich!
Nur deswegen ist dieser Thread so lang geworden.
Die Angabe hätte sofort im ersten Posting kommen müssen!
In Posting #10 habe ich dir schon klipp und klar gesagt, dass es an deiner Beschaltung liegt!
Aber selbst diese Ansage ist nicht durchgedrungen.
Darum sind wir jetzt bei Posting #38 oder so
Also nochmal:
Woher sollten wir das wissen?
Hallo,
in dem Fall kann ich combie nur voll zustimmen. Wenn man sich mit ESPs beschäftigt, sollte man schon wissen, daß GPIO auf Low beim Reset ihn in den seriellen Flashmode schickt...
Natürlich kann man GPIO für externe Sachen nutzen, man muß eben beachten, wie.
Als Ausgang mit Bsiswiderstand und npn-Transsitor geht z.B. schief weil der interne PullUp irgendwo bei 50k liegt. Als Ausgang an einen Emitterfolger oder mit einem pnp geht dagegen schon. Eingang geht auch, das angeschlossene Bauteil darf nur kein Low im Resetzustand liefern bzw. man muß einen passend neiderohmigen PullUp an GPIO0 löten.
Da hilft ein schöner Oszi dann oft garnicht, eher der Blick in Datenblätter usw.
Gruß aus Berlin
Michael