ESP32 & MOSFET

In diesem Projekt kommt der LOLIN32 zum Einsatz. Um Miniaturpumpen und Magnetventile steuern zu können, nutzen wir den MOSFET IRF520. Dieser lässt mittels PWM eine stufenlose Regelung von 0-24V bei bis zu 1A (mit Kühlkörper) zu.

Es soll nun eine Brushless DC Miniaturwasserpumpe (12V, 4.2W, folglich 350mA) und zwei Magnetventile (12V, 6.5W, 540mA) mit drei IRF520 gesteuert werden.

Der ESP32 wird mit einem 5V USB-Kabel versorgt. Für den separaten Stromkreis der Miniaturpumpe und Magnetventile gehen wir davon aus, dass immer nur die Pumpe und maximal ein Magnetventil geschaltet werden kann, was bedeutet, dass ein mindestens 890mA starkes 12V-Netzteil gefunden werden muss, welcher diesen Stromkreis versorgt: hier nutze ich ein 12V DC-Netzteil mit einer maximalen Leistung von 3.5A.

ESP32 Schematics

Die Miniaturpumpe werden wir über den IRF520 mittels PWM-Signal steuern, so dass wir bspw. langsam die Pumpe ein- und ausschalten können. Die Magnetventile werden mit dem IRF520 direkt ein- bzw. ausgeschaltet.

Die Verbindung mit dem ESP32 sieht in meinem Fall aus wie folgt:

  • MOSFET der Miniaturpumpe verbunden mit Pin 0
  • MOSFET des Magnetventils verbunden mit Pin 2

Hinweis: Es können nicht alle Pins genutzt werden, sondern normalerweise nur die Pins 2, 4, 5, 12, 13, 14, 15 und 16 (nach. Dokumentation). Pin 0 konnte ebenfalls nicht genutzt werden, weil dies scheinbar Probleme mit der USB-Schnittstelle zur Auswirkung hatte (?). Es funktioniert des Weiteren nur der erste ADC, wenn WLAN genutzt wird.

Programmierung der Logik

Um nun bspw. die Miniaturpumpe zu starten, müssen wir ein Signal auf den gewählten Pin geben, und der MOSFET schaltet durch:

import machine
pin = machine.Pin(2, machine.Pin.OUT)
pin.on()

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.