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
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
ich hab das Spannungsteilergesetz umgestellt, es will aber nicht wirklich. Wie muss es denn richtig aussehen, ich glaub ich hab ein Fehler gemacht?
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.
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.
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.
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...
Glenn Rathke schrieb: > R2 = (Uges*R1+R2)/U2 > Ich bekomm das 2. R2 nicht weg.. R1=((Uges-U2)*R2)/U2
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
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.
Dem Mike eine Tasse Kaffee rüberschieb Alles gut, da wird noch durch U2 geteilt. So bleibt beidseits nur Ohm.
:
Bearbeitet durch User
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...
Argh, ab die falsche Klammerung nicht erkannt. Ok, da war ich wohl derjenige der nochmal in die Kaffeetasse schauen sollte :D
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.