Willkommen bei Hobbybrauer.de Willkommen bei Hobbybrauer.de
Startseite Forumsübersicht Impressum  
Hauptmenü

Suche
archiv.hobbybrauer.de mit Google durchsuchen:

Board Index FAQ
Forum

ACHTUNG: Auf dieses Forum kann nur noch lesend zugegriffen werden. Falls Du hier im alten Forum bereits registriert warst, musst Du Dich im neuen Forum mit dem gleichen Usernamen UND der gleichen E-Mailadresse NEU registrieren, damit Dein Ranking (Anzahl Deiner Posts) aus diesem Forum ins neue mit übernommen wird. Zum neuen Forum geht's hier

     
Autor: Betreff: Spindel Korrektur Formel bei anderer Temperatur
Junior Member
Junior Member


Beiträge: 44
Registriert: 9.12.2009
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 17:38  
Hallo ihr Rechen-Spezialisten,

auf diversen Seiten kann man immer wieder Korrekturtabellen für Spindeln aufgrund der Temperatur finden.
Auf Fabier zB gibt es auch einen Rechner...

Ich möchte auf meiner Hauseigenen Brausteuerung einen Rechner einbauen, jedoch konnte ich bisher keine Formel für die Berechnung finden.
Ich möchte ungern eine Tabelle zur Abfrage einbinden.

Habt ihr eine Idee wie eine Korrekturformel aussehen kann?

Danke euch.

Fritz


____________________
Grüße

Friedrich
Profil anzeigen
Junior Member
Junior Member


Beiträge: 44
Registriert: 9.12.2009
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 17:48  
Wie ich gerade gesehen habe, wurde das Thema schon mal hier behandelt:

http://hobbybrauer.de/modules.php?name=eBoard&file=viewthread &tid=18349

Also gibt's wohl keine genaue Formel, da das ganze nicht Linear ist.


____________________
Grüße

Friedrich
Profil anzeigen Antwort 1
Gast

Gast
red_folder.gif erstellt am: 4.9.2014 um 17:52  
Nur weil es nicht linear ist, müsste man es ja trotzdem berechnen können. Ich mag mir jedenfalls auch nicht recht vorstellen, dass diese Tabellen alle durch unzählige Messreihen zustandegekommen sind.

Allerdings kann ich dazu nichts sachdienliches beitragen und würde lediglich anmerken, dass mir diese Umrechnung sowieso einigermaßen suspekt ist. Ich kann zwischen 20 und 30 °C keinerlei Unterschied auf der Spindel erkennen, jedenfalls bei weitem nicht den Literaturwert. Möglicherweise dehnt sich also nicht jede Spindel so aus wie angenommen bzw. ich warte sowieso nicht lange genug, dass sie die Temperatur der Würze annimmt.
Antwort 2
Posting Freak
Posting Freak


Beiträge: 919
Registriert: 29.9.2007
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 18:20  

Zitat von Fritz Fedder, am 4.9.2014 um 17:52
ich warte sowieso nicht lange genug, dass sie die Temperatur der Würze annimmt.


Muss sie das denn ?

Weder das Gewicht noch das Volumen der Spindel ändert sich bei Erwärmung. Bei grosser Differenz kann natürlich die Spindel die korrekte Temperaturmessung der Würze beeinflussen.


[Editiert am 4.9.2014 um 18:21 von Tyrion]
Profil anzeigen Antwort 3
Gast

Gast
red_folder.gif erstellt am: 4.9.2014 um 19:54  
Naja, durch thermische Ausdehnung des Glases sollte sich das Volumen schon ändern. Und ich meine auch mal gelesen zu haben, dass man die Spindel auf Temperatur kommen lassen soll, weil das einkalkuliert sei. Für den Hausgebrauch ist es vermutlich absolut vernachlässigbar.
Antwort 4
Posting Freak
Posting Freak

HarryHdf
Beiträge: 893
Registriert: 25.5.2012
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 20:15  
...und nachdem die Dichte der Würze gemessen wird, ist ja die Spindel mit ihrer vergleichsweise geringen Masse auch nicht zwingend das Ausschlaggebende. Und die Dichte der Würze dürfte sich mit der Temperatur ... es wird also schon seinen Grund haben, warum da 20° draufsteht. Sicherlich wird es nicht um wirklich relevante Grössenordnungen handeln, aber wenn es jemand genau wissen will, dann will er es eben genau. Deswegenkauft er sich ja evtl. auch eine geeichte Spindel.

