Ich habe eine kleine Platine um einen ESP32 mit folgenden Komponenten gelötet:
Die Schaltung macht folgendes:
Messen Sie die Bodenfeuchte und schalten Sie die Wasserpumpe entsprechend ein. Wenn der Boden zu trocken ist, zieht der ESP32 das Gate des MOSFET hoch, wodurch Drain über Source kurzgeschlossen wird, Source wird mit GND verbunden. Das Gate wird normalerweise mit einem 1k-Pulldown-Widerstand auf GND gezogen.
Die Schaltung funktionierte gut mit 5-V-Stromversorgung über Netzteil-USB oder Laptop-USB.
Als ich jedoch das 12-V-Netzteil anschloss, brannte der ESP32 buchstäblich zu Tode.
Bitte überprüfen Sie mein handgezeichnetes Schema hier:
Das Löten war in Ordnung (da es auch für 5 V funktionierte):
Ich habe zuvor einen ESP32 mit einem 12-V-Netzteil betrieben, da der integrierte AMS1117-Linearregler diese Spannung toleriert.
Ich habe auch die Polarität des Netzteils überprüft, bevor ich es eingesteckt habe. Der Linearregler scheint immer noch zu funktionieren, da er 3,3 V ausgibt, der ESP32 jedoch verdampft ist.
Ich kann keine großen Mängel in meinem Design erkennen. Ich denke nur, dass es eine schlechte Praxis ist, GND anstelle von 12 V mit dem MOSFET zu schalten, aber ich habe das nur aus Bequemlichkeit getan, weil ich hier N-MOSFETs herumliegen hatte.
Ich habe die beiden Fotos, die Sie gezeigt haben, grob überlagert, um ein besseres Bild der Gesamtverkabelung zu erhalten.
Der Transistor scheint richtig verdrahtet zu sein. Sie haben das Gate auf Masse gezogen, angetrieben von einem GPIO-Pin. Der Abfluss geht zu Ihrer Ladung. Die Quelle geht auf Masse.
Die wahrscheinlichste Fehlerursache ist, dass Sie die roten Kabel vertauscht und das rote Kabel oben auf dem Foto an 12 V angeschlossen haben, anstatt an das unten. Der obere ist mit dem 3,3-V-Pin der Platine verbunden. Dadurch wird der AMS1117-3.3-Regler umgangen, sodass Sie 12 V direkt in die MCU eingespeist hätten. Wenn Sie es mit 5 V gespeist haben, sind Sie wahrscheinlich gerade damit durchgekommen, den ESP32 zu überspannen, ohne dass er Feuer gefangen hat. 12V sind aber viel zu viel.
Ein weiteres potenzielles Problem besteht darin, dass Ihr Erdungspfad für die Last durch das Entwicklungsboard führt. Wenn Ihre Pumpe einen ziemlich hohen Strom zieht, kann dies für die Pins der Platine zu hoch sein. Ein Kopfstift ist nur für etwa 4 A ausgelegt. Wenn Ihre Pumpe also mehr zieht, werden Sie wahrscheinlich Überhitzungsprobleme verursachen. Sie sollten den Source-Pin besser direkt mit Masse am Klemmenblock verbinden.
Darüber hinaus wird der USB-zu-TTL-Konverter-IC, wenn man sich das Schema des NodeMCU-32S ansieht, direkt von VDDUSB mit Strom versorgt. Es gibt eine Schottky-Diode von VDDUSB zu VDD5V, sodass die Platine über USB eingeschaltet wird:
Wenn die Schottky-Diode, die auf Ihrem Board verwendet wurde, tatsächlich keine 1N5819 war, sondern eine Diode mit einer niedrigeren Durchbruchspannung in Sperrrichtung, ist es möglich, dass das Anlegen von 12 V an VDD5V dazu führte, dass VDDUSB auf 12 V angehoben wurde, wodurch der TTL-Chip gebraten wurde. Dies könnte dann 12 V in die U0TX/U0RX-Pins des ESP32 kurzgeschlossen haben.
Spannungsspitze