Temperaturlogger

Nabend zusammen,

ich bräuchte bitte mal ein bitte paar Ideen oder Vorschläge von Euch Profis. Ich plane einen Temperaturlogger zu bauen, der folgende Kriterien aufweisen soll.
Mindestens 5 DS18B20 (bei Bedarf erweiterbar (SN)), Aufzeichnung der Temperatur aller Sensoren im "AUSWÄHLBAREN" Range von 1/5/10min. Dazu entsprechend Echtzeituhr und schreiben der Daten auf SD-Karte.

Nun meine Fragen.
Ich würde das ganze gerne über ein Touchdisplay konfigurieren, wo der Aufzeichnungsrhytmus per touch ausgewählt werden kann. Gibt es hier Empfehlungen bzgl Display? Da es sich um Langzeitaufzeichnungen handelt brauche ich kein riesen Display. Nur zur Initialisierung quasi.

Habt Ihr da Hardwareempfehlungen für mich? Auch Interessant wäre ne Variante ala ESP8266, ist sowas realisierbar? Habe da noch null Erfahrung. Voraussetzung hierbei, kein ROUTER!! und Aufzeichnung auf SD Karte.

Geplant ist hierbei eine externe Anbindung der Sensoren nach Bedarf. Wichtig wäre nur die Zuordnung, aber das ist ein anderes Thema.

Würde mich über Eure Vorschläge freuen.

Gruß
Markus

Display in SPI Ausführung mit Touchscreen. Die haben meistens SD Slot drauf.
Was muss aber dazu sagen DS18B20 + I²C Display geht nicht, ob mit SPI musst testen

Wen du kein Router nutzen willst wurde eine RTC DS3231 nehmen die kann auch mit 3,3V, nehme aber keine DS1307 oder DS1306 die sind sehr ungenau

Auch das geht. Wie weit sollen die Sensoren entfernt sein? Denk dran es ist ein BUS (OneWire)

Bin die letzten Tage über das Cheap Yellow Display gestolpert. Ich finde das sieht zumindest interesant aus. “Cheap Yellow Display” Builds Community Through Hardware | Hackaday

Dazu eine RTC mit DS3231 und jenachdem was an IOs verfügbar ist noch ein DS2482 für die Anbindung der DS18B20.

Mit dem habe noch nix gemacht, manchmal ist ein ungewöhnlicher Displaytreiber drauf, also muss man schon achten was man holt für 5 DS18B20 brach man kein Treiber IC macht nur die Kommunikation schwerer zu Realisieren

Kannst du das mal ein wenig weiter ausführen?

Kleiner I²C 1,3" OLED mir SH1706 + DS18B20 reboot in dauerschleife habe aber nur mit 5 Pins für OneWire probiert +3 Lib, für Display so wie für DS

Halo Markus,

Bei dem Cheap yellow display musste seeeehr genau prüfen welche IO-pins da noch verfügbar sind.
Ich habe ein anderes display von Sunton getestet. Das hat eine Menge Probleme gemacht
bis gleichzeitig SD-Karte und Touchscreen funktioniert haben.

Und bei der Überprüfung der IO-pins von diesem anderen Display waren dann noch 2,5 IO-pins für externes nutzbar. Das fand ich dann sehr mau.

Es gibt noch eine Variante:

Mit einem ESP32 (der Preisunterschied zu ESP8266 ist gering ESP32 kann aber mehr)

Also der ESP32 kann auch sein eigenes WiFi ganz ohne Router aufbauen.
Man verbindet sein Smartphone mit diesem WiFi und dann kann man eine kleine Webseite aufrufen über die dann alles einstellbar ist.

Willst du das ganze per Batterie / Akku betreiben oder wird es eine feste Stromversorgung haben?

Bei Batteriebetrieb: Wie lange dauert die längste "Langzeitaufzeichnung?"

Wenn man Batteriebetrieb mit ESP32 machen will dann musst du den ESP32 in den Messpausen "schlafen legen" (deep-sleep) damit er nur ganz minimal Strom verbraucht.

Es gibt einen ESP2-board-Hersteller der den deep-sleep-Stromverbauch auf extrem winzige 15 µA herunter bringt.
Die 0815-ESP32 boards verbrauchen im deep-sleep das hundert bis 1tausendfache weil sie eben nicht auf geringsten Stromverbrauch hin optimiert sind.

Eine variable Anzahl DS18B20 Sensoren anschließen geht, man muss dann aber die Zuordnung jedesmal neu festlegen.

vgs

Hallo,

schau doch mal ob Du hier was gebrauchen kannst,

