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
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..
@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
>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?
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
>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!
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
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.
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.
>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!
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.
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
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.
Und warum nimmst du nicht gleich einen digitalen Temperatursensor wie
den SHT71 von Sensirion oder den MAX1098 (ADC mit eingebautem
Temperatursensor)?
Servus,
Helmut.
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.
>>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.