Forum: Analoge Elektronik und Schaltungstechnik Thermo widerstand lesen?


von Glenn R. (glenn_r)


Lesenswert?

Ich bin neu auf dem Gebiet und frag mich wie ich mit meinem raspi einen 
Thermowiderstand ,,auslesen'' kann. Ich hab mein Raspi mit einem PCF8591 
ADC verbunden und den Thermo angeschlossen. Mit Pull Down.
Nun wie bekomme ich aus dem Wert des ADC eine Temperatur raus?
Thermosensor: http://www.farnell.com/datasheets/102485.pdf

von Flip (Gast)


Lesenswert?

Vom adc wert kannst du die eingangsspannung berechnen. 
Spannungsteilergesetz anwenden und die Tabelle vom datenblatt hernehmen. 
Wegen der vielen toleranzen empfielt es sich,  das messteil an einigen 
Punkten zu kalibrieren. Andere Temperaturwerte bekommen dann einen 
interpolierten offset berechnet.

Flip

von Glenn R. (glenn_r)


Lesenswert?

ich hab das Spannungsteilergesetz umgestellt, es will aber nicht 
wirklich. Wie muss es denn richtig aussehen, ich glaub ich hab ein 
Fehler gemacht?

von Klaus R. (klara)


Lesenswert?

Glenn Rathke schrieb:
> Ich hab mein Raspi mit einem PCF8591
> ADC verbunden und den Thermo angeschlossen. Mit Pull Down.

Wie sieht denn die Schaltung aus? Was für ein Wert hat der Widerstand?
Gruss Klaus.

von Glenn R. (glenn_r)


Angehängte Dateien:

Lesenswert?

Das sieht so aus:

von Mike (Gast)


Lesenswert?

Glenn Rathke schrieb:
> Wie muss es denn richtig aussehen, ich glaub ich hab ein
> Fehler gemacht?

Wenn du nicht verrätst, was du gemacht hast, wirst du möglicherweise 
ewig mit deinem Glauben leben müssen.

von Glenn R. (glenn_r)


Lesenswert?

R2 = (Uges*R1+R2)/U2
Ich bekomm das 2. R2 nicht weg..

von Klaus R. (klara)


Lesenswert?

Glenn Rathke schrieb:
> Das sieht so aus:

R2 hat 10K und R1 soll der Thermosensor sein. Laut Datenblatt hat der

Resistance Temperature Characteristics Thermosensor folgende Werte:

  0°C 333964 Ohm
 25°C 100000 Ohm
 50°C  35272 Ohm
100°C   6369 Ohm

Ich gehe davon aus, Du hast die Spannung an AIN0 gegen Masse gemessen. 
Wie kommst Du da auf 4,2V???

