Temperaturberechnung anhand Fühlerwertes

Neue Frage »

Pitter Auf diesen Beitrag antworten »
Temperaturberechnung anhand Fühlerwertes
Hallo zusammen,

ich stehe da vor einem Problem, was ich nicht lösen kann... verwirrt
Habe mir schon fast die Ohren gebrochen, aber kriege das einfach nicht hin...
Ich habe lineare Werte eines Temp-Fühlers und muss für meine VB-Applikation eine Gleichung haben.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
temp	wert
0	0
50	25,85
100	52,69
150	80,1
200	107,79
250	135,55
300	163,27
350	190,9
400	218,48
450	246,1
500	273,93
550	302,16

Damit ich die Temperatur errechnen kann, benötige ich eine Gleichung wie:

temperatur=(analogwert des Fühlers-x)/y

Bitte helft mir...

Danke
Pitter
Pitter Auf diesen Beitrag antworten »

Noch Mal Tach zusammen... Habe mich eben mal registriert...

Noch einmal zur Verständnis:

Das Thermoelement bringt pro Grad 51Mikrovolt, die 0° entsprechen 0 Mikrovolt.

Sprich bei 1°C bringt das Element 50 Mikro, bei 2° 101 Mikro usw...

Ich blamier mich hier bis auf die Knochen... aber ich finde keinen Ansatz um das auf die Reihe zu kriegen...

Help plz... traurig
riwe Auf diesen Beitrag antworten »

schon mal etwas von GERADE gehört verwirrt

was heißt VB verwirrt
mYthos Auf diesen Beitrag antworten »

VB = Visual Basic
Big Laugh
mY+
Pitter Auf diesen Beitrag antworten »

Hallo riwe und mYthos,

danke für Eure Antworten. Freude

Möglicherweise habe ich nicht im richtigen Forum gepostet, da ich weder Schüler, noch Student bin....mit knappen 48 Lenzen auf dem Buckel und 30 Jahren Schulabstinenz... Augenzwinkern Also seit bitte gnädig mit mir...Dafür kann ich noch nen einfachen und auch verschachtelten Dreisatz Augenzwinkern

Mein Problem ist nicht, das in ein Koordinatensystem zu bringen, auch nicht getrennt nach Temperatur und Mikrovolt.

Mein Problem ist, dafür eine Formel zu finden, die mit festen Werten die Temperatur bestimmt.

Meine Software liest den Mikrovolt-Wert aus und multipliziert diesen mit 100, um einen verarbeitbaren Wert zu bekommen. Mit Mikrovolt kann man im PC nicht viel anfangen. Die Temperatur ist natürlich unterschiedlich steigend und fallend, so dass ich nicht mit Tabellen arbeiten kann.

Um dann mit der Temperatur weiter arbeiten zu können und diese auch optisch darzustellen brauche ich halt eine Formel....und da hängt meine Welt der Zahlen...

Wie kriege ich das hin, dass ich folgendermassen rechnen kann:

Temperatur = (mV - X)/Y

Ich denke, dass es mit einer Formel dieser Größe reichen sollte... vielleicht bin ich aber auch zu blööd dafür...

Vielleicht seit Ihr so nett und helft mir aufs Pferd?!?

Danke schon mal...

Gruß
Pitter
magneto42 Auf diesen Beitrag antworten »

Im Physikerboard wärest Du vielleicht besser dran gewesen, aber ich denke ich weiß was Du willst. D hast eine Meßreiche zwecks Kalibrierung durchgeführt um anschließend aus Meßwerten in [µV] auf die Temperatur in [°C] zu schließen. Wenn Temperatur und Microvolt wirklich einem linearen Gesetz genügen (, Dein Bild scheint das zu bestätigen) kannst Du die Koefizienten a und b mit der Regressionsformel ausrechen.

Algemeine Formulierung:

Lineare Abhängigkeit (x ist dabei die µV, y ist Deine Temperatur):


Koefeizienten:




Es bedeutet dabei z.B.


Du müßtest daher in einer For-Next-Schleife ersteinmal [x], [y], [xy] und [xx] berechnen, Koeffizienten a und b bestimmen und and die Temperaturfunktion übergeben.

Hilft das?
 
 
Pitter Auf diesen Beitrag antworten »

Hallo magneto42,

wenn ich ehrlich bin, ich wüsste nicht, wie ich die Koeffizienten errechnen sollte. Das ist ne Nummer zu hoch für mich... unglücklich

Was ist denn "n"...und was ist [xy] und [xx]...ich weiß, für Euch vielleicht ne Kleinigkeit, aber für mich einfach nur "Böhmische Dörfer"
magneto42 Auf diesen Beitrag antworten »