Hallo,
Vermutlich scheitert das am verfügbaren Speicher auf einem UNO oder Nano

auf einem UNO hab ich ein SH 1109 OLED display mit einem BS18B20 getestet das geht. Allerdings gibt es bereits eine Speicherwarnung.

#include <U8g2lib.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>

U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);
OneWire onewire(2);// bus auf pin 2
DallasTemperature sensor(&onewire);

für Minimalisten ging ja auch noch nur ein Display mit einer 2 Tasten Bedienung. Letztlich musst Du eventuell die Sensoren vorwählen und den Zyklus auswählen. ( 1 aus 3)

Taster wert ändern
Taster Modus ändern (Eingabe + Eingabe abschließen als Toggel)

Da du allerdings bereits über einen ESP nachgedacht hast, dann mach es damit und nutze eine Webserver darauf. Wenn die Datengrösse nicht zu hoch ist kannst Du auch noch das Filesystem des ESP nutzen. Standargrösse 1,5MB . Die Daten kannst Du über Wifi als Datei direkt auf einen PC laden.

Beim WEMOS D1 mini pro bis zu 14 MB LittleFS.

Gruß Tommy

Ohne Web und anderen Schnickschnack nur ESP8266 +DS.+ OLED mit SH 1107war dauer Reboot. nach einer Std. habe das verworfen

Hallo @fony ,
d.h Du vermutest einen Konflikt zwischen den lib´s für den Temperatursensor und der Lib für das Display. Konntest Du das einkreisen ?

Welche Lib´s hast Du bei Deinem Versuch verwendet ?

Gruß Heinz

3 für OLED + 3 für DS18B20, welche genau weis nicht mehr waren aber u8x8 und Dallas dabei, so wie geschrieben habe aufgegeben und Nano benutzt mit dem funtzt :wink:

Gruß Bernhard

Ich habe nicht alle Treiber für Oleds getestet, aber mit diesem Treiber funktionieren div. Oleds mit dem DS18B20 zusammen problemlos.

1 Like

Willst du die Einstellungen oft ändern, und das Display auch zur Anzeige der gemessenen Daten verwenden ?
Ich würde da ein SPI TFT Display 2,8" empfehlen.
Und ja, auch mit dem ESP8266 funktioniert das.

Schön und was bringt der mir?
Habe ein 1,3" mit SH und nicht SSD1306

Wieso Dir? @HotSystems hat dem TO geantwortet.

Gruß Tommy

Ok, dann etwas genauer.
Ich wollte nur widerlegen,

Was muss aber dazu sagen DS18B20 + I²C Display geht nicht

Dass es kein Problem mit I2C ist.

Nabend zusammen,

ich dachte nur über ein Display nach, um das ganze etwas schöner zu gestalten. Letztendlich würde ja auch ein Dreh oder Schiebeschalter reichen, um 1 / 5 / 10 min Meßzyklus einzustellen. Die Meßdauer wird stark schwanken zwischen 24h und einer Woche, aber es wird netzbetrieben sein.
Sinn und Zweck ist es, 1-2 Raumtemperaturen zu messen und dann mehrere Sensoren an unterschiedlichen Orten im Gerät zu erfassen. Um so eine Fehleranalyse zu starten. Eine Anzeige auf einem Display ist nicht nötig.

Das mit dem Onewire ist mir schon bewußt, eine Frage stellt sich derzeit noch über die Zuordnung der Sensoren. Kann man das evtl. über unterschiedliche Ports lösen? Also Sensor 1 an 4, Sensor 2 an 5 etc? Das würde mir die Sache deutlich vereinfachen.

Alternativ kann ich ja die S/N auslesen. Die Reihenfolge der erkannten Sensoren kann sich doch nur bei einem Neustart ändern, oder bin ich da auf dem Holzweg?

Ziel soll sein eine CSV Datei in folgender Art zu erhalten:
Datum Temp1 Temp2 Temp3

Dazu muß aber feststehen, welcher Sensor welche Temperatur mißt. Ich muß wohl nochmal lesen.

Das ESP Projekt werde ich mal für mich in Angriff nehmen, aber dieses Teil soll bei Bedarf an meine Arbeitskollegen verschickt werden und somit simpel sein.

Ich bedanke mich für Eure bis dato guten Vorschläge.

Ziel ist es eben mit einem Gerät extreme Schwankungen feststellen zu können, deswegen Langzeitmessungen. Ich setz mich beim Kunden nicht vor die Kiste und sauf 20L Kaffee bis sich mal was tut :wink: