Poolwasser mit der Sonne aufheizen.
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Das Programm hier im Beitrag darüber habe ich heute noch etwas ändern müßen. Das tausche ich morgen nochmal aus. Das Programm ist am Notebook, der ist im Poolhaus, da mag ich heute nicht mehr hin. Das ist inzwischen getauscht und das läuft jetzt auch recht gut.
Mein Problem ist, dass ich nicht damit gerechnet habe, dass in den Schläuchen und somit auch an den Temp-Sensoren, auch das Wasser steht. Aber nein, das System da oben auf dem Dach, hat so viele Möglichkeiten, wo es Luft ziehen kann, dass es immer wenn man die Pumpe stoppt, recht zügig leer läuft. Weil es eben an vielen Stellen Luft ziehen kann. Wenn die Pumpe läuft, dann tröpfelt immer bischen Wasser vom Dach, das kann man bei dem System nicht verhindern. Heute würde ich das System mit den einzelnen Röhren ablehnen. Es gibt hier oben am Dach durch diese einzelnen Röhren 192 Möglichkeiten für Undichtigkeiten. Das sind 96 Schläuche immer beidseitig angeschlossen, also 192 Stellen , wo das System Luft ziehen kann.
Und es sind ein paar Stellen, wo Wasser tropft, wenn die Pumpe vollgas läuft. Da bekommt es natürlich auch mächtig Luft, so dass es wenn man die Pumpe abstellt in 0,nix in beide Richtungen leer läuft. Eigentlich kein Problem, wenn das System ein paar Tropfen Wasser verliert, weil es ja 42.000 Liter sind in dem Pool und der Regen eh immer wieder nachfüllt. Also kein Thema, nur das Leerlaufen, wenn die Pumpe steht, ist blöd. Also ich würde das nächste mal die Wassertaschen nehmen, wo jede nur 4 Stellen hat, die man Dicht bekommen muss. Jetzt habe ich 68 Stellen an jeder "Wassertasche", weil jede 32 Schläuche hat, die ja auch an 64 Stellen angschlossen sind. Und dann noch die 4 Anschlüße zum weiter verbinden.
Franz
Mein Problem ist, dass ich nicht damit gerechnet habe, dass in den Schläuchen und somit auch an den Temp-Sensoren, auch das Wasser steht. Aber nein, das System da oben auf dem Dach, hat so viele Möglichkeiten, wo es Luft ziehen kann, dass es immer wenn man die Pumpe stoppt, recht zügig leer läuft. Weil es eben an vielen Stellen Luft ziehen kann. Wenn die Pumpe läuft, dann tröpfelt immer bischen Wasser vom Dach, das kann man bei dem System nicht verhindern. Heute würde ich das System mit den einzelnen Röhren ablehnen. Es gibt hier oben am Dach durch diese einzelnen Röhren 192 Möglichkeiten für Undichtigkeiten. Das sind 96 Schläuche immer beidseitig angeschlossen, also 192 Stellen , wo das System Luft ziehen kann.
Und es sind ein paar Stellen, wo Wasser tropft, wenn die Pumpe vollgas läuft. Da bekommt es natürlich auch mächtig Luft, so dass es wenn man die Pumpe abstellt in 0,nix in beide Richtungen leer läuft. Eigentlich kein Problem, wenn das System ein paar Tropfen Wasser verliert, weil es ja 42.000 Liter sind in dem Pool und der Regen eh immer wieder nachfüllt. Also kein Thema, nur das Leerlaufen, wenn die Pumpe steht, ist blöd. Also ich würde das nächste mal die Wassertaschen nehmen, wo jede nur 4 Stellen hat, die man Dicht bekommen muss. Jetzt habe ich 68 Stellen an jeder "Wassertasche", weil jede 32 Schläuche hat, die ja auch an 64 Stellen angschlossen sind. Und dann noch die 4 Anschlüße zum weiter verbinden.
Franz
-
- Beiträge: 73
- Registriert: Mo 12. Jun 2023, 17:49
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Wie wurden die Taschen verbunden die Dinger müssen (rot gezeichnet) verklebt werden damit das dicht wird, nur am enden den Schlauch mit Schlauchklemme befestigen. Oder sind die im blaugezeichnetem Bereich undicht?
Tja habe das Bild vergessen gestern
Zuletzt geändert von Bernhard - Fony am Mo 24. Jul 2023, 14:57, insgesamt 1-mal geändert.
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Hier ist mal ein Bild wie das ausschaut. Das ist ein Bild vom Lieferanten. Leider ist es nicht mal Orginal, wie meine. Denn auf dem Bild sind auf einem Modul 2 Reihen je 11 Schläuche, das was ich bekommen habe, hat 2 Reihen mit je 8 Schläuchen.
Leider sind diese Schläuche eher Hartplastik anstatt Schläuche. Die sind so starr, dass es warscheinlich nichts bringt wenn man diese Verschraubung stärker anzieht. Ich werde das mal vorsichtig testen. Wenn man die Verschraubung zu stark anzieht, wird einfach der Hals abbrechen oder die Schraubhülse platzen und dann hat man verloren. dass man es schafft, den "Schauch" damt zu verengen, das glaube ich nicht. Wenn man von denen Ersatz braucht, bekommt man nichts. Nicht mal ne Antwort auf die Anfrage. Bestellen darf man, wenn man aber dann noch Teile zusätzlich braucht, ist der Laden nur noch ein toter Briefkasten. Da wollte ich noch gegen Bezahlung zusätzliche Verbindermuffen und diese Abschlusskappen. Also diese beiden Teile, in der Mitte des Bildes. Deshalb ist wahrscheinlich undicht besser als abgebrochen. -
- Beiträge: 73
- Registriert: Mo 12. Jun 2023, 17:49
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Es ist Aquatherm System das muss geklebt werden.
Aquatherm ist eine Firma aus Attendorn die hat das vor 40J patentieren lassen, war dort öfters noch als Aufzugmonteur und die Leute gefragt wegen PVC Wasserrohrleitung für garten.
Aquatherm ist eine Firma aus Attendorn die hat das vor 40J patentieren lassen, war dort öfters noch als Aufzugmonteur und die Leute gefragt wegen PVC Wasserrohrleitung für garten.
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Ja, die PVC Rohre werden geklebt. Das habe ich auch schon gemacht. Aber dieses System muß im Winter abgebaut werden, deshalb sind diese kleinen Teile auf dem Bild aus weichen Gummi und werden mit Kabelbinder montiert. Das Wasser kommt auch nicht aus den großen Verbindern, sondern aus den kleinen Röhrchen verbindern, bei dir Blau markiert. Die kommen fertig wie am Bild und sollten normal dicht sein. Aber leider .....
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
So heute hatte einen kleinen Arbeitsanfall, und so habe ich gleich alles erledigt.
1. Die Steuerung abgebaut um sie umbauen zu können.
2. Die Kommunikations-Hardware zum MPPT-Regler in die Steuerung eingebaut.
3. Einen Schlauch am Dach für die Solar-Wassertaschen etwas gekürzt, dass er richtig liegt, da ja die Anlage eh ausser Betrieb war.
4. Die Software etwas umgestrickt für die Zusätzliche Kontrolle des Akkus am MPPT Lader.
5. Alles wieder drangebaut und getestet, und jedenfalls im Moment für gut befunden.
. Hier am Poolhaus schaut es jetzt richtig aufgeräumt aus Diese weißen runden Dinger sind Abdeckungen über den Temperatur-Sensoren. Da will ich ja nicht die Sonnentemperatur messen, sondern die dess Wassers, das am Fühler vorbeiläuft. Deshalb sind die weiß, weil das die Sonne reflektiert. Dass die Schläuche von Zu- und Ablauf blau sind hat den einfachen Grund, dass ich keine anderen mehr hatte Unten Mitte ist der Fühler für das Poolwasser im Zulauf und links auf halber Höhe ist der Fühler für das erwärmte Wasser aus dem Ablauf von den Wassertaschen in den Pool zurück.
1. Die Steuerung abgebaut um sie umbauen zu können.
2. Die Kommunikations-Hardware zum MPPT-Regler in die Steuerung eingebaut.
3. Einen Schlauch am Dach für die Solar-Wassertaschen etwas gekürzt, dass er richtig liegt, da ja die Anlage eh ausser Betrieb war.
4. Die Software etwas umgestrickt für die Zusätzliche Kontrolle des Akkus am MPPT Lader.
5. Alles wieder drangebaut und getestet, und jedenfalls im Moment für gut befunden.
. Hier am Poolhaus schaut es jetzt richtig aufgeräumt aus Diese weißen runden Dinger sind Abdeckungen über den Temperatur-Sensoren. Da will ich ja nicht die Sonnentemperatur messen, sondern die dess Wassers, das am Fühler vorbeiläuft. Deshalb sind die weiß, weil das die Sonne reflektiert. Dass die Schläuche von Zu- und Ablauf blau sind hat den einfachen Grund, dass ich keine anderen mehr hatte Unten Mitte ist der Fühler für das Poolwasser im Zulauf und links auf halber Höhe ist der Fühler für das erwärmte Wasser aus dem Ablauf von den Wassertaschen in den Pool zurück.
-
- Beiträge: 73
- Registriert: Mo 12. Jun 2023, 17:49
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Habe im erstem Moment Unfall gelesen
Schön das alles geklappt hat, jetzt brauchst Du nur viel Sonne um in dem Pull springen
Schön das alles geklappt hat, jetzt brauchst Du nur viel Sonne um in dem Pull springen
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Ja, kann man schon mal verwechselt Unfall <-> Anfall.
Hier ist das aktuelle Programm von heute Abende. Habe gerade noch zwei Dinge geändert, die mir heute nicht soooo gut gefallen haben. Morgen lasse ich das nochmal laufen, und schneide dann noch die Daten mit. Dann kann ich den Daten-Mitschnitt auch mal hier reinstellen. Ich schneide die Daten jetzt auch nur noch an einer Stelle mit, die kann man dann ganz einfach auskommentieren, wenn man sie nicht mehr braucht.
Programm am 29.07.23 um 0:30 Uhr zuletzt aktualisiert !!
Hier ist das aktuelle Programm von heute Abende. Habe gerade noch zwei Dinge geändert, die mir heute nicht soooo gut gefallen haben. Morgen lasse ich das nochmal laufen, und schneide dann noch die Daten mit. Dann kann ich den Daten-Mitschnitt auch mal hier reinstellen. Ich schneide die Daten jetzt auch nur noch an einer Stelle mit, die kann man dann ganz einfach auskommentieren, wenn man sie nicht mehr braucht.
Code: Alles auswählen
// Arduino Pool_Solarheizung_Pumpensteuerung
#include <OneWire.h>
#include <DallasTemperature.h>
#include "Wire.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
//###########################################################################
//-------------------------------------MPPT Regler Deklaration---------------
/*************************************
Für Uno wird SoftwareSerial benutzt
**************************************/
#include <SoftwareSerial.h>
SoftwareSerial tracerSerial(9, 8); // RO, DI Pins drehen wenn nicht funktioniert
/**********************************************
Ich verwende einen MAX485-kompatiblen RS485-Transceiver.
Rx/Tx ist mit der seriellen Schnittstelle der Hardware an "Serial" verbunden.
Die Pins "Data Enable" und "Rec3eiver Enable" sind wie folgt beschaltet:
********************************************************/
#include <ModbusMaster.h>
#define MAX485_DE 7 // DE und RE dürfen am einen Pin hängen
#define MAX485_RE_NEG 7
// instantiate ModbusMaster object
ModbusMaster node;
int prozent = 0;
float akkuVolt = 0;
float akkuAmpere = 0;
float pvwat = 0;
float pva = 0;
float pvv = 0;
unsigned long currentMillis = 0;
void preTransmission()
{
digitalWrite(MAX485_RE_NEG, 1);
digitalWrite(MAX485_DE, 1);
}
void postTransmission()
{
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
}
unsigned long previousMillis = 0;
const long intervall = 60000;// Daten werden alle 60 Sek ausgelesen
//------------------------------------MPPT Regler Deklaration Ende-----------
//###########################################################################
//-----Motortreiber----
const byte RPWM = 10;
const byte LPWM = 11;
//-------Potis---------
const byte Poti1 = A0;
const byte Poti2 = A1;
//-------Taster--------
byte Tasterstatur = 0;
const byte Taster = 4;// Display einschalten !!
//-------Merker--------
byte Pumpe = 0;
int P1 = 0;
int P2 = 0;
int Drehzahl = 0;
int Solldrehzahl = 0;
int Sollalt = 10;
byte Anfahren = 0;
int Drehzahlmin = 150;
int Drehzahlmax = 255;
unsigned long millisekunden = 0;
//-------------------------------Zeiten---------------------------------------
unsigned long Sekundenablauf01 = 0; // Messung Potis und Ausgabe Display
const unsigned long Pausezeit01 = 1000;
unsigned long Sekundenablauf02 = 0; // Display nach Zeit ausschalten
const unsigned long Pausezeit02 = 60000 * 15;
unsigned long Sekundenablauf03 = 0; //Serial Werte Ausgabezeit
const unsigned long Pausezeit03 = 60000 * 5;
unsigned long Sekundenablauf04 = 0; // Werte für Pumpe und Pumpe ansteuern
const unsigned long Pausezeit04 = 30000; //Alle 30 Sekunden Daten für Pumpe
#define One_Wire_Bus 2 // Sensor auf Pin 2
OneWire oneWire(One_Wire_Bus);
DallasTemperature sensoren (&oneWire);
int Anzahl_Sensoren = 0;
int is = 0; // Zähler für die Sensoren
int ia = 0; // Zähler für die Adressstellen 0-7
int Sensor = 0;
float temppool = 0;
float tempsolar = 0;
float tempdif = 0;
DeviceAddress tempDeviceAddress; // Für die Adressausgabe
int numberOfDevices; // Für die Adressausgabe
//##########################################################################
//################################ Setup ##################################
//##########################################################################
void setup() {
Wire.begin();
sensoren.begin();
Serial.begin(9600);
lcd.begin();
lcd.backlight();
//##########################################################################
//-----------------------------------MPPT Setup-----------------------------
tracerSerial.begin(115200); // Modbus Kommunikation mit 115200 Baud
pinMode(MAX485_RE_NEG, OUTPUT);
pinMode(MAX485_DE, OUTPUT);
digitalWrite(MAX485_RE_NEG, 0);// Init in receive mode
digitalWrite(MAX485_DE, 0);
// Tracer xxxxAN Modbus slave ID 1
node.begin(1, tracerSerial); // Begin der Verbindung mit Tracer
// Rückrufe ermöglichen es uns, den RS485-Transceiver korrekt zu konfigurieren
node.preTransmission(preTransmission);
node.postTransmission(postTransmission);
//-------------------------------MPPT Setup Ende--------------------------
//##########################################################################
lcd.setCursor (0, 0);
lcd.print (F("Solarheizung - Pool"));
lcd.setCursor (0, 1);
lcd.print (F("Soll"));
lcd.setCursor (10, 1);
lcd.print (F("Ist"));
lcd.setCursor (0, 2);
lcd.print (F("Soll"));
lcd.setCursor (10, 2);
lcd.print (F("Ist"));
lcd.setCursor (0, 3);
lcd.print (F("Soll Ist"));
// Anzahl der Sesoren ermitteln-------------------------------------
Anzahl_Sensoren = sensoren.getDeviceCount();
// Ermitteln der Sensor-Adressen------------------------------------
for (is = 0; is < Anzahl_Sensoren; is++)
{
if (sensoren.getAddress(tempDeviceAddress, is))
{
Serial.println ();
printAddress(tempDeviceAddress);
}
}
//-----------Aus-/Eingänge einrichten-------------------------------------
pinMode(RPWM, OUTPUT); // PWM Pumpensteuerung
pinMode(LPWM, OUTPUT); // PWM Pumpensteuerung
pinMode(Poti1, INPUT);
pinMode(Poti2, INPUT);
pinMode(Taster, INPUT_PULLUP);
}
// Ausgabe der Sensor-Adressen
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t ia = 0; ia < 8; ia++)
{
if (deviceAddress[ia] < 16)
{
Serial.print("0"); //ist die Hex Adresse kleiner 16 dann erste Stelle eine "0"
}
Serial.print(deviceAddress[ia], HEX);
}
Serial.println();
}
//###########################################################################
//################################## LOOP ###################################
//###########################################################################
void loop()
{
millisekunden = millis();
//--------------------------Display Lichtkontrolle -------------------------
Tasterstatur = digitalRead(Taster);
if (Tasterstatur == LOW)
{
lcd.backlight();
Sekundenablauf02 = millisekunden;
}
if (millisekunden - Sekundenablauf02 >= Pausezeit02) // Dislay Zeit abgelaufen?
{
lcd.noBacklight();
}
//--------------------------Display Licht kontrolle Ende-------------------
//#########################################################################
//-------------------------Daten auswerten und aufs Display----------------
if (millisekunden - Sekundenablauf01 >= Pausezeit01) // Eine Sekunde abgelaufen?
{
P1 = analogRead (Poti1);
P1 = map(P1, 0, 1023, 0, 40); // -------Solltemperatur Einstellung-------
P2 = analogRead (Poti2);
P2 = map(P2, 0, 1023, 0, 10); // -------Solldiffderenz Einstellung-------
lcd.setCursor (5, 1);
lcd.print (P1);
lcd.print (F(" "));
lcd.setCursor (5, 2);
lcd.print (P2);
lcd.print (F(" "));
lcd.setCursor (5, 3);
lcd.print (Solldrehzahl);
lcd.print (F(" "));
lcd.setCursor (14, 3);
lcd.print (Drehzahl);
lcd.print (F(" "));
Sekundenablauf01 = millisekunden;
// -------------------------Temperatur Sensoren Auswerten---------------------------
//Temperaturen Aulesen
sensoren.requestTemperatures();
// Hier werden die Temp-Sensoren ausgelesen und aufs Display gebracht
if (Sensor < 2)
{
Sensor ++;
float temperatur = sensoren.getTempCByIndex(Sensor - 1);
if (Sensor == 1)
{
tempsolar = temperatur; // -----------Temperatur Messung 1------------------
}
if (Sensor == 2)
{
temppool = temperatur - 1; // -----------Temperatur Messung 2------------------
//--------------------------------------Temperatur aufs Display----------------
lcd.setCursor (14, 1);
lcd.print (temppool);
lcd.print (F(" "));
tempdif = (tempsolar * 10) - (temppool * 10); //---Themperatur Differenz----
if (tempdif < 0)
{
tempdif = 5;
}
lcd.setCursor (14, 2);
lcd.print (tempdif / 10);
lcd.print (F(" "));
}
}
// ---Alle Sensoren ausgelesen? Dann für nächste Messungen auf Null Stellen---
if (Sensor == Anzahl_Sensoren)
{
Sensor = 0;
}
}
//-------------------------Daten auslesen und Aufs Diplay Ende------------------
//##############################################################################
// ------Daten für Pumpensteuerung auswerten und an Pumpe übergeben-------------
if (millisekunden - Sekundenablauf04 >= Pausezeit04) // 30 Sekunden abgelaufen?
{
/*
Prüfen ob Solartemperatur zum Anlauf der Pumpe sinnvoll ist, obwohl noch
keine Differenz-Temperatur vorhanden ist, da die Schläuche noch nicht mit
Wasser gefüllt sind. Wenn genug Wärme am Dach vorhanden ist, wird Differenz
einfach vorausgesetzt und die Pumpe angefahren. Sind dann die Schläuche
gefüllt, ist die Differenz höher und ist kein Thema mehr.
*/
if ((tempsolar > 28) && (tempdif < 10))
{
tempdif = 10;
}
/*
Geht die Temperatur am dach wieder zurück und die Differenz ist immer
noch unter ein Grad, dann wird der Anlauf wieder abgebrochen.
*/
if ((tempsolar < 26) && (tempdif < 10))
{
tempdif = 0;
}
//-------------Solldrehzahl aus Temperaturdifferenz ermitteln--------------
Solldrehzahl = map(tempdif, 10, 40, 150, 255);
if (Solldrehzahl > Drehzahlmax)
{
Solldrehzahl = Drehzahlmax;
}
else
{
if (Solldrehzahl < Drehzahlmin)
{
Solldrehzahl = Drehzahlmin;
}
}
// Ist gemessene tempdif gleich/größer Solldifferenz, dann Max Drehzahl
if (tempdif >= (P2 * 10))
{
Solldrehzahl = Drehzahlmax;
}
//------------------Pumpen Ansteuerung------------------------------------
// Gibt es keine brauchbare TemperaturDifferenz mehr, dann Pumpe auf PWM 0
if (Anfahren == 0)
{
if (tempdif < 10) //---Temp.Differenz kleiner 1 Grad, dann Pumpe aus----
{
Solldrehzahl = 0;
}
// Ist aber die Wunsch-Temperatur +2 erreicht, dann keine Solar Unterstützung mehr
if (temppool > (P1 + 2))
{
Solldrehzahl = 0;
}
// Ist Solldrehzahl erreicht ? Dann Drehzahl auf die Solldrehzahl einstellen
if (Solldrehzahl < Sollalt)
{
Drehzahl = Solldrehzahl;
Sollalt = Solldrehzahl;
}
}
// Ist Solldrehzahl nicht erreicht dann Drehzahl um 10 erhöhen
if ((Solldrehzahl > Sollalt) && (tempdif > 13))
{
if (Drehzahl < 120)
{
Drehzahl = 130;
}
Drehzahl = Drehzahl + 10;
// Wenn über Max, dann die Drehzahl auf Maxdrehzahl anpassen
if (Drehzahl > Drehzahlmax)
{
Drehzahl = Drehzahlmax;
}
Sollalt = Drehzahl;
Anfahren = 1;
}
else
{
Anfahren = 0;
}
/*
Hier wird geprüft, ob die Batterie noch genug Leistung hat.
Ist sie schon schwach geht die pume auf weniger Leistung zurück.
Das ist dann Drehzahl "150", also PWM Wert 150.
Ist die Batterie schon sehr leer, geht die Drehzahl auf "0", dass
die Batterie nicht zu tief enladen wird. Dann wird nur noch
Leistung für die CPU benötigt.
*/
if ((prozent <= 50) && (prozent > 0) && (tempdif > 12))
{
Drehzahl = 150;
}
if ((prozent <= 35) && (prozent > 0))
{
Drehzahl = 0;
}
/*
* Ist die Leistung der Batterie wieder im grünen Bereich und die
* TemperaturDifferenz des Wassers wieder hoch genug, ist davon
* auszugehen, dass wieder genug Sonne vorhanden ist, und somit
* die Pumpe wieder mit Vollgas betrieben werden darf.
*/
if ((prozent > 60) && ((tempdif / 10) > P2))
{
Solldrehzahl = Drehzahlmax;
}
analogWrite(RPWM, Drehzahl);
analogWrite(LPWM, 0); //Hier muss immer "0" sein, weil Rückwärts nicht gut ist
Sekundenablauf04 = millisekunden;
}
//------------------------Pumpensteuerung Ende-------------------------------
//###########################################################################
// ------------------------Serial Print Ausgabe------------------------------
if (millisekunden - Sekundenablauf03 >= Pausezeit03) // Serial Ausgabezeit abgelaufen?
{
Serial.println("---------------------------------");
Serial.print(F("Drehzahl Pumpe = "));
Serial.print(Drehzahl);
Serial.print(F(" soll = "));
Serial.println(Solldrehzahl);
Serial.print(F("Temp Pool = "));
Serial.println(temppool);
Serial.print(F("Temp Solar = "));
Serial.println(tempsolar);
Serial.print(F("Tempdif = "));
Serial.print(tempsolar - temppool);
Serial.print(F(" Soldif = "));
Serial.println(P2);
Serial.println("---------------------------------");
Serial.print(F("Panel "));
Serial.print(pvv);
Serial.print(F("V "));
Serial.print(pva);
Serial.print (F("A "));
Serial.print(pvwat);
Serial.println(F("W"));
Serial.print(F("Akku "));
Serial.print(akkuVolt);
Serial.print (F("V "));
Serial.print(akkuAmpere);
Serial.print(F("A "));
Serial.print(prozent);
Serial.println (F("%"));
Serial.println (F("---------------------------------"));
Sekundenablauf03 = millisekunden;
}
//-------------------------Seriale Ausgabe Ende-----------------------------
//##########################################################################
//-------------------------------MPPT LOOP----------------------------------
currentMillis = millis();
if (currentMillis - previousMillis >= intervall)
{
previousMillis = currentMillis; // Zeitpunkt der letzten Schaltung wird festgehalten
// Read 16 registers beginn mit Adresse 0x3100)
uint8_t result;
result = node.readInputRegisters(0x3100, 16);
if (result == node.ku8MBSuccess)
{ //PV Daten
pvv = node.getResponseBuffer(0x00) / 100.0f; //Tracer PV Volt
pva = node.getResponseBuffer(0x01) / 100.0f;//PV Ampere
//PV Leistung
pvwat = ((node.getResponseBuffer(0x06) + node.getResponseBuffer(0x07) ) / 100.0f);
/***** Akkustand Anzeigen *****/
akkuVolt = node.getResponseBuffer(0x04) / 100.0f; //Tracer Akku Volt
akkuAmpere = node.getResponseBuffer(0x05) / 100.0f;//Akku Ladedaten in Ampere
}
result = node.readInputRegisters(0x311A , 1);//Akkukapazität in Prozent
if (result == node.ku8MBSuccess) {
prozent = node.getResponseBuffer(0x00);
}
}
//-----------------------------MPPT LOOP Ende-------------------------------
//##########################################################################
}
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Ja, da sprichst du was an. Jetzt wo ich die Heizung gut am laufen haben, gibt es nur noch jeden Tag GewitterBernhard - Fony hat geschrieben: ↑Fr 28. Jul 2023, 16:35 ........ jetzt brauchst Du nur viel Sonne um in dem Pull springen
Samstag + Sonntag sind offenbar auch noch Gewitter. Nur der Montag scheint ein richtiger Sommertag zu sein.
Servus, Gute Nacht
Franz
- Admin
- Administrator
- Beiträge: 1206
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: Poolwasser mit der Sonne aufheizen.
Ich bin recht zufrieden mit dem Programm. Habe aber gestern noch was beobachtet, was ich hoffentlich heute beim Mitschnitt nochmal deutlich raus bekomme. Dann müßte ich noch was nachtarieren. Ich habe gestern gesehen, dass die Batterie wegen fehlender Sonne unter 50% gekommen ist. Dann ist folgerichtig der PWM Wert der Pumpe auf 150 statt 255 runtergesetzt worden. Aber als die Sonne wieder kam und der Zustand der Batterie wieder auf etwa 70% war, sah man das Soll auf 255 aber das ist weiterhin auf 150. Warum da immer noch der Sparwert greift ist mir noch nicht klar. Wenn das heute wieder passiert, muss ich da nochmal dran gehen. Ist einfach zu ändern, aber eigentlich sollte das in dem aktuellen Programm gar nicht passieren.
Ja, so ist das mit dem "sollte" und "ist", die Beiden sind sich oft nicht ganz einig, ...........
Ja, so ist das mit dem "sollte" und "ist", die Beiden sind sich oft nicht ganz einig, ...........
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast