ESP32 - Heizsystem

In diesem Leitfaden lernen wir, wie man ein Heizsystem baut, das die Raumtemperatur mithilfe eines ESP32, eines DS18B20-Temperatursensors und eines Heizelements steuert. Es ist ganz einfach: Wenn der Raum zu kalt ist, schalten wir das Heizelement ein, und wenn er sich erwärmt, schalten wir es aus. Sie können den Code so anpassen, dass er auch mit anderen Temperatursensoren wie dem DHT11, DHT22 oder LM35 funktioniert, sodass Sie die Flexibilität haben, den Sensor zu wählen, der Ihren Vorlieben entspricht.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×DS18B20 Temperatursensor (mit Adapter)
1×DS18B20 Temperatursensor (ohne Adapter)
1×4.7 kΩ Resistor
1×Relais
1×Heizelement
1×12V Netzteil
1×(Optional) DC-Stromanschluss
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Über Heizelement und DS18B20-Temperatursensor

Das Heizelement, das wir in diesem Tutorial verwenden, arbeitet mit einer 12-Volt-Stromversorgung. Wenn dem Heizelement Strom zugeführt wird, erzeugt es Wärme. Um dem ESP32 die Steuerung des Heizelements zu ermöglichen, müssen wir ein Relais verwenden. Dieses Relais dient als Schalter, der es dem ESP32 ermöglicht, das Heizelement nach Bedarf ein- oder auszuschalten.

Wenn Sie nichts über Temperatursensoren und Heizelemente wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), informieren Sie sich in den folgenden Tutorials darüber:

Verdrahtungsdiagramm

  • Schaltplan mit Breadboard
ESP32-Heizsystem-Schaltplan

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

  • Schaltplan mit Adapter (empfohlen)
ESP32-Temperatursteuerung Heizsystem-Schaltplan

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

Wie das System funktioniert

  • Der ESP32 liest die Temperatur vom Temperatursensor
  • Wenn die Temperatur unter einen unteren Schwellenwert fällt, schaltet der ESP32 die Heizelemente ein
  • Wenn die Temperatur einen oberen Schwellenwert überschreitet, schaltet der ESP32 das Heizelement aus

Der oben beschriebene Prozess wird unendlich oft in der Schleife wiederholt.

ESP32-Code für Kühlsystem mit DS18B20-Sensor

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32-heating-system */ #include <OneWire.h> #include <DallasTemperature.h> #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin #define RELAY_PIN 18 // ESP32 pin GPIO18 connected to relay OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius if (temperature > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the heating element on"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the heating element off"); digitalWrite(RELAY_PIN, LOW); // turn off } delay(500); }

Im obigen Code schaltet der ESP32 das Heizelement ein, wenn die Temperatur unter 15 °C fällt, und hält das Heizelement eingeschaltet, bis die Temperatur über 20 °C steigt.

Schnelle Schritte

  • Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Verbinden Sie die Verkabelung wie im obigen Bild.
  • Schließen Sie das ESP32-Board mit einem Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Suchen Sie “DallasTemperature” im Suchfeld, und suchen Sie dann nach der DallasTemperature-Bibliothek von Miles Burton.
  • Klicken Sie auf die Install-Schaltfläche, um die DallasTemperature-Bibliothek zu installieren.
ESP32 Dallas-Temperaturbibliothek
  • Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Install All, um die OneWire-Bibliothek zu installieren.
ESP32 1-Wire-Bibliothek
  • Kopiere den obigen Code und öffne ihn mit der Arduino-IDE
  • Klicke auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code auf den ESP32 hochzuladen
  • Mach die Umgebung des Sensors wärmer oder kühler
  • Prüfe die Temperatur des Heizelements und deines Zimmers

Fortgeschrittene Kenntnisse

Die oben beschriebene Regelungsmethode ist der Ein-Aus-Regler, auch bekannt als Signalgeber oder 'Bang-Bang'-Regler. Diese Methode ist sehr einfach zu implementieren.

Es gibt eine alternative Methode namens PID-Regler. Mit dem PID-Regler ist die gewünschte Temperatur stabiler, aber sehr schwer zu verstehen und zu implementieren. Daher ist der PID-Regler in der Temperaturregelung nicht beliebt.

※ 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!