Aktuelle Zeit: 10.09.2010, 05:20:49

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Berechnungen mit Variablen
BeitragVerfasst: 02.11.2009, 21:09:13 
Offline

Registriert: 28.09.2009, 17:00:10
Beiträge: 9
Hallo Ich möchte mir gerne die Leistung meines Holzkessels berechnen lasse. Die berechnung würde so aussehen (1500*4,182*(Temp Kessel oben in C° - Temp kessel unten in C°)/3600) dann müste ich die KW des Kessels erhalten., Ich habe mich jetzt schon ein bischen eingelessen. Es müsste doch in httpd.c Errechnet werden. da gibt es den berech 1-Wire Temperatursensoren

*
* 1-Wire Temperatursensoren
* -------------------------
* OW@nn nn = 00 bis MAXSENSORS-1 gibt Werte in 1/10 °C aus
* OW@mm mm = 20 bis MAXSENSORS-1+20 gibt Werte in °C mit einer Nachkommastelle aus
* d.h. OW@nn für Balkenbreite verwenden und OW@mm für Celsius-Anzeige
*/
if (strncasecmp_P("OW@",http_entry[index].new_page_pointer,3)==0)
{
b = (pgm_read_byte(http_entry[index].new_page_pointer+3)-48)*10;
b +=(pgm_read_byte(http_entry[index].new_page_pointer+4)-48);

// RoBue:
// Wert auslesen
int16_t ow_temp = ow_array[b];
str_len = 0;

// evtl. Vorzeichen einfuegen:
if ( ow_temp < 0 ) {
ow_temp *= (-1);
var_conversion_buffer[0] = '-';
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,1);
a ++;
}

// RoBue:
// Wert vor dem Komma einfügen
itoa (ow_temp/10,var_conversion_buffer,10);
str_len += strnlen(var_conversion_buffer,CONVERSION_BUFFER_LEN);

// RoBue:
// Komma einfügen
var_conversion_buffer[str_len] = ',';
str_len++;
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,str_len);
a += str_len;

// RoBue:
// Wert nach dem Komma einfügen
itoa (ow_temp%10,var_conversion_buffer,10);
str_len = strnlen(var_conversion_buffer,CONVERSION_BUFFER_LEN);
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,str_len);
a += str_len-1;

http_entry[index].new_page_pointer=http_entry[index].new_page_pointer+5;



Ich verstehe aber nicht alles.

Wie bekomme ich jetet den Wert der ow_array[4] und ow_array[5] das mussten doch meine gesuchten temperaturen sen oder ?

Kann mir da jemand helfen ? Wie das zu machen ist ?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 02.11.2009, 21:33:37 
Offline

Registriert: 28.09.2009, 17:00:10
Beiträge: 9
Ich verstehe auch nicht so ganz wie die der Temperaturwerten der ow_array in die Variable OW%xx kommen.

Ich habe jetzt in werpag.h die variable %KW@01 angelegt.

Kann ich jetzt in httpd.c schreiben

int16_t kw01 = (1500 * 4,182 *(ow_array[3] - ow_array[4])/3600)


if (strncasecmp_P("KW@",http_entry[index].new_page_pointer,3)==0)
{
b = (pgm_read_byte(http_entry[index].new_page_pointer+3)-48)*10;
b +=(pgm_read_byte(http_entry[index].new_page_pointer+4)-48);

// RoBue:
// Wert auslesen
int16_t kw01 =[b] das stimmt nicht glaube ich ??????????
str_len = 0;

// evtl. Vorzeichen einfuegen:
if ( kw01 < 0 ) {
ow_temp *= (-1);
var_conversion_buffer[0] = '-';
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,1);

// RoBue:
// Wert vor dem Komma einfügen
itoa (kw01/10,var_conversion_buffer,10);
str_len += strnlen(var_conversion_buffer,CONVERSION_BUFFER_LEN);

// RoBue:
// Komma einfügen
var_conversion_buffer[str_len] = ',';
str_len++;
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,str_len);
a += str_len;

// RoBue:
// Wert nach dem Komma einfügen
itoa (kw01%10,var_conversion_buffer,10);
str_len = strnlen(var_conversion_buffer,CONVERSION_BUFFER_LEN);
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,str_len);
a += str_len-1;

http_entry[index].new_page_pointer=http_entry[index].new_page_pointer+5;


Bitte um hilfe


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 03.11.2009, 21:43:53 
Offline

Registriert: 17.02.2008, 13:18:39
Beiträge: 298
Hi, mal zur Berechnung:

Q = m * c * DeltaT

dabei ist m die Masse (bei Wasser ist es näherungsweise OK, wenn man mit Liter rechnet) nur woher nimmst Du die Wassermenge, die Transportiert wird? Eben mal 1500Kg einsetzen ist sicher nicht OK. Hier muß mittels "Wasseruhr" nachgeprüft werden was wirklich durch den Kessel durchläuft.

mfg
Klaus


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 04.11.2009, 10:29:50 
Offline

Registriert: 28.09.2009, 17:00:10
Beiträge: 9
Hallo

