ESP32 gegrillt mit einfachem MOSFET Schalter für 12V Wasserpumpe

Ich habe eine kleine Platine um einen ESP32 mit folgenden Komponenten gelötet:

  • ESP32 Dev v4
  • Wasserpumpe mit 12–24 V und 4,5–6 W Nennleistung
  • Netzteil mit 12V und 1A Nennleistung
  • Kapazitiver Sensor mit Analogausgang IRFZ44N : N-MOSFET

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:

Geben Sie hier die Bildbeschreibung ein

Das Löten war in Ordnung (da es auch für 5 V funktionierte):

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

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.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .

Antworten (1)

Ich habe die beiden Fotos, die Sie gezeigt haben, grob überlagert, um ein besseres Bild der Gesamtverkabelung zu erhalten.

Schaltungsüberlagerung

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:

Stromlaufplan

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.

Vielen Dank. Ich habe gerade gemessen, dass die Spannung am 3,3-V-Pin 12 V beträgt, genau wie am 5-V-Pin, an dem ich die 12 V anlege. Ich kann ausschließen, dass ich die 3V3- und 5V-Leitungen überhaupt verwechselt habe, da die 3V3 immer an den Bodenfeuchtesensor angeschlossen war, aber ich habe nie überprüft, ob ich eine richtige 3V3-Spannung hatte. Ich werde die Überprüfung der Platine auf Ihre Erklärung mit der Durchbruchdiode überprüfen. Der ESP32 wurde von einer deutschen Marke (azdelivery) gekauft.
Diese generischen Boards im NodeMCU-32S-Stil werden von Hunderten zufälliger Unternehmen hergestellt und von Tausenden weiteren weiterverkauft, sodass es so gut wie unmöglich ist, die genaue Teileauswahl zu bestimmen, die ein einzelner verwendet hat.
lieferte mit Abstand die beste Antwort. Ich werde die Fehlerquelle etwas weiter überprüfen, da ich ESP32 zuvor mit 12 V verwendet habe und keinen offensichtlichen Fehler in dieser einfachen Platine gemacht habe. Ich werde Sie auf dem Laufenden halten. Haben Sie irgendwelche Best-Practice-Empfehlungen für mich, nachdem ich mir die Leiterplatte angesehen habe?
@MarcoBobinger Messen Sie Spannungen an Ihrer Verkabelung, bevor Sie die Platine anschließen. Verwenden Sie nach Möglichkeit unterschiedliche Kabelfarben für unterschiedliche Funktionen, um Verwechslungen zu vermeiden. Erwägen Sie die Verwendung eines externen 5-V- oder 3,3-V-Abwärtsreglers, damit Sie sich keine Sorgen machen müssen, den ESP32 mit 12 V zu braten. Ein großer Bonus hier ist, dass NodeMCU-32S-Klone (und andere ESP8266/ESP32-Entwicklungsboards) auf Orten wie AliExpress so unglaublich günstig sind, besonders wenn Sie 10 oder mehr auf einmal kaufen. Es schadet nie, etwas Ersatz für Prototypen und Projekte zu haben.