Also, n ist die Anzahl Deiner Kalibrationsdaten, und [x], [xy] etc. sind die Summen dieser Daten. In welcher Form liegen denn die Werte Deiner Tabelle vor? Hast Du die selber gemessen? Ist das eine Einmalmessung oder wird die Kalibrierung öfter wiederholt? Ich weiß nicht, ob es erlaubt ist hier im Matheboard VisualBasic-Code hin- und herzuposten, aber die Umsetzung der obigen Formeln ist jedenfalls nicht schwer.
Pitter Auf diesen Beitrag antworten »

Hallo magneto,

ich habe eine Tabelle mit den Daten des Fühlers, aus denen ich die Eckdaten in meine Koordinaten eingegeben habe.
Diese Tabelle geht in 1°C-Schritten von 0-750°C und liegt mir als PDF-File vor.

Wenn Du mir dabei helfen könntest...schick ich dir ne PM mit meiner Mailadresse.

Gruß
Pitter
magneto42 Auf diesen Beitrag antworten »

Hilft Dir der folgende Code weiter (quickhack von mir)?

Kalibrationsdaten einlesen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
n = 10
Dim V(n)
Dim T(n)

Open "C:\Kalib.dat" For Input as #1

For i = 1 To n
  Input #1, V(i), T(i)
Next i

Close #1



Summen erstellen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
sx = 0
sy = 0
sxy = 0
sxx = 0

For i = 1 To n
  sx = sx + V(i)
  sy = sy + T(i)
  sxy = sxy + V(i) * T(i)
  sxx = sxx + V(i) * V(i)
Next i


Koefizienten ausrechnen:

code:
1:
2:
3:
4:
a = (sx * sy - n * sxy) / (sx * sx - n * sxx)
b = (sx * sxy - sy * sxx) / (sx * sx - n * sxx) 



Funktion:

code:
1:
2:
3:
4:
5:
Function MyTemp (V, a, b)
   MyTemp = a * V + b
End Function
riwe Auf diesen Beitrag antworten »

also die trendlinie von excel sagt (x in mV):



bzw. wenn die kurve durch den nullpunkt gehen soll:



da braucht man doch kein VBA verwirrt
magneto42 Auf diesen Beitrag antworten »

Ich weiß ja nicht wieviel Daten wirklich für die Regression gebraucht werden, deshalb habe ich mal den allgemeinen Weg dargelegt. Aber ist schon richtig, man kann die Koeffizienten auch von Excel ausrechen lassen und die Funktion hardcoden (ich übernehme mal riwe's Werte):

code:
1:
2:
3:
4:
5:
Function MyTemp (V)
   MyTemp = 1.8148 * V + 3.2629
End Function


Durch den Nullpunkt zwingen ist für eine Regression nicht so gut, da es hier um reale Meßwerte von realen Geräten geht; die liegen meißt etwas verschoben.
Pitter Auf diesen Beitrag antworten »

Danke Euch Beiden für Eure Mühe,

ich probiere beide Versionen morgen mal aus, wobei mir der Lösungsansatz von magneto jetzt einleuchtet... So verstehe ich das auch Freude

@ riwe: Ich bastel so viel mit VB.net (unter Anderem jetzt diese komplexe Ofensteuerung mit einigen unterschiedlichen Rampenfunktionen, Heiz- und Kühl-Zyklen) da denkt man vielleicht anders, als Du. Deine Formel aufgelöst in die Daten ergibt aber leider für mich das falsche Ergebnis... unglücklich

302,1 mVolt = 500°C


anstatt 500 Grad zu ergeben..oder habe ich da was falsch verstanden?
magneto42 Auf diesen Beitrag antworten »

Du bist in der Zeile verrutscht. Laut obiger Tabelle entspricht 273,93 mV 500 °C:

1,8148 * 273,93 + 3,2629 = 500,39
Pitter Auf diesen Beitrag antworten »

Aaach... sorry...

langsam sehe ich vor Zahlen die Bäume nicht mehr... verwirrt

danke für den Hinweis!!!
Dann stimmt natürlich auch die Formel. Hammer

Also Gute Nacht zusammen... ist wohl zu spät für mich...
riwe Auf diesen Beitrag antworten »

ich hätte es halt so gemacht:
1)eichung auf einem eigenen blatt
2) übernahme der regressionswerte (einmal händisch) von a und b auf das "auswertungsblatt"
dort gibt man dann einfach den mV-wert ein - fertig

da ist halt meiner meinung nach die bedienung viel einfacher.

kannst ja das muster zum exportschlager machen, umrechnung in fahrenheit inclusive ("makro" ist garantiert harmlos verwirrt )unglücklich
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »