Universelle Temperatur-Steuerung – TempCTRL: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
(|Sortierbegriffe=Steuerung; Datenspeicher; Temperatur;)
 
(44 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== TempCTRL Übersicht ==
+
== '''TempCTRL V.2, Temperatur-Controller mit WLAN-Anschluss''' ==
 +
 
 +
[[File:templogger_logo.png|430px]]
 +
 
 +
{{Projektdaten
 +
|Projektname=TempCTRL
 +
|Gesamtstatus=aktiv
 +
|Kurzbeschreibung=Eine universelle Temperatur-Steuerung mit Funk-Ferndatenspeicherung und -Visualisierung, die eine vollständige Kontrolle über temperaturabhängige Prozesse und automatisierbare Schaltvorgänge ermöglicht, z.B. Heizung, Kühlung, Belüftung oder Langzeitmessungen usw..
 +
|Stichwörter=Temperatur-Steuerung; WLAN; WiFi;
 +
|Sortierbegriffe=Steuerung; Datenspeicher; Temperatur;
 +
|Entwicklungsstufen=Prototyp entwickeln; Prototyp gefertigt;
 +
|Kontakt=* [[Oliver Schlüter]] [mailto:os@ose-germany.de <os@ose-germany.de>]
 +
|Diskussion=* [https://t.me/OSEGWelcome OSEG Willkommensgruppe] auf Telegram
 +
|Vorschauklasse=prototyping
 +
|Vorschaubild=Datei:Tempctrl_icon_only.png
 +
|Vorschaukurztext=Temperatur-Steuerung
 +
}}
 +
 
 +
=== Einführung ===
 +
 
 +
TempCTRL ist eine universelle Temperatur-Steuerung mit remote-Data-Logging und -Visualisierung (IoT-enabled), die eine vollständige Kontrolle über temperaturabhängige Prozesse und automatisierbare Schaltvorgänge ermöglicht.
  
TempCTRL ist eine universelle Temperatur-Steuerung mit Data-Logging und -Visualisierung, die eine vollständige Kontrolle über temperaturabhängige Prozesse und automatisierbare Schaltvorgänge ermöglicht.
 
  
 
Die Einsatzmöglichkeiten sind sehr vielfältig, hier ein paar Beispiel in den Bereichen Green-Energy und Nachhaltigkeit:
 
Die Einsatzmöglichkeiten sind sehr vielfältig, hier ein paar Beispiel in den Bereichen Green-Energy und Nachhaltigkeit:
  
- Aquaponic-Systeme und Gewächshäuser, Bewässerung
+
* '''Biogasanlagen, Fermentations-Prozesse, Kompostierung'''
 +
* '''Aquaponic-Systeme und Gewächshäuser, Bewässerung'''
 +
* '''Heizung, Kühlung, Belüftung: Umwälzpumpen, Ventilatoren'''
 +
* '''Solarthermie: Warmwasser- und Warmluft-Kollektoren,'''
 +
* '''Steuerung für SolarDörrgerät'''
 +
* '''Langzeit-Messung, Datalogging und Visualisierung, hilfreich bei vielen R&D-Projekten'''
 +
* '''kann eine Tiefkühltruhe in einen horizontalen Niedrigenergie-Kühlschrank umwandeln'''
 +
* '''kann eine Heizplatte in einen temperaturgesteuerten Kocher umwandeln'''
 +
* '''kann einen Kühlschrank in einen Brutschrank umwandeln'''
  
- Biogasanlagen, Fermentations-Prozesse, Kompostierung
 
  
- Heizung, Kühlung, Belüftung: Umwälzpumpen, Ventilatoren
+
TempCTRL ist komplett OpenSource/OpenHardware und basiert auf Verwendung von offenen Plattformen wie Arduino und RaspberryPi
  
- Solarthermie: Warmwasser- und Warmluft-Kollektoren,
 
  
- Steuerung für SolarDörrgerät
+
<gallery widths="800" heights="600" perrow="2>
 +
File:Tempctrl_v2.jpg|TempCTRL V2, Display blau mit weisser Schrift
 +
</gallery>
 +
 
  
- Langzeit-Messung, Datalogging und Visualisierung, hilfreich bei vielen R&D-Projekten
+
=== Funktion ===
  
- kann eine Tiefkühltruhe in einen horizontalen Niedrigenergie-Kühlschrank umwandeln
+
Angezeigt wird die gemessene IST-Temperatur und die vorgegebene bzw. durch Tastenauswahl einstellbare Soll-Temperatur, sowie die ebenfalls einstellbare Schwankungsbreite. Ausserdem wird noch der Schaltzustand des Relais mit 0 = off und 1 = on dargestellt.
  
- kann eine Heizplatte in einen temperaturgesteuerten Kocher umwandeln
+
=== Erweiterbarkeit ===
  
- kann einen Kühlschrank in einen Brutschrank umwandeln
+
Am OneWire-Bus des Temperatursensors können noch weitere DS18B20 TemperaturSensoren angehängt werden, m.E. bis zu einem theoretischen Maximum von 64 pro Bus.  Falls das noch nicht reicht könnten an freie Pins am Arduino weitere Busse angehängt werden, benötigt wird pro Bus 1 Pin als Datenleitung und Anschluss an GND und 5V.
  
TempCTRL ist komplett OpenSource/OpenHardware und basiert auf Verwendung von offenen Plattformen wie Arduino und RaspberryPi
+
Auch weitere Relais können noch angehängt werden, da nur ein kleiner Teil der vielen Pins des ArduinoMega2560 bereits belegt ist, pro zusätzlichem Relais wird jeweils 1 Pin benötigt.
  
  
 +
=== Datalogging und Visualisierung ===
  
== TempCTRL V.1, Temperatur-Controller mit LAN-Anschluss ==
+
Die Visualisierung der Prozessdaten kann zum einen extern erfolgen, mittels Diensten wie ThingSpeak https://thingspeak.com/ (wozu allerdings noch die LUA-Scripte enprechend angepasst werden müssten !!!), oder intern, d.h., mittels eines irgendwo im lokalen Netzwerk befindlichen RaspberryPi (oder eines vergleichbaren kleinen Linux-Servers, wie zB. Odroid).
  
=== BOM ===
+
Dabei werden die Logging-Data-samples periodisch (via crontab) mit einfachen Unix-Shell-Scripten vom TempCTRL abgeholt und in einer roundrobbin-Datenbank namens rrdtool gesammelt.  Ebenfalls periodisch (etwa alle 1 bis 2 Minuten) werden daraus Kurvendiagramme generiert und Webseite bereitgestellt, d.h., sie können von jedem Arbeitsplatzrechner aus mit einem normalen Webbrowser betrachtet werden. Da sich die Webseite automatisch refresht handelt es sich hier um ein aktives live-monitoring System, welches sehr komfortabel ist und maximale bzw. detaillierte Überwachung der jeweiligen Temperatur-gesteuerten Prozesse ermöglicht.
  
TempCTRL V.1 ist der erste Prototyp und besteht aus folgenden Modulen:
+
<gallery widths="800" heights="400" perrow="2>
 +
File:Tempctrl_hk4h.png|Visualisierung, 4h-Zeitfenster. Man erkennt als grüne Linie die vorgegebene Soll-Temperatur, um welche die Ist-Temperatur zyklisch schwankt (je nach der an der TempCTRL eingestellten Schwankungsbreite, meist 2 oder 3 Grad, damit das Relais am Grenzwert nicht dauernd hin- und her schaltet). Die Blaue Linie zeigt den Relaiszustand an, der normalerweise auf 0=off oder 1=on steht. In der Darstellung wurde die 1 aber durch den Wert 10 ersetzt, damit das ganze optisch ergonomischer zu erkennen ist.
 +
File:Temctrl_Hk36h.png|Langzeit-sample, 36h-Zeitfenster
 +
</gallery>
  
- Arduino Mega2560
+
=== BOM ===
  
- Ethernet Modul ENC28J60
+
TempCTRL V.2  ist der zweite Prototyp und besteht aus folgenden Modulen:
  
- OneWire-Temp.Sensor DS18B20 mit Adapter
+
* Arduino Mega2560
 +
* WLAN-Modul ESP8266
 +
* OneWire-Temp.Sensor DS18B20 mit Adapter
 +
* Relais bis 10A / 230VAC, 28VDC
 +
* Arduino-LCD-Keypad mit 6 Micro-Tastern und Hitachi-kompatiblen 2x16-LCD
 +
* Adapterplatine für ESP-modul mit 3.3V-Stromversorgung und Anschlussterminals für Relais und Temp.Sensor
  
- Relais bis 10A / 230VAC, 28VDC
+
=== Aufbau ===
  
- LCD-Keypad mit 5 Tastern und Hitachi-kompatiblen 2x16-LCD
+
Die Datenkommunikation ins LAN erfolgt über ein ESP8266 WLAN-Modul. Die Stromversorgung erfolgt mittels 7V,2A-Steckernetzteil am externen Power-Eingang des Arduino. 
  
=== Aufbau ===
+
Auf den Arduino wird in Sandwich-Bauweise ein LCD-Keypad aufgesteckt. Die Display-Beleuchtung kann durch ein auf der Keypad-Platine Trimmpotentiometer auf optimalen Kontrast eingestellt werden.
  
Die Datenkommunikation ins LAN erfolgt über ein Standard CAT5 Ethernet-Kabel. Die Stromversorgung erfolgt mittels 7V,2A-Steckernetzteil am externen Power-Eingang des Arduino.  Der Temperatursensor ist über eine Kleine Adapterplatine verbunden, bei der im Schraubterminal noch ein 4.7K Widerstand zwischen 5V und Data mit eingeklemmt wird. Die Display-Beleuchtung kann durch einen auf der Keypad-Platine befindlichen Micro-Schalter manuell je nach Bedarf eingeschaltet werden.
+
Ausserdem ist noch Platz für eine ESP8266-Adapterplatine welche neben der 3.3V-Stromversorgung für den ESP auch noch die Anschlüsse für den Temp.Sensor und das Relais beinhaltet.
  
 
<gallery widths="460" heights="320" perrow="2>
 
<gallery widths="460" heights="320" perrow="2>
File:Tempctrl_v1_IMGP2363.JPG|Gesamtansicht
+
File:Tempctrl_adapter.jpg|ESP8266 mit Adapter, auf Lochrasterplatine
File:Tempctrl_v1_IMGP2357.JPG|Display, CloseUp
+
File:Tempsctrl_v2_seite.jpg|Sandwich: Das LCD-Keypad und die Adapterplatine werden direkt auf den Arduino-Mega aufgesteckt.
 
</gallery>
 
</gallery>
  
  
=== Funktion ===
+
=== Schnittstellen ===
 +
 
 +
todo: Pinbelegungen der Anschlüsse (kann auch dem source-code entnommen werden !), Schaltplan
 +
 
 +
=== Software ===
 +
 
 +
Die aktuelle Software-Version unterstützt bislang nur einen Sensor und ein Relais, bei Erweiterungen müssen hier in der Software entsprechende Anpassungen vorgenommen werden.
 +
 
 +
Die Software besteht aus mehreren unahbhängigen Bestandteilen:
 +
 
 +
==== [[TempCTRL_v2_firmware]] ====
 +
 
 +
Dies ist die Firmware für den Arduino. Sie kann mittels der Arduino-IDE bearbeitet und auf den Arduino übertragen werden.
  
Angezeigt wird die gemessene IST-Temperatur und die vorgegebene bzw. durch Tastenauswahl einstellbare Soll-Temperatur, sowie die ebenfalls einstellbare Schwankungsbreite. Ausserdem wird noch der Schaltzustand des Relais mit 0 = off und 1 = on dargestellt.  Eine fünfte Taste (schwarz) ist mit einer Direktschaltung des Relais belegt, ähnlich einer Not-Aus-Schaltung.
 
  
=== Erweiterbarkeit ===
+
==== [[TempCTRL_v2_nodemcu_lua]] ====
  
Am OneWire-Bus des Temperatursensors können noch weitere DS18B20 TemperaturSensoren angehängt werden, m.E. bis zu einem theoretischen Maximum von 64 pro Bus. Falls das noch nicht reicht könnten an freie Pins am Arduino weitere Busse angehängt werden, benötigt wird pro Bus 1 Pin als Datenleitung und Anschluss an GND und 5V.
+
Für das ESP8266 WLAN-Modul wird eine eigene Firmware namens NodeMCU benötigt. Dazu werden LUA-Scripte per USB hochgeladen, welche die jeweilige Funktionen implementieren. Die Bearbeitung kann mittels eines speziellen IDE namens ESPlorer erfolgen (siehe dazu mein kleines Tutorial unter [http://wiki.opensourceecology.de/Erg%C3%A4nzungs-Set_WLAN]) , ist aber auch mit neueren Versionen der Arduino-IDE direkt möglich.
  
Auch weitere Relais können noch angehängt werden, da nur ein kleiner Teil der vielen Pins des ArduinoMega2560 bereits belegt ist, pro zusätzlichem Relais wird jeweils 1 Pin benötigt.
+
=== Gehäuse ===
  
=== Schnittstellen ===
+
still todo, aber es kann auch mit ein paar einfachen Modifikationen (= 2 Löcher ausschneiden) ein fertiges bzw. 3d-druckbares Gehäuse namens "Mmintbox" (von User Vector_Mayhem) von Thingiverse runtergeladen werden :  https://www.thingiverse.com/thing:142282
  
todo: Pinbelegungen der Anschlüsse
+
<gallery widths="460" heights="320" perrow="2>
 +
File:Mmintbox_1.jpg|Gesamtansicht. Interessant sind hier die Gummi-Knöpfe, diese können zum einen in starrer Form 3d-gedruckt werden, es sind in dem Projekt aber auch "Cast-Molds" enthalten, also 3d-druckbare Abdruckformen, mittels derer man sich ein ein weiches gummi-artiges button_pad aus dem OpenMaterial "Oogoo" selbst erstellen kann.
 +
File:Mmintbox_exploded.jpg|Explosions-Ansicht.  In der obigen Abbildung ist noch ein 9V-Batterieblock mit dargestellt, dessen Platz hier aber durch die ESP-Adapterplatine belegt wird.
 +
</gallery>
  
=== Software ===
 
  
<gallery widths="800" heights="400" perrow="2>
+
<gallery widths="800" heights="600" perrow="2>
File:Tempctrl_hk4h.png|Visualisierung, 4h-Zeitfenster
+
File:Tempctrl_v2_unterteil.jpg|TempCTRL mit Gehäuseunterteil aus dem 3D-Drucker
File:Temctrl_Hk36h.png|Langzeit-sample, 36h-Zeitfenster
 
 
</gallery>
 
</gallery>
  
  
Die Firmware wird mit der Arduino-IDE programmiert und kann über den USB-Anschluss von einem PC aus aktualisiert werden.
 
  
Die aktuelle Software-Version unterstützt bislang nur einen Sensor und ein Relais, bei Erweiterungen müssen hier in der Software entsprechende Anpassungen vorgenommen werden.
 
  
Software download
 
  
  
= TempCTRL V.2, Temperatur-Controler mit WLAN-Anschluss ==
+
 
 +
 
 +
 
 +
== '''TempCTRL V.1, Temperatur-Controller mit LAN-Anschluss''' ==
 +
 
 +
Dies ist die ältere Vorgänger-Version und ursprünglicher Prototyp, bei welchem die Datenübertragung ins LAN noch per Ethernetkabel erfolgt.
 +
 
 +
<gallery widths="460" heights="320" perrow="2>
 +
File:Tempctrl_v1_IMGP2363.JPG|Gesamtansicht
 +
File:Tempctrl_v1_IMGP2357.JPG|Display, hellgrüner Hintergrund mit schwarzer Schrift, CloseUp
 +
</gallery>
  
 
=== BOM ===
 
=== BOM ===
  
TempCTRL V.2  ist der zweite Prototyp und besteht aus folgenden Modulen:
+
TempCTRL V.1 besteht aus folgenden Modulen:
  
- Arduino Mega2560
+
* Arduino Mega2560
 +
* Ethernet Modul ENC28J60
 +
* OneWire-Temp.Sensor DS18B20 mit Adapter
 +
* Relais bis 10A / 230VAC, 28VDC
 +
* LCD-Keypad mit 5 Tastern und Hitachi-kompatiblen 2x16-LCD
  
- WLAN-Modul ESP8266
+
=== Aufbau ===
  
- OneWire-Temp.Sensor DS18B20 mit Adapter
+
Die Datenkommunikation ins LAN erfolgt über ein Standard CAT5/STP Ethernet-Kabel. Die Stromversorgung erfolgt mittels 7V,2A-Steckernetzteil am externen Power-Eingang des Arduino.  Der Temperatursensor ist über eine Kleine Adapterplatine verbunden, bei der im Schraubterminal noch ein 4.7K Widerstand zwischen 5V und Data mit eingeklemmt wird. Die Display-Beleuchtung kann durch einen auf der Keypad-Platine befindlichen Micro-Schalter manuell je nach Bedarf eingeschaltet werden.
  
- Relais bis 10A / 230VAC, 28VDC
+
Mit je zwei Tasten können Soll-Temperatur (blau) und Schwankungsbreite (gelb) eingestellt werden. Eine fünfte Taste (schwarz) ist mit einer Direktschaltung des Relais belegt, ähnlich einer Not-Aus-Schaltung.
  
- Arduino-LCD-Keypad mit 6 Micro-Tastern und Hitachi-kompatiblen 2x16-LCD
+
<gallery widths="800" heights="600" perrow="2>
 +
File:Tempctrl_V1.jpg|Oben links im Bild sieht man das Relais, oben rechts den wasserdicht eingekapselten Temperatur-Fühler mit DS18b20 OneWire-Sensor, darunter ein mittels Lochrasterplatine zusammengelötetes LCD-Keypad. Unten links das Ethernet-Modul mit ENC28J60.
 +
</gallery>
  
- Adapterplatine für ESP-modul mit 3.3V-Stromversorgung und Anschlussterminals für Relais und Temp.Sensor
+
=== Schnittstellen ===
  
=== Aufbau ===
+
todo: Pinbelegungen der Anschlüsse (können auch dem Source-Code entnommen werden !), Schaltplan
 +
 
 +
=== Software ===
 +
 
 +
Dies ist die Firmware für den Arduino. Sie kann mittels der Arduino-IDE bearbeitet und via USB-Anschluss auf den Arduino übertragen werden.
 +
 
 +
Die aktuelle Software-Version unterstützt bislang nur einen Sensor und ein Relais, bei Erweiterungen müssen hier in der Software entsprechende Anpassungen vorgenommen werden.
  
Die Datenkommunikation ins LAN erfolgt über ein ESP8266 WLAN-Modul. Die Stromversorgung erfolgt mittels 7V,2A-Steckernetzteil am externen Power-Eingang des Arduino. 
+
==== [[TempCTRL_v1_firmware]] ====
  
Auf den Arduino wird in Sandwich-Bauweise ein LCD-Keypad aufgesteckt. Die Display-Beleuchtung kann durch ein auf der Keypad-Platine Trimmpotentiometer auf optimalen Kontrast eingestellt werden.
+
== Links ==
  
Ausserdem ist noch Platz für eine ESP8266-Adapterplatine welche auch die Anschlüsse für den Temp.Sensor und das Relais beinhaltet.
 
  
<gallery widths="460" heights="320" perrow="2>
+
{| class="wikitable"
File:Tempctrl_v2.jpg|TempCTRL V2, Display blau mit weisser Schrift
+
|-
File:Tempctrl_adapter.jpg|ESP8266 mit Adapter, auf Lochrasterplatine
+
! Referenz !! Beschreibung
File:Tempsctrl_v2_seite.jpg|Sandwich: Das LCD-Keypad und die Adapterplatine werden direkt auf den Arduino-Mega aufgesteckt.
+
|-
File:Tempctrl_v2_unterteil.jpg|Gehäuseunterteil
+
| [http://opensourceecology.org/wiki/Water_Elf_IoT]  ||  Hier ein ähnlicher Ansatz von OSE-US, eine Aquaponiksteuerung namens Water-ELF
</gallery>
+
|-
 +
| [https://github.com/science/openthermo] || Ein Open-Source-Thermostat
 +
|-
 +
| [https://blog.particle.io/2014/01/17/open-source-thermostat/?redirected=true] || Ein NEST-ähnlicher OpenSource-Thermostat
 +
|-
 +
| [http://www.instructables.com/id/ESP8266-WiFi-Module-for-Dummies/] || Sehr gute Anleitung für LED-Beispiel mit ESP-01 WiFi / DeepSleep (==> Batterie) und Arduino IDE incl. SerialMonitor
 +
|-
 +
| [https://quadmeup.com/esp8266-and-ds18b20-wireless-thingspeak-sensor] || Sehr gute Anleitung für TempSensor DS18B20 mit ESP-01 Wifi / DeepSleep und ThingSpeak
 +
|}

Aktuelle Version vom 23. August 2022, 11:54 Uhr

TempCTRL V.2, Temperatur-Controller mit WLAN-Anschluss

Templogger logo.png

Beschreibung, Lizenz, Entwicklungsstand
Projekt: TempCTRL. Beschreibung: Eine universelle Temperatur-Steuerung mit Funk-Ferndatenspeicherung und -Visualisierung, die eine vollständige Kontrolle über temperaturabhängige Prozesse und automatisierbare Schaltvorgänge ermöglicht, z.B. Heizung, Kühlung, Belüftung oder Langzeitmessungen usw..
StichwörterTemperatur-Steuerung; WLAN; WiFi
LizenzNamensnennung – Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0)
Statusaktiv
Erreichte StufenPrototyp entwickeln; Prototyp gefertigt
Austausch
Kontakt
Urheber, VerfasserBitte Urheber oder Verfasser nachtragen
Diskussion

Einführung

TempCTRL ist eine universelle Temperatur-Steuerung mit remote-Data-Logging und -Visualisierung (IoT-enabled), die eine vollständige Kontrolle über temperaturabhängige Prozesse und automatisierbare Schaltvorgänge ermöglicht.


Die Einsatzmöglichkeiten sind sehr vielfältig, hier ein paar Beispiel in den Bereichen Green-Energy und Nachhaltigkeit:

  • Biogasanlagen, Fermentations-Prozesse, Kompostierung
  • Aquaponic-Systeme und Gewächshäuser, Bewässerung
  • Heizung, Kühlung, Belüftung: Umwälzpumpen, Ventilatoren
  • Solarthermie: Warmwasser- und Warmluft-Kollektoren,
  • Steuerung für SolarDörrgerät
  • Langzeit-Messung, Datalogging und Visualisierung, hilfreich bei vielen R&D-Projekten
  • kann eine Tiefkühltruhe in einen horizontalen Niedrigenergie-Kühlschrank umwandeln
  • kann eine Heizplatte in einen temperaturgesteuerten Kocher umwandeln
  • kann einen Kühlschrank in einen Brutschrank umwandeln


TempCTRL ist komplett OpenSource/OpenHardware und basiert auf Verwendung von offenen Plattformen wie Arduino und RaspberryPi



Funktion

Angezeigt wird die gemessene IST-Temperatur und die vorgegebene bzw. durch Tastenauswahl einstellbare Soll-Temperatur, sowie die ebenfalls einstellbare Schwankungsbreite. Ausserdem wird noch der Schaltzustand des Relais mit 0 = off und 1 = on dargestellt.

Erweiterbarkeit

Am OneWire-Bus des Temperatursensors können noch weitere DS18B20 TemperaturSensoren angehängt werden, m.E. bis zu einem theoretischen Maximum von 64 pro Bus. Falls das noch nicht reicht könnten an freie Pins am Arduino weitere Busse angehängt werden, benötigt wird pro Bus 1 Pin als Datenleitung und Anschluss an GND und 5V.

Auch weitere Relais können noch angehängt werden, da nur ein kleiner Teil der vielen Pins des ArduinoMega2560 bereits belegt ist, pro zusätzlichem Relais wird jeweils 1 Pin benötigt.


Datalogging und Visualisierung

Die Visualisierung der Prozessdaten kann zum einen extern erfolgen, mittels Diensten wie ThingSpeak https://thingspeak.com/ (wozu allerdings noch die LUA-Scripte enprechend angepasst werden müssten !!!), oder intern, d.h., mittels eines irgendwo im lokalen Netzwerk befindlichen RaspberryPi (oder eines vergleichbaren kleinen Linux-Servers, wie zB. Odroid).

Dabei werden die Logging-Data-samples periodisch (via crontab) mit einfachen Unix-Shell-Scripten vom TempCTRL abgeholt und in einer roundrobbin-Datenbank namens rrdtool gesammelt. Ebenfalls periodisch (etwa alle 1 bis 2 Minuten) werden daraus Kurvendiagramme generiert und Webseite bereitgestellt, d.h., sie können von jedem Arbeitsplatzrechner aus mit einem normalen Webbrowser betrachtet werden. Da sich die Webseite automatisch refresht handelt es sich hier um ein aktives live-monitoring System, welches sehr komfortabel ist und maximale bzw. detaillierte Überwachung der jeweiligen Temperatur-gesteuerten Prozesse ermöglicht.

BOM

TempCTRL V.2 ist der zweite Prototyp und besteht aus folgenden Modulen:

  • Arduino Mega2560
  • WLAN-Modul ESP8266
  • OneWire-Temp.Sensor DS18B20 mit Adapter
  • Relais bis 10A / 230VAC, 28VDC
  • Arduino-LCD-Keypad mit 6 Micro-Tastern und Hitachi-kompatiblen 2x16-LCD
  • Adapterplatine für ESP-modul mit 3.3V-Stromversorgung und Anschlussterminals für Relais und Temp.Sensor

Aufbau

Die Datenkommunikation ins LAN erfolgt über ein ESP8266 WLAN-Modul. Die Stromversorgung erfolgt mittels 7V,2A-Steckernetzteil am externen Power-Eingang des Arduino.

Auf den Arduino wird in Sandwich-Bauweise ein LCD-Keypad aufgesteckt. Die Display-Beleuchtung kann durch ein auf der Keypad-Platine Trimmpotentiometer auf optimalen Kontrast eingestellt werden.

Ausserdem ist noch Platz für eine ESP8266-Adapterplatine welche neben der 3.3V-Stromversorgung für den ESP auch noch die Anschlüsse für den Temp.Sensor und das Relais beinhaltet.


Schnittstellen

todo: Pinbelegungen der Anschlüsse (kann auch dem source-code entnommen werden !), Schaltplan

Software

Die aktuelle Software-Version unterstützt bislang nur einen Sensor und ein Relais, bei Erweiterungen müssen hier in der Software entsprechende Anpassungen vorgenommen werden.

Die Software besteht aus mehreren unahbhängigen Bestandteilen:

TempCTRL_v2_firmware

Dies ist die Firmware für den Arduino. Sie kann mittels der Arduino-IDE bearbeitet und auf den Arduino übertragen werden.


TempCTRL_v2_nodemcu_lua

Für das ESP8266 WLAN-Modul wird eine eigene Firmware namens NodeMCU benötigt. Dazu werden LUA-Scripte per USB hochgeladen, welche die jeweilige Funktionen implementieren. Die Bearbeitung kann mittels eines speziellen IDE namens ESPlorer erfolgen (siehe dazu mein kleines Tutorial unter [1]) , ist aber auch mit neueren Versionen der Arduino-IDE direkt möglich.

Gehäuse

still todo, aber es kann auch mit ein paar einfachen Modifikationen (= 2 Löcher ausschneiden) ein fertiges bzw. 3d-druckbares Gehäuse namens "Mmintbox" (von User Vector_Mayhem) von Thingiverse runtergeladen werden : https://www.thingiverse.com/thing:142282






TempCTRL V.1, Temperatur-Controller mit LAN-Anschluss

Dies ist die ältere Vorgänger-Version und ursprünglicher Prototyp, bei welchem die Datenübertragung ins LAN noch per Ethernetkabel erfolgt.

BOM

TempCTRL V.1 besteht aus folgenden Modulen:

  • Arduino Mega2560
  • Ethernet Modul ENC28J60
  • OneWire-Temp.Sensor DS18B20 mit Adapter
  • Relais bis 10A / 230VAC, 28VDC
  • LCD-Keypad mit 5 Tastern und Hitachi-kompatiblen 2x16-LCD

Aufbau

Die Datenkommunikation ins LAN erfolgt über ein Standard CAT5/STP Ethernet-Kabel. Die Stromversorgung erfolgt mittels 7V,2A-Steckernetzteil am externen Power-Eingang des Arduino. Der Temperatursensor ist über eine Kleine Adapterplatine verbunden, bei der im Schraubterminal noch ein 4.7K Widerstand zwischen 5V und Data mit eingeklemmt wird. Die Display-Beleuchtung kann durch einen auf der Keypad-Platine befindlichen Micro-Schalter manuell je nach Bedarf eingeschaltet werden.

Mit je zwei Tasten können Soll-Temperatur (blau) und Schwankungsbreite (gelb) eingestellt werden. Eine fünfte Taste (schwarz) ist mit einer Direktschaltung des Relais belegt, ähnlich einer Not-Aus-Schaltung.

Schnittstellen

todo: Pinbelegungen der Anschlüsse (können auch dem Source-Code entnommen werden !), Schaltplan

Software

Dies ist die Firmware für den Arduino. Sie kann mittels der Arduino-IDE bearbeitet und via USB-Anschluss auf den Arduino übertragen werden.

Die aktuelle Software-Version unterstützt bislang nur einen Sensor und ein Relais, bei Erweiterungen müssen hier in der Software entsprechende Anpassungen vorgenommen werden.

TempCTRL_v1_firmware

Links

Referenz Beschreibung
[2] Hier ein ähnlicher Ansatz von OSE-US, eine Aquaponiksteuerung namens Water-ELF
[3] Ein Open-Source-Thermostat
[4] Ein NEST-ähnlicher OpenSource-Thermostat
[5] Sehr gute Anleitung für LED-Beispiel mit ESP-01 WiFi / DeepSleep (==> Batterie) und Arduino IDE incl. SerialMonitor
[6] Sehr gute Anleitung für TempSensor DS18B20 mit ESP-01 Wifi / DeepSleep und ThingSpeak