Forum: Mikrocontroller und Digitale Elektronik lernfähige Zirkopumpe


von derKoch (Gast)


Lesenswert?

Hallo zusammen,

ich will mich an eine ‘lernfähige’ Zirkulationspumpen-Steuerung 
ranwagen.
Controller wird ein PIC16F628 (ist aber nicht wirklich wichtig, es geht 
mir erstmal nur um die Funktion)
Nun bräuchte ich ein paar Ideen bzgl. der Lernfähigkeit. Wie könnte die 
Logik dazu aussehen?
Grundprinzip ist ja: Wenn ein Verbraucher Warmwasser anfordert –sagen 
wir mal frühs um 6 Uhr- soll die Steuerung das lernen und am nächsten 
Tag 6Uhr das Warmwasser schon „vorgepumpt“ haben (die Wochenenden zur 
Vereinfachung mal ausgeschlossen).
Ich hab auch schon eine Idee dazu:

  -Der Tag wird in 15min-Abschnitte unterteilt wovon ich denke daß das 
Raster fein genug ist

 -Jeder Abschnitt bekommt 2Bit im Speicher  (das sind bei 24h x 
4Abschnitte x 2Bit= 24Byte für 1Tag, ich muss ja bissl mit dem Speicher 
geizen)

 -nun kann man in jedem Abschnitt 4 Werte speichern – 0 für ganz aus und 
3 für gaanz fest „gelernt“

 -wird Warmwasser angefordert wird der entsprechende (Zeit)Abschnitt um 
1 erhöht und damit „fester“ gelernt.

 -wird in dem Abschnitt kein Wasser entnommen so wird eine 1 abgezogen 
und die Steuerung verlernt sozusagen langsam wieder

 -letzten Endes wird bei allen Abschnitten die keine 0 enthalten 
Warmwasser bereitgestellt.

Was haltet ihr davon, ist der Ansatz brauchbar? andere oder 
Verbesserungs-Vorschläge sind willkommen...

von Frank501 (Gast)


Lesenswert?

> -letzten Endes wird bei allen Abschnitten die keine 0 enthalten
>Warmwasser bereitgestellt.

Ich würde die Schwelle nicht auf 1 legen sondern erts ab einer 2 das 
Wasser einschalten. Sonst kann es passieren, das man sich mal ausser der 
Reihe duscht und dann die Steuerung den nachfolgenden Tag das Wasser 
umsonst durch die Gegend pumpt.

Sinnvoller (aber auch Speicheraufwendiger) halte ich es, mehr Stufen zu 
nehmen (z.B. 4bit = 16 Stufen) und eine Hysterese mit einzubauen. Das 
bräuchte dann allerdings noch mehr Speicher, weil für jeden Abschnitt 
nicht nur die Information des Zählers benötigt wird sondern auch och, ob 
er aktiv ist oder nicht.

Frank

von Frank501 (Gast)


Lesenswert?

verd....
zu früh abgeschickt, wollt noch mehr Senf dazu geben ;-)

Bei mehr zur Verfügung stehendem Speicher könntest Du auch ein 
wesentlich feineres Raster (2 Minuten) verwenden und die Wasserentnahme 
erst einmal eine Woche als "teach in" aufzeichnen. Dann die Pumpe in 
jedem Block zusammenhängender Abschnitte einschalten, in der ein 
Schwellwert überschritten ist.
Um die ganze Mimik nicht im Urlaub durcheinander zu bringen, wäre es 
sinnvoll, währenddessen den Lernmodus abzuschalten.

Andererseits (ich kann hier nur von mir selbst sprechen) ist die 
Wasserentnahme viel zu unregelmäßig, um alle Zeiten einzulernen, die 
nötig wären. Vielleicht wäre eine "Grundversorgung" zu festgelegten 
Zeiten (Morgens nach dem Aufstehen, Vor den Mahlzeiten und vorm ins Bett 
gehen" über eine Schaltuhr angebrachter und die Zirkulation ausser der 
Reihe über einen Taster zu aktivieren.

Frank

von oszi40 (Gast)


Lesenswert?

Statt planmäßiger Zeitsteuerung könnte auch ein Bewegungsmelder in Nähe 
der Zapfstelle für das bedarfsgerechte Einschalten nützlich sein?

von derKoch (Gast)


Lesenswert?

Danke für die vielen (und für mich hilfreichen) Ideen,

zum Einschalten benutze ich einen Temperaturfühler im Vorlauf 
unmittelbar nach dem Warmwasserspeicher. Einmal kurz den Wasserhahn 
aufdrehen und anhand der Steilheit des Temperaturanstiegs (je nach 
vorhandener Temperatur) wird die Anforderung erkannt.
@Frank - ich denke es werden sich von allein Grundversorgungszeiten 
einstellen, wenn sich die Zeiten täglich wiederholen/ähneln.
- wie meinst du das mit der Hysterese? Im Abschnitt selbst kann man doch 
direkt gegen eine Zahl vergleichen (>4 ein, <2 aus)? Oder meinst du 
abschnittsübergreifend die Pumpe anlassen auch wenn zwischendurch mal 
eine 1 steht? Das würde sich doch durch das Lernen von selbst klären...

Man könnte die Sache ja auch noch so aufbauen dass ein aktivierter 
Abschnitt (das mit der 2Minuten-Teilung gefällt mir wirklich gut) die 
umliegenden Abschnitte (z.B. 6min) ebenfalls mit "hochzählt" und dadurch 
irgendwann ein zusammenhängender Kern-Bereich von vllt. 30 min entsteht?
Bei Nichtnutzung natürlich auch wieder runterzählen...

Ich werde das mal durchspielen ob das so geht - Vielen Dank erstmal für 
die Vorschläge.

Da muss ich jetzt wohl einen externen Speicher mit einbauen - stellt 
sich nun die Frage ob EEPROM oder RAM (wg. Energieverbrauch) - da ist 
wohl EEPROM die bessere Wahl..?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.