Forum: Analoge Elektronik und Schaltungstechnik Fehler in NTC berechnung :-(


von Abgebrühter (Gast)


Lesenswert?

Hallo,

ich habe eine Frage zu einem Aufbau mit einem NTC (diesen: 
http://www.elektronik-am-pc.de/include.php?file=elektronik/pcthermometer/Hardware.htm&PHPKITSID=1056d09fe0019c10c4880b1ab5ed70f9)

Und zwar habe ich einen Spannungsteiler mit einem 10k NTC (R25: 10k | 
B-wert: 3977) und einem 10k Festwiderstand aufgebaut. Über dem ganzen 
liegt 5V.

Jetzt erhalte ich aber durch die im Link angegeben Formel (t = 1 / 
(Log(R1 / 10) / B-Wert + 1 / 298) – 273 ) eine Temperatur von -29,69°C 
wenn ich den NTC auf 10k stelle – ich hätte da jetzt genau 25°C 
erwartet.

Kann mir jemand sagen, was da falsch ist?

von Stefan (Gast)


Lesenswert?

Was eine vernünftige Klammerung alles ausmachen würde...
Zudem wird der natürliche Logarithmus gewöhnlich mit ln bezeichnet... 
der NTC folgt schließlich einer e-Funktion!
http://de.wikipedia.org/wiki/Hei%C3%9Fleiter

von Abgebrühter (Gast)


Lesenswert?

Ich komme immer noch nicht klar, ich komme  :-(
kann mir jemand das anhand eines richtigen Beispiels erklären wie ich 
auf die Temperatur komme?

von gast (Gast)


Lesenswert?

Hier haben andere schon solche Probleme gehabt.
Da hilft dann die Suchfunktion.

Treffer z.B.:

Beitrag "Temperaturmessung mit NTC"

Ganz unten ist eine Berechnung und ein kpl. Projekt.

von Bumblebee (Gast)


Lesenswert?

Hallo zusammen,

schon interessant, zu welchen Ergebnissen man kommt, wenn man einfach 
immer blind alles kopiert.

Der natürliche Logarythmus wird mit ln angegeben, dies ist richtig.

Wer sich aber auf der Seite umsieht, wird merken, dass sich das Ganze 
auf Visual Basic bezieht.

VB kennt jedoch keine ln -Funktion. Dort beschreibt die Funktion LOG den 
natürlichen Logarythmus !!!
Warum dem so ist, muss man bei Microsoft hinterfragen....

Punkt zwei:
Klammern sind immer gut.
Jedoch auch hier wieder das Gleiche.
Versuche es mal so in Visual Basic einzugeben und lass dir die 
Temperatur berechnen....

Bei mir funktioniert das wunderbar....:-)
Exakt die gleiche Formel in dieser Konstellation benutze ich nunmal 
auch...

Der Webmaster der Seite des o.g. Links....:-)

von Bumblebee (Gast)


Lesenswert?

@Stefan:

Wo müsste denn Deiner Meinung nach noch eine Klammer hin???

Die Klammern sind alle eindeutig gesetzt.
Jetzt muss man nur noch den Grundgesetzen der Mathematik folgen!
Ich sag es mal in Grundschuldeutsch: Punktrechnung vor Strichrechnung

Dann kann auch nichts mehr schiefgehen.....:-)

Sollte man natürlich noch wissen.


Schönen Gruß
Bumblebee

von Abgebrühter (Gast)


Lesenswert?

Streitet euch ruhig weiter, ich nehme den LM75 ... nee... also über eine 
Lösung würde ich mich echt freuen!

von Bumblebee (Gast)


Lesenswert?

Hallo,

ich streite doch gar nicht.
Nur wenn man Kritik äussert, dann sollte man doch auch einen 
konstruktiven Vorschlag machen.

Du hast Dir die Formel von meiner Seite genommen und ich antworte nun 
darauf.
Ist doch ok, oder nicht?

Die Formel ist ok und sie funktioniert.
Lediglich das Ln und Log war unplausibel.

Wenn man die Formel von Hand ausrechnen möchte, dann muss man natürlich 
den natürlichen Loga. Ln nehmen.
Visual Basic kennt aber nur die LOG-Funktion die aber genau das Gleiche 
macht.

Von daher etwas verwirrend...dem stimme ich zu.

Wie berechnest Du denn deine Temperatur??
Mit welcher Programmiersprache oder Tools?
Womit misst Du die Spannung???
Wie berechnest Du denn den Widerstand des NTC?

Bin doch bereit Dir zu helfen....

Bumblebee

von Stefan (Gast)


Lesenswert?

@Bumblebee
Ich versteh'gar nicht was Du hier so rumzickst...
... habe Dich und Deine Seite in keinem Wort angegriffen!

Die konstruktiven Vorschläge lauten:

1.) Die Klammerung stimmt (habe ich aber auch nie betsritten!)
Nur finde ich diese Darstellungsform für den normalen Gebrauch 
unhandlich, unübersichtlich und fehlerträchtig...

2.) In dem Wiki-Link ist genau dieselbe Formel auch dargestellt, nur um 
B*Tn erweitert. Eine für mich sehr viel besser lesbare und 
verständlichere Form.
(... nichts desto trotz kann man die andere natürlich in einem Programm 
implementieren, doch der TE machte den Eindruck, "von Hand" rechen zu 
wollen...)

