ESP32 - Lüfter steuern

Dieses Tutorial zeigt Ihnen, wie Sie einen 12V- oder 5V-Lüfter mit einem ESP32 und MicroPython steuern. Wir behandeln:

Es gibt zwei Möglichkeiten, den Lüfter anzusteuern: ein Relais oder ein MOSFET-Modul. Ein Relais ist ein einfacher Schalter, der Lüfter ist also entweder ganz EIN oder ganz AUS. Ein MOSFET-Modul kann das auch, und es kann den Lüfter mit PWM zusätzlich schneller oder langsamer drehen lassen, ohne Klickgeräusch. Diese Seite zeigt beide Wege.

ESP32 MicroPython Lüfter

Überblick über DC Fan

Pinbelegung

Ein DC-Lüfter hat normalerweise zwei Pins.

  • Verbinden Sie den schwarzen Pin, der als negativ (-) gekennzeichnet ist, mit dem Minuskabel der DC-Stromversorgung.
  • Verbinden Sie den roten Pin, der als positiv (+) gekennzeichnet ist, mit dem Pluskabel der DC-Stromversorgung.
Lüfter Pinbelegung
image source: diyables.io

Stellen Sie sicher, dass die Spannung der DC-Stromversorgung der vom Lüfter benötigten Spannung entspricht. In dieser Anleitung verwenden wir Lüfter, die 12 VDC bzw. 5 VDC benötigen.

So steuern Sie einen Lüfter

  • Wenn ein DC-Lüfter mit einer 12V/5V-Stromversorgung betrieben wird, dreht er sich mit maximaler Geschwindigkeit.
  • Wenn ein DC-Lüfter mit einem 12V/5V-PWM-Signal betrieben wird, können Sie die Geschwindigkeit des Lüfters einstellen.

In dieser Anleitung zeigen wir Ihnen, wie Sie einen Lüfter mit einem ESP32 ein- und ausschalten. Wie Sie die Lüftergeschwindigkeit steuern, zeigen wir in einer anderen Anleitung. Um den Lüfter zu steuern, schalten wir ein Relais zwischen den ESP32 und den Lüfter. Der ESP32 steuert das Relais und damit indirekt den Lüfter. Wenn Sie neu bei Relais oder der MicroPython-Programmierung für den ESP32 sind, empfehle ich Ihnen das folgende Tutorial:

Möchten Sie auch die Geschwindigkeit steuern? Dann ist das MOSFET-Modul das richtige Bauteil. Seine Pins und seine Funktionsweise werden im Tutorial ESP32 MicroPython - MOSFET-Modul erklärt.

Relais vs. MOSFET-Modul für Lüfter

Relais MOSFET-Modul
Was Sie steuern können Lüfter EIN oder AUS Lüfter EIN oder AUS, plus Lüftergeschwindigkeit (PWM)
Geräusch ein Klick bei jedem Schalten gar kein Geräusch
Schaltgeschwindigkeit langsam, einige Millisekunden sehr schnell
Lebensdauer die Metallkontakte nutzen sich nach vielen Schaltvorgängen ab nichts bewegt sich, also nutzt sich nichts ab
Lüftertyp AC- oder DC-Lüfter nur DC-Lüfter
Versorgungsspannung des Lüfters jede Spannung innerhalb der Relais-Nennwerte etwa 6V oder mehr (ein 5V-Lüfter funktioniert nicht)
Isolation ja, zwischen Spule und Kontakten ja, durch den PC817-Optokoppler
Gute Wahl für AC-Lüfter, einfaches EIN/AUS 12V-DC-Lüfter, wenn Sie die Geschwindigkeit steuern möchten

Für den 12V-DC-Lüfter in dieser Anleitung ist das MOSFET-Modul die bessere Wahl, wenn Sie einen leisen Lüfter möchten, der auch mit halber Geschwindigkeit laufen kann. Behalten Sie das Relais für einen AC-Lüfter oder für den 5V-Lüfter, denn das MOSFET-Modul braucht eine höhere Versorgungsspannung.

