Forum: Mikrocontroller und Digitale Elektronik Temperatursensor TD5A zeigt falsche Werte an(Arduino)


von Achim S. (ahmooo)


Lesenswert?

Hallo Leute,

ich habe mir einen analogen Temperatursensor TD5A zugelegt.
http://uk.farnell.com/honeywell-s-c/td5a/sensor-temperature/dp/1608193

Ich habe ihn an den Arduino Leonardo angeschlossen, jedoch zeigt er 
Werte von über 700 an.

Wie kann ich es schaffen, dass er mir die genaue Temperatur anzeigt?

Mit meinem LM35 hat es mit dieser Funktion super funktioniert:
temp[1] = (5.0 * analogRead(LM35) * 100.0) / 1024;


Ich bitte um euere Hilfe.

MFG

von spess53 (Gast)


Lesenswert?

Hi

>Wie kann ich es schaffen, dass er mir die genaue Temperatur anzeigt?

Datenblatt lesen. Der TD5A und der LM35 sind zwei grundsätzlich 
unterschiedliche Sensoren.

MfG Spess

von Achim S. (ahmooo)


Lesenswert?

Ich hab nicht viel Ahnung von Datenblättern lesen. Ist es eine 
kompliziertere Formel?

von Karl H. (kbuchegg)


Lesenswert?

Achim Schmitt schrieb:

> Mit meinem LM35 hat es mit dieser Funktion super funktioniert:
> temp[1] = (5.0 * analogRead(LM35) * 100.0) / 1024;

Schön. Nur ist ein LM35 nun mal kein TD5A

> Wie kann ich es schaffen, dass er mir die genaue Temperatur anzeigt?

ein TD5A ist nichts weiter als ein temperaturabhängiger Widerstand. Mit 
dem brauchst du erst mal eine Schaltung, die den Widerstandswert in eine 
Spannung umsetzt, damit du die dann mit dem ADC messen kannst.

http://pdf1.alldatasheet.com/datasheet-pdf/view/539486/HONEYWELL/TD5A.html

von Achim S. (ahmooo)


Angehängte Dateien:

Lesenswert?

Meine Schaltung befindet sich im Anhang. Ich habe einen 5k Ohm 
Wiederstand zwischen den Analogpin geschaltet.

Jetzt benötige ich sozusagen eine Formel oder eine Art Tabelle, wo ich 
sagen kann diese Gradzahl entspricht zb. dem Wert der von Arduino 
angezeigt wird.

Kann es mit der Spannungsteilerregel funktionieren?

von Karl H. (kbuchegg)


Lesenswert?

Achim Schmitt schrieb:
> Meine Schaltung befindet sich im Anhang. Ich habe einen 5k Ohm
> Wiederstand zwischen den Analogpin geschaltet.
>
> Jetzt benötige ich sozusagen eine Formel oder eine Art Tabelle, wo ich
> sagen kann diese Gradzahl entspricht zb. dem Wert der von Arduino
> angezeigt wird.
>
> Kann es mit der Spannungsteilerregel funktionieren?

mit der Spannungsteilerregel kannst du den Widertandswert ermitteln, 
denn der TD5A aufgrund der Temperatur hat.
Im Datenblatt ist eine Tabelle (und eine Grafik) in der angegeben ist, 
welcher Widerstandswert zu welcher Temperatur gehört. Ob die dort auch 
als Formel angegeben ist, hab ich schon wieder vergessen. Sonst muss man 
sich eben mit einem Werkzeug eine Formel einpassen lassen. Excel kann 
das.

Aber ein wenig musst du dich auch schon selbst damit beschäftigen.

von Achim S. (ahmooo)


Lesenswert?

Ich habe doch nur einen 5V Widerstand, wie kann ich da die 
Spannungsteilerregeln anwenden?

von Karl H. (kbuchegg)


Lesenswert?

Achim Schmitt schrieb:
> Ich habe doch nur einen 5V Widerstand, wie kann ich da die
> Spannungsteilerregeln anwenden?

Indem du mit einem 2.ten Widerstand einen Spannungsteiler damit machst? 
Bzw. im Datenblatt ist eine Schaltung angegeben, die eine variable 
Spannung abhängig vom Widerstandswert erzeugt (und das linear)

Wie wärs mal mit ein wenig Grundlagen büffeln? "Ich will" ist einfach 
auf Dauer zu wenig. Selbst auf Arduino.

: Bearbeitet durch User
von Achim S. (ahmooo)


Lesenswert?

Kannst du mir nicht ein Beispiel geben? Ich bin eine Niete in 
Elektrotechnik.

von Harald W. (wilhelms)


Lesenswert?

Achim Schmitt schrieb:

> Jetzt benötige ich sozusagen eine Formel oder eine Art Tabelle, wo ich
> sagen kann diese Gradzahl entspricht zb. dem Wert der von Arduino
> angezeigt wird.

Typischerweise erstellt man eine solche Tabelle selbst, indem man
den Sensor unterschiedlichen Temperaturen aussetzt und den dazu-
gehörigen Wert notiert. Bei typischen Raumtemperaturmessungen
reichen da oft zwei Werte, z.B. 0° und 37°.
Gruss
Harald

von Karl H. (kbuchegg)


Lesenswert?

Achim Schmitt schrieb:
> Kannst du mir nicht ein Beispiel geben? Ich bin eine Niete in
> Elektrotechnik.

Gegenfrage: Was gefällt dir denn am LM35 nicht?

Den hat dir ein freundlicher Mitmensch schon fix fertig aufbereitet, so 
dass sogar Nieten damit klarkommen und nichts lernen brauchen.

von Cyblord -. (cyblord)


Lesenswert?

Achim Schmitt schrieb:
> Kannst du mir nicht ein Beispiel geben? Ich bin eine Niete in
> Elektrotechnik.

Warum beschäftigst du dich dann überhaupt damit? Mach doch was, was du 
kannst und was dir Spaß macht.

von Achim S. (ahmooo)


Lesenswert?

Bringt die Formel etwas, die im Datasheet angegeben ist?

von Cyblord -. (cyblord)


Lesenswert?

Achim Schmitt schrieb:
> Bringt die Formel etwas, die im Datasheet angegeben ist?

Nein, die steht da nur zum Spaß

von Achim S. (ahmooo)


Lesenswert?

Es wäre korrekt, wenn du mir mal einen Ansatz geben kannst...
Es bringt mir ja nicht viel RT zu berechnen.

von Cyblord -. (cyblord)


Lesenswert?

Achim Schmitt schrieb:
> Es wäre korrekt, wenn du mir mal einen Ansatz geben kannst...
Du hast viele Ansätze bekommen.

> Es bringt mir ja nicht viel RT zu berechnen.
Warum nicht?

von Karl H. (kbuchegg)


Lesenswert?

Cyblord ---- schrieb:
> Achim Schmitt schrieb:
>> Es wäre korrekt, wenn du mir mal einen Ansatz geben kannst...
> Du hast viele Ansätze bekommen.
>
>> Es bringt mir ja nicht viel RT zu berechnen.
> Warum nicht?

Weil er keine quadratische Gleichungen lösen kann, bzw. auf alles mit 
der Nase gestossen werden muss.

von Karl H. (kbuchegg)


Lesenswert?

Cyblord ---- schrieb:
> Achim Schmitt schrieb:
>> Es wäre korrekt, wenn du mir mal einen Ansatz geben kannst...
> Du hast viele Ansätze bekommen.
>
>> Es bringt mir ja nicht viel RT zu berechnen.
> Warum nicht?

Weil er keine quadratische Gleichungen lösen kann, bzw. auf alles mit 
der Nase gestossen werden muss.

@TO
Im Datenblatt ist angegeben
1
RT = R0 + (Konstante * R0 * T) + ( Konstante * R0 * T*T )

RT wird gemessen! Deswegen veranstaltet man ja den ganzen Zauber, um RT 
zu messen.

Damit hast du eine quadratische Gleichung. R0 steht im Datenblatt (der 
Widerstand bei 0°C). T ist die Unbekannte. Schliesslich wollen wir ja 
die Temperatur T ermitteln. Und die kennen wir ja nicht.
Sowas wirst du ja wohl noch lösen können.

Und lies das nächste mal gefälligst selbst das Datenblatt. So Ausreden 
wie "Ich bin nich gut im Datenblattlesen" haben ich nämlich schon 
gefressen.
Wenn man etwas das erste mal macht, dann kann man nicht alles wissen. 
Das ist jedem zugestanden. Aber von vorn herein gleich abwinken und 
selber den Arsch nicht in die Höhe kriegen, das hab ich mitlerweile 
sowas von dick.

