Temperatursensor mit bestimmten Eigenschaften gesucht

Ich bräuchte was mit folgenden Eigenschaften:

Pflicht:

  • I2C-Bus
  • Messebereich mindestens -20°C bis +50°C
  • Auflösung/Genauigkeit mind. 0,5°, möglichst besser

Nice to have:

  • DIP/bedrahtet
  • preisgünstig
  • einfach zu beschaffen

Ja, das sind sogar mehr als drei Wünsche auf einmal....

DS18S20 ist mir eigentlich zu ungenau, und die 1-Wire-Steuerung stört mich.

Was passen würde wäre eine SHT21. Der ist zwar SMD, gibts aber auch gleich mit passendem Breakout-Board. Und das Ding ist nicht gerade billig.

Hat jemand alternative Vorschläge?

Also der DS18B20 mit seinen 0,5% Genauigkeit ist schon gar nicht so schlecht.

Der LM75 ist ein klassischer I2C Temperatursensor, dieser hat aber nur eine 2%tige Messgenauigkeit.

Es gibt noch den DS1621 der hat ein I2C Interface und wie der 1Wire DS18B20 eine Genauigkeit von 0,5%.

Der SHT21 ist nicht all zu viel genauer als der DS1621, der SHT21 hat im Temperaturbereich 0,3%.

Dann gibt es noch die TSic Sensoren, die gibt es in einer 0,1% Ausführung. Diese haben allerdings keinen I2C Bus, sonderen einen Digitalen Ausgang. Habe mit denen aber noch nie was gemacht.

Temperatursensoren in diesem Genauigkeitsbereich haben ihren Preis. Ich vermute da gibt es keine günstigen Lösungen. Zuviele Wünsche :wink:

Wie mx738 richtig schreibt, hat der SHT21 gemäss Datenblatt eine Genauigkeit von +/-0.3 Grad C.

Da du dich für diesen Typ interessierst, kann ich dir folgenden Tip geben. Falls du nur 1 Stk benötigst, kann du beim Hersteller nach einem Muster nachfragen.
Ich habe dies gemacht und mir selbst ein kleines Breakout-Board gebastelt.

@vieledinge
Für welchen Anwendungsfall ist diese Genauigkeit erforderlich?

vieledinge:
Hat jemand alternative Vorschläge?

Ich persönlich finde die chinesischen DHT22 (AM2302) vom Chinaversender (ebay) sehr schön in Bezug auf

  • genaue Temperaturmessung
  • niedriger Preis

Nur bei der Luftfeuchtemessung scheinen mir diese Sensoren eine leicht größere Streuung zu haben als das Datenblatt angibt.

Weshalb ein so genauer Sensor wie der DS18S20 "zu ungenau" sein soll, erschließt sich mir nicht.
Sensoren mit absolut höherer Genauigkeit sind nun mal viel teurer und +/-0,5°C finde ich recht genau.

Hallo,

vielleicht kann dich der TSIC206 bzw. 306 zufriedenstellen. Hier das Datenblatt:
http://www.reichelt.de/Sensoren/TSIC-306-TO92/3/index.html?;ACTION=3;LA=446;ARTICLE=82327;GROUPID=3190;artnr=TSIC+306+TO92;SID=12Txgu@n8AAAIAAE54gS8bd99e3584dd835e2dc3ab7205c2e3f76
Wie schon im Link ersichtlich, gibts den bei Reichelt, inc. weiterer Datenblätter zum runterladen

Gruß Gerald

Hallo allerseits,

erst mal Danke für alle Hinweise.

Die 1-Wire-Varianten fallen alle raus. Im vorhandenen Projekt ist I2C quasi vorgegeben, weil da war schon ein Sensor dran. Freie Ports habe ich momentan keine, gemischten Betrieb von 1-Wire und I2C auf den gleichen Ports will ich nicht machen, da noch andere I2C-Bausteine am Bus hängen und ich mir nicht mehr Probleme einhandeln will als notwendig.

LM75 fällt auch raus. Den will ich ja gerade ablösen, war zu ungenau.

DS1621/1631 werde ich mir mal näher anschauen. Die kommen dem Gesuchten schon sehr nahe und sind auch preislich noch relativ günstig im Vergleich zum SHT21.

Der SHT21 hat noch einen kleinen Bruder: STS21, wie SHT21 aber nur Temperaturmessung. Der wäre quasi ideal. Mal sehen ob ich den irgendwo aufgetrieben bekomme. Mal sehen ob da ein Muster aufzutreiben ist....

tmp102 von Texas Instruments, bei sparkfun und dessen Distributoren gibts dazu ein Adapterboard.

Nachteile:

  • kleines SMD Package, kein DIP
  • Speisung 3.6V max

Danke für alle Hinweise.

Farnell hat den STS21 auf Lager, also hab ich den und den DS1621 jetzt mal bestellt. Schau mer mal ob das so passt wie ich das gern hätte.

Hallo,

kannst Du noch die Temp.Sensoren per SPI Beschaltung abfragen?
Dann könnte ich Dir den MAX6675 empfehlen. Den an den µC und Temp.Sensoren, die wie Stück Draht ausehen am Ende zusammengeschweißt, an den MAX6675.
Super genau und super schnell. Kannste permanent auslesen wann Du möchstest.

