Go Down

Topic: Frage zu Temperaturmessung (Read 3 times) previous topic - next topic

DE8MSH

Jan 19, 2011, 07:09 am Last Edit: Jan 19, 2011, 07:09 am by DE8MSH Reason: 1
Hallo,

da auch ich als 1000. oder 10000. ein Temperaturlogger bauen möchte stellt sich mir folgende Frage: wieviele Messungen nehme ich für eine Glättung des Wertes? Bei einer Sekunde habe ich ein starkes "flattern", da der Werte innerhalb von zwei Sekunden hin und herspringen kann. Andere digitale Thermometer flattern nicht.

Ich gehe davon aus, dass sie mehrere Messungen innerhalb einer Zeitspanne nehmen und dann den Durchschnitt berechnen.

Wie oft sollte ich die Temperatur in welchem Zeitabstand messen um den Durchschnitt zu nehmen?

Webmeister

Deine Frage kann man nicht generell beantworten. Kommt immer auf den Anwendungfall, deinen Schaltungsaufbau und die Umgebung des Sensor drauf an.

Für die Messung der Umgebungstemperatur kannst du ja mal 5-10 Messungen machen und die Werte prüfen.

Vermutlich benötigst du auch nicht einen Temperaturwert jede Sekunde. Ich würde jede Minute messen und dann den Mittelwert für die 10 Werte machen. Ergibt 6 Werte pro Stunde. Falls du mehr Werte benötigst, muss du einfach in kürzeren Abständen messen.

Je nach Anwendungsfall kann sich der Messrhytmus ändern.
Was du genau messen willst, hast du leider nicht genauer geschrieben.

uwefed

Um wieviel flattern die Werte?
Grüße Uwe

Webmeister

Vermutlich reicht sogar das Filtern des Temperatursignales mittels RC-Glied oder/und das Stabilisieren der Versorgungsspannung mittels Kondensator.

DE8MSH

#4
Jan 19, 2011, 03:11 pm Last Edit: Jan 19, 2011, 03:12 pm by DE8MSH Reason: 1
Hi,

ich möchte die Temperaturen das ganz Jahr über messen. Die (später gebaute Mess)Box einfach irgendwo installieren (Gartenhaus o.Ä.). Dann soll gemessen werden. D.h. es muss mitnichten jede Sekunde gemessen werden. Was ist für den Tag sinnvoll? 4x am Tag? 0,6,12,18 Uhr? Aber dann ist das mit dem Durchschnitt wieder so eine Sache. Bei der groben Auflösung wäre Flattern um 1-2 Grad auch nicht soooo schlimm....

@Uwe: weiß ich noch nicht genau, da ich den Thermistor noch nicht genau Kalibriert habe....

DE8MSH

#5
Jan 19, 2011, 03:21 pm Last Edit: Jan 19, 2011, 03:22 pm by DE8MSH Reason: 1
Aber ich glaube Dein Vorschlag ist gut, Webmeister. Ich habe ja eine 1 GB card innenliegen. Da ist ja Space genug drauf. Und so sehe ich später auch eine schöne Kurve ;)

Webmeister

Quote
Was ist für den Tag sinnvoll? 4x am Tag? 0,6,12,18 Uhr? Aber dann ist das mit dem Durchschnitt wieder so eine Sache. Bei der groben Auflösung wäre Flattern um 1-2 Grad auch nicht soooo schlimm....

4 x pro Tag ist denke ich eine gute Messreihe. Wenn du dann jeweils ein paar Messwerte nimmst und den Mittelwert ermittelst, bekommst du realistische Werte. 1-2 Grad "flattern" liegt dann im erträglichen Rahmen.

Über das Jahr gemessen gibt das eine schöne Messreihe.  ;)

Was willst du für einen Sensor einsetzen?

DE8MSH

#7
Jan 19, 2011, 03:29 pm Last Edit: Jan 19, 2011, 03:29 pm by DE8MSH Reason: 1
Ich benutze derzeit einen Thermistor. Ich sehe im Moment von I2C Chips wie DS1621 ab. Obwohl ich gerade sehe, dass der ja auch nichts kostet... Na gut, 'nen Fünfer... Mal sehen. Ich kann das ja irgendwann noch ändern.

