Skip to content

+49 1626571232

info@openelab.io

Kostenloser Versand ab 50€ in der EU / 80€ weltweit

So bauen Sie Ihr eigenes intelligentes Thermostat

26 Jul 2024 0 Comments
Smart Thermostat ist ein fortschrittliches Temperaturregelgerät für den Einsatz im privaten und gewerblichen Bereich. Benutzer können die Temperatureinstellungen jederzeit und überall anpassen und sie über eine Smartphone-App oder eine Weboberfläche fernsteuern. Ziel dieses Projekts ist die Entwicklung eines benutzerfreundlichen und quelloffenen Smart Thermostats, das Sie nach Ihren spezifischen Anforderungen gestalten können.

Hardwarekomponenten:

  1. Mikrocontroller: Arduino MKR WiFi 1010 (Mikrocontroller zur Verarbeitung von Sensordaten und Steuerung der Heizungsanlage. Verfügt über WiFi- und Bluetooth-Funktionen).
  2. Sensoren: Feuchte- und Temperatursensor: BME280 Feuchte Druck Temperatur Sensoren
  1. OLED-Display: 0,96 Zoll OLED SSD1306 Display I2C 128 x 64 Pixel
  2. Relaismodul: 5 V/12 V-Relaismodul , wird als Schalter zur Steuerung der Heizungsanlage verwendet.
  3. Echtzeituhr: Echtzeituhr RTC DS3231 I2C Echtzeituhr (zur Verfolgung der genauen Zeit)
  4. Stromversorgung: 5V/2A Netzteil
  5. Gehäuse: 3D-gedruckt (siehe Entwurf in dieser Notiz) oder Nachrüstbox zur Aufnahme von Komponenten
  6. Leiterplatte
  7. Steckplatine und Jumper (falls du es als Prototyp betreiben und ggf. erweitern möchtest)
  8. benutzerdefinierte Leiterplatte (Entwurf mit KiCad EDA und Druck mit Eurocircuits)

Softwareanforderungen:

  1. IDE: Arduino IDE (Sie können jede beliebige IDE verwenden, solange Sie Code auf Arduino hochladen können)
  2. Programmierung: Sie benötigen lediglich Grundkenntnisse in Assembler und Konfigurationsoptimierung. Wenn Sie das Projekt erweitern möchten, können einige Erfahrungen mit den oben genannten Technologien hilfreich sein.
  3. Arduino: C++
  4. Datenbank: SQL (MariaDB)
  5. Front-End: TypeScript (Angular17-Front-End)
  6. Backend: TypeScript (Node.js, Express)
In den meisten Heizsystemen steuert der Thermostat die Heizung, indem er die Kontakte schließt (kurzschließt), um den Stromkreis zu schließen und die Heizung zu aktivieren. Dieser Thermostat funktioniert nach dem gleichen Prinzip, indem er den Stromkreis mithilfe eines Relais schließt. Wenn Ihr aktueller Thermostat auf diese Weise funktioniert, können Sie diesen Thermostat ebenfalls verwenden.

Schritt 1: 3D-gedrucktes Gehäuse

Wir haben ein einfaches Gehäuse entworfen, damit der Thermostat raffinierter aussieht und mehr wie ein typischer Thermostat aussieht. Sie können unsere STL-Datei herunterladen und in Tinkercad oder eine andere 3D-Modellierungssoftware importieren. Sie können sie nach Ihren Wünschen anpassen und dann in 3D drucken. Unser Design ist sehr einfach und kann als Prototyp verwendet werden, sodass Sie es nach Bedarf verbessern und anpassen können.
Wenn Sie die von uns entworfene Leiterplatte so verwenden möchten, dass sie genau in das Gehäuse passt, können Sie das Leiterplattenlayout aus KiCad als SVG-Datei exportieren und in Ihre 3D-Modellierungssoftware importieren. Auf diese Weise können Sie das Gehäuse um die Leiterplatte herum entwerfen und sicherstellen, dass alles passt. Thermostat_Case.stl

Schritt 2: Drucken Sie die Leiterplatte

Schritt 3: Hardware- und Mikrocontroller-Setup zusammenbauen

Mikrocontroller-Einrichtung

Beginnen Sie den Montagevorgang mit der Einrichtung des Mikrocontrollers. Montieren Sie ihn auf einem Steckbrett, damit er einfacher als Prototyp erstellt und angeschlossen werden kann. Schließen Sie den Mikrocontroller an eine Stromquelle an und stellen Sie sicher, dass er eine stabile 5-V/2-A-Versorgung erhält. Diese anfängliche Einrichtung bildet die Grundlage des Thermostats und stellt die erforderliche Steuerungs- und Verarbeitungsleistung für die verbleibenden Komponenten bereit.

