Hallo zusammen,
ich möchte mit einem Spannungsteiler am ADC eines ATmega einen
Temperaturschwellwert erfassen (15°C). Die Schaltung muss möglichst
einfach sein (daher der Spannungsteiler), dennoch möchte ich natürlich
die optimale Genaugigkeit rausholen. In der Anwendung ist ein
Temperaturbereich von ca. 0°C bis 35 °C möglich - aber wie gesagt: Nur
der Temperaturschwellwert von 15 °C muss sicher erkannt werden. Vcc und
VRef betragen 5 V.
Ich habe nun 2 Temperaturfühler zur Auswahl: NTC 1k und PT1000. Welcher
ist besser geeignet?
Aus meiner Sicht ist der NTC besser geeeignet: Deutlich größere
Widerstandsänderung im Temperaturbereich -> größere Spannungsänderung am
ADC -> Genauigkeit in dieser Messkonstellation ist somit größer.
Was meint ihr?
Gruß Dirk
Dirk schrieb:> größere Spannungsänderung am ADC> -> Genauigkeit in dieser Messkonstellation ist somit größer.
Wenn du den Schaltpunkt "einlernen" kannst, dann nur zu.
> Was meint ihr?
Hast du dir mal den Abschitt "Toleranzen und Abweichungen" im Datenblatt
des NTC angeschaut?
Das Fazit daraus: du musst den Sachltpunkt jeder einzelnen derartigen
Schaltung von Hand abgleichen. Wenn ddas ein Einzelstück ist, dann ist
das kein Problem. Wenn es 1000 sind, wirds teuer.
Danke für die schnelle Antwort!
Mit "einlernen" meinst du vermutlich einen zusätzlichen Poti im
Spannungsteiler, der bei 15°C den Spannungsschwellwert am ADC einstellt,
oder?
Ein Poti ist eigentlich nicht vorgesehen. Dann wird es wohl doch der
PT1000.
Gruß Dirk
Dirk schrieb:> Mit "einlernen" meinst du vermutlich einen zusätzlichen Poti im> Spannungsteiler, der bei 15°C den Spannungsschwellwert am ADC> einstellt, oder?
Oder.
"Einlernen" =/= "Einstellen"
Wobei man es natürlich mit einem Poti machen kann. Es gibt mehrere Wge,
der Schaltung eine Schaltpunkt einzuprägen. So, jetzt hast du noch ein
Wort zum nachfragen.
der NTC ist empfindlicher (und daher leichter auszuwerten), der Pt1000
ist genauer (er hat ab Werk eine deutlich bessere
Genauigkeitsspezifikation als der NTC).
Dirk schrieb:> Mit "einlernen" meinst du vermutlich einen zusätzlichen Poti im> Spannungsteiler, der bei 15°C den Spannungsschwellwert am ADC einstellt,> oder?
Du verarbeitest doch den Wert des Spannungsteilers mit einem ATMega,
oder? Solange der ATMega weiß, welcher Spannungswert tatsächlich zum
Temperatur-Schwellwert 15° gehört, brauchst du kein zusätzliches Poti.
Dirk schrieb:> Welcher ist besser geeignet?
NTC.
Ein Pt1000 will nur 0.1V sehen, maximal 0.3V, da macht 1 GradC nur 3.8uV
aus, das kann dein ADC nicht erfassen.
Der NTC hingegen kommt mit einem Festwiderstand der genau dem NTC Wert
bei 15 GradC entspricht an VCC und der ADC misst ratiometrisch. Maximale
Auflösung, gute Henauigkeit, und es ist egal dass du bei 0 odr 30 GradC
nicht mehr so genau messen kannst.
Einziges Problem beim NTC: man kann defekte nicht so einfach auswechseln
wie bei Pt1000, sondern muss neu kalibrieren (deren Widerstand bei 15
GradC messen).
https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.32
So ein ntc hat üblicherweise eine Empfindlichkeit von ca 5 % pro K, ein
pt1000 hat 0.4% pro K. Die Anforderungen an adc und die Schaltung sind
bei PT also 10x größer.
Ein Low cost ntc hat bei Raumtemperatur eine Toleranz von ca 3-5 % was
etwa 1K entspricht.
Ein günstiger PT Klasse A hat bei Raumtemperatur eine Toleranz von 0.6
K.
In Summe ohne Abgleich oder Präzisionswiderstände / ADC wird in der
Praxis der NTC vermutlich besser und billiger sein.
Dirk schrieb:
> Mit "einlernen" meinst du vermutlich einen zusätzlichen Poti im> Spannungsteiler, der bei 15°C den Spannungsschwellwert am ADC> einstellt, oder?
Du könntest z.B. einen "Referenzwert" im EEProm ablegen und im Programm
mit diesen vergleichen. Das Problem reduziert sich darauf, die 15°C
herzustellen und individuell diesen "Referenzwert" ins EEProm zu packen.
Für Einzelstücke: (Ich habe keinen Temperaturschrank ...) Ein Glas mit
sauberem (destil.) Wasser, eingepackt in ein trockenes Handtuch und
Temperatur (Referenzthermometer) auf 15°C eingestellt. NTC rein.
In einen speziellen Programmzusatz (z.B. durch Abfrage eines
Testeingangs beim Booten) verzweigen und dort den Messwert als
"Referenzwert" übernehmen.
Vielen Dank für die vielen Antworten!
Ich werde dann einen NTC nehmen.
Dann noch eine letzte Frage: Leider habe ich keine Umgebung mit 15 °C.
Ich kann also nicht abgleichen oder den Widerstand bei 15 °C messen. Ich
habe aber gesehen, dass es auch NTCs mit geringer Toleranz gibt (1% im
geforderten Temperaturbereich).
Nehme ich nun an, dass sich der Widerstandswert um 5 %/°C ändert,
beträgt der Fehler am NTC ja nur 1/5 °C (natürlich kommen noch Fehler
durch die übrige Messchaltung hinzu).
Meine Anforderungen sind noch erfüllt, solange der Fehler im
Mikrocontroller bei 1°C liegt. Demnach sollte ich auf den Abgleich
verzichten können, oder?
Gruß Dirk.
Zusatz:
U.U. muss man die Eigenerwärmung des NTC, PTC oder was auch immer
beachten. Dies lohnt, je nach Anwendung, oft aber nicht.
Die Eigenerwärmung kann man berechnen, braucht dazu aber das Datenblatt.
Diese könnte man dadurch korrigieren, dass man die Referenztemperatur
niedriger ansetzt oder als Konstante im Programm berücksichtigt.
Die kleinen, blauen Perlen in Wetterstationen haben (wimre) 10kOhm (z.B.
Murata NXRT15XH103FA5B -> Anlage).
Mit 10kOhm Vorwiderstand an 5V: PTC verheizt Pntc = (2.5V)^2/10k = 625
uW. Mit 26mW/K heizt sich dieser um 24 mK auf. Das kann man also
vergessen. Selbst bei 1kOhm (240mK) wäre es noch Wurst.
Der o.g. NTC ist übrigens mit 1% spezifiziert. Mit so was braucht's dann
nicht mal einen Abgleich.
Kuck auch da:
http://www.scynd.de/tutorials/arduino-tutorials/5-sensoren/5-1-temperatur-mit-10k%CF%89-ntc.html
Offen ist immer noch, welches Medium gemessen werden soll. Fest,
flüssig, gasförmig?
Davon hängt es ab, wie die Eigenerwärmung des Sensors den Messwert
verfälscht. Günstig ist es, den Sensor nur kurzzeitig zu belasten, wie
es hier gezeigt wird:
Beitrag "PT1000, einfache Auswertung mit AVR (ATmega328)"
Für 1K Genauigkeit würde ich einen PT1000 nehmen. Das hat (hätte) den
Vorteil, extreme Temperaturen zu erfassen. Aber für 15°C gibt es auch
Lösungen mit digitalen Sensoren. Dazu gibt es hier Experten, die nur
diese empfehlen, vielleicht auch, weil sie nur diese kennen ;-)
> Für 1K Genauigkeit würde ich einen PT1000 nehmen.
Bei Verwendung des Spannungsteilers und einer Toleranz von 1 % sollte
ich in Summe mit dem NTC besser fahren, wenn ich es jetzt richtig
verstanden habe. Die größere Widerstandsänderung kann wesentlich besser
erfasst werden.
An einem anderen Messaufbau (4-Leiterschaltung etc.) macht sicherlich
der PT1000 mehr Sinn.
Gruß Dirk.
Hannes schrieb:> Der o.g. NTC ist übrigens mit 1% spezifiziert. Mit so was braucht's dann> nicht mal einen Abgleich.
Deshalb sind solche NTCs bei Reparaturen auch ohne weiteres
austauschbar. Solche enger tolerierten gibt es auch mit Edelstahlgehäuse
und Kabel, z.B. bei Mouser 803-USP10973 oder 803-USP10972. Die haben
10k, wegen der Eigenerwärmung; 1k ist schon ungewöhnlich niederohmig.
Dirk schrieb:> Dann noch eine letzte Frage: Leider habe ich keine Umgebung mit 15 °C.> Ich kann also nicht abgleichen oder den Widerstand bei 15 °C messen. Ich> habe aber gesehen, dass es auch NTCs mit geringer Toleranz gibt (1% im> geforderten Temperaturbereich).>> Nehme ich nun an, dass sich der Widerstandswert um 5 %/°C ändert,> beträgt der Fehler am NTC ja nur 1/5 °C (natürlich kommen noch Fehler> durch die übrige Messchaltung hinzu).
Für genaue NTC's sind die Widerstandswerte über der Temperatur gelistet.
Diese können sich aber je nach Hersteller unterscheiden.
Außer dem R(25)-Wert brauchst du sonst noch den B-Wert. Mit diesem
kannst Du näherungsweise auch den Widerstandswert über die Temperatur
bestimmen.
Siehe auch https://de.wikipedia.org/wiki/Hei%C3%9Fleiter
Für Einzelstücke lohnt das nicht. Oft bekommst Du bei den Bastelläden
unspezifizierte Ware. Und dann kommt doch wieder das Wasserglas in's
Spiel...
Dirk schrieb:> sollte ich auf den Abgleich verzichten können,
Besser nicht. 1k an 2.5V macht 2.5mA oder 6.5mW. Das kann schon zu einer
Sensorerwärmung um mehr als 1 GradC führen, die man wissen will und
wegkalibrieren will.
Dirk schrieb:> Dann noch eine letzte Frage: Leider habe ich keine Umgebung mit 15 °C.
Was willst du dann mit einem Temperatursensor für 15°C.
Von was für einem Medium willst du die Temperatur messen?
Je nachdem was und wo du misst gibt es auch noch eine Vielzahl an
aktiven digitalen Sensoren die über 1-Wire I2C oder ähnlich ausgelesen
werden können.
Hier eine Übersicht:
https://www.mikrocontroller.net/articles/Temperatursensor
Im Arduino-Umfeld findet man einige der Sensoen auch fertig auf kleinen
Platinen.
Dirk schrieb:> Leider habe ich keine Umgebung mit 15 °C.
Du wohnst nicht in Deutschland? Ansonsten stell Dein Glas
mit Wasser doch mal einige Zeit nach draussen. :-)
Jester schrieb:> Es kommt eben ganz drauf an, wo man hin will: Im ppm-Bereich würde ich> aber keinen NTC nutzen
Ach.
Aber eine LTZ am NTC, womöglich für Genauigkeit im Prozentbereich ?
Abstruses Geblubber.
Jester schrieb:> Es kommt eben ganz drauf an, wo man hin will: Im ppm-Bereich würde ich> aber keinen NTC nutzen wollen, sondern eher einen Temperatur-Messquarz> (vgl. Quarz-Thermometer:> - HP2804A -> http://www.hparchive.com/Journals/HPJ-1965-03.pdf
Wenn Du mit "ppm-Bereich" Genauigkeiten von Millikelvin oder besser
meinst, da dominieren heutzutage eindeutig PT25 un PT10.
Klaus W. schrieb:> Es wurde zwar nicht danach gefragt, aber wenn die Schaltung> einfach sein soll, fällt mir DS1820 ein.> Nur als Idee.
Der arbeitet als Temperaturwächter ?
Ist mir neu.
Eher noch TMP01 von AnalogDevices.
Denn ein uC und ein Netzteil, ein Relais und Schalttransistor, eine
Einstellmöglichkeit und womöglich noch eine Anzeige, sowie die zur uC
Programmierung notwendige Ausrüstung mit PC und Programmierschaltung ist
ja wohl kaum als vernachlässigbares Zubehör anzusehen.
Jester schrieb:> Ich habe mal welche gesehen, für fast 400 € das Stück! Absolut die> geilen Teile. Da geht dann absolut nichts mehr in die Hose. Link liefere> ich nach.
Das aus der Hose brauchst du nicht nachliefern :-) Und so wie ich dich
einschätze, würde auch ein Teil für 4000€ bei dir nichts nützen...also
schreib nicht immer so'n Blödsinn!
Gruß Rainer
Daß ein NTC oder Pt100(0) ein Temperaturwächter wäre, ist MIR neu.
Er will doch mit wenig Aufwand eine halbwegs korrekte Temperatur in den
AVR bekommen.
Rainer V. schrieb:> Das aus der Hose brauchst du nicht nachliefern :-) Und so wie ich dich> einschätze, würde auch ein Teil für 4000€ bei dir nichts nützen...also> schreib nicht immer so'n Blödsinn!
Du hast ja "richtig Ahnung". Ist das angeboren, oder bist mal schwer
gestürtzt?
Klaus W. schrieb:> Er will doch mit wenig Aufwand eine halbwegs korrekte Temperatur in den> AVR bekommen.
Er will nur bei 15°C umschalten. Dafür ist eine "korrekte Temperatur" im
Grunde unnötig. Nur der eine einzige Schaltpunkt muss möglichst gut
reproduzierbar und danach konstant sein.
Harald W. schrieb:> Wenn Du mit "ppm-Bereich" Genauigkeiten von Millikelvin oder besser> meinst, da dominieren heutzutage eindeutig PT25 un PT10.
Quelle?
Dominieren im Sinne von höherer Genauigkeit oder Kalibrierfähigkeit?
Ich fand T-Messquarze immer sehr vorteilhaft, da mehr oder weniger
direkt digitalisierend (Zeit-/Frequenz-Messung). Müsste sogar noch
welche rumliegen haben. Aber das sprengt langsam den Rahmen des Fadens.
Klaus W. schrieb:> Es wurde zwar nicht danach gefragt, aber wenn die Schaltung einfach sein> soll, fällt mir DS1820 ein.
Nur mal als Hausnummer:
https://www.reichelt.de/digital-thermometer-1-wire--0-5-c-to-92-ds-18s20-p7207.html?&trstct=pos_0&nbc=1
Das wäre jenseits meiner Geizschwelle.
Da nur ein einzelner Schwellwert erfasst werden soll, wäre auch eine
Messbrücke mit nachfolgendem Komparator eine Möglichkeit.
Ein PT1000 hat bei 15°C einen Widerstandswert von 1058,5 Ohm. Diesen
könnte man mit Festwiderständen 1 k + 56 Ohm auf ca. 0,2 % hinreichend
genau nachbilden.
Zur Vermeidung von Eigenerwärmung sollte die Brücke aber nur mit kleinem
Tastverhältnis aktiviert und ausgewertet werden.
Die Frage nach dem Medium ist noch unbeantwortet.
MaWin schrieb:> Klaus W. schrieb:>> Es wurde zwar nicht danach gefragt, aber wenn die Schaltung>> einfach sein soll, fällt mir DS1820 ein.>> Nur als Idee.
Nicht die schlechteste Idee, wenn er nicht in der Lage ist, das System
zu justieren.
> Der arbeitet als Temperaturwächter ?> Ist mir neu.> Eher noch TMP01 von AnalogDevices.>> Denn ein uC und ein Netzteil, ein Relais und Schalttransistor, eine> Einstellmöglichkeit und womöglich noch eine Anzeige, sowie die zur uC> Programmierung notwendige Ausrüstung mit PC und Programmierschaltung ist> ja wohl kaum als vernachlässigbares Zubehör anzusehen.
MaWin, lesen hilft:
Dirk schrieb:> am ADC eines ATmega
Er hat also einen µC eingeplant, da wäre ein DS18x20 durchaus in
Betracht zu ziehen. Man kann auch über einen LM35 nachdenken (10mV/°C)
und gegen die interne Referenz der ATMega messen.
Vielleicht darf es auch ein PTC sein, KTY10, KTY82 ... gibt es eng
toleriert.
Wenn man einen µC mit genug Ausgängen hat, ist die oben genannte
Eigenerwärmung auch einfach beherrschbar: In einer meiner Anwendungen
mit NTC am AT328 habe ich ca. 3mA Querstrom, den schalte ich nur für
eine Handvoll ms ein, wenn ich messen will.
Jester schrieb:>> Wenn Du mit "ppm-Bereich" Genauigkeiten von Millikelvin oder besser>> meinst, da dominieren heutzutage eindeutig PT25 un PT10.>> Quelle?>> Dominieren im Sinne von höherer Genauigkeit oder Kalibrierfähigkeit?
Kalibriert wird über Temperaturfixpunkte. Da die Umrechnung von
Platinwiderständen in Temperaturen ziemlich genau mathematisch
definiert ist, kann man damit die Zwischenwerte ermitteln.
Klaus W. schrieb:> Es wurde zwar nicht danach gefragt, aber wenn die Schaltung einfach sein> soll, fällt mir DS1820 ein.> Nur als Idee.
Mouser ruft für einen DS16B20 6,14€ auf. Finde ich unverschämt. Dabei
ist das Teil mit einer max. Abweichung von 1 K noch nicht mal sehr
genau.
Für einen NTC mit 10K 1% (muRata NXRT15XH103) will Mouser 0,51€.
Der Widerstandwert bei 15°C ist mit 14,674 kOhm gelistet. Einen 1%
Festwiderstand davor und fertig ist die Laube.
(Falls wer rechnen will: bei 20°C sind es 12,081 kOhm - ich komme ohne
Abgleich auf 0,28 K Fehler, damit würd schon ein 8 bit ADC reichen)