• Du musst dich registrieren, bevor du Beiträge verfassen kannst. Klicke auf Jetzt registrieren!, um den Registrierungsprozess zu starten. Registrierte User surfen werbefrei, können Suchen durchführen und sehen die volle Darstellung des Forums mit vielen anderen Unterforen!!!

unbekannte Sensoren für das WLANThermo vermessen

Bjoern

Grillkaiser
10+ Jahre im GSV
Hallo,
wenn ihr unbekannte Sensoren am WLANThermo verwenden wollt, bei denen keine der vorhandenen Einstellungen passt, benötigt ihr die Paramter für die sensor.conf.
Zuerst müsst ihr dafür eine Widerstand - Temperaturtabelle eures Sensors erstellen.
Also den Sensor möglichst dicht gekoppelt (Alufolie z.B.) mit einem funktionierenden Sensor in einem Topf kochen und dann langsam abkühlen lassen, dabei die Temperatur und Widerstandswerte aufschreiben (ich mache immer Fotos, und erstelle später die Tabelle):
upload_2016-7-18_21-0-25.png

Am Ende evtl. mit Eiswasser unter Raumtemperatur kühlen, ist aber nicht so wichtig.
Die Datei als CSV-Datei speichern, als Dateinamen etwas zum Sensor passendes, z.B. igrill2.csv
(Excel in Deutsch erstellt das richtige Format. Andernfalls als Feldtrenner ";" einstellen, Keine 1000er Trennung mit ".", da Komma und Punkt als Dezimatrennung behandelt werden.)
Anschließend kann man daraus die Paramter berechnen. Neben GNU Octave und Mathlab gibt es jetzt von mir noch ein Programm das direkt auf dem WLANThermo (bzw. dem Raspberry Pi) läuft.
Code:
wget https://github.com/BjoernSch/WLANThermo_fit/raw/master/wlt_2_fit.py
chmod +x wlt_2_fit.py
sudo apt-get install python3 python3-scipy python3-matplotlib
Dann kopiert ihr die .csv Datei mit z.B. WinSCP auf den Raspberry.
Auf dem Raspberry startet ihr nun das Programm mit der Datei als Parameter.
z.B.
Code:
wlt_2_fit.py igrill2.csv
Im aktuellen Verzeichniss legt das Programm nun ein paar Dateien an (dauert ein wenig, gerade beim allerersten Start):
*.conf = Werte für sensor.conf, die Nummer müsst ihr noch anpassen, einmal in den eckigen Klammern( [0] ), und number = 0.
Code:
[0]
number = 0
name = igrill2
a = 3.3560240e-03
b = 2.5541386e-04
c = 3.7634862e-06
Rn = 100.0
*_curve.png ist der Vergleich zwischen errechneter Kurve (Linie) und gemessenen Werten (Punkte), die Differenz als Kurve nochmal darunter.
igrill2_curve.png

*_curvefit.csv sind die Werte davon.
*_resolution.png zeigt wie groß die Auflösung über den Temperaturbereich ist.
igrill2_resolution.png

*_report.csv sind die Werte der Simulation.
*_report.json sind die zusammengefassten Werte im JSON-Format, kann man sich aber auch mit einem Editor gut ansehen. highres_* gibt z.B. den Bereich an, in dem der Sensor > 10 Bit pro Grad liefert, also eine Auflösung von mehr als 0,1°C hat.
Code:
{
  "a": 0.0033560239739545816,
  "b": 0.0002554138629450343,
  "c": 3.763486211541715e-06,
  "err_a": 2.4052708765290704e-07,
  "err_b": 2.869767822490326e-07,
  "err_c": 1.272563468109222e-07,
  "highres_area": 125,
  "highres_max": 110,
  "highres_min": -15,
  "name": "igrill2",
  "peak_res": 41.8,
  "peak_res_temp": 40,
  "rmess": 47,
  "rn": 100.0
}
Irgendwann bekommt das Programm auch mal mehr Optionen, vielleicht.

Anhang anzeigen 1289574
 

Anhänge

  • upload_2016-7-18_21-0-25.png
    upload_2016-7-18_21-0-25.png
    18,8 KB · Aufrufe: 2.458
  • igrill2_curve.png
    igrill2_curve.png
    933,8 KB · Aufrufe: 2.248
  • igrill2_resolution.png
    igrill2_resolution.png
    885,4 KB · Aufrufe: 2.249
Hallo Björn,
super Idee!
So kan jeder seine eingenen Sensoren einmessen und und in den WLANThermo integrieren.
Echt klasse.
Gruß
Andy
 
Ist es ja jetzt schon.
So viel mehr Typen gibt es eigentlich nicht.
 
Danke... Wenn ich mein Mini irgendwann habe, werde ich mich mal versuchen die Fühler von froggit einzuspielen. Oder hat evtl. jemand das schon getestet und kann berichten.
Preislich sind diese ja eine gute Alternative.
 
Kann man einen eigenen Rn Wert über die .csv übergeben oder geht das nur über die Anpassung der wlt_2_fit.py?
 
Für Rn wird der am nächsten bei 25°C liegende Datenpunkt genommen. Kommt aber nicht 100% darauf an, a, b und c kann man auch so wählen das Rn z.B. immer 1 ist.
Eine Möglichkeit Rn direkt zu setzen gibt es aber noch nicht ohne das Programm zu ändern.
 
