Forum: Mikrocontroller und Digitale Elektronik Genauere Messung der Temperatur


von Sam (Gast)


Lesenswert?

Hallo Zusammen,

möchte mit einem Temperatursensor die Temperatur zu messen und dann 
durch einen Spannungsteiler die Spannung ausrechnen.
Diese Spannung dient als ein Eingangsanalogwert für einen AD-Wandler von 
einem Funksensor. Nach der AD-Wandlung wird die Spannungswert in einem 
Datenframe eingepackt und per Funk ausgesendet.
Als Temperatursensor nehme ich KTY81-110 und für den Spannungsteiler 
setzt ich einen Widerstand von 1 kOhm ein. Nur stellt sich die Frage, 
nach der Berechnung finde ich, dass bei zwei nahe Temperatur z.B. 7°C 
und 8°C die Spannung fest identisch ist, dies fürht dazu, dass die Hex 
nach der AD-Wandlung auch identisch ist. Gibt's eine Methode, mit der 
man sich solche nahe Temperatur entscheiden kann.
Ich wäre für Eure Hilfe dankbar.

Sam

von ... .. (docean) Benutzerseite


Lesenswert?

Wie genau ist der AD Wandler? bzw wieviel Bit hat der...

beim AVR mit seinen 10Bit ADC, hast du bei Ausnutzung der 5V pro Digit 
5mV !

Das sollte doch reichen...

Auch solltest du sowas wie Eigenerwärmung durch den Strom etc pp 
beachten..

von Sam (Gast)


Lesenswert?

@Jan-h.B.

Der AD-Wandler ist 8 bit, der hat eine Ref. Spannung in Höhe von 2,28 V, 
d.h. 2,28 / 256 = 0,00896025 V / bit.
    +2,28 V
        o
        *
        *
       1 k Ohm
        *
        ************ Eingang AD-Wandler 8 Bit
        *
        *
       KTY81 110
        *
        *
       GND
Problem ist, wenn man einen Widerstand von 1 kOhm nimmt, verändert sich 
die Spannung am Eingang des AD-Wandlers fast nicht, weil der Widerstand 
des T-Sensors 6 Ohm pro °C steigt, 6 zu 1000 ist zu klein, deswegen ist 
die Spannungsänderung nicht so groß, dass man sich die Temperatur 
entscheiden kann, ob es nun z.B. 7 °C oder 9 °C ist.
Wie kann man die Schaltung ändern ?

Sam

von Mätte T. (maette)


Lesenswert?

Den 1k kleiner machen => größer Strom => größere Erwärmung
oder die Spannung erhöhen.
Wie groß ist denn der Widerstand des KTY81-110 ?

von Sam (Gast)


Angehängte Dateien:

Lesenswert?

Der Widerstand des T-Sensor ist von 550 Ohm bei -50°C bis 2200 Ohm bei 
150°C. Anbei das Datenblatt.

von Matthias L. (Gast)


Lesenswert?

>nahe Temperatur z.B. 7°C und 8°C die Spannung fest identisch ist

Um sowas vorher auszurechnen gibt es die sogenannte Kalibrierfunktion.
Diese gibt Auskunft über die Spannung(Temp).
Deren Ableitung sagt was über die Empfindlichkeit aus.


>setzt ich einen Widerstand von 1 kOhm ein
Vor oder nach besagter Rechnung?

von Gerhard. (Gast)


Lesenswert?

Wenn mam wie hier beschrieben einen 2.7K Widerstand zur Erregung des 
KTY81 einsetzt, dann linearisiert sich die Kennline auf unter 0.05%. Mit 
einer einfachen Berechnung  laesst sich dann die Temperatur auf Celsius 
umwandeln. Ganz wichtig: die Referenzspannung des AD-Wandlers der 
Speisespannung zuordnen damit die Messung Ratiometrisch wird und 
Speisepannungsaenderungen keinen Einfluss mehr ausueben.

Der Artikel beschreibt alles aufs genaueste.

http://www.sprut.de/electronic/pic/projekte/thermo/thermo.htm

Gruss,
Gerhard

von Stefan (Gast)


Lesenswert?

>Wenn mam wie hier beschrieben einen 2.7K Widerstand zur Erregung des
>KTY81 einsetzt, dann linearisiert sich die Kennline auf unter 0.05%.
Die Linearität ist hier doch gar nicht das Problem, sondern die 
Auflösung des ADC. Eine Änderung von 7°C auf 8°C erzeugt einen 
Spannungshub von ca. 0,005V was in etwa der Größenordnung der 
ADC-Auflösung entspricht!
Abhilfe schafft hier nur eine ADC mit mehr Auflösung oder ein anderer 
Sensor mit größerem TK!

>Ganz wichtig: die Referenzspannung des AD-Wandlers der
>Speisespannung zuordnen damit die Messung Ratiometrisch wird
Hat er doch gemacht, wenn ich den ASCII-Schaltplan richtig deute:
Ref-Spannung 2,28V als Speisespannung!

von Gerhard. (Gast)


Lesenswert?

Hallo Stephan,

