Hallo Leute, vielleicht könnt ihr mir mit meinem Problem helfen. Derzeit bin ich etwas ratlos hinsichtlich der externen Spannungsversorgung meines ESP32 Devkit V1 Moduls. Über USB funktioniert alles problemlos. Sobald ich über die Versorgung über den VIN Pin laufen lasse hat der ESP zwar Versorgungsspannnung bootet jedoch nicht automatisch. Sobald ich den Boot Button drücke läuft er wieder normal. Auch die 3.3V am Ausgang des LD1117 sind konstant da. Die 5V Versorgung wird über einen AC/DC wandler von Recom RAC05-05SK bereitgestellt. Hat jemand von euch eine Idee wo der Fehler liegen kann? Danke schon mal :)
Möglicherweise steigt die Versorgungsspannung beim Einschalten zu langsam an oder sackt kurz nach dem ersten Anstieg nochmal ab. Das passiert bei Schaltnetzteilen häufig. Bei AVR und STM32 Mikrocontrollern hilft ein Kondensator am Reset Pin (um den Reset-Impuls zu verlängern). Beim ESP32 bin ich jetzt unsicher, ob man da einfach einen Kondensator dranhängen kann oder ob er dort ein sauber aufbereitetet Rechteck-Signal benötigt. Schau mal ins Datenblatt vom Chip, dazu müsste etwas drin stehen.
Hallo, das Datenblatt sagt, daß Enable (CPU_PU) erst 50µs nach Erreichen der Betriebsspannung beginnen soll, auf H zu gehen. Die Schaltung vom DevKit, die ich hier gerade habe, hat 10k PullUp und nichts weiter, die des ESP32 Moduls im UNO-Format 12k PullUp und 1µF gegen GND. 20k PullUp und 1µ gegen GND finde ich auch bei einem anderen Board, 12k/1n kann ich auch noch bieten. Da scheinen nicht alle ESP32 Boardentwickler das Datenblatt gelesen zu haben... Der Eingang selbst scheint Schmitt-Trigger Verhalten zu haben. Gruß aus Berlin Michael
Michael U. schrieb: > das Datenblatt sagt, daß Enable (CPU_PU) erst 50µs nach Erreichen der > Betriebsspannung beginnen soll, auf H zu gehen. Wow! Dann wird das bei allen Modulen deren Pläne ich gesehen habe, falsch gemacht. Ich kenne das vom ESP8266 eher anders herum: Man darf den Enable Pin erst auf Low setzen, nachdem die Firmware gestartet ist (sonst nimmt der Chip viel mehr Strom auf, als gewollt). Ich hatte weiter oben jedoch den RESET Pin gemeint, nicht ENABLE.
Hallo, es gibt beim ESP32 keinen Reset-Pin, dort wird einfach Enable dafür genutzt, was ja auch kein Problem ist und ein Pin gespart wird. Das Problem mit dem Timing tritt auch bei einigen Modulen aus, die die Logik mit RTS/DTR steuern. Das Python-Script wurde da auch schonmal angepasst für den ESP32, ich habe hier eine recht bunte Sammlung Module und da ist es so: automatisch in den Progmode schalten aus der ArduinoIDE geht immer, geht manchmal, geht nie... Ich habe mich im Moment dran gewöhnt und drücke eben die PROG-Taste, wenn er nicht freiwillig startet. Ich muß mir das mal richtig anschauen auf den Modulen, beim Odroid Go sind auch 10k/100n verbaut und meinen beiden gehören zu "geht meistens". Die Beschreibung macht es sich da einfach: wenn es nicht alleine startet, Button "Vol" festhalten. Der hängt an GPIO0... Gruß aus Berlin Michael
:
Bearbeitet durch User
Danke für eure Antworten. Ich habe nun mal einen 1uF Kondensator parallel zum 10k pullup am EN Pin gelötet in der Hoffnung,d ass es sich dabi um R4 handelt. Leider ohne Erfolg :-(
Eine Alternative wäre ein anderes ESP32 Dev Board. Könnt ihr mir ggf. eines empfehlen, welches keine Probleme beim booten mit externer Spannungsversorgung hat bei selbem Pinout?
Sim schrieb: > Danke für eure Antworten. Ich habe nun mal einen 1uF Kondensator > parallel zum 10k pullup am EN Pin gelötet in der Hoffnung,d ass es sich > dabi um R4 handelt. Leider ohne Erfolg :-( Wieso parallel zum Pullup? Gegen GND war doch die Aussage im 3. Beitrag!
Ah verdammt, richtig. Mein Fehler. Habe nun einen 1uF zwischen EN und GND gelötet. Leider noch immer keine Verbesserung.
Beitrag #5698747 wurde vom Autor gelöscht.
Hallo, was hast Du denn extern an den IOs des ESP32 alles dran und wie wird das versorgt? Es gibt ja außer GPIO0 noch andere Pins, die zur Resetzeit H-Pegel haben wollen. Wenn die beim Einschalten von außen zulange auf L gezogen werden, bootet er evtl. in einem falschen Bootmode. Wenn Du Reset drückst, sind die Versorgungen ja schon alle stabil. Halte doch mal Reset fest wenn Du die Spannung einschaltest und lasse erst danach los, ob er dann sofort richtig bootet. Wenn er das nicht macht und auch erst einen zusätzlichen Reset braucht, muß die Ursache eine andere sein. Ist aber im Moment etwas stochern im Nebel... Gruß aus Berlin Michael
:
Bearbeitet durch User
Derzeit sind beide I2C Schnittstellen sowie der SPI mit Peripherie belegt. Weiterhin sind beide GND Pins verbunden und ebenso der 3V3 Pin zur Versorgung der Peripherie.
Hallo, da man ja beim ESP32 etliches auf verscheidene Portpins mappen kann: an welchen Pins was und was hängt als SPI/I2C Device dran? Gruß aus Berlin Michae
SPI -> VSPI Pins, BME680 Enviromental Sensor I2C0 -> GPIO21 SDA, GPIO22 SCL, Sparkfun GridEye AMG88xx I2C1 -> GPIO16 SDA, GPIO17 SCL, AS7262 Spctral Sensor Alle drei über den 3V3 Pin gepowert.
Ok, Fehler wurde gefunden. Der AS7262 bootet langsamer als der ESP32. Dadurch hängt der ESP32 sich manchmal in der Init Routine des AS7262 auf. Ein entsprechendes Delay vor der Initialisierungsroutine des AS7262 hat Abhilfe geschafft. Danke für eure Hilfe :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.