Du willst etwas machen und etwas bauen?
Dann lerne es! Das mussten wir alle hier. Keiner ist auf die Welt 
gekommen und hat das alles gekonnt. Wir alle haben uns auf den Hintern 
gesetzt und die Dinge gelernt. Warum? Weil wir es lernen wollten! Aber 
diese Generation von "Ich will zwar Superstar werden, kann aber keinen 
Ton singen" hängt mir mittlerweile ehrlich gesagt zu Hals raus. Ich hör 
immer nur "Ich will, Ich will". Ich hör aber nur ganz selten "Ich kann, 
Ich kann", und das sind dann die Lichtblicke, warum ich überhaupt noch 
im Forum bin. Ich will auch viel, aber vor dem Wollen kommt nun mal das 
Können.

: Bearbeitet durch User
von Achim S. (ahmooo)


Lesenswert?

So leicht wie du es hier darstellst, ist es nicht.

MIthilfe der Spannungsteilerregel konnte ich die Spannung für 20°C 
ermitteln

U=1,49V

Mit einem Dreisatz konnte ich rausfinden, dass somit 20°= 315,4 
entspricht.
5V sind ja 1023
1V ist dann 204,6
1,49V sind 315,4


Wie komm ich jetzt mit einer Formel von den 315 auf die 20°C?

von Karl H. (kbuchegg)


Lesenswert?

Achim Schmitt schrieb:
> So leicht wie du es hier darstellst, ist es nicht.
>
> MIthilfe der Spannungsteilerregel konnte ich die Spannung für 20°C
> ermitteln
>
> U=1,49V
>
> Mit einem Dreisatz konnte ich rausfinden, dass somit 20°= 315,4
> entspricht.
> 5V sind ja 1023
> 1V ist dann 204,6
> 1,49V sind 315,4
>
>
> Wie komm ich jetzt mit einer Formel von den 315 auf die 20°C?

Indem du den ganzen Rechengang umdrehst.

vom ADC kriegst du die 315
Aus den 315 und der Referenzspannung von 5V errechnet sich daher welche 
Spannung, die am ADC angelegen sein muss?

Wenn du die Spannung kennst und den einen Widerstand im Spannungsteiler, 
muss daher der andere Widerstand (der temperaturabhängige) welchen Wert 
haben?

Wenn du den Wert des temperaturabhängigen Widerstands kennst, welcher 
Temperatur entspricht das dann?


Einfach den kompletten Rechengang umdrehen!
Das ist so einfach wie einem Baby den Schnuller klauen. Formeln 
umstellen bzw. quadratische Gleichungen lösen sollte man halt können. 
Das eine ist Stoff der Schulstufe 8 und das andere Stoff der Schulstufe 
9.

: Bearbeitet durch User
von Achim S. (ahmooo)


Lesenswert?

Wenn ich aus der Spannung RT berechne also den Variablen Widerstand.
Woher weiss mein Arduino, dass zb RT=2kOhm 20°C entsprechen?

von Karl H. (kbuchegg)


Lesenswert?

Achim Schmitt schrieb:
> Wenn ich aus der Spannung RT berechne also den Variablen Widerstand.
> Woher weiss mein Arduino, dass zb RT=2kOhm 20°C entsprechen?

Weil der Hersteller so freundlich war, dir im Datenblatt die Formel zu 
geben, wie der Zusammenhang zwischen Widerstand und Temperatur ist
1
RT = R0 + (Konstante * R0 * T) + ( Konstante * R0 * T*T )

Das ist eine quadratische Gleichung in der Unbekannten T. Und sowas kann 
man lösen!
http://de.wikipedia.org/wiki/Quadratische_Gleichung

Bei dir ist eben T genau das, was in der Mathematik sonst normalerweise 
x heisst: die Unbekannte, deren Wert man wissen möchte.

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Karl Heinz schrieb:

> Das ist eine quadratische Gleichung in der Unbekannten T. Und sowas kann
> man lösen!

Muss man aber nicht. Man könnte einfach einen LM35 und fertigen Code 
nehmen, oder noch besser einen integrierten Tempsensor mit digitalem 
Interface oder ein K-Type Sensorelement und passenden Auswert-IC, 
ebenfalls mit digitalem Interface. Es gibt heute so viele Möglichkeiten, 
ohne solche Rechenspielchen an eine genaue Temperatur zu kommen. Da muss 
man eigentlich nicht hergehen, und dazu als Arduino-Voll-Noob, und 
anfangen Rohdaten mithilfe quadratischer Gleichungen umzwuwandeln.