Sensorintegration

Als nächstes integrieren Sie die Temperatur- und Feuchtigkeitssensoren in den Mikrocontroller. Je nachdem, welchen Sensortyp Sie wählen, folgen Sie dem spezifischen Schaltplan, um sie richtig anzuschließen. Den oben aufgeführten Adafruit-Sensor finden Sie auf deren Website. Der Sensor liefert Echtzeitdaten über die Umgebungstemperatur und -feuchtigkeit, die der Mikrocontroller zur Anpassung des Heizsystems verwendet. Befestigen Sie den Sensor an einer Stelle, an der er die Raumtemperatur genau messen kann.

OLED-Display-Anschluss

Schließen Sie das OLED-Display an den Mikrocontroller an und achten Sie dabei auf die richtige Konfiguration der Pins. Das Display dient als Benutzeroberfläche zur Anzeige der aktuellen Temperatur, der eingestellten Temperatur und anderer relevanter Informationen. Der richtige Anschluss des Displays ist für eine klare und genaue Anzeige entscheidend.

Einrichten des Relaismoduls

Richten Sie das Relaismodul ein, das das Heizsystem basierend auf Temperaturwerten und Benutzereingaben steuert. Schließen Sie das Relais an den Mikrocontroller an, um sicherzustellen, dass es die Last des Heizsystems bewältigen kann. Das Relais fungiert als Schalter und der Mikrocontroller kann es ein- oder ausschalten, um die Temperatur zu regulieren. Testen Sie den Relaisbetrieb, um sicherzustellen, dass es korrekt auf Steuersignale vom Mikrocontroller reagiert.

Schritt 4: Programmieren des Thermostats

Die Hauptschleifenfunktion wird kontinuierlich ausgeführt und führt die folgenden Aufgaben aus:
  1. sendet in regelmäßigen Abständen einen Heartbeat an den Server.
  2. Wenn der Heartbeat erfolgreich ist, wird die Sensordatenanforderung in die Warteschlange gestellt.
  3. verarbeitet alle ausstehenden Anfragen in der Warteschlange.
  4. versucht, die Verbindung wiederherzustellen, wenn es sich im Fallback-Modus befindet und genügend Zeit verstrichen ist.
  5. steuert im Fallback-Modus das Heizungsrelais temperaturabhängig.
  6. Aktualisieren Sie die Anzeige regelmäßig.
Einrichten der Entwicklungsumgebung
Richten Sie die Entwicklungsumgebung auf Ihrem Computer ein, indem Sie die erforderliche Software installieren. Wenn Sie Arduino verwenden, laden Sie die Arduino IDE herunter und installieren Sie sie. Richten Sie für Raspberry Pi die entsprechende Entwicklungsumgebung ein. Stellen Sie sicher, dass Sie über alle Bibliotheken verfügen, die Sie für den Temperatursensor, das LCD-Display und alle anderen von Ihnen verwendeten Komponenten benötigen. Dieses Setup bietet die Tools, die Sie zum Schreiben, Hochladen und Debuggen Ihres Thermostatcodes benötigen.
Hochladen von Code auf den Arduino MKR WiFi 1010
Anschluss des Arduino MKR 1010 WiFi
  1. Anschließen der Platine: Schließen Sie den Arduino MKR 1010 WiFi mit dem USB-Kabel an Ihren Computer an.
  2. Motherboard auswählen: Gehen Sie zu Tools->Motherboard und wählen Sie Arduino MKR WiFi 1010 aus.
  3. Port auswählen: Gehen Sie zu Tools->Ports und wählen Sie den Port aus, der der Karte entspricht, mit der Sie eine Verbindung herstellen (z. B. COM3, /dev/ttyUSB0).
Eine Skizze vorbereiten
  1. Skizze öffnen: Öffnen Sie die Arduino-Skizzendatei (.ino) in der Arduino IDE.
  2. Skizze konfigurieren: Ändern Sie die Skizze, damit sie mit Ihrer Server-IP, Ihren WLAN-Anmeldeinformationen und anderen Einstellungen übereinstimmt.
So laden Sie eine Skizze hoch
  1. Überprüfen Sie die Skizze: Klicken Sie auf das Häkchensymbol in der oberen linken Ecke der Arduino IDE, um den Code zu kompilieren und zu überprüfen. Dadurch wird sichergestellt, dass keine Syntaxfehler vorhanden sind.
  2. Skizze hochladen: Klicken Sie auf das rechte Pfeilsymbol neben dem Häkchen, um den Code auf das Arduino MKR 1010 WiFi hochzuladen. Die IDE kompiliert den Code erneut und lädt ihn dann auf das Motherboard hoch.
Überwachen der seriellen Ausgabe
  1. Seriellen Monitor einschalten: Gehen Sie zu Tools->Serieller Monitor, um den seriellen Monitor einzuschalten.
  2. Baudrate einstellen: Stellen Sie sicher, dass die Baudrate unten im seriellen Monitor auf 9600 eingestellt ist, um der Einstellung Serial.begin(9600); im Code zu entsprechen.
  3. Ausgabe anzeigen: Sie sollten die Ausgabe vom Arduino sehen, die Debug-Meldungen und Sensorwerte enthält.
Anpassen der Konfiguration
Sie müssen die WLAN- und Serverkonfigurationen an Ihre Einstellungen anpassen. Diese Konfigurationen müssen an die IP-Adresse und das WLAN-Netzwerk des Servers angepasst werden.
Optional: Anpassung der Betriebsgrößen
Diese Variablen und Konstanten verwalten den Betriebszustand, wie etwa Verbindungsstatus, Heizstatus und Zeitintervalle für die Aufgaben. FALLBACK_TEMPERATURE wird verwendet, wenn der Server nicht erreichbar ist und der Thermostat im Fallback-Modus arbeitet. HEARTBEAT_INTERVAL bestimmt, wie oft der Arduino Heartbeats an den Server sendet.

Schritt 5: Einrichten der Datenbank, des Servers und des Front-Ends

Datenbank
Damit der Smart Thermostat-Server ordnungsgemäß funktioniert, benötigt er eine Datenbank. Hierfür verwenden wir MariaDB.
Informationen zur Einrichtung finden Sie hier: GitHub Repositories - Datenbank-Setup
 
Frontend
Das Frontend wurde mit Angular17 entwickelt und ermöglicht dem Benutzer, Daten anzuzeigen und Temperatureinstellungen zu konfigurieren.
Informationen zur Einrichtung finden Sie hier: GitHub Repository - Frontend-Einstellungen
 
Backend
Das mit Node.js und Express entwickelte Backend bietet APIs für Sensordaten, Authentifizierung und Heizungssteuerung.
Informationen zur Einrichtung finden Sie hier: GitHub Repository - Backend Setup
 

Schritt 6: Testen und Kalibrieren

Erster Test
Schalten Sie den Thermostat ein und führen Sie einen ersten Test durch, um sicherzustellen, dass alle Komponenten ordnungsgemäß funktionieren. Überprüfen Sie, ob die Ausgabe auf dem OLED-Display korrekt ist und ob der Temperatursensor genaue Messwerte liefert. Testen Sie das Relaismodul, indem Sie verschiedene Temperaturschwellenwerte einstellen und beobachten, ob das Relais das Heizsystem entsprechend aktiviert oder deaktiviert. Diese erste Testphase ist entscheidend, um etwaige Probleme frühzeitig zu erkennen und die erforderlichen Anpassungen vorzunehmen.
Kalibrierung
Kalibrieren Sie den Thermostat, um einen genauen und zuverlässigen Betrieb sicherzustellen. Vergleichen Sie die Sensorwerte mit einem zuverlässigen Thermometer, um die Genauigkeit zu überprüfen. Passen Sie bei Bedarf Codes oder Sensorpositionen an, um die tatsächlichen Temperaturen genauer zu ermitteln. Stellen Sie sicher, dass die Relais bei der richtigen Temperatureinstellung aktiviert und deaktiviert werden, um eine präzise Steuerung des Heizsystems zu gewährleisten. Dieser Kalibrierungsprozess optimiert die Leistung des Thermostats und stellt sicher, dass es Ihren erforderlichen Spezifikationen entspricht.
Weitere Informationen folgen: Bauen Sie Ihr eigenes intelligentes Thermostat

Prev Post
Next Post

Leave a comment

All blog comments are checked prior to publishing

Someone recently bought a

Thanks for subscribing!

This email has been registered!

Shop the look

Choose Options

Edit Option
Benachrichtigung wieder vorrätig
this is just a warning
Login
Shopping Cart
0 items
RuffRuff App RuffRuff App by Tsun