Inhaltsverzeichnis:

ESP8266 Temperaturgesteuertes Relais - Gunook
ESP8266 Temperaturgesteuertes Relais - Gunook

Video: ESP8266 Temperaturgesteuertes Relais - Gunook

Video: ESP8266 Temperaturgesteuertes Relais - Gunook
Video: esp8266 - max6675 - mqtt - wifi manager 2024, November
Anonim
Image
Image

Ein Freund von mir ist ein Wissenschaftler, der Experimente durchführt, die sehr empfindlich auf Lufttemperatur und Luftfeuchtigkeit reagieren. Der Inkubatorraum hat eine kleine Keramikheizung, aber der Thermostat der Heizung war nicht annähernd genau genug und konnte die Temperatur nur innerhalb von 10-15 Grad halten.

Kommerzielle Geräte, die Temperatur und Luftfeuchtigkeit protokollieren, können ziemlich teuer sein und das Abrufen der Daten vom Gerät kann schwierig sein. Außerdem können sie die Temperatur nicht kontrollieren, sondern nur die Daten protokollieren. Er fragte, wie schwierig es wäre, ein Gerät zu bauen, das die Heizung über ein Relais genau steuern und gleichzeitig die Temperatur und Luftfeuchtigkeit protokollieren könnte. Klingt einfach genug.

Mit einem ESP8266, einem Relais, einem DHT22 und einer Online-IoT-Plattform können wir loslegen.

Schritt 1: Zubehör

Dieses Projekt verwendet eine Handvoll Vorräte, die alle ziemlich häufig sind und die Sie möglicherweise bereits heute zur Hand haben. Hier ist eine vollständige Liste dessen, was ich verwendet habe. Sie können es nach Bedarf anpassen, um Ihre Projektanforderungen zu erfüllen.

  • ESP8266 ESP-01 (oder ähnliches ESP8266-Board)
  • DHT-22 Temperatur- und Feuchtigkeitssensor
  • Variabler Spannungsregler LM317 (oder ein Standard-3,3-V-Regler wäre einfacher)
  • 5V Hochstromrelais (ich habe mit einem 10A angefangen, es aber innerhalb von 2 Tagen durchgebrannt)
  • Diverse Widerstände und Kondensatoren
  • Überbrückungsdrähte
  • Standardsteckdose und Abdeckung
  • Elektrische Gangbox
  • Alter USB-Stecker mit Adapter
  • Alter elektrischer Stecker

Im Nachhinein wäre die Verwendung einer NodeMCU anstelle des ESP-01 viel sinnvoller gewesen. Ich hatte damals noch keinen, also begnügte ich mich mit dem, was ich zur Hand hatte.

Schritt 2: Auslasskonstruktion

Outlet-Konstruktion
Outlet-Konstruktion

Während ich technisch mit dem Mikrocontroller und dem Code angefangen habe, ist es sinnvoll, zuerst mit der Steckdose zu beginnen. Für dieses Projekt habe ich eine Single-Gang-Box, eine Standard-Steckdose mit 2 Steckern und das Netzkabel einer alten Steckdosenleiste verwendet.

Die Steckdose wird mit den beiden miteinander verbundenen weißen Drähten und den beiden miteinander verbundenen Erdungsdrähten verdrahtet. Die beiden schwarzen Drähte gehen durch die High-Side des Relais. Stellen Sie sicher, dass die Klemmen gut verschraubt sind und keine der Litzen kurzgeschlossen werden. Ich habe ein wenig Lötmittel auf die Drähte gelegt, damit die Ständer zusammenbleiben.

Seien Sie vorsichtig mit der Hochspannung und überprüfen Sie jede Verbindung. Es ist eine gute Idee, Ihre Drahtlungen mit Isolierband zu versehen, damit sie sich nicht lösen

Schritt 3: Curciut-Design

Curciut-Design
Curciut-Design
Curciut-Design
Curciut-Design

Die Schaltung ist ziemlich einfach, aber wenn Sie das ESP-01 wie ich verwenden, müssen Sie einen Spannungsregler hinzufügen, um 3,3 V zu erhalten. Standardrelais benötigen 5 V, daher benötigen Sie eine 3,3-V- und eine 5,0-V-Schiene.