von Karl H. (kbuchegg)


Lesenswert?

Cyblord ---- schrieb:

> Man könnte einfach ...

Man könnte vieles. Wenn man denn könnte. :-)

von Cyblord -. (cyblord)


Lesenswert?

Karl Heinz schrieb:
> Cyblord ---- schrieb:
>
>> Man könnte einfach ...
>
> Man könnte vieles. Wenn man denn könnte. :-)

Ja aber der TE ist hier auch 100% Beratungsresistent. Die angesprochenen 
Wege wären für einen Noob immernoch deutlich einfacher, als dieser hier. 
Aber er rückt ja keinen Millimeter von seinem Setup ab.

von Karl H. (kbuchegg)


Lesenswert?

Cyblord ---- schrieb:

> Aber er rückt ja keinen Millimeter von seinem Setup ab.

Wetten das in nächster Zeit wieder mal der Spruch "Ich will es ja 
lernen" auftaucht?

Die haben eine seltsame Vorstellung davon, wie Lernen funktioniert. 
Bloss nichts selber denken, bloss nichts selber lesen, bloss keine 
Eigeninitiative zeigen. Am besten wäre ein Youtube Video, in dem alle 
Handgriffe genau gezeigt werden.

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Karl Heinz schrieb:

> Weil er keine quadratische Gleichungen lösen kann, bzw. auf alles mit
> der Nase gestossen werden muss.

Nun, nachdem einige hier im Forum noch nicht einmal wissen,
wie man einen Dreisatz löst, erwarte ich nicht unbedingt,
das man quadritische Gleichungen lösen kann. Es gibt aber
eine Alternative: man setzt einfach in die gegebene Formel
feste Werte für die Temperatur ein, z.B. 0°, 10°, 20° usw.
und rechnet den dazugehörigen Widerstand aus. Die Zwischen-
werte kann man interpolieren.

von Achim S. (ahmooo)


Lesenswert?

Warum schreibt ihr hier überhaupt, wenn ihr euch den ganzen Tag nur am 
beschweren seid?
Keiner hat euch hier persönlich angeschrieben! Hinterm PC werden die 
Freaks zum Internetgangster.

von Karl H. (kbuchegg)


Lesenswert?

Harald Wilhelms schrieb:
> Karl Heinz schrieb:
>
>> Weil er keine quadratische Gleichungen lösen kann, bzw. auf alles mit
>> der Nase gestossen werden muss.
>
> Nun, nachdem einige hier im Forum noch nicht einmal wissen,
> wie man einen Dreisatz löst, erwarte ich nicht unbedingt,
> das man quadritische Gleichungen lösen kann.

Ich komm nicht umhin, dir zuzustimmen.

> und rechnet den dazugehörigen Widerstand aus. Die Zwischen-
> werte kann man interpolieren.

Und du denkst, diejenigen können dann interpolieren?


Egal wie man es dreht und wendet. Ohne einen gewissen Grundstock geht es 
nun mal nicht.
"Computer mach mal" funktioniert auf der Enterprise, aber nicht in 
unserer heutigen Zeit.

von Harald W. (wilhelms)


Lesenswert?

Karl Heinz schrieb:

> Und du denkst, diejenigen können dann interpolieren?

Dreisatz setze ich voraus. :-)

von Cyblord -. (cyblord)


Lesenswert?

Achim Schmitt schrieb:
> Warum schreibt ihr hier überhaupt, wenn ihr euch den ganzen Tag nur am
> beschweren seid?

Eigentlich hast du bisher nur sehr gute Tipps bekommen. Dein bisheriger 
Ansatz ist suboptimal, du bist zu Dumm ihn auszuführen. DAS wollte man 
dir bisher durch die Blume sagen. Nebst massenhaft 
Alternativvorschlägen.

> Keiner hat euch hier persönlich angeschrieben! Hinterm PC werden die
> Freaks zum Internetgangster.
Schau mal Bub, du bist es der hier null komma null Ahnung hat, aber 
dabei ne große Fresse. Also entweder du nimmst an, was man dir rät, oder 
du schleichst dich. Wie wärs?

: 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.