effektive und kostengünstig Temperaturmessung mit vielen Sensoren

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • effektive und kostengünstig Temperaturmessung mit vielen Sensoren

      Hallo Liebes Forum,

      ich stehe vor der Aufgabe, kostengünstig an zahlreichen Messstellen (ca. 40) die Temperatur messen zu müssen. Der Temperaturbereich liegt zwischen -10 und +100 Grad C. Gemessen wird an den meisten Messstellen im Abstand von ca. 10-20 Sekunden, Die Messgenauigkeit sollte besser als +/- 1 Grad C sein.

      Nun die Frage, wie sich dies kostengünstig und zuverlässig realisieren lässt.

      - DS18B20: original zu teuer und "China-Ware" bei der Temperatur zu unzuverlässig. Sonst aber ne tolle Sache...
      - PT 100 / PT1000, NTC: vermutlich gute Sache, an den meisten Messstellen auch relativ leicht verwendbar (Tauchrohre). Aber wie auswerten? Gibt es Analogumschalter, die man per I2C ansteuern kann? Hat jemand damit Erfahrung? Auswertung dann über den AD-Wandler des Atmega oder einen externen Wandler.
      - andere Ideen / Erfahrungen / Vorschläge?

      Viele Grüße und herzlichen Dank!

      Andy
    • Wie lange ist den die Kabelstrecke vom Controller zu den Sensoren?
      Ist die Umgebung sehr rauh? Muss mit Störungen gerechnet werden?
      Welche Bauform an Sensoren passt für alle Messstellen, oder muss es ein Mix sein?

      Ein DS18B20 kostet bei Reichelt derzeit 2.-
      Wie teuer darfs denn sein?

      Analoge oder lieber digitale Sensoren verwenden?

      In der Industrie verwendet man gerne sogenannte Messumformer. Aber die dürften deutlich teurer sein.
      Diese verwenden bei stark störender Umgebung gerne eine Stromschnittstelle (z.B 4..20mA).

      Sowas lässt sich auch mit günstigen Analogen Sensoren in Verbindung mit OP bewerkstelligen.

      Bestimmt gibt es auch Fertig-Geräte, die den Anschluss von mehreren identischen Sensoren zulassen.
      Vom Preis her dürfte diese Variante aber auch eher uninteressant sein.
    • Hallo Mitch,

      herzlichen Dank für Deine Hilfe! Ich bewundere immer wieder Dein Fachwissen und Deine Ideen! Echt klasse!

      Also, es sollte EMV-technisch kein all zu verseuchtes Umfeld sein. Die Entfernung Sensor - Elektronik ist zwischen 2 und 10 Meter. Die meisten Sensoren werden 3 Meter Entfernung haben.

      Ich habe vor Jahren mal gesehen, wie ein professioneller Anbieter für Gebäudeklimasteuerung das gemacht hatte: Die haben NTC-Sensoren verwendet, die über einen digital angesteuerten Analogschalter auf einen Oszillator gegeben, das Pulssignal auf einen Optpkoppler und von dort auf den Mikrokontroller. Funktioniert gut und offensichtlich mit ausreichender Genauigkeit über viele Jahre.

      Also, im Moment sehe ich zwei Möglichkeiten, die bezahlbar und umsetzbar sind:

      - DS18B20
      - eben irgend was analoges mit Analogmultiplexer. Kennt da jemand einen geeigneten, am besten per I2C ansprechbar? Vornedran einen Opamp und hinten den AD-Wandler. Vorteil: günstig und schnell und nur 1 bzw. (mit I2C) drei Port am Kontroller.
      - wenn analog, was ist besser? PT100 / PT1000 / NTC?

      Ein Aufbau mit Schnittstellenwandlern etc. ist sehr robust, aber in diesem Fall preislich zu hoch. Das ganz bewegt sich im semiproffesionellen Hobbybereich (Überwachung mehrerer Wärmespeicher und Wärmeleitungen).

      Allerdings habe ich noch keinen Analog-Multiplexer gefunden, der per I2C ansteuerbar ist. Gut nicht schlimm, den könnte man notfalls per I2C-Portexpander ansteuern. Aber dann kommt man auch schnell wieder zu den DS18B20...

      Gibt es weitere gute Ideen und Anregungen?

      Danke an alle!

      Viele Grüße

      Andy
    • Es gäbe da noch Temperatur-Sensoren mit I2C-Interface.
      Allerdings würde ich jetzt nicht I2C bis zu 10m Distanz einsetzen.
      Bei Microcontroller.net wurde mal ein Hausbussystem auf I2C-Basis vorgestellt.
      Dabei wurde ein spezieller Pegelshifter eingesetzt, um diese großen Distanzen zu überbrücken.

      Vorteil bei I2C und OneWire ist die bereits digitalisierte Temperatur, die i.d.R. nicht mehr kalibriert werden muss. Und wenn doch, muss nur im Controller die Abweichung (Offset) verrechnet werden.

      Für OneWire spricht, dass er bei deinen gegebenen Distanzen noch funktioniert und auch weniger Pins am Controller braucht.
      Eine dreiadrig geschirmte Leitung (GND, VCC, Signal), die einseitig am Controller auf Masse gelegt wird, ist anzuraten. Und es sollte in dem Fall auch der parasitäre Mode vermieden werden.

      Der Aufwand ist recht gering und es sind nachträglich auch Sensoren erweiterbar.
      Nachteil ist, dass ein Sensor bei Reichelt 2.- Euro kostet.

      Da sind die analogen Sensoren wie PT100/1000/NTC billiger. Aber hier muss mehr Aufwand getrieben werden.

      Die Sensoren sollen über 4-Leiter angeschlossen werden, weil sie unterschiedliche lange Zuleitungen haben. Damit lässt sich dann der Spannungsabfall direkt am Sensor erfassen. Das Signal muss natürlich noch über OP auf den AD-Bereich des Controllers umgesetzt werden.
      Die Sensoren könnte man dann über einen Konstant-Strom (über Multiplexer) versorgen. Die beiden Rückleitung müssten dann nochmal über einen Multiplexer gehen. Das wird bei 40 Sensoren schnell aufwendig.

      Ich denke mit den OneWire-Teilen bist du gut beraten.
      Nicht gerade über ebay oder amazon besorgen. Gibt ja noch RS-Online, Mouser, Reichelt, Conrad und andere. Kannst ja erst mal mit weniger Sensoren anfangen und Zug um Zug erweitern.

      Noch kurz zu den Unterschieden PT100/PT1000/NTC

      Die PT-Typen sind sehr linear. Zudem findet man im Datenblatt zu jeder Temperatur den Widerstand. Damit ist es dann durch anschließen eines Potis, der auf die Widerstände für die entsprechenden Temperaturen eingestellt wird, die Sensoren abzugleichen. In Deinem Fall -10°C und +100°C. Der Rest wird interpoliert.

      Ob man nun einen PT100 (100 Ohm bei 0°C) oder einen PT1000 (1000 Ohm bei 0°C) nehmen will, muss man sich überlegen. Um eine größere Spannungsänderung zu erhalten, bietet sich der PT-Typ mit höherem Widerstand an. Zudem fließt dann auch ein geringerer Strom durch den Sensor, was diesen weniger erwärmen lässt und so ein besseres Messergebnis liefert.

      Der NTC hat im Gegensatz du den PT-Typen kein lineares verhalten. Würde man hier den Abgleich wie bei den PT-Typen beschrieben durchführen, wären die Temperatur bei linearer Interpolation deutlich ungenauer. Man könnte hier aber eine Tabelle verwenden, in der z.B. alle 10°C die Werte abgelegt sind. Damit lässt sich ein guter Kompromiss zwischen Messgenauigkeit und Auswertung erreichen. Es geht natürlich auch komplexer, indem man ein Polygon ermittelt. Und dann rechnet. Der Abgleich wird dadurch aber nicht einfacher.

      Verwendet man ein 4-Leiter-System, kann man die Spannung am Sensor direkt messen. Versorgt man die Sensoren noch mit einem Konstant-Strom, kann man den Widerstand einfach durch R=U/I berechnen und so die Temperatur ermitteln.

      Nur 5V und einen Vorwiderstand zum Sensor funktioniert im Prinzip auch, ist aber aufgrund der Spannungsverluste in den unterschiedlich langen Leitungen ungenauer. Hinzu kommt die Toleranz des Widerstands. Hier müsste dann jeder Sensor für sich kalibriert werden.
    • Hi,

      wir müssen auch immer wieder viele Messstellen aufnehmen.

      Du kannst dafür einfach einen Multiplexer nehmen. Oder I2C Umschalter. Gibt es beides als billige Platinchen in den einschlägingen Verkaufsstellen.
      Wir nehmen eigentlich immer NTCs mit 10kOhm. Sind dann sehr genau nach Kalibrierung.

      16 Sensoren kannst Du mit einem Multiplexer auf einen ADC-Kanal auflegen.
      Praktisch und wichtig: So ein Multiplexer setzt auch analoge Spannungen korrekt um.

      Alternative ist, im Sensorbereich, der TMP36.
      Achtung: Es gibt unterschiedliche Qualitätsstufen und Temperaturbereiche.
      Erkennbar ist das an Textanhang zum Sensor, z.B. TMP36G ist nicht die beste Type, reicht aber meist und die Temperatur liegt in Deinem Wunschbereich.
      Der wird auch meist verkauft. Ich meine, der hat zwar +-2°C.
      Aber wenn man die kalibriert bevor man sie einbaut geht das auch recht gut.
      Der Sensor im Transistorgehäuse gibt die Temperatur über eine Spannung aus.
      Messbereich geht von -40-120°C (0°C sind dann bei 750mV oder so).
      Diese Spannung kann dann sehr einfach mit dem ADC ausgewertet werden.
      Keine Wandlungen, kaum Berechnungen usw.
      Er kann außerdem große kapazitive Lasten treiben, also lange Kabelleitungen schafft er gut.
      Mit dem Onboard-ADC eines Nano ist damit eine Auflösung von ca. 0,3°C möglich, wenn ich mich recht erinnere.

      Alternativ nimmst Du einen externen 16 Bit ADC, wenn die Auflösung noch höher werden soll.

      Nochmal alternativ nimmst Du einen AVR 128DB24/32/64 (Microchip AVR Controller mit 24-34 MHz), ich meine mit 20 ADC-Eingängen und muxt die nur einmal für alle.
      Der recht neue AVR-Controller hat dann auch 12Bit ADC an bord, was die Auflösung verfierfacht, damit also alle ca. 0,1°C Auflösung diskriminieren kann.

      Wir bauen dafür gerade ein Experimentierboard, bei dem die 64 Pins des 128ers auf Klemmleisten geführt werden.
      Nano und 2560Mega sind mir so langsam einfach zu oll....

      Beispiel Multiplexer:
      16-Channel Analog/Digital Multiplexer/Demultiplexer CD74HC4067
      Da kannst Du 16 Sensoren dran hängen, den Einzelport an einen ADC, die Kanäle an drei digitale Steuerports hängen und fertig. Das machst Du drei mal und fertig ist die Verteilung.

      The post was edited 3 times, last by Peer Gehrmann ().

    • Hallo
      Zur Temperaturmessung mit NTC 10k Sensoren habe ich seit Jahren einen gute Lösung im Einsatz.
      siehe mcselec.com/index.php?option=c…ask=view&id=395&Itemid=57

      Das Gute daran ist, es geht mit jedem AVR-Typ. Der Digitalfilter verhindert zappelde Werte und erzeugt auch Zwischwerte nach dem Komma.
      Wenn der Rohwert wechselt zwischen 10 und 11°C, dann wird ein Wert von 10,5°C berechnet.
      Die Linearisierung der Kennlinie wird mit der Tabelle gemacht. Somit ist die Rechenroutine schnell und simpel.