ESP32 - Pumpe steuern

In dieser Anleitung lernen Sie, wie Sie eine 12V-Pumpe mit einem ESP32 und MicroPython verwenden. Im Einzelnen lernen wir:

Dieses Tutorial hilft Ihnen, Systeme zur Pflanzenbewässerung, für Aquarien oder Wassernachfüllstationen zu bauen.

Sie können die Pumpe mit einem Relais oder mit einem MOSFET-Modul schalten. Das Relais startet und stoppt die Pumpe nur. Das MOSFET-Modul startet und stoppt sie auch, kann die Pumpe mit PWM aber zusätzlich langsamer oder schneller laufen lassen, sodass Sie steuern, wie viel Wasser fließt. Und es macht kein Klickgeräusch. Wir bauen beide Versionen.

ESP32 MicroPython Pumpe

Überblick über 12V Pump

Pinbelegung

ESP32 MicroPython Pumpe Pinbelegung
image source: diyables.io

Eine 12V-Pumpe hat normalerweise zwei Pins.

  • Verbinden Sie den negativen (-) Pin (schwarz) mit GND der DC-Stromversorgung.
  • Verbinden Sie den positiven (+) Pin (rot) mit 12V der DC-Stromversorgung.

So steuern Sie eine Pumpe

Eine 12V-Stromversorgung eignet sich perfekt für eine 12V-Pumpe. Um die Pumpe mit einem ESP32 zu steuern, schalten Sie ein Relais dazwischen. Der ESP32 schaltet die Pumpe über das Relais ein und aus. Wenn Sie neu bei Relais oder der MicroPython-Programmierung für den ESP32 sind, empfehle ich Ihnen das folgende Tutorial:

Sie haben noch nie ein MOSFET-Modul verwendet? Lesen Sie zuerst ESP32 MicroPython - MOSFET-Modul. Dort werden die Pins, die Schraubklemmen und der PWM-Code erklärt.

Relais vs. MOSFET-Modul für Pumpe

Relais MOSFET-Modul
Pumpensteuerung laufen oder stoppen laufen oder stoppen, plus Pumpengeschwindigkeit und Durchfluss (PWM)
Beste Verwendung AC-Pumpen, einfaches EIN/AUS 12V-DC-Pumpen, Durchflusssteuerung, viele Starts und Stopps
Lasttyp AC oder DC nur DC
Stromversorgung der Pumpe jede Spannung, für die das Relais ausgelegt ist 6V oder mehr (das Gate wird daraus versorgt)
Schaltgeräusch hörbarer Klick keines
Schaltzeit langsam, in Millisekunden sehr kurz
Verschleiß Kontakte nutzen sich mit der Zeit ab keine beweglichen Teile
Isolation ja, Spule und Kontakte ja, PC817-Optokoppler

Für die hier verwendete 12V-DC-Pumpe wählen Sie das MOSFET-Modul, wenn Sie den Wasserfluss einstellen möchten, zum Beispiel einen sanften Fluss für Pflanzen. Wenn Ihre Pumpe mit Netzspannung (AC) läuft, ist das Relais von beiden die einzige Option.

Verdrahtungsdiagramm

  • So verbinden Sie den ESP32 und die gesteuerte Pumpe mit einem Steckbrett (Stromversorgung über USB-Kabel)
ESP32 MicroPython Pumpe Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Sie können diese Schaltung auch ohne Steckbrett aufbauen. Hier ist dieselbe Verdrahtung:

ESP32 MicroPython Pumpe Schaltplan (ohne Steckbrett)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • So verbinden Sie den ESP32 und die gesteuerte Pumpe mit einem Steckbrett (Stromversorgung über Vin-Pin)
ESP32 MicroPython Pumpe Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

So verbinden Sie ESP32 und gesteuerte Pumpe
So verdrahten Sie ESP32 und gesteuerte Pumpe

ESP32 MicroPython-Code

Der folgende Code schaltet die Pumpe abwechselnd fünf Sekunden lang EIN und fünf Sekunden lang AUS.

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-micropython/esp32-micropython-controls-pump */ from machine import Pin import time RELAY_PIN = 16 # The ESP32 pin GPIO16 connected to the pump via relay pin # Initialize the relay pin as an output relay = Pin(RELAY_PIN, Pin.OUT) # Infinite loop while True: relay.value(1) # Turn on pump for 5 seconds time.sleep(5) relay.value(0) # Turn off pump for 5 seconds time.sleep(5)