Die Menge des Wassers habe ich über die Pumpenleistung, die Förderhöe und den RohrwiederstandBberechnent . Diesen habe ich dann zu einer Konstanten umgerechnet da sich die wert ja nicht ändert. Somit bin ich für (m*c)/3600 auf den wert 1,61154 gekommen ich habe den wert 1.6 genommen. Somit ergibt sich für Telta T z.b 15C°*1,6=24KW. Wobei Telta T ja eine Variable ist.

Ich hab es ja schon hin bekommen blos zum Übertragen der Werte hab ich das Ergebnis in die ow_array[6] gespeichert. Jetzt kann ich diese ja nicht mehr nutzen. Jetzt brochte ich nur noch Hilfe wir ich meine Variable kw_array (da ich mehrere berechnungen machen will) auf die Werpage.h bekomme.





.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 04.11.2009, 13:25:46 
Offline

Registriert: 17.02.2008, 13:18:39
Beiträge: 298
Hi, die werte reinzubekommen ist recht einfach:

kopiere den zuständigen code für OW... und ersetze das OW durch Dein KW... .

Nur das mit der Wassermenge und der Berechnung der Widerstände wird bestenfalls annähernd funktionieren. Aus Erfahrung kann ich sagen das die Berechnungen von der Praxis normalerweise um ca 20% abweichen ( Toleranzen der Pumpe, Bauteile die nicht berücksichtigt wurden, Widerstand des Holzkessels und des Pufferspeichers (ist hoffentlich richtig installiert) ... .


mfg
Klaus


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 04.11.2009, 19:26:46 
Offline

Registriert: 28.09.2009, 17:00:10
Beiträge: 9
Ja das es nicht ganz genau stimmt ist mir schon klar. Es passt aber recht gut da mein Kessel 24kw hat und wenn er optimal Brennt erreicht er den Wert auch. Als zweites Berechne ich die Leistung meines Pufferspeichers. Die musst je genau passen da ich ja 1500l Inhalt habe.

Das mir dem reinkopieren müsstest du mir mal genauer erklären. Da ich mich nicht so gur mit c++ auskenne.

Ich schreibe dir mal was ich bis jetzt gemacht habe in man.c unter 1-Wire-Temp

// ******************************************************************
// Berechnungen Leistung
// ******************************************************************

/// Berechnung Kesselleistung in KW

unsigned int kw_array[3];

if (ow_array[4] > 52) {
kw_array[0] = (ow_array[3] - ow_array[4]);
kw_array[0] = kw_array[0]*160;
kw_array[0] = kw_array[0]/100;

}
else {
kw_array[0] = 0;
}
/// Berechnung Pfferleistung in KW

if (ow_array[0] > 35) {
kw_array [1] = (ow_array[0] + ow_array[1] + ow_array[2])/3;
kw_array [1] = kw_array [1] - 350;
kw_array [1] = kw_array [1]*174;
kw_array [1] = kw_array [1]/100;

}
else {
kw_array[1] = 0;


Was muss ich jetzt in httpd.c einfügen damit das funktonier? und wie bekomme ich jetzt die Wert der kw_array in httpd.c?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 06.11.2009, 20:23:54 
Offline

Registriert: 28.09.2009, 17:00:10
Beiträge: 9
habe es jetzt so gemacht


if (strncasecmp_P("KW@",http_entry[index].new_page_pointer,3)==0)
{



b = (pgm_read_byte(http_entry[index].new_page_pointer+3)-48)*10;
b +=(pgm_read_byte(http_entry[index].new_page_pointer+4)-48);

// RoBue:
// Wert auslesen
int16_t ow_temp = kw_array[b];
str_len = 0;

// evtl. Vorzeichen einfuegen:
if ( ow_temp < 0 ) {
ow_temp *= (-1);
var_conversion_buffer[0] = '-';
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,1);
a ++;
}

// RoBue:
// Wert vor dem Komma einfügen
itoa (ow_temp/10,var_conversion_buffer,10);
str_len += strnlen(var_conversion_buffer,CONVERSION_BUFFER_LEN);

// RoBue:
// Komma einfügen
var_conversion_buffer[str_len] = ',';
str_len++;
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,str_len);
a += str_len;

// RoBue:
// Wert nach dem Komma einfügen
itoa (ow_temp%10,var_conversion_buffer,10);
str_len = strnlen(var_conversion_buffer,CONVERSION_BUFFER_LEN);
memmove(&eth_buffer[TCP_DATA_START+a],var_conversion_buffer,str_len);
a += str_len-1;

http_entry[index].new_page_pointer=http_entry[index].new_page_pointer+5;

}


Es kommt aber vor das das Modul ab und zu Abstürtz und ich es dann aus und einschalten muss.
Liegt das vielleicht an der Datengröße von 87k ? Oder weil ich eine unsigned long für kw_array verwende?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Berechnungen mit Variablen
BeitragVerfasst: 06.11.2009, 20:27:46 
Offline

Registriert: 28.09.2009, 17:00:10
Beiträge: 9
Dateianhang:
Präsentation1.jpg [68.3 KiB]
Noch nie heruntergeladen


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de