www.mikrocontroller.net

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


Autor: Abgebrühter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Frage zu einem Aufbau mit einem NTC (diesen: 
http://www.elektronik-am-pc.de/include.php?file=el...)

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?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Abgebrühter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....:-)

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Abgebrühter (Gast)
Datum:

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

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/Pr...

Seite 3 beschreibt was man tun muss.

Autor: Messtechniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast4 (Gast)
Datum:

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

Wobei das k keine Einheit ist.

Gast4 ;-)

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...)

Autor: Bumblebee (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.