Harry

P.S. Sorry, passt irgendwie auch nicht zur eigentlichen Frage :-(


[Editiert am 4.9.2014 um 20:16 von HarryHdf]



____________________
Ich kann allem widerstehen, außer der Versuchung (Oscar Wilde)
Profil anzeigen Antwort 5
Posting Freak
Posting Freak

BerndH
Beiträge: 1762
Registriert: 6.1.2013
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 20:41  

Zitat:
Sicherlich wird es nicht um wirklich relevante Grössenordnungen handeln,

Sondern ? Hast du Dir mal angeguckt wieviel der Ablesewert vom tatsächlichen korrigierten Meßwert abweicht
wenn du z.B. statt bei 20 Grad bei 30 Grad misst ?
Wenn das "nicht wirklich relevant" wäre, gäbe es nicht die Notwendigkeit von Korrekturtabellen.


Grüsse

Bernd


[Editiert am 4.9.2014 um 21:00 von BerndH]
Profil anzeigen Homepage besuchen Antwort 6
Posting Freak
Posting Freak

HarryHdf
Beiträge: 893
Registriert: 25.5.2012
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 20:53  
Nein habe ich nicht, da ich keine Spindeln habe. Ich hätte aber eher geschätzt, daß es sich um Abweichungen im einstelligen Prozentbereich handelt. Dass es so gravierend ist, überrascht mich auch. Also umso sinnvoller, daß die Hersteller 20° draufschreiben.
Ändert aber leider auch nix dran, daß es wohl anscheinend keine Berechnungsformel gibt.

Harry

P.S.: Hast ja recht. Wer keine Spindel hat, sollte dann mal besser die Klappe halten.


[Editiert am 4.9.2014 um 20:56 von HarryHdf]



____________________
Ich kann allem widerstehen, außer der Versuchung (Oscar Wilde)
Profil anzeigen Antwort 7
Posting Freak
Posting Freak

olibaer
Beiträge: 646
Registriert: 5.4.2004
Status: Offline
Geschlecht: männlich
red_folder.gif erstellt am: 4.9.2014 um 23:04  
Hallo Fritz,

Zitat von Dimonic, am 4.9.2014 um 17:38

Ich möchte auf meiner Hauseigenen Brausteuerung einen Rechner einbauen, jedoch konnte ich bisher keine Formel für die Berechnung finden.
Fritz

So banal die Anforderung auch sein mag - eine einzige Formel die Deinen Wunsch erfüllt gibt es nicht. Ein bunter Mix aus Extrakkonzentrationen, Meßtemperaturen und Meßinstrumenten steht parat um aus Deiner Anforderung eine Wissenschaft zu machen.

Mein Ansatz für dieses Problem war eine Matrix von Dichten in Abhängigkeit von Extraktkonzentration und Temperaturen aufzubauen und zwischen den gesuchten Werten zu interpolieren - Auszüge aus meinem Quellcode(//, ///, /* = Kommentare):

/* Dichten je °P und Temperaturbereich */
// Stammwürzebereich P0 P5 P10 P15 P20 P25 P30 P35 P40
this._dtblDichten.Rows.Add( 1.0002, 1.0204, 1.0418, 1.0632, 1.0851, 1.1088, 1.1323, 1.1574, 1.1840 ); // 0°C
this._dtblDichten.Rows.Add( 0.9997, 1.0196, 1.0402, 1.0614, 1.0835, 1.1064, 1.1301, 1.1547, 1.1802 ); // 10°C
this._dtblDichten.Rows.Add( 0.9982, 1.0178, 1.0381, 1.0591, 1.0810, 1.1035, 1.1270, 1.1513, 1.1764 ); // 20°C
this._dtblDichten.Rows.Add( 0.9957, 1.0151, 1.0353, 1.0561, 1.0777, 1.1000, 1.1232, 1.1473, 1.1723 ); // 30°C
this._dtblDichten.Rows.Add( 0.9922, 1.0116, 1.0316, 1.0522, 1.0737, 1.0958, 1.1189, 1.1428, 1.1676 ); // 40°C
this._dtblDichten.Rows.Add( 0.9881, 1.0072, 1.0271, 1.0477, 1.0690, 1.0910, 1.1140, 1.1377, 1.1624 ); // 50°C
this._dtblDichten.Rows.Add( 0.9832, 1.0023, 1.0221, 1.0424, 1.0636, 1.0856, 1.1085, 1.1321, 1.1568 ); // 60°C
this._dtblDichten.Rows.Add( 0.9778, 0.9968, 1.0165, 1.0368, 1.0579, 1.0798, 1.1026, 1.1262, 1.1507 ); // 70°C
this._dtblDichten.Rows.Add( 0.9718, 0.9908, 1.0104, 1.0306, 1.0517, 1.0735, 1.0963, 1.1198, 1.1443 ); // 80°C
this._dtblDichten.Rows.Add( 0.9653, 0.9842, 1.0038, 1.0240, 1.0450, 1.0669, 1.0896, 1.1130, 1.1375 ); // 90°C
this._dtblDichten.Rows.Add( 0.9584, 0.9773, 0.9968, 1.0169, 1.0379, 1.0599, 1.0825, 1.1058, 1.1301 ); // 100°C


Quelle:
"Tafeln für die Malzanalyse. Berechnet nach der Tafel der Normaleichungskommission. (ugs. Plato-Tabelle)"
(Meindl Otto,Nürnberg, Verlag F.Carl, 1935)


Innerhalb dieser Matrix muss man entlang der Anwendereingaben(Dichte/Temperatur) nach einem Interpolationspolynom suchen - die "Lagrangesche Interpolationsformel" bietet sich an - hier meine Implementierung:

/// <summary>
/// LAGRANGE-Interpolation: Sinn ist ein Polynom zu finden, welches durch die vorgegebenen "Punkte" läuft. Diese Aufgabenstellung wird auch
/// das "Interpolationsproblem" genannt, welches u.a. mit der Lagrange-Interpolation zu lösen ist.
/// </summary>
/// <param name="x1">x Stützstelle(Koordinate) 1</param>
/// <param name="y1">y Stützwert(Koordinate) 1</param>
/// <param name="x2">x Stützstelle(Koordinate) 2</param>
/// <param name="y2">y Stützwert(Koordinate) 2</param>
/// <param name="x3">x Stützstelle(Koordinate) 3</param>
/// <param name="y3">y Stützwert(Koordinate) 3</param>
/// <param name="x4">x Stützstelle(Koordinate) 4</param>
/// <param name="y4">y Stützwert(Koordinate) 4</param>
/// <param name="x">bekannte Koordinate X</param>
/// <returns>pn(x)</returns>
public static double LagInterpolation( double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double x ) {
double y =
y1 * ( ( ( x - x2 ) * ( x - x3 ) * ( x - x4 ) ) / ( ( x1 - x2 ) * ( x1 - x3 ) * ( x1 - x4 ) ) ) +
y2 * ( ( ( x - x1 ) * ( x - x3 ) * ( x - x4 ) ) / ( ( x2 - x1 ) * ( x2 - x3 ) * ( x2 - x4 ) ) ) +
y3 * ( ( ( x - x1 ) * ( x - x2 ) * ( x - x4 ) ) / ( ( x3 - x1 ) * ( x3 - x2 ) * ( x3 - x4 ) ) ) +
y4 * ( ( ( x - x1 ) * ( x - x2 ) * ( x - x3 ) ) / ( ( x4 - x1 ) * ( x4 - x2 ) * ( x4 - x3 ) ) );

return y;
}


Jetzt braucht es noch zwei Methoden die die Temperatur- und Konzentration Interpolation interpretieren:

/// <summary>
/// Interpoliert den Spindelwert
/// </summary>
/// <param name="abgelesen_d20_4">Der abgelesene Spindelwert in D20/4 bei einer Temperatur von <paramref name="abgelesenBeiGradC"/>.</param>
/// <param name="abgelesenBeiGradC">Die Temperatur bei der <paramref name="abgelesen_d20_4"/> abgelesen wurde.</param>
/// <returns>Grad Plato bei 20°C</returns>
internal double interpolierePlato( double abgelesen_d20_4, double abgelesenBeiGradC ) {
//double d20_4 = System.Math.Round( this._plato.D20_4fromfromGG( gradPlato ), 4 );
double[] aGrad = interpoliereTemperatur( abgelesenBeiGradC );
int minId = 0;
for ( int i = 0; i < aGrad.Length; i++ )
if ( abgelesen_d20_4 > aGrad )
minId = i;

int min = minId - 1;
if ( 0 > min ) min = 0;
if ( min > aGrad.Length - 4 ) min = aGrad.Length - 4;

int p1 = min;
int p2 = min + 1;
int p3 = min + 2;
int p4 = min + 3;
return CommonMath.LagInterpolation( aGrad[p1], p1 * 5, aGrad[p2], p2 * 5, aGrad[p3], p3 * 5, aGrad[p4], p4 * 5, abgelesen_d20_4 );
}

/// <summary>
/// Liefert ein Array aus interpolierten Dichten bei unterschiedlichen Temperaturen
/// </summary>
/// <param name="abgelesenBeiGradC"></param>
/// <returns></returns>
internal double[] interpoliereTemperatur( double abgelesenBeiGradC ) {
double[] ret = new double[this._dtblDichten.Columns.Count];
int min = (int)System.Math.Floor( abgelesenBeiGradC / 10 ) - 1;
if ( 0 > min ) min = 0;
if ( min > this._dtblDichten.Rows.Count - 4 ) min = this._dtblDichten.Rows.Count - 4;

int t1 = min;
int t2 = min + 1;
int t3 = min + 2;
int t4 = min + 3;

for ( int i = 0; i < this._dtblDichten.Columns.Count; i++ )
ret = CommonMath.LagInterpolation( t1 * 10, (double)this._dtblDichten.Rows[t1], t2 * 10, (double)this._dtblDichten.Rows[t2], t3 * 10, (double)this._dtblDichten.Rows[t3], t4 * 10, (double)this._dtblDichten.Rows[t4], abgelesenBeiGradC );
return ret;
}


Eine "Formel/Funktion/Methode" die dann alles miteinander verheiratet, könnte dann z.B. so aussehen:

/// <summary>
/// Errechnet für die Angabe <paramref name="abgelesen_d20_4"/> und <paramref name="abgelesenBeiGradC"/> den Spindelwert
/// bei 20°C
/// </summary>
/// <param name="abgelesen_d20_4">Der abgelesene Spindelwert in D20/4 bei einer Temperatur von <paramref name="abgelesenBeiGradC"/>.</param>
/// <param name="abgelesenBeiGradC">Die Temperatur bei der <paramref name="abgelesen_d20_4"/> abgelesen wurde.</param>
/// <returns>Grad Plato bei 20°C</returns>
internal double SpindelWertBei20Grad( double abgelesen_d20_4, double abgelesenBeiGradC ) {
double erg = 0;
if ( abgelesen_d20_4 >= 1.04646 && abgelesen_d20_4 <= 1.06345 )
erg = interpolierePlato( abgelesen_d20_4, abgelesenBeiGradC ) - 0.02;
else
erg = interpolierePlato( abgelesen_d20_4, abgelesenBeiGradC );

return erg;
}


Du siehst, es ist nicht trivial und dies hier war in Auszügen mein Lösungsansatz - aber es gibt auch andere die einen weniger detailverliebten Ansatz pflegen aber deswegen nicht weniger genau sein müssen.

Wichtig ist zu wissen, dass Korrektur(tabellen) zunächst einmal zum Messinstrument gehören - ganz individuell - sie sind auf oder mit dem Meßinstrument dokumentiert und gelten auch nur für dieses. Alles was wir hier machen ist eine "Vereinfachung" des Ganzen und mit gewissen Tücken behaftet. Wirklich falsch sein sollte es aber dennoch nicht :)

Gruß
Oli


____________________
http://www.brewrecipedeveloper.de
Profil anzeigen E-mail senden Homepage besuchen Antwort 8
       

 
  
 

Alle Logos und Warenzeichen auf dieser Seite sind Eigentum der jeweiligen Besitzer und Lizenzhalter.
Im übrigen gilt Haftungsausschluss. Weitere Details findest Du im Impressum.
Die Artikel sind geistiges Eigentum des/der jeweiligen Autoren,
alles andere © 1998 - 2022 by Hobbybrauer.de
Die Inhalte dieser Seite sind als RSS/RDF-Quelle verfügbar.
Die Website oder Teile daraus dürfen nicht ohne ausdrückliche Zustimmung von Michael Plum weiterverwendet werden.
© 2014 Michael Plum