Hallo @Bjoern,
Ich habe jetzt gerade mal versucht, mit deinem Programm, diesen Sensor zu berechnen.
Die Installation des Programms, nach Anleitung, lief einwandfrei durch. Allerdings bekomme ich beim Befehl "wlt_2_fit.py meinSensor.csv" folgenden Fehler: "-bash: wlt_2_fit: Kommando nicht gefunden." Habe ich eventuell irgend etwas übersehen?

Gruß
 
Code:
wget https://github.com/BjoernSch/WLANThermo_fit/raw/master/wlt_2_fit.py
chmod +x wlt_2_fit.py
sudo apt-get install python3 python3-scipy python3-matplotlib
Hast du ausgeführt?

Arbeitest du als root? Dann ist das aktuelle Verzeichniss nicht im Pfad, also ./wlt_2_fit.py ausführen.
 
Jetzt hat´s geklappt. Vielen Dank für Deine prompte Hilfe.
Hatte es als user Pi und als root versucht. Beide male kam die gleiche Fehlermeldung. Das ./wlt_2_fit.py war dann die Lösung.
Ansonsten großes Kompliment für´s Programm. Ist wirklich super einfach damit die Werte zu ermitteln.
Ich habe jetzt einfach die Widerstandswerte von der Herstellerseite genommen, in die csv kopiert und vom Programm berechnen lassen.

Schöne Grüße
 
Hallo!
Ich habe auch mehrere WLAN-Thermos im Bau und habe auf den letzten Kanal einen NTC Widerstand fest ins Gehäuse verbaut allerdings schaffe ich es nicht die korrekte Temperatur angezeigt zu bekommen.
Der NTC ist vom Typ MF52-103 B3435 deswegen habe ich den Widerstand auch gegen einen 10KOhm-Widerstand getauscht und die Werte in der Oberfläche geändert aber leider passt kein Sensortyp zu dem verbauten NTC.
Jetzt habe ich eine Tabelle gefunden, die mir die Widerstandswerte zeigt aber ich kenne mich mit Linux einfach nicht aus und bekomme die Sachen auf dem Raspberry nicht installiert oder ausgeführt. :(
Ich habe dann ein online-Tool gefunden ( http://www.thinksrs.com/downloads/programs/Therm Calc/NTCCalibrator/NTCcalculator.htm ) um die A-B-C Werte eines NTCs zu bestimmen aber wenn ich diese Werte in eine Excel-Liste von einem anderen Sensor mit den bestimmten Widerständen eintrage kommen völlig falsche Werte heraus :(
Kann mir vielleicht jemand erläutern wie ich die Werte korrekt bestimme oder ob es ein Tool gibt ohne auf das Linux des PIs angewiesen zu sein?
Im Anhang das Datenblatt des NTC Sensors inkl. einer Temperatur-Tabelle. Ich hatte gehofft mit den Werten die ABC Werte bestimmen zu können und dann auf dem PI die Daten in die sensor.conf einzutragen, dies habe ich nach viel Mühe mit dem nano editor in Linux geschafft. Mit den falschen Werten ist das WLanthermo aber leider immer direkt abgestürzt...

Vielen Dank!
Beste Grüße
 

Anhänge

  • MF52_10K__3470.pdf
    389,9 KB · Aufrufe: 740
Unter Windows bekommt man das Programm übrigens am einfachsten mit z.B. Anaconda (anstelle des normalen Python 3.6. Paketes) zum laufen weil die Zusatzpakete scipy und numpy nicht ganz leicht selbst zu kompilieren sind.
 
WOW, Super und vielen vielen Dank!
Hab die Daten eingespielt, den ThermoLog Neu gestartet und die Werte sehen bisher sehr gut aus!
Nutze den Sensor aktuell nur als Spielerei um die Temperatur im Thermometer anzuzeigen und quasi die Funktion zu demonstrieren aber da ich noch einen ganzen Haufen von den kleinen Sensoren habe werde ich jetzt versuchen mir damit auch anderere Temperaturfühler für den Garraum oder das Grillgut zu basteln.
Vielen Dank nochmal, den Test in Windows probiere ich am Wochenende dann auch nochmals aus :)
 
Du kannst den 47k Widerstand auch drin lassen, zumindest für die Umgebungstemperatur.
 
Hi,
erstmal meinen Respekt an das Wlanthermo Team. Ich schaue zeitbedingt mittlerweile nicht mehr soooooft ins Forum, aber jedesmal wenn ich es tue haut es mich um was es bei euch wieder neues gibt!

Ich bastel gerade an einem anderen Projekt auf einem Arduino rum und wollte Testhalber mal die BBQ Temperatursonden verwenden (dachte da hat schon jemand die Parameter bestimmt :D)

Nun komme ich mit diesen Werten nicht auf vernünftige Temperaturwerte und meine hier irgendwann mal gelesen zu haben das im Wlanthermo verwendeten Werte leicht anders sind als die normal über Steinhart-Hart ermittelten? Wenn ja: Wo ist der unterschied?
Wenn nein: Suche ich den Fehler woanders. :D


Im Zuge meiner Arbeit bin ich übrigens zu dem verdacht gekommen das im Acurite-Fühler und im Inkbird-Fühler der gleiche NTC verbaut ist. (Unterndem beide 50,2kOhm bei 25°C)
Ermittele da ggf. die tage mal die genaue kurve vom Inkbird.

LG Jonas
 
Zurück
Oben Unten