Universelle Temperatur-Steuerung – TempCTRL: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
(|Sortierbegriffe=Steuerung; Datenspeicher; Temperatur;)
 
(45 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.
+
== '''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.
 +
 
  
 
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
 
  
- kann eine Tiefkühltruhe in einen horizontalen Niedrigenergie-Kühlschrank umwandeln
+
=== Funktion ===
  
- kann eine Heizplatte in einen temperaturgesteuerten Kocher 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 einen Kühlschrank in einen Brutschrank umwandeln
+
=== Erweiterbarkeit ===
  
TempCTRL ist komplett OpenSource/OpenHardware und basiert auf Verwendung von offenen Plattformen wie Arduino und RaspberryPi
+
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.
  
  
== TempCTRL V.1, Temperatur-Controler mit LAN-Anschluss ==
+
=== Datalogging und Visualisierung ===
  
=== BOM ===
+
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).
  
TempCTRL V.1 ist der erste Prototyp und besteht aus folgenden Modulen:
+
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.
  
- Arduino Mega2560
+
<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>
  
- Ethernet Modul ENC28J60
+
=== BOM ===
  
- OneWire-Temp.Sensor DS18B20 mit Adapter
+
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
  
- 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 5V,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:
  
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.
+
==== [[TempCTRL_v2_firmware]] ====
  
=== Erweiterbarkeit ===
+
Dies ist die Firmware für den Arduino. Sie kann mittels der Arduino-IDE bearbeitet und auf den Arduino übertragen werden.
  
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.
+
==== [[TempCTRL_v2_nodemcu_lua]] ====
  
=== Schnittstellen ===
+
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.
  
todo: Pinbelegungen der Anschlüsse
+
=== Gehäuse ===
  
=== Software ===
+
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
  
 
<gallery widths="460" heights="320" perrow="2>
 
<gallery widths="460" heights="320" perrow="2>
File:Tempctrl_hk4h.png|Visualisierung, 4h-Zeitfenster
+
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:Temctrl_Hk36h.png|Langzeit-sample, 36h-Zeitfenster
+
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>
 +
 
 +
 
 +
<gallery widths="800" heights="600" perrow="2>
 +
File:Tempctrl_v2_unterteil.jpg|TempCTRL mit Gehäuseunterteil aus dem 3D-Drucker
 
</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 ==
 
  
=== BOM ===
 
  
TempCTRL V.2  ist der zweite Prototyp und besteht aus folgenden Modulen:
 
  
- Arduino Mega2560
+
== '''TempCTRL V.1, Temperatur-Controller mit LAN-Anschluss''' ==
  
- WLAN-Modul ESP8266
+
Dies ist die ältere Vorgänger-Version und ursprünglicher Prototyp, bei welchem die Datenübertragung ins LAN noch per Ethernetkabel erfolgt.
  
- OneWire-Temp.Sensor DS18B20 mit Adapter
+
<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>
  
- Relais bis 10A / 230VAC, 28VDC
+
=== BOM ===
  
- Arduino-LCD-Keypad mit 6 Micro-Tastern und Hitachi-kompatiblen 2x16-LCD
+
TempCTRL V.1 besteht aus folgenden Modulen:
  
- Adapterplatine für ESP-modul mit 3.3V-Stromversorgung und Anschlussterminals für Relais und Temp.Sensor
+
* 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 ===
 
=== Aufbau ===
  
Die Datenkommunikation ins LAN erfolgt über ein ESP8266 WLAN-Modul. 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.
+
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.
  
<gallery widths="460" heights="320" perrow="2>
+
<gallery widths="800" heights="600" perrow="2>
File:Tempctrl_v2.jpg|TempCTRL V2, Display blau mit weisser Schrift
+
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.
File:Tempctrl_adapter.jpg|ESP8266 mit Adapter, auf Lochrasterplatine
 
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
 
 
</gallery>
 
</gallery>
 +
 +
=== 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 ==
 +
 +
 +
{| class="wikitable"
 +
|-
 +
! Referenz !! Beschreibung
 +
|-
 +
| [http://opensourceecology.org/wiki/Water_Elf_IoT]  ||  Hier ein ähnlicher Ansatz von OSE-US, eine Aquaponiksteuerung namens Water-ELF
 +
|-
 +
| [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