Verdrahtungsdiagramm

  • So verbinden Sie den ESP32 und den gesteuerten Lüfter mit einem Steckbrett (Stromversorgung über USB-Kabel)
ESP32 MicroPython Lüfter Schaltplan

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

Das Schaltbild unten zeigt dieselben Verbindungen ohne Steckbrett:

ESP32 MicroPython Lüfter Schaltplan (ohne Steckbrett)

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

  • So verbinden Sie den ESP32 und den gesteuerten Lüfter mit einem Steckbrett (Stromversorgung über Vin-Pin)
ESP32 MicroPython Lüfter Schaltplan

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

So verbinden Sie ESP32 und gesteuerten Lüfter
So verdrahten Sie ESP32 und gesteuerten Lüfter

ESP32 MicroPython-Code

Dieser Code schaltet den Lüfter fünf Sekunden lang EIN und dann weitere 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-fan */ from machine import Pin import time RELAY_PIN = 16 # The ESP32 pin GPIO16 connected to the fan 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 fan for 5 seconds time.sleep(5) relay.value(0) # Turn off fan 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 den Lüfter 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.
  • Prüfen Sie, wie der Lüfter arbeitet.

Code-Erklärung

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

So steuern Sie die Lüftergeschwindigkeit mit dem MOSFET-Modul

In diesem Teil wird das Relais durch ein MOSFET-Modul ersetzt. Der ESP32 sendet jetzt ein PWM-Signal, der Lüfter startet und stoppt also nicht nur. Er kann sich auch langsam, schnell oder irgendwo dazwischen drehen.

Verdrahtungsdiagramm

ESP32 MicroPython Lüfter MOSFET-Modul Schaltplan

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

Kein Steckbrett? Dieselbe Schaltung lässt sich auch ohne verdrahten, wie unten gezeigt:

ESP32 MicroPython Lüfter MOSFET-Modul Schaltplan (ohne Steckbrett)

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

Von Nach
ESP32 GPIO18 PWM-Pin des MOSFET-Moduls
ESP32 GND GND-Pin des MOSFET-Moduls
12V-Adapter + (über die DC-Buchse) +-Klemme
Rotes Kabel des Lüfters (+) +-Klemme (gemeinsam mit dem Adapter +)
Schwarzes Kabel des Lüfters (−) LOAD-Klemme
12V-Adapter − (über die DC-Buchse) −-Klemme

Ein Lüfter hat innen eine Motorspule. Schalten Sie eine Freilaufdiode (1N4007 oder 1N5819) über die beiden Lüfterkabel. Das Ende mit dem Streifen (Kathode) kommt an das +-Kabel des Lüfters, das andere Ende an das −-Kabel des Lüfters. Das schützt den MOSFET vor Spannungsspitzen.

ESP32 MicroPython-Code - Lüftergeschwindigkeit mit dem MOSFET-Modul

Der Lüfter läuft 2 Sekunden lang mit voller Geschwindigkeit und steht dann 2 Sekunden lang still. Danach erhöht das Skript die Leistung von 10% auf 100%, sodass Sie hören, wie der Lüfter schneller wird. Anschließend senkt es die Leistung wieder, und der Lüfter wird langsamer, 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-fan */ 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

  • Richten Sie Thonny und den ESP32 so ein wie in den Relais-Quick-Steps oben.
  • Verdrahten Sie den Lüfter, das MOSFET-Modul und die DC-Buchse wie im Schaltplan gezeigt. Lassen Sie den 12V-Adapter ausgesteckt.
  • Fügen Sie den Code in Thonny ein und speichern Sie ihn als main.py auf dem ESP32.
  • Stecken Sie den 12V-Adapter ein.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5).
  • Hören Sie auf den Lüfter und sehen Sie in die Shell in Thonny.
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 ≡

Manche Lüfter starten bei 10% oder 20% nicht. Das ist normal. Sie beginnen sich erst bei einer höheren Leistungsstufe zu drehen.

※ Notiz:

Das MOSFET-Modul funktioniert nur mit DC, und es braucht eine Lüfterversorgung von etwa 6V oder mehr. Für einen AC-Lüfter 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!