U_AIN0 = 5,0V (10K / (10K + 6,369K)
       = 3,05V

Also, wenn der Thermosensor 100°C warm wäre, dann lägen an AIN0 3,05V. 
Da Du da aber 4,2V gemessen hast, läge die Temperatur noch wesentlich 
höher.

Üblicher Weise geht man in diesem Fall bei der Bestimmung von R1 so vor, 
dass man sich zuvor überlegt welchen Temperaturbereich man erfassen 
möchte.

Also, wenn Du Zimmertemperaturen messen möchtest dann nimm 100K.
Wenn Du kochendes Wasser messen möchtest dann nimm 6,8K.

Damit liegst Du schon einmal bei Deiner Zieltemperatur bei 2,5V an AIN0, 
vorausgesetzt VREF liegt auf 5,0V. Das ist zwar noch nicht optimal aber 
ein vernünftiger Anfang.

von Glenn R. (glenn_r)


Lesenswert?

Ohhh mist da hab ich ein Denkfehler gehabt. die gemessene Spannung liegt 
natürlich bei 0.6V nicht bei 4.2. Ich brauche nur den Widerstand des 
Sensors, dann mach ich mit der steinhart Gleichung ne Temperatur draus.
Die Steinhart funktioniert schon, aber der Teil mit dem Widerstand nicht
:(
Ich brauch einfach nur die umgestellte Formel für den Thermowiderstand.
Ich bin ja anscheinend nicht in der Lage eine Formel umzustellen...

von John (Gast)


Lesenswert?

Glenn Rathke schrieb:
> R2 = (Uges*R1+R2)/U2
> Ich bekomm das 2. R2 nicht weg..

R1=((Uges-U2)*R2)/U2

von Klaus R. (klara)


Lesenswert?

Glenn Rathke schrieb:
> R2 = (Uges*R1+R2)/U2

U_AIN0 = Uges (R2 / (R2 + R1))

Um in der Wertetabelle eine Temperatur ermitteln zu können, brauchst Du 
den Widerstand des Sensors = R1.


U_AIN0 = Uges (1 / (1 + R1/R2))

(1 + R1/R2) = Uges / U_AIN0

R1/R2 = (Uges / U_AIN0) - 1

R1 = 1 - ((Uges / U_AIN0) -1  ) * R2

von Mike (Gast)


Lesenswert?

Glenn Rathke schrieb:
> R2 = (Uges*R1+R2)/U2

In der Gleichung kann was nicht stimmen!

Uges*R1 hat die Dimension Spannung*Widerstand (Einheit z.B. V*Ω)
R2 hat die Dimension eines Widerstandes (Einheit z.B. Ω)

Man kannst nicht Birnen und Äpfel zusammenzählen.

von Carsten R. (kaffeetante)


Lesenswert?

 Dem Mike eine Tasse Kaffee rüberschieb 

Alles gut, da wird noch durch U2 geteilt.
So bleibt beidseits nur Ohm.

: Bearbeitet durch User
von John (Gast)


Lesenswert?

Carsten R. schrieb:
> Alles gut, da wird noch durch U2 geteilt.
> So bleibt beidseits nur Ohm.

(VΩ+Ω)/V ergibt nicht Ω.

Mit einer zusätzlichen Klammer würde zumindest die Einheit passen:
-> R2 = (Uges*(R1+R2))/U2
Ist aber trotzdem falsch. Richtig ist:
R2=(U2*(R1+R2))/Uges

Glenn Rathke schrieb:
> Ich bin ja anscheinend nicht in der Lage eine Formel umzustellen...

von Carsten R. (kaffeetante)


Lesenswert?

Argh, ab die falsche Klammerung nicht erkannt.
Ok, da war ich wohl derjenige der nochmal in die Kaffeetasse schauen 
sollte :D

von Klaus R. (klara)


Lesenswert?

Klaus Ra. schrieb:
> Glenn Rathke schrieb:
>> R2 = (Uges*R1+R2)/U2
>
> U_AIN0 = Uges (R2 / (R2 + R1))
>
> Um in der Wertetabelle eine Temperatur ermitteln zu können, brauchst Du
> den Widerstand des Sensors = R1.
>
>
> U_AIN0 = Uges (1 / (1 + R1/R2))
>
> (1 + R1/R2) = Uges / U_AIN0
>
> R1/R2 = (Uges / U_AIN0) - 1
>
> R1 = 1 - ((Uges / U_AIN0) -1  ) * R2

In der letzten Zeile hatte ich einen Schreibfehler.

R1/R2 = (Uges / U_AIN0) - 1

R1 = ((Uges / U_AIN0) -1  ) * R2

Ich hatte die Umwandlungen auf Papier vollzogen und nur die wichtigsten 
Schritte hier übertragen. Dabei ist beim letzten Schritt ein "1 - " zu 
viel übrig geblieben.

Ich verstehe nicht warum nach R2 aufgelöst wurde. R2 wird vorgegeben. 
Der AD-Wandler liefert die Spannung U_AIN0 und daraus wird der 
Widerstand des Sensors bestimmt. Es wird also nach R1 gesucht!

Ich selber arbeite mit dem gleichen Grundprinzip um Messwerte von PT1000 
auszuwerten.

mfg Klaus.

: Bearbeitet durch User
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.