Ich habe mir mal ein eigenes ESP32 Dev Board zusammengestrickt. Leider funtioniert die Programmierung mit dem esptool.py nicht. Der SOC resetet nicht und geht auch nicht in den Download. DTR und RTS werden vom Programmieradapter sauber gesendet. Könntet ihr mal über die Schaltung schauen?
Der 10k Pullup an IO0 kommt mir irgendwie spanisch vor. Der gehört eigentlich an den EN. Zusätzliche 100nF von EN nach GND schaden auch nicht.
Hi Christopher, ja, danke - den Pullup hab ich rausgenommen. Keine Ahnung wo ich das gesehen habe.
Hmm, ich habe jetzt einfach mal platt DTR an EN und RTS an DIO gelötet. Funktioniert 1A. Wozu das rumgehampel mit den Transistoren?
> Wozu das rumgehampel mit den Transistoren? Das dürfte daran liegen, dass die DTR- und RTS-Leitung von verschiedenen Terminalprogrammen und in verschiedenen Situationen unterschiedlich genutzt werden. Wenn der USB-Adapter nicht initialisiert ist (z.B. nur Stromversorgung angeschlossen aber kein USB-Host) oder wenn der PC den Serial Port nicht geöffnet hat, sind beide Signale Idle HIGH. Ein Terminal, mit dem du mit dem Gerät kommunizieren möchtest, könnte sie durch die Verbindung aber Active LOW setzen. Außerdem wechseln diese Signale kurz nach dem Anschließen des USB-Adapters an den PC öfter hin und her. All das habe ich heute mehrfach beobachtet, als ich meine Schaltung analysiert habe. Das blöde ist jetzt, wenn jemand das Signal auf LOW setzt, das du fest mit dem EN-Eingang des ESP32 verbunden hast, dann ist der Chip im Reset und kommt da auch nicht mehr raus, bis die Verbindung wieder geschlossen wird. Die Idee, die ich so verstanden habe, ist, dass mit diesem XOR-Gatter (oder sowas ähnlichem) beide Leitungen (EN und IO0) HIGH gehalten werden, wenn entweder beide Signale (DTR und RTS) gleichzeitig HIGH oder gleichzeitig LOW sind. Also die beiden Zustände, die auftreten können, wenn man nichts besonderes macht. Nur wenn die Signale unterschiedlich gesetzt werden, passiert was. Soweit die Theorie. In der Praxis scheint das auf den üblichen Dev-Boards wohl zu laufen. Jedenfalls hatte ich da nie Probleme. Beim nach Schema nachgebauten Aufbau wackelt es aber immer wieder. Uploads starten nicht oder der Chip resettet mehrmals beim Anschließen oder beim Schließen des Serial-Monitors. Ich bin mir noch nicht sicher, wie ich damit umgehe. Vielleicht lasse ich diese Beschaltung in fertigen Produkten auch einfach weg und verlange für Firmware-Uploads das Stecken eines Jumpers und manuelles Ab- und Anstecken des USB-Kabels.
Gast
#7229520
Danke für den Link. Die wesentlichen Informationen sind ziemlich versteckt in dem langen Thread. Ich habe meinen Aufbau jetzt geändert. Den 100nF-Kondensator zwischen IO0 und GND habe ich behalten, den Kondensator zwischen EN und GND habe ich auf 10µF vergrößert. Ohne den kleinen geht's nicht. Und beim großen haben 4,7µF auch nicht gereicht. Ich hatte beim Verbinden oder Trennen mit PuTTY sonst immer wieder mal Resets. Außerdem mehrere Resets beim Anschließen an den PC-USB-Port. Mit diesen Keramik-Kondensatoren (und natürlich den beiden Transistoren) läuft es nach einigen Tests stabil!
Gast
#7229647
Yves G. schrieb: > Danke für den Link. Die wesentlichen Informationen sind ziemlich > versteckt in dem langen Thread. Ist doch schön, zu hören, dass es geholfen hat. Danke für Deine Rückmeldung.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.

