Forum: Mikrocontroller und Digitale Elektronik Arduino Temperatursensor


von Alexander L. (alexander_l)


Lesenswert?

Hallo!

Ich hab ein Arduino und einen NTC mit der Aufschrift "503" der mit einem 
10k Widerstand einen Spannungsteiler bildet.

Alles zusammen + Beispiel- Sketch aus dem Netz sollte die Temperatur 
messen.

Das Problem ist, dass die Ergebnisse absolut nichts mit der 
tatsächlichen Raumtemperatur zu tun haben!

Kann mit da jemand helfen???

Danke schonmal!!!

von Harald W. (wilhelms)


Lesenswert?

Alexander L. schrieb:
> Hallo!
>
> Ich hab ein Arduino und einen NTC mit der Aufschrift "503" der mit einem
> 10k Widerstand einen Spannungsteiler bildet.
>
> Alles zusammen + Beispiel- Sketch aus dem Netz sollte die Temperatur
> messen.
>
> Das Problem ist, dass die Ergebnisse absolut nichts mit der
> tatsächlichen Raumtemperatur zu tun haben!
>
> Kann mit da jemand helfen???

Der Zusammenhang zwischen Temperatur und Widerstand ist bei einem
NTC unlinear. Normalerweise verwendet man eine Tabelle zur Umset-
zung. Wie macht das denn Dein Ardunio?
Gruss
Harald

von Bitwurbler (Gast)


Lesenswert?

Harry W. hat recht.
Alternativ jibbet noch die Hart-Steinhart-Formel (die heißt tatsächlich 
so) um den Widerstand in Abhängigkeit der Temperatur auszurechnen. Dazu 
mußte aber das Datenblatt des NTCs kennen.
Übrigens: 503 bedeutet 50 x 10^3 = 50kOhm (bei 25°C)

von Michael H. (michael_h45)


Lesenswert?

Alexander L. schrieb:
> Kann mit da jemand helfen???
Ohne Typenangabe oder Schaltplan und v.a. ohne Quellcode: aber klaaaar, 
natürlich! Hier, bitte: der Fehler passiert zwischen Monitor und Stuhl.

von Alexander L. (alexander_l)


Lesenswert?

http://arduino.cc/playground/ComponentLib/Thermistor (The Elaborate 
Code)


Bitwurbler schrieb:
> Übrigens: 503 bedeutet 50 x 10^3 = 50kOhm (bei 25°C)

Ich nehme an, ich muss die 10kOhm gegen 50kOhm ersetzen und er Keks ist 
gegessen?

@Michael H.:

Michael H. schrieb:
> Alexander L. schrieb:
>> Kann mit da jemand helfen???
> Ohne Typenangabe oder Schaltplan und v.a. ohne Quellcode: aber klaaaar,
> natürlich! Hier, bitte: der Fehler passiert zwischen Monitor und Stuhl.

Alexander L. schrieb:
> NTC mit der Aufschrift "503" der mit einem
> 10k Widerstand einen Spannungsteiler bildet.

Ich Denke Typenbezeichnung und Schaltplan sind sinngemäß enthalten.
Beim Quellcode muss ich dir Recht geben, aber so viele Besipiel Sketches 
gibt es auch wieder nicht.

Die Frage ist zwischen wessen Monitor und Stuhl.

von holger (Gast)


Lesenswert?

>Ich nehme an, ich muss die 10kOhm gegen 50kOhm ersetzen und er Keks ist
>gegessen?

Nein. Wenn du die Kennlinie deines Fühlers nicht hast musst
du ihn selber ausmessen. Also nix mal so Widerstand ändern
und das Thermometer zeigt Temperatur an.

Kauf dir nen digitalen Temperatursensor ala DS18S20
DS18B20 oder so. Da findest du auch Code zu.

Ich papp mal nen NTC in einen Spannungsteiler und die
genaue Temperatur kommt von alleine geflogen ist ein
Wunschtraum.

von Weingut P. (weinbauer)


Lesenswert?

der DS1820 ist aber nicht gerade der schnellste ... würd eher zum LM75 
raten