3.) Im Wiki-Link ist der "richtige" Logarithmus verwendet. Der TE hat 
nämlich sehr wohl mit log10 gerechnet, sie am Ende

4.) Die Formel ist sehr wohl falsch, denn Rn = 10k und nicht "nur" 10
--> log(R1/10k)

Rechnung des TE:

[1 / { (log(10k/10)/3977) + (1/298) }] - 273 = -29,69

richtig:

[1 / { (ln(10k/10k)/3977) + (1/298) }] - 273 = 25,0

von Bumblebee (Gast)


Lesenswert?

Na siehste...geht doch...

Und ausserdem zicke ich doch gar nicht....:-)

Habe in meinem ersten Beitrag jedoch schon geschrieben, dass ich vb 
benutze.....und dort ist log = ln...

Habe dies jedoch auch nunmehr zum Anlass genommen, dies nochmals 
explizit auf der Seite aufzuführen.

Somit sollten hier Missstände nun nicht mehr aufkommen.

Und 10K oder 10...ok...aber versuch mal 10k bei VB einzugeben....:-)

Wenn man es von Hand rechnet gebe ich Dir natürlich recht.
Aber dazu war meine Ausführung nun eigentlich nicht wirklich gedacht...

Naja egal..

Ich hoffe nunmehr konnte dem Fragesteller geholfen werden.

Gruß
Bumblebee

von Michael (Gast)


Lesenswert?

Mit welchem Gerät misst Du denn die Spannung?

Auf einem uController ist die Berechnung mit dem Logarithmus sehr 
Rechenzeitintensiv!!
Einfacher geht es, einen weiteren Widerstand zu spendieren und die 
NTC-Kennlinie damit zu linearisieren.
Dann brauchst Du mit akzeptabler Genauigkeit (ca. 0.5 - 2 °C) und sehr 
wenig Rechenaufwand den Wert direkt berechnen.

http://www.epcos.com/web/generator/Web/Sections/ProductCatalog/Sensors/TemperatureMeasurement/PDF/PDF__Applicationnotes,property=Data__en.pdf;/PDF_Applicationnotes.pdf

Seite 3 beschreibt was man tun muss.

von Messtechniker (Gast)


Lesenswert?

aus dem PDF:
"The circuit sensitivity however decreases with linearization."
Das ist der Knackpunkt.
Und ganz linear wird es auch so nicht.

Im Avr Butterfly ist ein  Thermometer mit einem NTC drin.
Da die Sourcen zugänglich sind, kannst Du nachschauen, wie dort die 
Temperatur aus dem ADC-Wert "berechnet" wird: sie schauen einfach in 
einer Tabelle nach.

In der Beschreibung steht zwar eine dicke Formel (ob die überhaupt 
stimmt), aber im Quelltext wird mit keinem Wort darauf eingegangen.

N.B.
Es ist ein großer Unterschied, ob man den Widerstandswert des NTCs oder 
die Spannung des Spannungsteilers berechnen will.


> aber versuch mal 10k bei VB einzugeben....:-)
10000 ?

von Bumblebee (Gast)


Lesenswert?

> aber versuch mal 10k bei VB einzugeben....:-)
10000 ?

Aha....:-)

Das war mir auch klar....ich meinte "10k"....
ob man nun 10000 : 10000 rechnet oder 10 durch 10, sollte nach allen 
Regeln der Mathematik gleich sein....ergibt beides 1.

In einer mathematischen Berechnung kann man jedoch nicht "10k" bei VB 
eingeben, da dieses dann als String gewertet wird.
Dieses würde bei 10k zu einem Syntaxfehler führen und "10k" zu einem 
Laufzeitfehler "Typen unverträglich".

Also 10 ....
Alternativ ginge es natürlich z.B. mit Val("10k")

Naja...ob es die Formel bersichtlicher macht?? Wohl kaum...

Da sich die Einheit jeoch eh wegstreicht, kann man sie auch gleich 
weglassen...:-)

Gruß
Bumblebee

von Gast4 (Gast)


Lesenswert?

>Da sich die Einheit jeoch eh wegstreicht, kann man sie auch gleich
weglassen...:-)

Wobei das k keine Einheit ist.

Gast4 ;-)

von Bumblebee (Gast)


Lesenswert?

Hier wird aber alles sehr genau genommen....

Von mir aus auch kOhm.....dann ist es eine Einheit....

macht dennoch keinen Unterschied....

Ich dachte ein wenig Intelligenz sei hier zu erwarten....

Leben ist das was passiert, während Du etwas anderes planst....

von Stefan (Gast)


Lesenswert?

>Hier wird aber alles sehr genau genommen....
Da bist Du ja Vorreiter!

>Ich dachte ein wenig Intelligenz sei hier zu erwarten....
Anscheinend hast Du die geringste Peilung, um was es hier eigentlich 
geht!

>Von mir aus auch kOhm.....dann ist es eine Einheit....
>macht dennoch keinen Unterschied....
Doch macht es, weil das ursprüngliche Problem des TE genau darin 
begründet liegt, dass er 10k/10 rechnet (... für Dich 10000/10...)

von Bumblebee (Gast)


Lesenswert?

>Anscheinend hast Du die geringste Peilung, um was es hier eigentlich
geht!

Ich werde mir nochmal Gedanken drüber machen....

>Doch macht es, weil das ursprüngliche Problem des TE genau darin
begründet liegt, dass er 10k/10 rechnet (... für Dich 10000/10...)

Aha....

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.