Schnelle Schritte

So richten Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE ein und führen ihn aus:

  • Stellen Sie sicher, dass die Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board installiert ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Schließen Sie das ESP32-Board gemäß dem bereitgestellten Schaltplan an die 12V-Pumpe an.
  • Verbinden Sie das ESP32-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Thonny IDE auf Ihrem Computer.
  • Gehen Sie in der Thonny IDE zu Tools Options.
  • Wählen Sie im Reiter Interpreter die Option MicroPython (ESP32) aus dem Dropdown-Menü.
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Die Thonny IDE erkennt ihn normalerweise automatisch, aber eventuell müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf die Schaltfläche Save oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Benennen Sie die Datei main.py.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
  • Überprüfen Sie, ob die Pumpe korrekt arbeitet.

Code-Erklärung

Die Kommentare im obigen ESP32 MicroPython-Code erklären alles.

So steuern Sie den Pumpendurchfluss mit dem MOSFET-Modul

In diesem Abschnitt wird das Relais durch ein MOSFET-Modul ersetzt. Durch Ändern des PWM-Tastverhältnisses stellt der ESP32 die Pumpengeschwindigkeit ein und damit die Wassermenge, die sie fördert.

Verdrahtungsdiagramm

ESP32 MicroPython Pumpe MOSFET-Modul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie kein Steckbrett verwenden, verdrahten Sie es so:

ESP32 MicroPython Pumpe MOSFET-Modul Schaltplan (ohne Steckbrett)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

MOSFET-Modul-Pin Anschluss an
PWM ESP32 GPIO18
GND ESP32 GND
+ 12V-Adapter + (über die DC-Buchse) und rotes Kabel der Pumpe (+)
LOAD schwarzes Kabel der Pumpe (−)
− 12V-Adapter − (über die DC-Buchse)

Der Pumpenmotor ist eine Spule, fügen Sie also eine Freilaufdiode (1N4007 oder 1N5819) zwischen den beiden Pumpenkabeln ein: das Ende mit dem Streifen (Kathode) an das +-Kabel der Pumpe, das andere Ende an das −-Kabel der Pumpe.

ESP32 MicroPython-Code - Pumpe mit dem MOSFET-Modul

Die Pumpe läuft zuerst 2 Sekunden lang mit voller Leistung und steht dann 2 Sekunden lang still. Danach steigt die Leistung in Schritten von 10% auf 100%, und der Wasserfluss wird stärker. Dann sinkt die Leistung Schritt für Schritt, und der Fluss wird schwächer, bis er stoppt.

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-micropython/esp32-micropython-controls-pump */ from machine import Pin, PWM import time MOSFET_PIN = 18 # ESP32 GPIO18 connected to the PWM pin of the MOSFET module pwm = PWM(Pin(MOSFET_PIN), freq=500) # 500 Hz PWM, slow enough for the module's optocoupler pwm.duty_u16(0) # start with the load OFF def set_load(percent): pwm.duty_u16(percent * 65535 // 100) # convert 0-100% to 0-65535 print("Load power: {}%".format(percent)) while True: # turn the load fully ON, then fully OFF print("Load: ON") set_load(100) time.sleep(2) print("Load: OFF") set_load(0) time.sleep(2) # increase the power step by step (PWM) for percent in range(10, 101, 10): set_load(percent) time.sleep(0.5) # decrease the power step by step (PWM) for percent in range(90, -1, -10): set_load(percent) time.sleep(0.5) time.sleep(1)

Schnelle Schritte

  • Führen Sie die Thonny- und ESP32-Einrichtung aus den Relais-Quick-Steps oben durch.
  • Legen Sie die Pumpe ins Wasser. Lassen Sie sie nie trocken laufen.
  • Verbinden Sie alles wie im Schaltplan, stecken Sie den 12V-Adapter aber noch nicht ein.
  • Speichern Sie den Code als main.py auf dem ESP32.
  • Stecken Sie den 12V-Adapter ein und klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5).
  • Beobachten Sie den Wasserfluss und die Meldungen in der Shell.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Bei niedriger Leistung brummt eine Pumpe manchmal nur und fördert kein Wasser. Das ist normal. Sie beginnt erst bei einer höheren Stufe zu pumpen.

Denken Sie daran: Das MOSFET-Modul ist nur für DC-Pumpen gedacht, mit einer Versorgung von mindestens etwa 6V. Für eine AC-Pumpe verwenden Sie das Relais.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!