Dann könnte ich Dir den MAX6675 empfehlen. Den an den µC und Temp.Sensoren, die wie Stück Draht ausehen am Ende zusammengeschweißt

Diese Temperatur-Sensoren nennt man Thermoelemente und sind im professionellen Umfeld sehr verbreitet. Je nach Typ können diese Sensoren Temperaturen bis über 1500 Grad C messen.
Bei Thermoelementen wird ein elektrischer Effekt genutzt der bei der Verwendung von 2 verbundenen Drähten mit unterschiedlichen Metallen wirkt.
Auf Wikipedia ist die Funktionsweise sehr ausführlich beschrieben.

Normalerweise sind die beiden verschweissten Drähte in einem Gehäuse verpackt und werden in allen möglichen Bauformen geliefert. Diese Sensoren werden meist eingesetzt wenn man die Temperatur von einem Ofen, Metallstück, Gussform etc. und nicht nur von der Umgebungstemperatur erfassen möchte.

Bei der Nutzung von Thermoelementen werden meist auch spezielle Anschluss-Stecker verwendet, siehe Beispiellink:

Der erwähnte MAX6675 wird für K-Typ Thermoelemente (Ni-CrNi) verwendet.
http://datasheets.maximintegrated.com/en/ds/MAX6675.pdf
Soweit ich weiss, wird dieser Typ nicht mehr produziert. Im Elektronik-Handel wird dieser Baustein im SMD-Gehäuse SO-8 aber weiterhin angeboten.

Auch ich kann diesen Baustein empfehlen. Ein Beispiel des MAX6675 ist übrigens in meinem Buch "Arduino Praxiseinstieg, 2. Auflage" beschrieben.

**Update:**Empfehlung gilt für Anwendungen mit höherem Temperaturbereich.

Der MAX6675 hat eine eingebaute Signalverarbeitung und 12 bit A/D Converter. Er kann Temperaturen von 0 bis 1024 Grad in 0,25 Grad Schritten messen (Auflösung). http://www.adafruit.com/datasheets/MAX6675.pdf
Der Konvertierungsfehler wird zwischen 0 und 700 Grad mit +/- 9 Digit angegeben was einer Ungenauigkeit von ca +/-2 Grad entspricht.
Der Cold Junktion Kompensationsfehler wird mit +/-3 Grad angegeben.
Also nicht "Super genau und super schnell".
Grüße Uwe

Der Konvertierungsfehler wird zwischen 0 und 700 Grad mit +/- 9 Digit angegeben was einer Ungenauigkeit von ca +/-2 Grad entspricht.
Der Cold Junktion Kompensationsfehler wird mit +/-3 Grad angegeben.
Also nicht "Super genau und super schnell".

Bei einem Messbereich von 0-700 Grad ist Ungenauigkeit kleiner als 1 %. Wobei man die Cold Junktion -Problematik (Kaltstellenkompensation) durch einen geeigneten Aufbau minimieren kann. Gemäss Datenblatt:

Optimal performance from the MAX6675 is achieved
when the thermocouple cold junction and the MAX6675 are at the same temperature. Avoid placing heat-generating
devices or components near the MAX6675

Für den Anwendungsfall in diesem Thread ist der MAX6675 Thermoelement-Wandler aber nicht zu empfehlen.

Hallo,

den MAX6675 gibts noch laut Maxim. Ich finde bei denen auch keinen anderen mit dem hohen Temperaturmeßbereich und Ub 5V.
Es gibt noch den MAX31855, aber der ist für 3,3V ausgelegt.
Wollte mir noch einen MAX31723 besorgen, der ist aber auch nur für 3,3V ausgelegt.
Wie macht man das am dümmsten, wenn der µC 5V hat aber paar Sensoren 3,3V benötigen?

Ich bräuchte Ersatz für meine MAX6675 und einen onChip Temperatursensor, alles für 5V und mit SPI. Ideen?

Was passiert eigentlich mit der Meßwertverfäschung wenn man die Anschlüsse vom K-Sensor direkt auf die Platine lötet ohne K-Stecker?

Doc_Arduino:
Was passiert eigentlich mit der Meßwertverfäschung wenn man die Anschlüsse vom K-Sensor direkt auf die Platine lötet ohne K-Stecker?

Jede Verbindung 2er verschiedener Metalle ist eine Termoelement. Also nicht nur das eigentliche Termoelement sondern auch die 2 Lötpunkte auf der Platine und die Lötverbindung des MAX6675, dann noch intern die Bound-Drähte vom Füßchen und von den Bound Drähte zum Siliziumchip, die Verzinnung der Leiterbahn, ja selbst P-N bzw P-N Übergänge können Termoelemente sein. Das ist aber nicht viel anders als wenn man K-Stecker hat.
Solange alles genannte die gleiche Temperatur hat ist es kein Problem, da sich die Thermospannungen aufheben. Ein Problem wird es wenn ein Verbindungspunkt gegenüber den/einen anderen eine verschiedene Temperatur hat. Diese Termospannung addiert/subtrahiert sich von der Termospannung des Termoelements und verfälscht die Messung. Es besteht keine Möglichkeit diesen Fehler zu korrigieren außer man kennt die Temperatur aller Übergangstellen und dessen Materialkombination oder hält die Temperatur aller Übergangsstellen gleich.

Viele Grüße Uwe