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?
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
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.
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....:-)
@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
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
@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
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
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 ?
> 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
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....
>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...)
>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....