Temperaturmessung in einem Orgelgehäuse

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,

    im Rahmen eines Projekts für mein Studium, möchte ich den Einfluss von Temperaturänderungen auf die Akustik einer Orgel untersuchen. Dafür ist es nun notwendig, die Temperatur im Orgelgehäuse an verschiedenen Messpunkten über einen längeren Zeitraum zu erfassen.
    Da die Projektmittel bisher stark begrenzt sind kam ich nun auf die Idee ein entsprechendes Messsystem nachzubauen, da es zur Temperaturerfassung mittels Raspberry Pi und dem Temperatursensor DS18B20 sehr ausführliche Anleitungen gibt.
    Daher meine Frage:

    Ist es möglich, mit diesem Sensor (DS18B20) in einem Temperaturbereich von 15°C - 30°C eine Genauigkeit von ±0,1°C zu erreichen?

    Falls nicht, kennt jemand von euch Temperatursensoren mit denen ich diese Genauigkeit erreichen könnte?

    Die hohen Anforderungen an die Genauigkeit sind im Zusammenhang mit den Messungen nämlich das größte Problem.

    Liebe Grüße

    Georg

  • Beim DS18B20 handelt es sich um einen Digitalen 1wire Sensor mit einer Auflösung von 9 bis 12 bit, aber nur eine Genauigkeit von ±0,5°C. Letzteres entspricht also nicht deinen Anforderungen.

    Um hier jetzt aber nicht alle möglichen Sensoren aufzulisten wärs einfacher bereits vorhandene Quellen zu nutzen - siehe also mal hier: http://www.mikrocontroller.net/articles/Temperatursensor

    Es kommen also nur einige wenige Digitale Sensoren mit einer Genauigkeit von ±0,1°C in Frage:

    • TSic206
    • TSYS01 / G-NICO-018

    Besser wären dann also eher Analoge Sensoren, allerdings benötigst du dann auch noch einen entsprechenden IC da der PI keinerlei Analoge Eingänge besitzt.

  • Hallo Creative,

    wenn Du nach Genauigkeiten von 0,1°C fragst, meinst Du dann die absolute Genauigkeit oder die relative? Desweiteren, wie platzierst Du Deine Sensoren. Gerade bei Oberflächentemperaturmessungen kommt es stark darauf an, wie man den Sensor am Objekt platziert. Mißt Du am Holz/Stahl oder der Luft? Reichen Dir mittlere Werte oder mußt Du einen "schnellen" Temperaturverlauf eines Luftstromes (z.B. der Orgel) messen (Thema Verzugszeit bedingt durch das Sensorgehäuse)?
    Wie sieht es mit der Feuchtigkeit aus? Spielt die auch eine Rolle oder reicht tatsächlich die alleinige Messung der Temperatur?

    Solange diese und andere Fragen nicht beantwortet sind, bin ich mir nicht sicher, ob die Frage nach der Genauigkeit wirklich die wichtigste ist?!

    Ohne den Einsatzzweck genau zu kennen würde ich einfach "schwammig" antworten - nimm einen analogen Temperatursensor, kalibriere diesen und oversample so lange, bis die erzielte Genauigkeit ausreicht...

    Schöne Grüße

    schnasseldag

  • Hallo,

    ich meine eine absolute Genauigkeit von ±0,1°C. Bei den TSic - Senoren der IST AG bin ich fündig geworden :thumbs1:

    Mit den Sensoren soll die Umgebungstemperatur der Orgelpfeifen gemessen werden, quasi die Lufttemperatur im gesamten Orgelgehäuse. Das Gehäuse kann man sich als einen großen "Würfel" (oder Kasten) vorstellen, der wiederum in mehrere kleinere und größere Würfel unterteilt ist, in denen die Pfeifen der Orgel (Werke) stehen. In jedem Abschnitt muss die Lufttemperatur ermittelt und aufgezeichnet werden. Dafür würde ich die Sensoren mittig im einzelnen "Würfeln" anbringen.
    Die Messung der Temperatur soll in Intervallen von 10 Minuten stattfinden, um am Ende eine Aussage über den Temperaturverlauf bzw. die Temperaturänderung während einer Veranstaltung treffen zu können.

    Um Ungenauigkeiten durch Eigenerwärmung oder einen Luftzug zu vermeiden, wollte ich die Sensoren auf einer kleinen Kupfer- oder Aluminiumplatte befestigen. Hätte das den erwünschten Effekt?

    Die relative Luftfeuchtigkeit spielt gegenüber dem Einfluss der Temperatur eher eine vernachlässigbar kleine Rolle. Für die Messung stehen hinreichend genaue Messgeräte bereits zur Verfügung.

    Zusammengefasst lässt sich sagen, das für die Messung der Temperatur eine Art zentrale Loggerstation eingerichtet werden soll, von der aus die Temperatursensoren in die einzelnen Bereiche des Orgelgehäuses verlegt werden. Bei einem idealen Messsystem wird nun über einen Zeitraum mehrerer Stunden die Temperatur alle 10 Minuten gemessen, um letztendlich eine Tabelle vorliegen zu haben, aus der Änderungen im Temperaturverlauf ersichtlich werden.

    Wird sich das so oder so ähnlich mit den digitalen TSic Sensoren und einem Raspberry Pi erreichen lassen?

    Weitere Fragen einfach stellen :)

    Liebe Grüße

    Creative

  • Hallo Creative,

    wenn ich mir das Datenblatt der o.g. TSIC Sensoren anschaue, dann lese ich da eine Genauigkeit von 0,5°C bei einer Auflösung von 0,1°C. Genaueres zu Genauigkeiten und den Temperaturbereichen, für den die verschiedenen Ganauigkeiten gelten, findest Du hier. Willst Du tatsächlich bis zu einer Genauigkeit von 0,1°C messen, dann bleibt allenfalls der TSIC506?!
    Die Sensoren mit "Temperaturausgleichsfähnchen" zu versehen ist sicher eine gute Sache, um einen guten Wärmekontakt zwischen dem Gehäuse und der Umgebung herzustellen. Ich selbst habe die (analogen) TO92 Sensoren (fungieren als Anlegefühler in meiner Heizung) in Kupferfolie gerollt, mit Wärmeleitpaste ausgespritzt und dann verlötet. Wie man den Temperaturübergang optimiert ist immer eine Frage des Anwendungsfalles.
    Was ich noch nicht verstehe ist, ob Du i.d.R. Temperaturen ohne große Konvektionseffekte messen willst, oder im umgekehrten Fall sogar explizit im strömenden Medium Deiner Pfeifen?
    Mißt Du in den Pfeifen, dann frage ich mich, wieso Du das lediglich aller 10min machst?! Also gehe ich mal davon aus, daß Du eher in einer konvektionsarmen "stationären" Umgebung mißt?!
    Sollte das jedoch der Fall sein, dann frage ich mich weiterhin, warum Du nicht irgendwelche Temperatursensoren nimmst, und diese einer einfachen Einpunktkalibrierung am Arbeitspunkt unterziehst? Insofern wäre das Problem der absoluten Genauigkeit nicht mehr ganz so tragisch.
    Weiterhin - wenn Dich nur alle 10 min ein Meßwert interessiert - warum mißt Du nicht andauernd und bekommst
    a.) eine mittlere Temperatur, welche den kompletten Zeitraum Deiner Messung berücksichtigt und
    b.) quasi auch eine höhere Genauigkeit?
    Ich verstehe noch nicht ganz die Notwendigkeit der definierten Anforderung der 0,1°C absoluter Genauigkeit. Warum ist die so wichtig? Geht es hier um vergleichende Messungen aller Meßstellen zur gleichen Zeit? Eine Temperatur (lediglich) alle 10min zu erfassen (und in der Zwischenzeit Temperaturgänge zu ignorieren), im Moment der Messung dann aber eine so hohe Genauigkeit zu fordern, leuchtet mir noch nicht ein?

    Vergiß zudem nicht, daß der Sensor intern irgendwo immer noch analog arbeitet und die Güte der Spannungsversorgung (am Ort des Sensors!) entscheidenden Einfluß auf die Güte Deiner Temperaturmessung hat! Andernfalls mißt Du nämlich nicht nur die Temperatur sondern auch die Güte Deiner Spannungsversorgung.

    Schöne Grüße

    schnasseldag

  • Laßt die Zahlen sprechen…

    Nachdem ich vor einigen Wochen bereits Meßreihen zur Genauigkeit der analogen Sensoren MCP970x durchgeführt hatte, habe ich gleiches nun noch für die DS18x20 Sensoren nachgeholt. Anbei die Ergebnisse.


    Die analogen Sensoren MCP970xA

    Zunächst die Ergebnisse der analogen Typen MCP9700A und MCP9701A.

    Gemessen wurde der Tagestemperaturverlauf bei einer ungefähren Abtastrate von 1Hz. Zu erkennen sind Momente der Sonneneinstrahlung (näheres zum Versuchsaufbau findet sich am Ende des Beitrags) und des Lüftens am Fenster.

    Zoomt man in einen Bereich hinein und wirft einen Blick auf die Auflösung, so ergibt sich folgendes Bild.

    Deutlich zu erkennen ist die doppelt höhere Auflösung des MCP9701A Typs (bei kleinerem Meßbereich). Das dabei eine einigermaßen störungsfreie Spannungsversorgung an den Sensoren selbst eine hohe Rolle spielt, erkennt man bei Betrachtung der Messwerte ohne vorgeschalteten RC-Tiefpaßfilter.

    Auffällig ist dabei auch die unsymmetrische Ausprägung der Störgrößen. Den Hinweisen der Datenblätter der Sensoren sollte man also unbedingt folgen.


    Die digitalen 1wire Sensoren DS18x20

    Werfen wir jetzt einen Blick auf die digitalen Sensoren DS18x20.

    Nachdem die Sensoren ebenfalls der Sonneneinstrahlung ausgesetzt waren, ergeben sich starke Schwankungen des Signals. Obgleich die Sensoren unmittelbar nebeneinander angeordnet waren, zeigt ein Sensor höhere Temperaturwerte, als der andere. Das liegt daran, dass der eine den anderen teilweise beschattete. An diesem einfachen Beispiel ist zu erkennen, dass der Platzierung eines Sensors mitunter eine höhere Bedeutung zukommt, als dessen Genauigkeit oder Auflösung.

    Zomen wir in das Signal hinein, so ergibt sich folgendes Bild.

    Die Signale der digitalen Sensoren erwecken den Eindruck hysteresebehaftet zu sein. Bei ungefähr gleicher Auflösung wie die analogen Sensoren, eignen sie sich damit nicht ganz so gut zur Genauigkeitserhöhung per Oversampling.


    Zum Versuchsaufbau

    Der Versuchsaufbau zur Messung der digitalen Sensoren ist im folgenden Bild dargestellt.

    Der Aufbau zur Messung der analogen Signale war identisch.

    Als Meßmittel diente in beiden Fällen (sowohl 1wire, als auch analog) der Hubo (Hardware Version 1) wie hier beschrieben, betrieben an einem Raspi 2B (der Typ ist jedoch unerheblich). Als Software wurden einfach die Demoprogramme der Hubo-C++-Lib verwendet (in marginal abgeänderter Form), deren Ausgaben in eine Datei umgeleitet und mit Excel ausgewertet.


    Fazit
    - Der Art der Platzierung der Sensoren kommt eine große Bedeutung zu.
    - Die Störungsarmut der Spannungsversorgung ist ein wichtiger Garant für eine fehlerfreie Messung mittels der analogen Temperatursensoren (bei den digitalen ist das ähnlich, wird jedoch von der internen Hysterese überdeckt).
    - Sowohl die analogen, als auch die digitalen Sensoren eignen sich zu Temperaturmessungen im definierten Auflösungsbereich, zumindest solange man von Temperaturänderungen und nicht absoluten Temperaturen spricht.
    - Über die absolute Genauigkeit, Linearität, … kann mittels der vorliegenden Meßreihen keine Aussage getroffen werden. Diese Gesamtgenauigkeit der Messung ist durch eine geeignete Kalibrierung (Berücksichtigung des Betriebsbereiches, Verteilung und Anzahl der Kalibrierpunkte über dem Meßbereich, richtige Wahl der Kalibrierfunktion…) sicherzustellen und wichtiger, als ein "Feilschen um die Auflösung"!!!


    Datenmaterial und Code
    Sowohl die Meßreihen, als auch die Code-Schnipsel liegen im anhängigen zip-File. Messungen_an_Temperatursensoren.zip Damit kannst Du dann ein wenig rumspielen und Dir überlegen, wie Du die Daten weiterverarbeitest.

    Schöne Grüße

    Schnasseldag

  • Hallo schnasseldag,

    die Orgel besteht aus zwei unterschiedlichen Pfeifentypen, Labialpfeifen und Lingualpfeifen. Diese werden vor einer Veranstaltung bei einer Temperatur von 22°C gestimmt. Um Zugerscheinungen im Publikum zu vermeiden, können die Klimaanlagen die Temperatur während der Veranstaltung aber nicht konstant halten und es kommt zu einer Temperaturerhöhung (auch im Orgelgehäuse), die eine Frequenzänderung der Labialpfeifen zur Folge hat.
    Während die absolute Frequenzänderung nicht hörbar ist, kommt es beim gleichzeitigen Spielen von Orgelpfeifen unterschiedlicher Temperatur zu "Schwebungen" die als Verstimmungen wahrgenommen werden können. Den größten Einfluss hat dabei die Umgebungstemperatur an den Pfeifen (außen), gemessen wird also nicht in den Pfeifen. Das Intervall von 10 Minuten habe ich gewählt, da die Temperaturerhöhung allmählich im Veranstaltungsverlauf erfolgt und meiner Meinung nach ausreichen würde.
    Ungeachtet dessen sollen im Grunde aber Konvektionseffekte gemessen werden (Raumströmungen im Orgelgehäuse), durch Messung der Temperatur. Den Vorschlag einer andauernden Temperaturmessung (z.B. mit einer Abtastrate von 1Hz) nehme ich also dankend an!

    Das Fraunhofer Institut für Bauphysik in Stuttgart hat zum Thema des Temperatureinflusses auf die Akustik von Orgeln ebenfalls Untersuchungen angestellt. Aus diesen ist ersichtlich, dass der Einfluss einer Temperaturdifferenz von 0,5°C zwischen den Umgebungstemperaturen an den Orgelpfeifen auf die Akustik gerade noch als unkritisch angesehen werden kann. Wenn ich jetzt eine Temperaturmessung durchführe, wären nur die Messungen mit einer Genauigkeit von 0,1°C am Ende auch aussagekräftig, weil, wie du gesagt hast, die Messergebnisse der unterschiedlichen Messstellen am Ende verglichen werden sollen.

    Zum Thema Sensor lässt sich sagen, dass ich dachte mit dem TSic506 die Möglichkeit zu haben, dass oben beschriebene Problem messtechnisch richtig zu erfassen. Dies geschah auf Grundlage des Datenblattes (eingefügt im Anhang). Dort ist ersichtlich, dass die Kalibrierung bei einer Speisespannung von 4,5V - 5,5V bereits vorgenommen wurde. Mit den Angaben bin ich davon ausgegangen unabhängig von der Spannungsversorgung die Genauigkeit von 0,1°C zu erreichen. Leider kenne ich mich insgesamt mit dem Thema nicht gut genug aus um eine Einpunktkalibrierung am Arbeitspunkt selbst durchzuführen. Ich hatte die Hoffnung mit den TSic506 dieses Problem umgehen zu können.
    Das digitale Ausgangssignal erschien mir sinnvoll, da zwischen Sensor und "Auswertungsstation" Kabellängen von 8 m notwendig sein werden.

    Ich verstehe, das die Art der Platzierung ausschlaggebend ist. Mit der Platzierung sollen aber gerade die Unterschiede im Temperaturbild des Orgelgehäuses erfasst werden. In den oberen Bereichen werden sie wahrscheinlich höher sein als in den unteren. Die Unterschiede möchte ich messen, um auf dieser Grundlage z.B. ein zusätzliches Ventilationssystem auslegen zu können.

    Wie stehen die Chancen, die Messung den Anforderungen entsprechend mit einem Raspberry Pi und den TSic506-Sensoren durchzuführen?

    Vielen Dank für die bisherigen Ausführungen und Informationen, sie haben sehr geholfen!

    Liebe Grüße

    Creative

  • Hallo Creative,

    jetzt kommt etwas Licht in die Aufgabe. Tatsächlich bist Du also an der Messung von Temperaturunterschieden und nicht der absoluten Temperatur interessiert. D.h., ob die Orgel auf 22,0°C gestimmt ist oder 22,6°C, macht vermutlich keinen Unterschied?! Was hingegen interessiert ist der Umstand, ob sich im Laufe des Betriebes Temperaturgradienten innerhalb der Orgel bilden. Damit spielt die absolute Genauigkeit Deiner Sensoren eigentlich eine untergeordnete Rolle.

    Nehmen wir an, die Orgel wird bei 22°C gestimmt und Deine Sensoren zeigen 22,1°, 22,5° und 21,7° an. Dann würdest Du Dir bei einer direkt im Anschluß des Stimmens eben für die Sensoren die Offsets -0,1°C, -0,5°C und + 0,3°C merken (also die Differenzen zu 22°C).
    Streng genommen kannst Du Dir auch einfach die Starttemperaturen im equilibrierten Betrieb merken, da Dich ja allein die Änderungen der Temperaturen untereinander im Betrib interessieren.
    Nun, es gilt aber noch mehr zu berücksichtigen - z.B. die Linearität. Wären die Sensoren zu 100% linear (und proportional), dann würde die o.g. Aussage auch 100% korrekt sein. Sie sind aber werder 100% linear noch proportional, weswegen eine reale Temperaturerhöhung um (sagen wir mal 10°C - auch wenn das hier wohl nicht zutrifft) tatsächlich zu Werten wie +10,05°C, +9,98°C und -9,95°C führen wird.
    Wenn ich nun von einer Kalibrierung rede, dann meine ich nicht irgendwelche Werkskalibrierungen des Herstellers, sondern die, welche Du selbst vornehmen solltest. Wird Deine Orgel also in einem Temperaturbereich zwischen 20°C und 24°C betrieben, dann solltest Du ermitteln, welche Temperaturen Du an den einzelnen Sensoren mißt, wenn Deine "echte" (Kalibrier-) Temperatur (z.B. per Dostmannthermometer P600...) die Werte von 20°C, 21°C, 22°C, 23°C und 24°C beträgt. Jetzt suchst Du Dir eine geeignete Kalibriermethode (Einpunkt-, Zweipunkt, Polynom oder Exponentialfunktion (z.B. bei NTC-Elementen)) und berechnest fortan mittels dieser Funktion die Temperatur.
    Das klingt jetzt alles schlimmer, als es ist. In Deinem Fall ist die größte Herausforderung eher die, daß Du innerhalb eines kleinen Meßbereichs (wenige Grad) eine hohe Auflösung benötigst. Insofern kann ich nunmehr auch Deine Frage zur Auflösung besser verstehen.

    Zurück zu den TSIC Sensoren. Die gibt es in 3 Ausführungen:
    506F - digitales ZacWire Protokoll
    Hier mußt Du jemand finden, der Dir einen Kerneltreiber schreibt. Vielleicht hilft Dir dieser Link weiter: https://www.raspberrypi.org/forums/viewtop…=30325&p=526369
    501F - 0..1V über dem Meßbereich.
    Hier benötigst Du einen hochauflösenden Meßverstärker, um keine Information zu verlieren. Zur Erinnerung - von den 40° Temperaturbereich verwendest Du nur etwa 4° (also ein Zehntel). Der Rest ist verschenkt. Alternativ müßtest Du das Signal (am besten am Sensor selbst) vorverstärken. Damit begegnest Du dann auch Störgrößen auf dem Übertragungsweg besser.
    503F - ratiometrisch.
    Hier hast Du einen Vorverstärker integriert, mußt aber eine extrem stabile Versorgungsspannung verwenden, willst Du keine Verfälschung des Meßsignales.

    Kurzum - das wird sehr schnell sehr aufwändig und/oder teuer.

    Ein weiteres Problem haben wir bisher nur am Rand erörtert. Das der Verzugszeit des Sensors. Dein Sensor bringt je nach Bauform eine gewisse thermische Trägheit mit. Wenn Du später mal regeln willst, dann ist die eher schädlich (filtern kann man später immer noch in Software - schneller werden jedoch nicht).

    Noch etwas zur Topologie Deiner Verkabelung. Wenn Du z.B. doch noch 1wire Sensoren verwenden willst, dann beachte, daß die sternförmige Verkabelung nicht ideal für diesen Bus ist (Stichwort Reflexionen an den Busenden). Vielleicht willst Du die Sensoren aber sowieso wie eine Weihnachtsbaumkette an eine Leitung hängen - dann wiederum böte sich die 1wire Technik an. Das hängt aber auch von der Anzahl Deiner Sensoren ab...

    "Was tun, sprach Zeus."

    Ich würde mit einem minimalistischen Ansatz anfangen, der mir hilft weitere, bisher noch nicht erkannte Probleme aufzudecken (z.B. die Resetwerte von 85,000°C der DS18x20 Sensoren, usw...). Mittels der im vorherigen Artikel angehängten Daten kannst Du Dir ein Bild von der Meßgüte der Sensoren machen. Um nun den Würfel zwischen 1wire/analog fallen zu lassen, würde ich beide Typen als Pärchen an mehrern Stellen in der Orgel anbringen und schauen, welche Vor- und Nachteile beide haben. Falls Du einen ZacWire Kerneltreiber für den 506F zum Laufen bekommst, dann ist das sicher eine gute Wahl. Ob Du per analogen Sensoren (die ihre Signale im Sensor vorverstärken), oversampelten Meßwerten und einer vernünftigen Kalibrierung nicht jedoch mindestens genauso weit kommst (Kann der Kerneltreiber mehrere Sensoren bedienen? Welcher Art BUS ist das ZacWire Protokoll? Ich selbst hab's mir nicht näher angeschaut!!!), ist eine andere Frage.

    Ich hab' die DS-Sensoren noch ein wenig weiterlaufen lassen. Im Anhang sind nochmals Daten zum spielen...

    Schöne Grüße

    Schnasseldag

    PS: Ich hoffe, ich habe Dich jetzt nicht zu sehr verunsichert. Das wäre nicht meine Absicht - nur solltest Du die Komplexität der Gesamtheit betrachten und die absolute Genauigkeit der Sensoren nicht überbewerten! Die benötigst Du eh' nicht - Du brauchst das Delta.

  • Hallo schnasseldag,

    Im Grunde stimmt das so, die Temperaturänderung ist der springende Punkt. Allerdings ist es hilfreich für die weitere Arbeit mit den Messdaten, auch die absoluten Temperaturen verlässlich zu bestimmen. Für den Intoneur und den Organisten sind diese Angaben bei der Stimmung ebenfalls sehr interessant.

    Anscheinend habe ich die Angaben zu den Sensoren falsch interpretiert. Ich bin mit der Angabe der Genauigkeit von z.B. ±0,5°C des DS18B20 davon ausgegangen, dass jeder gemessene Wert quasi "neu" vom Ist-Wert abweichen kann und dadurch 2 Messungen mit dem selben Sensor um maximal (bei diesem Beispiel) 1°C abweichen. Dadurch hätte diese Messung für die gestellten Anforderungen jegliche Aussagekraft verloren.

    Bleiben wir beim Beispiel der DS18B20-Sensoren:
    Wenn ich das jetzt richtig verstehe, bezieht sich diese Genauigkeitsangabe auf den "Anfangswert" (fließt einmalig mit ein), sollte eine Messreihe aufgenommen werden. Mit einem kalibrierten, hochpräzisen Thermometer besteht nun die Möglichkeit diese Abweichung zu ermitteln, die dann sogar als Fehler in die Software einfließen kann (da mache ich mich bei der Informatik-Fakultät schlau). Wirklich wichtig für meine Messung ist die Linearität der Sensoren. Es müsste doch aber auch hier die Möglichkeit bestehen, diese ebenfalls mit dem Thermometer zu erfassen und in die Berechnung mit einfließen zu lassen. Ich habe zur Linearität auf die schnelle nämlich keine Angaben finden können oder habe ich etwas übersehen?
    Und eine weitere Frage:
    Ich nehme an genau das wird bei einer Kalibrierung gemacht? Im Studium gibt es zu viele Informationen in zu wenig Zeit...

    Das würde bedeuten, meine Annahmen zu Beginn waren falsch und eine Messung mittels der DS18B20-Sensoren, digitalem Ausgangssignal und Fehlerermittlung/Kalibrierung könnte den Anforderungen durchaus entsprechen? Das würde mir helfen, da ich bisher nicht weiß, wie ich die TSic 50x -Sensoren vernünftig auslesen kann. Gern nehme ich von diesen wieder Abstand!

    Ich nehme an das die Verzugszeit der Sensoren bei einer laufenden Messung ohne Regelungsaufgaben eher eine untergeordnete bzw. vernachlässigbare Rolle spielt?

    Bevor ich jetzt loslege mit meinen Ideen zum "neuen" Messsystem wäre eine Aussage, Berichtigung,... zu meinen Fragen/Annahmen hilfreich. Ein Schritt nach dem anderen.

    Zu den von dir ausgewerteten DS-Sensoren habe noch 2 Fragen:
    Ergeben sich die Unterschiede ab t ≈ 2000s dadurch, dass einer der Sensoren durch den anderen beschattet wurde, oder ist das schon Ausprägung des Linearitätsfehlers?
    Wie kommen die Sprünge zu stande (t [1] ≈ 6000s, t [2] ≈ 9000s) ?

    Liebe Grüße

    Creative

    PS: Ich freue mich immer darüber etwas zu lernen.

    Einmal editiert, zuletzt von Creative (21. April 2015 um 11:29)

  • Hallo Creative,


    Anscheinend habe ich die Angaben zu den Sensoren falsch interpretiert. Ich bin mit der Angabe der Genauigkeit von z.B. ±0,5°C des DS18B20 davon ausgegangen, dass jeder gemessene Wert quasi "neu" vom Ist-Wert abweichen kann und dadurch 2 Messungen mit dem selben Sensor um maximal (bei diesem Beispiel) 1°C abweichen. Dadurch hätte diese Messung für die gestellten Anforderungen jegliche Aussagekraft verloren.


    Ja, ich denke, das war ein Trugschluß. Wenn Du Dir die Meßdaten anschaust, dann wirst Du gesehen haben, daß der Meßwert nicht um die 0,5°C hin- und herspringt. Wenngleich er das laut Spezifikation sogar dürfte! Schau mal in das Datenblatt der MCP9701 bzw. DS18B20 Sensoren. Dort kannst Du genau sehen, wie der Zusammenhang von Genauigkeit und Temperaturbereich (für den die Genauigkeit spezifiziert ist) definiert ist. Signalsprünge eines Sensors über den gesamten Bereich des Toleranzbandes sind hingegen eher unüblich. Hier spielt eher der Umstand der absoluten Genauigkeit eine Rolle. Fertigungsbedingt weisen die Sensoren eben eine gewisse Streuung auf, die innerhalb des Toleranzbandes liegen müssen. Daher die definierte "Genauigkeit" von "nur" 0,5°C.


    Bleiben wir beim Beispiel der DS18B20-Sensoren:
    Wenn ich das jetzt richtig verstehe, bezieht sich diese Genauigkeitsangabe auf den "Anfangswert" (fließt einmalig mit ein), sollte eine Messreihe aufgenommen werden. Mit einem kalibrierten, hochpräzisen Thermometer besteht nun die Möglichkeit diese Abweichung zu ermitteln, die dann sogar als Fehler in die Software einfließen kann (da mache ich mich bei der Informatik-Fakultät schlau).


    Richtig. Was Du hier als "Anfangswert" bezweichnest, habe ich als Arbeitspunkt bezeichnet.


    Wirklich wichtig für meine Messung ist die Linearität der Sensoren. Es müsste doch aber auch hier die Möglichkeit bestehen, diese ebenfalls mit dem Thermometer zu erfassen und in die Berechnung mit einfließen zu lassen.


    Ja, das hatte ich auch geschrieben. Du solltest über den Meßbereich (in bin in meinem Beispiel mal ganz willkürlich von 20°-24° ausgegangen) verteilt Stützmeßwerte ermitteln und dann eine entsprechende Kalibrierfunktion erstellen.


    Ich habe zur Linearität auf die schnelle nämlich keine Angaben finden können oder habe ich etwas übersehen?


    Ich glaube, bei den TSIC Sensoren war das tatsächlich nicht im Datenblatt enthalten. Wenn Du mal hier schaust, dann findest Du auf Seite 5 einige Diagramme dazu. Ich würde Dir mal generell empfehlen, ein solches Datenblatt zu studieren, auch wenn Du ggf. eine andere Lösung in Betracht ziehst. Das hilft, die Hintergründe besser zu verstehen und dann richtige Schlußfolgerungen ziehen zu können.


    Ich nehme an genau das wird bei einer Kalibrierung gemacht? Im Studium gibt es zu viele Informationen in zu wenig Zeit...


    Sagen wir mal die "Genauigkeitsanpassung des Meßsignals" (Signallinearisierung fällt da mit darunter) ist so das gängigste, was bei einer Kalibrierung gemacht wird. Unter einer Kalibrierung komplexerer Systeme kann man schon noch mehr als das hier beschriebene verstehen (Driftkorrektur, Temperaturgangkorrektur...)


    Das würde bedeuten, meine Annahmen zu Beginn waren falsch und eine Messung mittels der DS18B20-Sensoren, digitalem Ausgangssignal und Fehlerermittlung/Kalibrierung könnte den Anforderungen durchaus entsprechen?


    Das ist die exakt richtige Formulierung :)


    Ich nehme an das die Verzugszeit der Sensoren bei einer laufenden Messung ohne Regelungsaufgaben eher eine untergeordnete bzw. vernachlässigbare Rolle spielt?


    Vermutlich ist das bei Dir so. Zumindest dann, wenn alle Sensoren vom gleichen Typ sind und die Wärmeübertragung überall gleich ist. Andernfalls erhältst die eine zeitliche Verschiebung der Signale zueinander - wie das halt so bei Filtern üblich ist.


    Zu den von dir ausgewerteten DS-Sensoren habe noch 2 Fragen:
    Ergeben sich die Unterschiede ab t ≈ 2000s dadurch, dass einer der Sensoren durch den anderen beschattet wurde, oder ist das schon Ausprägung des Linearitätsfehlers?


    Die sind eindeutig der "Beschattung", und damit dem ungleichen Wärmeübertrag zuzuschreiben.


    Wie kommen die Sprünge zu stande (t [1] ≈ 6000s, t [2] ≈ 9000s) ?


    Auf welche Daten bezieht sich diese Frage?
    Falls es Sprünge auf 85,000°C sind, dann sind das die bereits beschriebenen Resetwerte der DS18x20 Sensoren. Das sind sozusagen keine Meßwerte.

    Schöne Grüße

    schnasseldag

  • Hallo Schnasseldag,

    ok, ich denke dann habe ich erst einmal ein grobes Verständnis für die eigentlichen Probleme der Messung bekommen. Ich werde voraussichtlich in der kommenden Woche deinen "minimalistischen Ansatz" versuchen umzusetzen und erste Versuche mit dem DS18B20 und einem Raspberry Pi durchführen, was nicht zuletzt von Organisation und Finanzierung der Bestellungen, Versuchsdurchführungen,... abhänig ist. Hochschulen sind manchmal sehr träge.
    Meine Fakultätist im Besitz einer Klimakammer, die ich für eine erste Fehlerermittlung nutzen kann. Deine Messdaten lassen auf das beste hoffen, sodass sich ein praktischer Versuch empfiehlt bevor ich weitere Überlegungen zum Thema anstelle, die am Ende im Sande verlaufen.

    Höchstwahrscheinlich werden sich bei der Inbetriebnahme und vor allem im Anschluss daran weitere Fragen ergeben. Bis hier hin schon einmal vielen Dank!
    Ich werde versuchen, die Ergbenisse ähnlich aufzubereiten und hier reinzustellen.

    Die Frage zu den "Sprüngen" bezog sich auf die Resetwerte. Hat sich also auch geklärt.

    Fragen zum Thema, Anregungen, Empfehlungen, etc. nehme ich noch immer gern entgegen!

    Liebe Grüße

    Creative

  • Hallo zusammen,

    nach dem vielen hin und her innerhalb der Projektgruppe gibt es nun endlich mal ein paar Ergebnisse.
    Meine Hochschule ist im Besitz eines Loxone-Miniservers, inklusive einer 1-Wire-Extension, mit der, ohne viel Aufwand, in der mitgelieferten Software Sensoren ausgelesen werden können. Weiterhin wurden die Fördergeldanträge mittlerweile weitestgehend durchgewunken. Das alles hat dazu geführt, dass (leider!) die Temperatursensoren nun nicht wie ursprünglich aus Kostengründen geplant mit einem Raspberry Pi, sondern mit besagtem Server und Software ausgelesen werden. Der Aufwand für die Programmierung ist dadurch natürlich erheblich gesunken. Aufgrund der hilfreichen Mitarbeit hier im Forum, habe ich also 10 DS18B20-Temperatursensoren bestellt, angeschlossen und ausgewertet.
    Das Ergebnis befindet sich im Anhang.

    Ich bin zufrieden mit der durchschnittlichen Abweichung. In einem weiteren Schritt werde ich jetzt die Sensoren mit einem geeigneten Thermometer (muss noch gekauft werden) einzeln kalibrieren und anschließend einen weiteren Test in der Klimakammer des Labors durchführen. Dabei werde ich auch überprüfen, ob der Linearitätsfehler der Sensoren einen Einfluss auf die spätere Messung haben könnte oder bei einem Temperaturintervall von ca. 15°C vernachlässigbar klein bleibt.

    Vielen Dank noch einmal für die Anregungen hier :thumbs1:

    Ich halte euch auf dem laufenden.

    LG

    Creative

  • Hallo Creative,

    es ist immer wieder schön, wenn man sieht, daß jemand Meßwerte anhängt! Jedes ernsthafte Projekt sollte damit starten, eine sichere Meßfähigkeit als Grundlage weiterer Implementierungen zu besitzen. Alles andere endet früher oder später im Blindflug.

    Was ich zunächst sehe ist, daß die Sensoren im "equilibrierten" Zustand eine Streuung von <0,2°C aufweisen. Das ist schon mal nicht schlecht. Der Rest ist Sache der Kalibrierung der Sensoren - wie Du ja oben schon schreibst. Wenn Du willst, dann kannst Du jetzt auch noch etwas selektieren. 8 der 11 Sensoren liegen allesamt in einem engeren Toleranzband (welches etwa halb so groß ist), als die 3 "Ausreißer". Nachdem die Sensoren ja nix kosten, würde ich mir diesen "Hardwarevorteil" durchaus noch mal überlegen.

    Was ich aber auch sehe ist, daß Du lediglich aller 5min Meßwerte aufzeichnest. Vermutlich macht das die "SW" so. Ich würde noch mal schauen wie schnell Du die Sensoren auslesen könntest. Wenn Du nämlich feststellst, daß Du aus Auflösungsgründen doch noch oversamplen mußt, dann ist das nicht ganz unerheblich. Besitzt Deine SW die Möglichkeit, direkt das Protokoll der 1wire Sensoren über den BUS zu lesen, dann wirst Du es auf zig Samples/s schaffen (siehe auch unten), ließt Du hingegen gecachte Werte aus Deiner Software, dann nutzt Dir das oversampeln innerhalb des Cache-Timings nix. Ebenfalls von Bedeutung mag (das kann ich aus der Ferne nicht beurteilen) die Gleichzeitigkeit der Samples sein. D.h. benötigst Du zeitgleiche Signale aller Sensoren, dann spielt Caching genauso eine Rolle, wie die Art, in der oversamplet wird. D.h. 10x1. Sensor abfragen, dann 10x2. Sensor abfragen... liefert andere Ergebnisse, als 1. Sensor abfragen, 2. Sensor abfragen... und das ganze 10x hintereinander.
    Letzteres Konzept paßt auch besser in das Modell, daß die Sensoren je nach Auflösung unterschiedliche Wandlungszeiten besitzen. Egal, wie schnell Du den Sensor also liest, an der Wandlungszeit (auflösungsbedingt etwa zwischen 100ms bis 750ms) kommst Du nicht vorbei.

    Also schau' noch mal kritisch auf "die Zeiten", innerhalb derer Du "gefangen" bist und dann kann's losgehen mit der Programmierung :)

    Schöne Grüße

    schnasseldag

  • Hallo schnasseldag,

    die Kalibrierung der Sensoren kann nach Ermittlung der Abweichung sehr einfach über die Software erfolgen. Allerdings nur (!) die "Grundabweichung". Ob auch eine Korrektur der Linearität über eine Formelermittlung implementiert werden kann weiß ich noch nicht. Grundsätzlich sind sich die Sensoren ja erst einmal "einig" über den allgemeinen Temperaturverlauf.
    Leider kann ich dazu momentan noch keine präziseren Aussagen treffen.

    Ich versuche mal zu erklären wie die Software arbeitet:


    Im Bild habe die Funktion markiert, mit der der Abfragezyklus eingestellt werden kann. Im Bsp. ist dieser auf 5 s festgelegt. Das kleinste einstellbare Abfrageintervall liegt bei 1 s. Rechts im Strukturbaum sind die 11 angeschlossenen Sensoren aufgelistet. DS18B20_11_Loxone ist dabei derjenige, der von der Firma mitgeliefert wurde.


    Hier wird deutlich, wie die Sensoren ausgelesen werden. Im Beispiel werden diese nacheinander alle 5s abgefragt (11 Sensoren innerhalb von 1 s). Nach 5 s schließt sich die nächste Abfrage an.


    Mit Aktivierung der Statistik werden die (z.B. alle 5 s) ausgelesenen Temperaturen über einen frei wählbaren Zeitraum gemittelt. Die 5 min zwischen den Messwerten in der Excel-Tabelle wurden hier also eingestellt.

    Ich nehme an, dass die Software direkt das Protokoll der Sensoren über Server und 1-Wire-Extension lesen kann, zwischenspeichert und anschließend einen Mittelwert berechnet. Es besteht allerdings auch die Möglichkeit, jede Änderung (alle 1...3600 s) aufzuzeichnen. Für meinen speziellen Fall der Temperaturmessung im Orgelgehäuse bin ich der Meinung das ein Wert alle 5 min ausreichend Aussagekraft bietet, da zum einen "Raumtemperaturen" gemessen werden, zum anderen die Anpassung des Pfeifenmaterials an unterschiedliche Umgebungstemperaturen, abhängig von den Pfeifenabmessungen, einen längeren Zeitraum (15...60 min) beansprucht.

    Sollte ich das richtig verstehen, geschieht im Grunde ein oversampling bereits innerhalb der Software. Die letztendliche Ausgabe der Temperatur passt sich leider trotzdem an die Auflösung der Sensoren an und müsste, wenn benötigt, zusätzlich durchgeführt werden.

    Mir ist aufgefallen, dass bei Anschluss eines einzelnen DS18B20-Sensors die Temperatur kontinuierlich steigt. Beobachten konnte ich dabei einen Anstieg auf ca. 27°C innerhalb von 30 min, beginnend bei 22°C unmittelbar nach dem Start der Messung. Anschließend fiel die Temperatur wieder auf 26°C, war allgemein aber sehr schwankend. Das Problem trat nicht auf, sobald mehr als ein Sensor angeschlossen war. Mir ist allerdings nicht klar, woran das liegen könnte.
    Leider kann ich gerade kein Bild vom Messaufbau aufnehmen. Ich betreibe die Sensoren parasitär, mit einer Spannung von 4,9 V.

    Liebe Grüße

    Creative

  • Ob die Qualität der Werte (hinsichtlich Auflösung, Genauigkeit, zeitliche Zuordnungsfähigkeit) für Deine Zwecke ausreicht, mußt Du selbst beurteilen. Allerdings würde ich Dir mal empfehlen, daß Du Dir die nackten Rohwerte der Sensoren alle 1s anzeigen läßt.

    Das Wandelintervall eines Sensors liegt bei 750ms. Wenn Du alle 11 Sensoren in jeweils 90ms nacheinander abklapperst, dann schaffst Du es nach 1s wieder beim ersten Sensor anzufangen. Insofern reichen die Einstellmöglichkeiten Deines Programmes gerade so aus, das Maximum an Daten aus den 11 Sensoren herauszuziehen.

    Falls die gestrigen Werte bereits über 5 Minuten gemittelt waren und das Intervall auf 5s stand, dann hast Du bereits 60 Werte (über einen extrem langen Zeitraum) gemittelt. Eine Aussage über die Güte der Verkabelung ist damit fast nicht möglich. Ich vermute mal, als Du den einen Sensor allein angeschlossen hattest, hattest Du auch keine Mittelwertbildung eingeschaltet und somit die Rohwerte gesehen, welche Dir in der Folge als stark schwankend erschienen. Kann das sein?

    Also schalte mal die Statistikoption aus (also keine Mittelwertbildung) und das Abtastintervall auf 1s. Und dann schauen wir mal, wie die Werte ausschauen und ob sie sich vom einzelnen Sensor unterscheiden.

    Übrigens würde ich Dir von der parasitären Speisung abraten. Auch wenn die Sensoren ein digitales Protokoll fahren, so messen sie intern zunächst mal eine analoge Größe. Damit gilt auch hier - je stabiler die Versorgungsspannung ist, umso genauer werden die Messungen ausfallen. Ich weis jetzt nicht, wie hoch die Busauslastung ist, wenn man alle 90ms (und im worst-case nur 0en) überträgt - aber diese Unbekannte würde ich mal einfach durch eine aktive Speisung ausräumen.

  • Im Programm besteht die Möglichkeit über den Monitor die Sensoren "live" zu verfolgen. Die Schwankungen (bzw. die Temperaturerhöhung), die ich beim Auslesen des einzelnen Sensors zu Beginn meiner ersten Messung hatte, unterscheiden sich dabei extrem von den "natürlichen" Schwankungen die ich bei Anschluss mehrerer Sensoren gesehen habe, aus denen ich dann die Statistik meines letzten Beitrages habe aufzeichnen lassen.
    Ich habe versucht das ganze zu wiederholen, allerdings erfolglos. Dafür habe ich wieder einen einzelnen Sensor angeschlossen, einmal mit parasitärer und einmal mit konstanter Spannungsversorgung. Das Abtastintervall habe ich auf 1 s festgelegt. Die Ergebnisse befinden sich im Anhang.
    Hier werden die Schwächen der Software deutlich, die nur eine Temperatur mit zeitlicher Zuordnung ausgibt, wenn diese sich ändert. Die zeitlichen Unterschiede zwischen den Werten können auf diesen Umstand zurückgeführt werden.

    Im Monitor sieht das ganze so aus:

    Ich habe die Bereiche rot markiert, für die jeweils eine Temperatur mit zeitlicher Zuordnung in der Excel-Tabelle ausgegeben wird. Ich hoffe das macht das ganze etwas verständlicher.

    Die Probleme bei Anschluss eines einzelnen Sensors sind also nicht erneut aufgetreten, da sich damals schon innerhalb der ersten Sekunden die Temperatur stark erhöht hatte.

    Ich kann vorerst nicht nachweisen, dass die Mittelwerte über 5 min aus meinem vorangegangen Beitrag weitestgehend keinen Schwankungen innerhalb des Zeitintervalls unterlagen, da man das nur innerhalb der Software über den Monitor mitverfolgen konnte. Da ich die Temperaturen zwar jede Sekunde anzeigen, aber nicht aufzeichnen lassen kann wird das ganze sehr unübersichtlich, wie man an den beiden Tabellen im Anhang sehen kann.

    Ich versuche dafür eine Lösung zu finden.

    Generell gilt es jetzt erst einmal zu untersuchen, welche Einflüsse die Messergebnisse beeinträchtigen/verändern (Zugluft fällt mir da spontan ein). Das kann leider wieder einige Zeit dauern.

    LG

    Creative


  • Hier werden die Schwächen der Software deutlich, die nur eine Temperatur mit zeitlicher Zuordnung ausgibt, wenn diese sich ändert. Die zeitlichen Unterschiede zwischen den Werten können auf diesen Umstand zurückgeführt werden.


    Naja, die Software reduziert halt das zu speichernde Datenmaterial auf ein Minimum. Das kann man ihr erst mal nicht verübeln. Du kannst die Daten ja hinterher um die verfielfachten gleichen Meßpunkte wieder aufblähen. Damit böte sich dann immer noch die Möglichkeit des "oversamplens".



    Die Probleme bei Anschluss eines einzelnen Sensors sind also nicht erneut aufgetreten, da sich damals schon innerhalb der ersten Sekunden die Temperatur stark erhöht hatte.


    Hm, dann bleibt wohl nur ein Verbuchen als "im Auge behalten".



    Ich kann vorerst nicht nachweisen, dass die Mittelwerte über 5 min aus meinem vorangegangen Beitrag weitestgehend keinen Schwankungen innerhalb des Zeitintervalls unterlagen, da man das nur innerhalb der Software über den Monitor mitverfolgen konnte. Da ich die Temperaturen zwar jede Sekunde anzeigen, aber nicht aufzeichnen lassen kann wird das ganze sehr unübersichtlich, wie man an den beiden Tabellen im Anhang sehen kann.


    Kannst Du die Meßwerte nachträglich "aufblähen" und beide Resultate (eigene Auswertung vs. "Programmauswertung") vergleichen? Vermutlich nicht, da Du Dich zum Programmstart ja für eine Art der Aufzeichnung entscheiden mußt?!

    Aus den zwei anhängigen Datenreihen (parasitär, nicht-parasitär) lassen sich übrigens keine Einflüsse hinsichtlich der Qualität der Versorgungsspannung auf die Meßergebnisse ziehen. So habe ich zumindest verdächtige "Sprünge" über 2 Digit nicht finden können.
    Ebenfalls kannst Du keine gegenseitige Beeinflussung der Signalwerte auf die Versorgungsspannung beurteilen (Thema 0-Wertübertragung), wenn Du nur einen Sensor im parasitären Mode betreibst.


    Vielleicht gibt es ja hier im Forum noch jemand der sich mal so richtig intensiv mit der Thematik des Vergleichs parasitärer und nicht parasitär betriebener DS18x20 Sensoren beschäftigt hat und seine Meßergebnisse vorstellen kann? Populär genug sind die Sensoren ja...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!