Muss sowieso noch alles vom Brotbrett auf Platine bauen...  :(

Webmeister

Quote
Ich benutze derzeit einen Thermistor. Ich sehe im Moment von I2C Chips wie DS1621 ab. Obwohl ich gerade sehe, dass der ja auch nichts kostet..

Für deinen Anwendungsfall sind beiden Sensortypen möglich.
Kostenmässig ist natürlich ein Thermistor etwas günstiger.

Bei mehreren Sensoren würde ich dann eher einen I2C-Typ einsetzen.

Wirst du eine eigene Platine aufbauen oder ein Protoshield verwenden?
Wie baust du den SD Card-Adapter auf?

Dann fehlt dir noch ein Uhrenbaustein für die korrekte Uhrzeit. Dies kann man mit einem DS1307 realisieren.

Unter dem Strich ist wohl dann ein Logger Shield zu empfehlen:
http://www.ladyada.net/make/logshield/index.html

DE8MSH

#9
Jan 19, 2011, 08:46 pm Last Edit: Jan 19, 2011, 08:54 pm by DE8MSH Reason: 1
Hi Webmeister,

ich habe den Kram schon auf Brotbrett zusammen :




Also RTC (DIY), SD Adapter (aus alter defekter billig Digicam), Thermistor (aus altem Wecker mit...Thermometer).

Würde es aus Kostengründen wohl auf Lochraster setzen. Das Problem, welches ich immer bei Shields sehe ist, dass ich den ganzen Ardo drunterlegen muss. Das ist mir zu teuer. Auch wenn ich zugeben muss, dass es mittlerweile schon für jede Sache ein Shield gibt.

Ich werde den Atmega raus- und auf Lochraster löten mit Q, 78L05 etc...




Webmeister

Sieht gut aus dein Datenlogger. Gratulation.

Quote
Ich werde den Atmega raus- und auf Lochraster löten

Den ATmega aber auf eingelöteten IC-Sockel stecken und nicht direkt auf Lochraster löten.

DE8MSH

#11
Jan 19, 2011, 09:12 pm Last Edit: Jan 19, 2011, 09:14 pm by DE8MSH Reason: 1
Ja, das ist anzuraten. Wenngleich ich zugeben muss: bei meinem allerersten "Außerarduinoprojekt"

http://www.youtube.com/watch?v=tVxH67YEjVI

(Projektnachbau) habe ich den ATmega raufgelötet. Aber nur, weil ich derzeit keinen Sockel hatte. Perlen vor die Sauen werfen.... :-[ Vor allem wenn Du liest welchen MC ich verbaute  :'( Aber man lernt ja  ::)

Der Logger wäre dann mein zweites, mit Arduino entwickeltes "Außerarduinoprojekt".

uwefed

Um eine Tageskurfe zu haben würde ich schon alle 5 Minuten eine Meßwert bestimmen. Das sind 12 die Stunde und 288 am Tag und 105120 im Jahr; Bei 2 Byte pro Temperaturwert, 6 bit für Datum und 4 Bit für Zeit und sagen wir mal 3 Temperaturwerten und von Beistrichen getrennt und einem Return am Ende sind das dann 22 byte. Das sind dann gerade mal ein .cvs - File von etwas mehr als 2,2MByte.
Über das Jahr vereilt ist messen um 0,6,12,18 Uhr einfach zu variabel; 18 Uhr ist im Sommer noch warmer Nachmittag während im Winter schon stockdunkele kalte Nacht ist. Um ein Vergleich zu haben bezüglich Tages Höchst und Mindesttemperatur Brucht es mehr meßwerte.
Grüße Uwe

DE8MSH

#13
Jan 19, 2011, 09:35 pm Last Edit: Jan 19, 2011, 09:37 pm by DE8MSH Reason: 1
Hi Uwe,

ja, auf die Größe des CSV kommt es nicht an. Wie gesagt: die SD hat 1GB (voll oversized :) ). Aber ich hatte keine Lust das ins EEPROM zu schreiben, da es es auf einfache Weise auf dem PC visualisieren möchte und ich bekomme die Menge auch nicht da rein - zumindest nicht in den MC.

Hier der Logger in Aktion:

http://www.youtube.com/watch?v=x8wvyRa3quc

Der Code ist aber noch (lange) nicht final. Ist aber schön zu sehen, dass es rennt. Bisher wird jede Minute gelogt. Man kann bei :00 sehen, dass rechts unten ein "Recordsign", also Symbol (Scheibe) erscheint.

Klar könnte ich auch den Luftdruck noch mit einbauen. Aber ich wollte nur die Temperatur. Ist halt ein Projekt zum lernen, wie ich verschieden Komponenten mit den LIBS kombinieren kann.

Webmeister

Quote
Um ein Vergleich zu haben bezüglich Tages Höchst und Mindesttemperatur Brucht es mehr meßwerte.

Um die höchsten und tiefsten Werte pro Tag zu bekommen, sind natürlich 4 Messzeiten zu wenig. Da hat Uwe natürlich recht  ;)

Da die SD Card genügend gross ist, kann ruhig häufiger gemessen werden.

Go Up