Wenn man es macht wie in dem Original Artikel beschrieben die AD Wandler 
Messungen 64 mal summiert was zur einfachen Berechnung sowieso notwendig 
ist (DEG C = ADC * 64 / 101 - 150) dann ergibt sich automatisch eine 
hoehere Aufloesung. Bei mir erreichte ich bequem eine Aufloesung von 
fast 0.02 Grad mit einem 10-Bit Converter. Durch diese Art von 
Oversampling erhoeht sich die effektive AD Aufloesung.

Siehe: http://www.fpgajournal.com/articles_2007/20071127_actel.htm

Eine stabilisierte ADC Referenzspannung zu verenden ist falsch weil so 
eine Brueckenmessung Ratiometrisch gemacht werden sollte. Sonst machen 
sich Gleichspannungsanederungen als Fehler bemerkbar wenn der Messkreis 
nicht von der selben Spannung versorgt wird.

Gerhard

von I_ H. (i_h)


Lesenswert?

Oversampling funktioniert nur wenn ein gewisses Rauschen auf dem Signal 
liegt. Glättet man die ADC Referenz- und Versorgungsspannung zu gut, 
bringt das rein garnix.

von Gerhard. (Gast)


Lesenswert?

Das stimmt schon; nur bei praktischen AD Wandlern aber wie in den 
AVR/PIC ist immer genug Rauschen da, dass das nach der Theorie 
ausgezeichnet funktioniert. Ich habe das praktisch naeher untersucht und 
es lassen sich mit Leichtigkeit bis ueber 12-bit effektiv damit 
erreichen. Die Genaugikeit war bei meinen Messreihen sehr gut. Es lohnt 
sich ganz bestimmt dieses Prinzip bei PICs und AVRs auszunutzen.

von Stefan (Gast)


Lesenswert?

>Bei mir erreichte ich bequem eine Aufloesung von
>fast 0.02 Grad mit einem 10-Bit Converter.
Er hat aber nur 8-bit !!!
Da hilft auch Mega-Oversampling nix!

>Eine stabilisierte ADC Referenzspannung zu verenden ist falsch weil so
>eine Brueckenmessung Ratiometrisch gemacht werden sollte.
???

>Sonst machen sich Gleichspannungsanederungen als Fehler bemerkbar wenn der 
>Messkreis nicht von der selben Spannung versorgt wird.
Gerade das wird hier doch gemacht!
Speisespannung für KTY81 und für ADC ist dieselbe!

von Sam (Gast)


Lesenswert?

ich schliesse den T-Sensor mit einem anderen Funksensor, der einen 
AD-Eingang hat und eine Ref.Spannung von 2,28 V aus einem anderen 
Ausgang erzeugt. Dieser Sensor wacht alle 10 Sek. einmal und erzeugt 
eine Ref.Spannung, die ziemlich stabil ist. Aber die Auflösung der 
AD-Wandler ist nicht so gut (0,00896026 V/bit), dass man 1 °C 
(entspricht etwa 0,005 V) Änderung nicht ausdrück kann. Es hat nichts 
mit dem MCU zu tun.

von Helmut L. (helmi1)


Angehängte Dateien:

Lesenswert?

Und warum schaltest du zwischen Sensor und ADC nicht einfach einen OP 
als Verstaerker.

So wird deine Temperaturspanne von -50 Grad ... +150 Grad in einem 
Bereich von 0 .. 5V dargestellt. Dann hast du 25mV / Grad.
Wenn du eine andere Temperaturspanne willst must du halt die 
Verstaerkung anpassen.

Gruss Helmi

von Sam (Gast)


Lesenswert?

Kann hier jemand mir solchen Sensor mit große TK empfehlen?

von Ulrich (Gast)


Lesenswert?

Die meisten NTC haben einen größeren TK, sind aber auch recht 
nichtlinear.

Der Verstärker wäre eine gute Lösung.
Als ersten Schritt kann man auch die Referenzspannung kleiner machen 
(z.B. 1 V) und eine eher großen Widerstand zum Sensor nehmen. Mit etwas 
Glück kriegt man dann auch genug Rauschen damit Oversampling was bringt.

von Helmut -. (dc3yc)


Lesenswert?

Und warum nimmst du nicht gleich einen digitalen Temperatursensor wie 
den SHT71 von Sensirion oder den MAX1098 (ADC mit eingebautem 
Temperatursensor)?

Servus,
Helmut.

von Marcus W. (blizzi)


Lesenswert?

Oder wenns ganz genau sein soll: Nimm Ultraschall =)

von Andreas K. (a-k)


Lesenswert?

Helmut -dc3yc wrote:

> Und warum nimmst du nicht gleich einen digitalen Temperatursensor wie
> den SHT71 von Sensirion

Das ist ja wohl eine der teuersten Alternativen. Wenn man nur die 
Temperatur will. DS18B20 tut's auch und kostet ein Zehntel davon.

von Lutz (Gast)


Lesenswert?

>>Als ersten Schritt kann man auch die Referenzspannung kleiner machen
>>(z.B. 1 V) und eine eher großen Widerstand zum Sensor nehmen.

Kleinere Uref ist schon o.k., obwohl dann wie beschrieben das Rauschen 
und der Fehler zunehmen. Aber die höchste Spannungsänderung am Sensor 
erhält man nun mal, wenn Vorwiderstand und Sensorwiderstand gleich groß 
sind. Also sollte man immer den Arbeitspunkt bzw. Meßbereich in diesen 
Bereich dimensionieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.