von Alexander L. (alexander_l)


Lesenswert?

Ok wenn das so ist muss ich es anders machen.
Im Prinzip geht es nur um eine Unter- bzw. Obergrenze.

d.h ich bringe den Sensor jeweils auf die entsprechende Temperatur und 
schreibe mir die Werte auf.

Ich benutze dann also nicht if(Temp < 20°C){...}
sondern if(Temp < 873){...} je nach dem welcher wert bei entsprechender 
Temperatur gemessen wurde.

von Karl H. (kbuchegg)


Lesenswert?

Alexander L. schrieb:
> Ok wenn das so ist muss ich es anders machen.
> Im Prinzip geht es nur um eine Unter- bzw. Obergrenze.
>
> d.h ich bringe den Sensor jeweils auf die entsprechende Temperatur und
> schreibe mir die Werte auf.
>
> Ich benutze dann also nicht if(Temp < 20°C){...}
> sondern if(Temp < 873){...}

Das hättest du sowieso gemacht.
Wozu erst aufwändig einen Messwert in einen anderen umrechnen nur um ihn 
mit einer Grenze zu vergleichen? Ist nur Rechnerei für nichts. Da kann 
man genausogut einmalig die Grenzen zurückrechnen. Das ersparst du dir 
jetzt und misst sie stattdessen am realen Objekt.

von Michael H. (michael_h45)


Lesenswert?

> Michael H. schrieb:
>> Alexander L. schrieb:
>>> Kann mit da jemand helfen???
>> Ohne Typenangabe oder Schaltplan und v.a. ohne Quellcode: aber klaaaar,
>> natürlich! Hier, bitte: der Fehler passiert zwischen Monitor und Stuhl.
>
> Alexander L. schrieb:
>> NTC mit der Aufschrift "503" der mit einem
>> 10k Widerstand einen Spannungsteiler bildet.
Spannungsteiler WIE gepolt? Sitzt der NTC oben oder unten? An welcher 
Spannung? Welche Referenz? ADC-Einstellungen? Wie sehen die Messwerte 
aus?

> Ich Denke Typenbezeichnung und Schaltplan sind sinngemäß enthalten.
ja... genauso gut wie deine haarfarbe...

> Beim Quellcode muss ich dir Recht geben, aber so viele Besipiel Sketches
> gibt es auch wieder nicht.
und die soll ich mir suchen, weil du hilfe brauchst?
kaum...

> Die Frage ist zwischen wessen Monitor und Stuhl.
dessen, der hier hilfe sucht und nichts verraten kann...

von Weingut P. (weinbauer)


Angehängte Dateien:

Lesenswert?

hab vor Ewigkeiten mal die Steinhart-Hart-Gleichung in ne 
Tabellenkalkulation gehauen, kann man die A-B-C-Werte für die Berechnung 
aus Messwerten oder Datenblattangaben errechnen, oder den Widerstand bei 
bestimmter Temperatur, von da ists dann nicht mehr weit mit Einbeziehung 
des Spannungsteilers Deine Grenzwerte zu ermitteln

von Bitwurbler (Gast)


Lesenswert?

>Ich nehme an, ich muss die 10kOhm gegen 50kOhm ersetzen und er Keks ist
>gegessen?

Wie die Vorredner schon schrieben: Is nich. Du brauchst das Datenblatt 
des NTC und muß daraus die Beiwerte entnehmen und in diese eisenharte 
Formel einsetzen. Ich habe aber mal ne ähnliche Schaltung von einem 
Olimex PIC-WEB Board gesehen:

Vcc -> 10KOhm-NTC -> 10kOhm-Widerstand -> gnd.

Abgriff zum ADC zwischen dem Spannungsteiler.
Dort wurde mit einer ganz simplen Formel, sogar ohne 
Logarithmus-Funktion die Temperatur angenähert und das passte dann auch 
tatsächlich so lala. Bei Raumtemp war er wohl 2..3 Grad daneben. 
Vielleicht kennt diese Vorgehensweise jemand und hat den Code-Schnipsel 
dafür.

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.