Meine Schaltung verwendete einen LM317-Spannungsregler mit einem Satz Widerständen, um eine konstante 3,3-V-Schiene zu erhalten, ich habe den USB 5V angezapft, um das Relais mit Strom zu versorgen. Es gibt 3,3-V-Relais, aber keine Hochstromrelais, die benötigt werden, wenn Sie eine kleine Raumheizung mit Strom versorgen möchten.

Der DHT22 benötigt einen 4,7k Pull-Up-Widerstand.

Schritt 4: Löten Sie die Platine

Löten Sie die Platine
Löten Sie die Platine
Löten Sie die Platine
Löten Sie die Platine
Löten Sie die Platine
Löten Sie die Platine
Löten Sie die Platine
Löten Sie die Platine

Alle Komponenten auslegen und verlöten. Dies kann ein bisschen schwierig sein, aber die Spuren mit einem Stück Millimeterpapier im Voraus zu planen, wird helfen.

Ich habe ein USB-Board für einen Netzstecker verwendet, aber es war ziemlich schwach und habe es stattdessen durch zwei Header-Pins ersetzt. Ich habe zwei Buchsenleisten auf der Platine verwendet und zwei Steckerstifte direkt an einen alten USB-Stecker gelötet. Dies erwies sich als zuverlässiger und solider. Die Farben der USB-Verkabelung sind:

Schwarz MasseRot 5V

Ich habe auch Stiftleisten verwendet, um die DHT22- und Relais-Pins auf meinem Perfboard freizulegen, um sie mit Standard-Überbrückungsdrähten zu verbinden.

Stellen Sie sicher, dass Sie jeden Pin, Strom- und Erdungsanschluss beschriften, falls er später abgezogen wird.

Schritt 5: Montieren Sie die Platine

Montieren Sie die Platine
Montieren Sie die Platine
Montieren Sie die Platine
Montieren Sie die Platine
Montieren Sie die Platine
Montieren Sie die Platine

An der Seite des Gerätekastens die Platine mit Schrauben und/oder Heißkleber montieren. Stellen Sie sicher, dass die Platzierung so erfolgt, dass die Überbrückungsdrähte bis zu Ihrem in der Box montierten Relais reichen und Sie Ihren Stromanschluss leicht anschließen können.

Fügen Sie Ihrem DHT22-Sensor ein Überbrückungskabel mit Schrumpfschlauch mit der für Ihre Situation geeigneten Länge hinzu. Meins war ungefähr 8 Zoll lang. Ich habe stattdessen ein CAT5-Kabel verwendet, damit die Leitungen leicht in Position gebogen werden können und frei stehen.

Schritt 6: Arudino-Code

Arudino-Code
Arudino-Code

Der Arduino-Code verwendet meine SensorBase-Klasse, die auf meiner Github-Seite verfügbar ist. Sie müssen meinen SensorBase-Code nicht verwenden. Sie können direkt auf den MQTT-Server und Thingspeak schreiben.

Dieses Projekt bietet drei wichtige Softwarefunktionen:

  1. Ein lokaler Webserver zum Einstellen und Anzeigen von Werten
  2. Remote-MQTT-Server zum Senden und Speichern von Daten
  3. Thingspeak-Dashboard zur grafischen Darstellung von Daten

Sie können eine oder mehrere dieser Funktionen verwenden. Passen Sie den Code einfach nach Bedarf an. Dies ist der spezifische Codesatz, den ich verwendet habe. Sie müssen Passwörter und API-Schlüssel anpassen.

  • Sensorbasierter Code auf Github.
  • Lab-Code auf Github.

Schritt 7: Thingspeak-Dashboard

Thingspeak-Dashboard
Thingspeak-Dashboard
Thingspeak-Dashboard
Thingspeak-Dashboard

Richten Sie ein kostenloses Thingspeak-Konto ein und definieren Sie ein neues Dashboard. Sie müssen die gleiche Reihenfolge der Artikel verwenden, die ich unten aufgeführt habe. Die Namen spielen keine Rolle, aber die Reihenfolge spielt eine Rolle.

Wenn Sie Elemente hinzufügen oder entfernen möchten, passen Sie die Thingspeak-Parameter im Arduino-Code an. Es ist ziemlich einfach und auf ihrer Website gut dokumentiert.

Schritt 8: CloudMQTT-Setup

CloudMQTT-Einrichtung
CloudMQTT-Einrichtung
CloudMQTT-Einrichtung
CloudMQTT-Einrichtung
CloudMQTT-Einrichtung
CloudMQTT-Einrichtung

Jeder MQTT-Dienst oder ein ähnlicher IoT-Dienst wie Blynk würde funktionieren, aber ich entscheide mich für CloudMQTT für dieses Projekt. Ich habe CloudeMQTT in der Vergangenheit für viele Projekte genutzt und da dieses Projekt an einen Freund übergeben wird, ist es sinnvoll einen neuen Account zu erstellen, der auch übertragen werden kann.

Erstellen Sie ein CloudMQTT-Konto und erstellen Sie dann eine neue "Instanz", wählen Sie die Größe "Cute Cat", da wir sie nur zur Kontrolle verwenden, keine Protokollierung. CloudMQTT stellt Ihnen einen Servernamen, einen Benutzernamen, ein Passwort und eine Portnummer zur Verfügung. (Beachten Sie, dass die Portnummer nicht der Standard-MQTT-Port ist). Übertragen Sie alle diese Werte in Ihren ESP8266-Code an den entsprechenden Stellen, um sicherzustellen, dass der Fall korrekt ist. (im Ernst, kopiere / füge die Werte ein)

Sie können das "Websocket UI"-Panel in CloudMQTT verwenden, um die Verbindungen Ihres Geräts, Tastendrücke und in den seltenen Fällen, in denen ein Fehler angezeigt wird, eine Fehlermeldung anzuzeigen.

Sie werden diese Einstellungen auch bei der Konfiguration des Android MQTT-Clients benötigen, notieren Sie sich die Werte also bei Bedarf. Hoffentlich ist Ihr Passwort nicht zu kompliziert, um es auf Ihrem Telefon einzugeben. Das können Sie in CloudMQTT nicht einstellen.

Schritt 9: Abschlussprüfung

Abschlussprüfung
Abschlussprüfung

Jetzt müssen wir das letzte Gerät testen.

Bevor Sie etwas testen, überprüfen Sie JEDES Kabel und verwenden Sie Ihr Multimeter im Durchgangsmodus, um alle Kabel zu verfolgen. Stellen Sie sicher, dass alles mit dem verbunden ist, von dem Sie denken, dass es verbunden ist. Da das Relais die Hochspannung von der Niederspannung trennt, müssen Sie sich keine Sorgen machen, dass Ihr Mikrocontroller kurzgeschlossen wird.

Ich habe einen einfachen Stromkreistester eines Elektrikers verwendet, um zu überprüfen, ob auf der Hochspannungsseite alles richtig verdrahtet war, und es funktionierte auch gut, um mein Relais zu testen.

Fügen Sie Ihren ESP2866 Ihrem WLAN-Netzwerk hinzu, indem Sie über Ihr Telefon oder Laptop eine Verbindung zum Gerät herstellen. Dies verwendet die Standard-WifiManager-Bibliothek und er hat alle notwendigen Dokumentationen auf seiner Github-Seite.

Mit einer Glühbirne platzierte ich meinen DHT22-Sensor neben der Glühbirne und steckte die Lampe in die Steckdose. Dadurch konnte sich die Temperatur schnell aufheizen, was das Relais auslöste, um die Lampe auszuschalten und den Vorgang zu wiederholen. Dies war sehr hilfreich, um alles zu testen, einschließlich meiner WLAN-Verbindung.

Ihr Gerät sollte das Relais ordnungsgemäß einschalten, wenn die Temperatur zu niedrig ist, und es ausschalten, wenn die Temperatur den hohen Wert erreicht. In meinen Tests war dies in der Lage, unsere Laborraumtemperatur 24 Stunden am Tag innerhalb von 1 Grad Celsius zu halten.

Empfohlen: