Hallo,
ich habe einen Arduino-PID-Regler nach der on-Board Library von Arduino
erstellt. https://github.com/br3ttb/Arduino-PID-Library/
Mein Problem ist nun, dass ich die Zahlenwerte um den PID schön
einstellen zu können nicht verstehe.
Hintergrund meines Problems:
Ich habe einen Pufferspeicher einer Wärmepumpe mit Zusatzheizstäben.
Momentan leite ich manuell von der Solaranlage ab einer gewissen
Leistung den Strom in die Heizstäbe. Diese sind sowohl per PWM als auch
ModBUS ansteuerbar. Zusätzlich haben diese eine Max-Temp Einstellung um
Überhitzen zu vermeiden.
Meine WP möchte ich weder hart ein noch hart ausschalten. Der Kompressor
hat ein Profil das er abarbeitet und somit kann ich nicht einfach
Ein/Aus sagen. Der Nachlauf nach Start sind ca 30min. Zu lange für eine
Wolke. Soweit so gut.
Die Heizstäbe haben jeweils 10kW und können bis herunter auf 2kW
gedrosselt werden (PWM/Modbus) oder ganz abschalten. Allerdings geht die
Übernahme der Befehle zum Heizen sehr langsam. Abschalten bzw runter
regeln geht sofort.
Hier hab ich mein Problem des PID-Reglers. Ich messe den Strom am
Stromzähler. Sehe 8kW Überschuss und sage meinem Heizstab das er 8kW
kann. 5sek später sehe ich noch 6kW Überschuss und mein PID sagt dann,
da geht noch was. Bei 10kW sehe ich dann 2kW Bezug und mein PID nimmt
ihm die wieder weg (was gar nicht sein muss).
Als Grundlage habe ich diesen Code:
https://github.com/br3ttb/Arduino-PID-Library/blob/master/examples/PID_Basic/PID_Basic.ino
mit diesen Werten:
1
doubleKp=1,Ki=1,Kd=1;
Ich habe leider keine Ahnung welche Werte ich für P I und D nehmen soll.
Der Überschwinger soll sofort reduziert werden und das Hochregeln
langsam erfolgen, da der Heizstab nicht sofort reagiert.
Kann mir jemand a) erklären wie ich die PID zu verstehen habe und b) mir
eventuell einen Zahlenwert nennen kann der für mein Projekt passt?
Grüße
Michael
> Kann mir jemand a) erklären wie ich die PID zu verstehen habe und b) mir
Nein, das geht leider nicht. Regelungstechnik ist eine Vorlesung ueber
2-3Semester im Rahmen eines Nachrichtentechikstudium wo der Professor
bereits weiss das du die notwendigen Mathe-Grundlagen drauf hast. Das
ist gerne mal ein Fach wo man laestige Studenten los wird.
Du kannst dir natuerlich die entsprechenden Buecher zulegen, aber die
liesst man nicht so einfach. .-)
> eventuell einen Zahlenwert nennen kann der für mein Projekt passt?
Nein, koennen wir auch nicht weil das natuerlich genau auf dein System
passen musst.
Fuer Leute wie dich haben die Herren Ziegler und Nichols oder auch Chron
und Renswick Einstellformeln/Verfahren hergeleitet. Danach kannst du
suchen. Die liefern eine Annaeherung die oftmals ausreichend ist,
manchmal auch nicht. Daher ist es dann empfehleswert das deine Software
immer die Systemparameter ausgibt und du dir das mal grafisch darstellt.
Dann kann man die letzten Feinheiten nach Gefuehl verstellen und dann
passt es meistens.
Olaf
Der P-Regler besteht ausschließlich aus einem proportionalen Anteil der
Verstärkung Kp. Mit seinem Ausgangssignal u ist er proportional dem
Eingangssignal e
Ein I-Regler (integrierender Regler, I-Glied) wirkt durch zeitliche
Integration der Regelabweichung e(t) auf die Stellgröße mit der
Gewichtung durch die Nachstellzeit T N {\displaystyle T_{N}} T_N
Das D-Glied ist ein Differenzierer, der nur in Verbindung zu Reglern mit
P- und/oder I-Verhalten als Regler eingesetzt wird. Er reagiert nicht
auf die Höhe der Regelabweichung e ( t ) {\displaystyle e(t)} e(t),
sondern nur auf deren Änderungsgeschwindigkeit.
Probier es mal mit einem Studium in Regelungstechnik. Da wird dir
beigebracht, wie man die Regelstrecke berechnet, so dass passende Werte
rauskommen.
Ohne genaue Kentnisse deiner Regelparameter bleibt nur die Methode
ausprobieren. Was welcher Wert macht, habe ich dir ja oben beschrieben.
Dreh am besten den D-Anteil erstmal auf 0. P bestimmt dann die Stärke
der Regelung und I ist für die Trägheit. P also langsam erhöhen, bis der
Ausgang in etwa auf den richtigen Wert regelt. Laständerung machen und I
so einstellen, das die Einregelungsgeschwindigkeit in etwa passt.
Zuletzt D aktivieren und bei Laständerung so justieren, das es gerade
keine Überschwinger gibt.
Allerdings ist ein PID Regler vermutlich die falsche Applikation für
deinen Fall.
Matthias S. schrieb:> Allerdings ist ein PID Regler vermutlich die falsche Applikation für> deinen Fall.
Hallo Matthias,
DAS habe ich sogar vermutet. Ich versuche nun einen anderen Ansatz.
Eventuell sogar per Hand.
So wie ich das sehe, gehst es hier nicht darum die Temperatur der
Heizstäbe zu regeln sondern den überschüssigen Strom in die Heizstäbe
reinzuleiten? Warum möchtest du dafür eine Regelung?
Blackoutgroßaktionär schrieb:> So wie ich das sehe, gehst es hier nicht darum die Temperatur der> Heizstäbe zu regeln sondern den überschüssigen Strom in die Heizstäbe> reinzuleiten?
Genau!
> Warum möchtest du dafür eine Regelung?
Damit ich keinen Strom aus dem Netz ziehe.
Michael schrieb:> Damit ich keinen Strom aus dem Netz ziehe.Michael schrieb:> Ich messe den Strom am> Stromzähler. Sehe 8kW Überschuss und sage meinem Heizstab das er 8kW> kann. 5sek später sehe ich noch 6kW Überschuss ...
... und drum du sagst deinem Heizstab, dass er 6kW kann.
> Bei 10kW sehe ich dann ...
... 10kW Überschuss und sagst dem Heizstab, dass er 10kW kann.
Zu regeln gibt es da gar nichts.
Jester schrieb:> Michael schrieb:>> Damit ich keinen Strom aus dem Netz ziehe.>> Michael schrieb:>> Ich messe den Strom am>> Stromzähler. Sehe 8kW Überschuss und sage meinem Heizstab das er 8kW>> kann. 5sek später sehe ich noch 6kW Überschuss ...> ... und drum du sagst deinem Heizstab, dass er 6kW kann.>> Bei 10kW sehe ich dann ...> ... 10kW Überschuss und sagst dem Heizstab, dass er 10kW kann.>> Zu regeln gibt es da gar nichts.
Du hast es leider nicht kapiert!
Der Heizstab zieht nicht sofort die Leistung, sondern erst ca 30-60
Sekunden nach dem Befehl. Leistung reduzieren geht aber sofort.
Willst du deine Aussage nochmals überdenken?
Hast du verstanden was passiert wenn man den Stab 8kW freigibt und misst
bevor der Stab die Leistung voll angenommen hat? Es gibt einen
Messfehler der sich aufaddiert und zu Überschwingern führt.
Michael schrieb:> Du hast es leider nicht kapiert!>> Der Heizstab zieht nicht sofort die Leistung, sondern erst ca 30-60> Sekunden nach dem Befehl. Leistung reduzieren geht aber sofort.
Und du bist dir ganz sicher, dass du verstanden hast, was ein
(PID)-Regler macht?
Du verheizt die von deinem Stromzähler gemeldete, überschüssige Leistung
in deinen Heizstäben. So weit so gut.
Dank sofort reagierender Leistungsreduktion ziehst du keinen Strom aus
dem Netz. So weit so gut.
Viel Spaß mit den Totzeiten beim Hochfahren der Heizstäbe. Während 30
... 60 Sekunden verschenkst du Leistung. Das bekommst vielleicht in
Griff, wenn du zusätzlich eine Glaskugel verbaust. So weit so gut.
Oder du schließt deine Fotovoltaik direkt an deine Heizstäbe - ganz ohne
depperte PWM/Modbus-Steuerung. Dann verschenkst du nichts. So weit so
gut.
Michael schrieb:> Meine WP möchte ich weder hart ein noch hart ausschalten. Der Kompressor> hat ein Profil das er abarbeitet und somit kann ich nicht einfach> Ein/Aus sagen. Der Nachlauf nach Start sind ca 30min. Zu lange für eine> Wolke. Soweit so gut.
Die WP steuern, bei Totzeiten von ~30min - damit ist in jedem Fall eine
Glaskugel fällig - und zwar eine der wamperten Sorte! So weit so gut!
Warum eigentlich immer PID Regler? Gibt es heute nicht besser,
selbstlernende Algorithmen? Oft ist die Reaktion der Regelstrecke über
die Zeit doch nicht konstant.
So ein Aufriss wegen eines Pufferspeichers....
Miss die Temperatur, mach dir 3-5 Leistungsstufen und hau die passende
PWM raus. Das wars. Kein Regler, sicherer Programmablauf, keine
Probleme. Einen Pufferspeicher ausregeln, ich glaub es geht los. Dir ist
doch egal ob der Eimer 85 oder 85,3°C hat. Hauptsache die max PV Energie
geht da rein und die Tonne fliegt nicht durchs Dach. Das kann dein
Programm leich berechnen und dann den PWM Ausgang setzen...Mach dir
lieber Gedanken wie du die obere Abschaltung hin bekommst und am besten
redundant auslegst, damit wenigstens eins von beiden den ungewollten
Start der Boiler 5 Rakete verhindert.
VG Paul
Re D. schrieb:> Warum eigentlich immer PID Regler? Gibt es heute nicht besser,> selbstlernende Algorithmen? Oft ist die Reaktion der Regelstrecke über> die Zeit doch nicht konstant.
Nein. Bei diesen gibt es keine Sicherheiten was die Funktion angeht.
Damit für viele Anwendungen unzureichend
Ich fürchte dass das überhaupt nicht geht.
Auf der einen Seite bekommst du zeitnahe Informationen, wie viel
Energie-Überschuss deine Solarzellen produzieren.
Du möchtest den Überschuss zum Heizen verwenden, kannst die Heizleistung
aber nur mit 30 Minuten verzögerung reduzieren.
Wenn ich dich soweit richtig verstanden habe, müsste dein Regler in die
Zukunft schauen können, um schon eine halbe Stunde vorher abzuregeln,
bevor sich eine Wolke vor die Sonne schieben wird. Wie soll das gehen?
Michael schrieb:> Kann mir jemand a) erklären wie ich die PID zu verstehen habe
P schaut in die Gegenwart,
I in die Vergangenheit,
D in die Zukunft.
Dein Problem ist aber die Totzeit in der Regelstrecke. Denn D kann nicht
die Sonne bzw die Wolken sehen...
Kolja L. schrieb:> Michael schrieb:>> Kann mir jemand a) erklären wie ich die PID zu verstehen habe>> P schaut in die Gegenwart,> I in die Vergangenheit,> D in die Zukunft.>> Dein Problem ist aber die Totzeit in der Regelstrecke. Denn D kann nicht> die Sonne bzw die Wolken sehen...
Woher kommt eigentlich die Totzeit von 30min?
Blackoutgroßaktionär schrieb:> Woher kommt eigentlich die Totzeit von 30min?
Die scheint es nicht zu geben, der TE redet aber von 30-60s, die seine
vorhandenen Mimik braucht, um die Heizdingse aufzudrehen.
M.E. ist damit schon Ende Banane, denn es gibt bei der PV keine Prognose
und schon gar nicht die Prophetschaltung. Am besten speist man in die
Heizstäbe das, was da ist und schaltet nur bei mangelnder PV irgendwann
auf Netzbetrieb.
Kolja L. schrieb:> Michael schrieb:>> Kann mir jemand a) erklären wie ich die PID zu verstehen habe>> P schaut in die Gegenwart,> I in die Vergangenheit,> D in die Zukunft.>> Dein Problem ist aber die Totzeit in der Regelstrecke. Denn D kann nicht> die Sonne bzw die Wolken sehen...
Danke für die Aufklärung! Ja genau, das ist mein Problem. Sonne ist weg
und die Regelung fängt an den Stab zurück zu regeln bis er keinen Strom
mehr aus dem Netz zieht. Das dauert aber und kostet unnötig Geld.
Stefan F. schrieb:> Du möchtest den Überschuss zum Heizen verwenden, kannst die Heizleistung> aber nur mit 30 Minuten verzögerung reduzieren.
Das ist bei der Wärmepumpe. Deshalb aktiviere ich ja die Heizstäbe.
Diese sind aber beim Anfahren her träge und brauchen 1min. Runterregeln
hingegen geht sofort.
Eigentlich brauche ich einen Heizstab der keine Elektronik enthält und
ggf über Phasenabschnitt/Anschnitt geregelt werden kann.
Re D. schrieb:> Warum eigentlich immer PID Regler? Gibt es heute nicht besser,> selbstlernende Algorithmen? Oft ist die Reaktion der Regelstrecke über> die Zeit doch nicht konstant.
Fuzzy logik ?
Klaus H. schrieb:> Re D. schrieb:>> Warum eigentlich immer PID Regler? Gibt es heute nicht besser,>> selbstlernende Algorithmen? Oft ist die Reaktion der Regelstrecke über>> die Zeit doch nicht konstant.>> Fuzzy logik ?
Kannst du das bitte näher beschreiben?
Helge schrieb:> Braucht man überhaupt einen Regelalgorithmus? Reicht es nicht, dem> Heizer die Überschußleistung als Stellparameter rüberzuschicken?
Bitte lese meinen Text. Dort ist beschrieben weshalb dies nicht geht,
ohne dabei es zu Überschwingern kommen zu lassen.
aufschreiben welche Totezeiten und Übertragungsglieder man im System
hat...
Dann simulieren... eventuell müssen auch mehrere Regler arbeiten mit
verschiedenen Übertragungsgliedern und später intelligent fusioniert
werden...
Michael schrieb:> Klaus H. schrieb:>> Re D. schrieb:>>> Warum eigentlich immer PID Regler? Gibt es heute nicht besser,>>> selbstlernende Algorithmen? Oft ist die Reaktion der Regelstrecke über>>> die Zeit doch nicht konstant.>>>> Fuzzy logik ?>> Kannst du das bitte näher beschreiben?
Frank Hoffmann - Entwurf von Fuzzy-Reglern mit genetischen Algorithme
Kann man nicht einfach den Regler so langsam laufen lassen, dass er nur
einmal alle 60 Sekunden die Stellgröße ändert? Bzw. nach dem
Einschaltbefehl einfach 60 Sekunden warten.
Michael schrieb:> Bitte lese meinen Text. Dort ist beschrieben weshalb dies nicht geht,> ohne dabei es zu Überschwingern kommen zu lassen.
Dein Problem liegt außerhalb des Einflussbereiches des (was auch immer)
Reglers. Solange du diese Totzeit nicht eliminierst, oder eine
funktionierende Glaskugel in die Regelstrecke implementierst, wird das
nix...
Ich habe einen Fehler gemacht!
Ich habe den Begriff und den Code für "PID" verwendet anstatt zu fragen
welcher Regler man nehmen muss. Jetzt hängen sich alle an dem PID-Regler
auf, anstatt mir zu erklären welche Regelart und welche Regeltechnik man
dafür nutzt. Es fehlt jetzt nur noch das Verhalten der Amateurfunker,
die dann zu Politik wechseln und am Ende bei Gesundheitsfragen sind.
Es war einfach ein Versuch, da ich glaubte ein PID-Regler wäre dafür
brauchbar. OK, ist er nicht.
Ich experimentiere nun etwas mit der vorgeschlagenen 60Sek-Regelung. Ist
halt aufwändiger, da keine fertige Lib.
Michael schrieb:> anstatt mir zu erklären welche Regelart und welche Regeltechnik man> dafür nutzt.Kolja L. schrieb:> Dein Problem liegt außerhalb des Einflussbereiches des (was auch immer)> Reglers. Solange du diese Totzeit nicht eliminierst, oder eine> funktionierende Glaskugel in die Regelstrecke implementierst, wird das> nix...
Michael schrieb:> Ich habe einen Pufferspeicher einer Wärmepumpe mit Zusatzheizstäben
wozu dann PID?
Bei der Zeitkonstante überflüssig, 2-punkt reicht völlig.
Bloß weil es PID gibt musss man das nicht überall anwenden.
Es wurde doch schon erklärt, dass die Totzeit druch Prädiktion (Zukunft
vorhersagen) berücksichtigt werden muss. Da gibt es zum Beispiel den
Smith-Prädiktor. Sprich du müsstest das Wetter 60 sekunden vorhersagen.
Wenn also eine Wolke im Anmarsch ist müsstest du das der Regelung
sagen...
Michael schrieb:> Ich habe den Begriff und den Code für "PID" verwendet anstatt zu fragen> welcher Regler man nehmen muss. Jetzt hängen sich alle an dem PID-Regler> auf, anstatt mir zu erklären welche Regelart und welche Regeltechnik man> dafür nutzt.
Du brauchst einen reinen P-Regler oder aber einen PI-Regler (oder einen
PID-Regler mit kd=0) mit einer vorgebbaren Begrenzung des
Ausgangssignals. In erster Linie wird der gemessenen "Rückstrom" am
Einspeisepunkt mit einem Faktor multipliziert (P-Anteil), der zu einer
entsprechenden Ansteuerung der Heizstäbe führt (was offensichtlich bei
Dir eine gewisse Zeit dauert z.B. 60s). Soweit, so gut.
Sollte über eine gewisse Zeit (z.B. 30min) durch den P-Regler ein
restlicher "Rückstrom" verbleiben, was bei einem P-Regler normal wäre,
kann man zusätzlich einen integralen (I-) Anteil hinzufügen. Dann würde
sich der verbliebene "Reststrom" langsam zu "Null" verringern. Hierbei
ist aber das Ausgangssignal des Reglers zu begrenzen (0kW bzw. +10kW).
Das ist mathematisch notwendig wegen des ins möglicherweise unendliche
steigende Integral bei Messunsicherheiten und Lastwechseln. In der
Praxis nutze ich für die gleiche Aufgabenstellung einen PI-Regler mit
Eingangssignal in [W] (Überschussleistung), Ausgangssignal in [W]
(anzusteuernde Heizleistung), kr=-0,4 Tn=6,0s Xamin=0W Xamax=1700W. Da
mein System sofort reagiert, können auch Lastwechsel im Netz
(Herdplatten mit Zykluszeit=15s) relativ gut beherrscht werden.
Dir würde ich einen reinen P-Regler empfehlen, wie bereits zu Anfang
gepostet wurde:
ReglerForBeginner schrieb:> double Kp=1, Ki=0, Kd=0;
Kp kannst Du dann variieren und sehen ob es besser oder schlechter wird.
noch eine Ergänzung: fange mit einem Wert von Kp=0,4 an und steigere ihn
dann. Die Einstellreglen nach Nichols/Ziegler sind in Deinem Fall nicht
hilfreich, da die Regelstrecke (das Stromnetz) viel schneller reagiert
als das Stellglied (Deine Heizelemente mit Zeitverzögerung). Eine KI an
dieser Stelle wäre zu überdimensioniert und ist auch in der Industrie
noch nicht angekommen. Bei meinem Studium waren wir froh, wenn der
Regler doppelt so schnell reagierte als die Regelstrecke. Daher bleibt
tatsächlich nur ein P-Regler oder der direkte Anschluss der Heizelemente
an die PV-Anlage...
nochmal ich. Um eine saubere lineare Regelung hinzubekommen, muss die
gemessene Regelgröße (hier beim TO die Solarleistung, bei anderen
Projekten der gemessener Strom am Einspeisepunkt) per Filter soweit
geglättet werden, dass der maximale Signalanstieg kleiner ist als die
Geschwindigkeit, mit der das Stellglied die Regelstrecke beeinflussen
kann. Z.B. mit einem pt1 Glied, also einer Mittelwertbildung. Da in
diesem Thread die Regelstrecke sehr langsam ist, kann man mit einem
Regler also keinesfalls schnelle Wechsel der Solareinstrahlung oder
Lastwechsel im Netz abfangen.
Es bleiben dann nur zwei Wege: 1. Die Führungsgröße bzw. den Sollwert
auf einen Wert <0 zu verschieben und damit die Effizienz zu
verschlechtern (Rückspeisung ins Versorgungsnetz) und/oder 2. einen
speziellen nichtlinearen Regler zu adaptieren, der die vielen möglichen
Regelungsfälle heuristisch/vorhersagbar "möglichst gut" umsetzt. Dabei
wäre die Aussage hilfreich:
Michael schrieb:> Allerdings geht die> Übernahme der Befehle zum Heizen sehr langsam. Abschalten bzw runter> regeln geht sofort.
Konkret bei einem PI-Regler müßte dann die Integralbildung bei Zu- bzw.
Abnahme des Eingangssignals unterschiedlich erfolgen, z.B. mit einem
resetbaren Regler oder 2 verschiedenen Ki.
Ich baue mir gerade ein ähnliches System. Allerdings mit kleinerer
Leistung.
Wenn ich das richtig verstanden habe, regelst Du die Leistung der
Heizstäbe mit PWM. Irgendwo habe ich gelesen, dass die
Zählermessfrequenz deutlich größer ist als 50Hz. In diesem Fall würde
wirklich nur Phasenanschnitt helfen, um eine Messung des Zähler im
Scheitelpunkt zu vermeiden. Kannst Du das bestätigen.
Bis jetzt habe ich einen Phasenanschnitt Steuerung realisiert. Ich habe
den Phasenwinkel rechnerisch bestimmt und plage mich auch mit dem
Problem, dass die Heizleistung möglichst immer <= der ans das RWE
gespendeten Leistung ist.
Mit "Zählermessfrequenz" meinst Du sicher das Abfrageintervall im Zähler
für die Energiemessung in einem Strompfad. Dieses Intervall muss
zwingend viel kleiner als die Dauer einer Halbwelle sein, damit die
vielen "unmöglichen" U/I Kurvenformen im realen Netz korrekt erfasst
werden (Stichwort Schaltnetzteile). Für die Ansteuerung von Heizstäben
ist ein anderer Wert des Zählers wichtig: Die Intervallzeit in der die
Energie-Addition aller 3 Phasen erfolgt (saldierende Messung). Da die 3
Phasen gegeneinander um 120° verschoben sind beträgt diese Intervallzeit
mindestens 50-60ms. In der Praxis sind es bei E-Zählern eher mehr als
100ms. Damit kann man sehr wohl eine Schwingungspaket-PWM mit 10
Halbwellen je Zyklus realisieren. Die Genauigkeit liegt dann allerdings
auch nur bei +/-10%, da ja immer nur ganzzahlige Halbwellen
durchgelassen werden. Also Zykluszeit für die PWM: 0,1s ... 0,13s und
eine (störintensive) Phasenanschnittsteuerung kann vermieden werden.
Heinz S. schrieb:> Ich baue mir gerade
Heinz baut erst mal bevor er recherchiert.
Heinz ist ein Macher, kein Denker.
> Bis jetzt habe ich einen Phasenanschnitt Steuerung realisiert.
In einem an das öffentliche Netz angeschlossenem Hausnetz ist es laut
TAR deines Netzbetreibers untersagt, Heizungen grösser 300W per
Phasenanschnitt zu steuern.
Interessiert dich nicht weil du eh immer machst wonach die Nase
gewachsen ist oder upps, überlesen ?
Sinusdimmer ist die Lösung, und viele Sinzsdimmer dimmen nur noch den
Rest und schalten grob schon mal in Stufen um.
Vielen Dank für die superschnelle Reaktion!
Saldier-Intervall > 100ms das ist eine gute Info!
Damit wäre die Schwingungspaket-Lösung eine gute und einfache
Ersatzlösung.
Das mit den max. 300Watt ist mir schon bekannt. Da es sich hier aber nur
um ein Balkonanlage handelt, ist mit großen Leistungen, die zurück ins
Netz gehen, sowie nicht zu rechnen.
.
Nochmal vielen Dank für die Unterstützung
Heinz S. schrieb:> Damit wäre die Schwingungspaket-Lösung eine gute und einfache> Ersatzlösung.
Schwingungspaketsteuerung hat wegen der Flickergrenze eine Periodendauer
von 4s oder mehr zu haben. Selbst dein Ceranfeld-Energieregler hält sich
dran.
Michael B. schrieb:> Schwingungspaketsteuerung hat wegen der Flickergrenze eine Periodendauer> von 4s oder mehr zu haben.
Aber erst bei Lasten ab 300W - siehen oben, und Heinz weiß das schon!
Uuu B. schrieb:> Aber erst bei Lasten ab 300W -
Welcher Heizstab soll weniger als 300W haben und wozu, damit bringt man
weniger Warme als durch die Isolierung wieder flöten geht, selbst ein
Untertischspeicher hat mehr. Lötkolben in Kaffeetasse ?
Und 0.9W 1/3 der Zeit zählt nicht als 300W.
Ich muss mich korrigieren was die mögliche Zykluszeit der PWM betrifft -
der EasyMetec Q3MA hat eine Saldierungszeit von 0,08-0,09s.
Wahrscheinlich sind auch andere Zähler mittlerweile so schnell
unterwegs. Daher sollte die Zykluszeit für die PWM eher bei 0,08s - 0,1s
liegen. Es wäre auch eine Frage, wie "falsch" der Zähler messen würde,
wenn die Zykluszeit der PWM nur wenig größer als das
Saldierungsintervall des Zählers ist. Bei 0% und bei 100% PWM wäre ja
immer alles korrekt und bei Zwischenwerten (am ungünstigsten bei 50%
PWM) würde der Zähler ja nur manchmal auch "Bezug" zählen, der vermieden
werden soll.
Falls MaWin vorbeikommt: ja, der Zähler misst immer richtig!
Michael schrieb:> Hallo,>> ich habe einen Arduino-PID-Regler nach der on-Board Library von Arduino> erstellt. https://github.com/br3ttb/Arduino-PID-Library/>> Mein Problem ist nun, dass ich die Zahlenwerte um den PID schön> einstellen zu können nicht verstehe.>> Hintergrund meines Problems:>> Ich habe einen Pufferspeicher einer Wärmepumpe mit Zusatzheizstäben.> Momentan leite ich manuell von der Solaranlage ab einer gewissen> Leistung den Strom in die Heizstäbe. Diese sind sowohl per PWM als auch> ModBUS ansteuerbar. Zusätzlich haben diese eine Max-Temp Einstellung um> Überhitzen zu vermeiden.> Meine WP möchte ich weder hart ein noch hart ausschalten. Der Kompressor> hat ein Profil das er abarbeitet und somit kann ich nicht einfach> Ein/Aus sagen. Der Nachlauf nach Start sind ca 30min. Zu lange für eine> Wolke. Soweit so gut.>> Die Heizstäbe haben jeweils 10kW und können bis herunter auf 2kW> gedrosselt werden (PWM/Modbus) oder ganz abschalten. Allerdings geht die> Übernahme der Befehle zum Heizen sehr langsam. Abschalten bzw runter> regeln geht sofort.>> Hier hab ich mein Problem des PID-Reglers. Ich messe den Strom am> Stromzähler. Sehe 8kW Überschuss und sage meinem Heizstab das er 8kW> kann. 5sek später sehe ich noch 6kW Überschuss und mein PID sagt dann,> da geht noch was. Bei 10kW sehe ich dann 2kW Bezug und mein PID nimmt> ihm die wieder weg (was gar nicht sein muss).>> Als Grundlage habe ich diesen Code:> https://github.com/br3ttb/Arduino-PID-Library/blob/master/examples/PID_Basic/PID_Basic.ino>> mit diesen Werten:double Kp=1, Ki=1, Kd=1;>> Ich habe leider keine Ahnung welche Werte ich für P I und D nehmen soll.> Der Überschwinger soll sofort reduziert werden und das Hochregeln> langsam erfolgen, da der Heizstab nicht sofort reagiert.>> Kann mir jemand a) erklären wie ich die PID zu verstehen habe und b) mir> eventuell einen Zahlenwert nennen kann der für mein Projekt passt?>> Grüße> Michael
Hier brauchst du keinen PID Regler sondern einfach nur ne Abfrage vom
Umrichter wieviel Leistung gerade als Überschuss zur Verfügung steht.
Bei den Umrichtern kannst du Ausgänge programmieren die du dann
abfragst...
Anhand der Überschussleistung und aus dem wieviel Leistung deine
Heizstäbe haben, errechnest du einfach einen Faktor der genau das
widerspieglt was du willst und damit kannst du dann eine PWM oder
sinnvoller eine Schwingungspacketsteuerung bauen.
Zu deinem Überschwinger wo soll der entstehen ? Heizstab 10kW
Wassertemperatur bei 30°C. Anhand der Wärmemengenlehre könntest du
zusätzlich berechnen wieviel Leistung du real benötigst oder wieviel
Zeit oder wieviel Energie, such dir was aus.
Aber viel wichtiger ist wo stecken denn die Heizstäbe im Wasser
gestaffelt oben mitte unten oder doch nur mittig.
Der PID Regler muss immer für die jeweilige Strecke berechnet werden
aber simpel gesagt geht beim PID um folgendes:
P = proportinal Abweichung erzeugt gleich größe Regeldifferenz
I = Zeitlicher Faktor wie stark P wirken soll
D = das ist die Glaskugel die sagt um wieviel P&I vorzuhalten sind um on
Point das Ziel zu erreichen
Woher soll der Regler wissen, dass in 30s die Leistung x anliegt um die
Heizstäbe vorauseilend hoch zu fahren? Gib eben die Leistung frei wenn
sie anliegt, ist sie nach der Totzeit noch da, alles gut, ist sie nicht
da Regel eben runter, was wohl wie beschrieben schnell geht.
Was soll ein PID ? Das System ist viel zu komplex, da brauchts schon
Einiges mehr. Ich empfehle mal ein paar Simulationen zu fahren bis alles
genau verstanden wurde.
Chris S. schrieb:> aber simpel gesagt geht beim PID um folgendes:> P = proportinal Abweichung erzeugt gleich größe Regeldifferenz> I = Zeitlicher Faktor wie stark P wirken soll> D = das ist die Glaskugel die sagt um wieviel P&I vorzuhalten sind um on> Point das Ziel zu erreichen
Sicher?
Meine Empfehlung:
https://rn-wissen.de/wiki/index.php/Regelungstechnik
Hier gibt es eine gute Erklärung (einschl. Gleichungen) zu PID-Regler
und für die Ermittlung der PID-Parameter für einen Regelkreis.
Ich glaube, die ganze Diskussion verrutscht ein wenig.
Im letzten Jahr schenkte ich meinem Energieversorger ca. 280kWh
Leistung, die ich von meiner Photovoltaikanlage nicht verbraucht aber
erzeugt habe. Bei den heutigen Strompreisen kann man dafür schon mal
einige Bier trinken. Das hat mich geärgert. Was tun?
LIPOS mit entsprechender Steuerung rechnen sich bei diesen kleinen
Leistungen nicht.
Ich habe auch darüber nachgedacht, einen Frequenzumrichter mit 400Hz zu
betreiben und dort Wellenpakete zu packen. Da gibt es für mich aber noch
zu viele Unbekannte und ich habe auch gerade keinen überzähligen
Frequenzumrichter in der Kiste, um das zu testen.
Die einfachste Lösung ist die, die überschüssige Leistung in Wärme zu
verwandeln. Entweder über einen elek. Heizstab im Warmwasserbehälter der
Heizung oder in einem externen Wasserspeicher, der an die Zirkulation
des
Warmwasserkreislaufs angeschlossen wird.
Die Kosten müssen auf alle Fälle im Verhältnis bleiben. Bis jetzt habe
ich nur 50€ für einen Zähler ausgegeben, mit dem ich die Saldos über
MODbus auslesen kann. Alles andere war in der Krabbelkiste oder bekam
ich geschenkt. Der Warmwasserspeicher hat 4 Heizstäbe. 2 a 2kW und 2 a
1kW.
Ich benutze nur einen 1kW Heizstab. Zur Simulation habe ich einen 1kW
Tauchsieder benutzt. Über Phasenanschnittsteuerung kann ich hier jede
beliebige Leistung einstellen.
Störungen:
Bei kleinen Leistungen konnte ich keinerlei Störungen feststellen. Bei
größeren Leistung (so ca. 500W) beschwerte sich die LED in der Lampe
über meinem Arbeitstisch. Da gibt es also noch was zu tun. Die ganze
Anlage wird im Keller neben der Heizung installiert. HF-Abstrahlung ist
dort nicht das Thema. Über die Störungen, die über das Netz verbreitet
werden, muss ich mir noch Gedanken machen und natürlich testen.
PS. Ich will die Lösung nicht verkaufen und ich fahre auch schon mal
schneller als 50 obwohl nur 50 erlaubt sind. Asche auf mein Haupt!
Selbst wenn das Ganze wegen möglicher Verluste nur einen Wirkungsgrad
von 10% hat, ist das immer noch besser, als die Leistung zu verschenken
und außerdem macht das Ganze auch noch Spaß!
Heinz S. schrieb:> Im letzten Jahr schenkte ich meinem Energieversorger ca. 280kWh
Also der 93te Schwachsinnspost, an Balkonsolar mit Wunderelektronik die
Physik / den Zähler austricksen zu wollen.
Suche Dir ein passenderes Spielzeug, z.B. eine Holzeisenbahn.
Das System schwingt, weil mit dem derzeitigen Überschuss verzägert
gestellt wird.
Eigentlich wird aber die aktuelle Leistung Haus (P1) benötigt, die
aktuelle Leistung PV (P-1) und die aktuelle Leistung Heizstäbe (P2). P2
ist in P1 enthalten.
Die Heizstäbe müssen also jederzeit und ruhig verzögerungsfrei auf Psoll
= P-1 - (P1 - P2) gestellt werden.
Schon schwingt nichts mehr.
Oder ich habe einen Denkfehler drin, gut möglich.
Dass das Prinzip ggf. humpelt, weil die Heizstäbe und PV vom Zähler ggf.
nicht wie gewünscht verrechnet werden, wurde angesprochen.
Heinz S. schrieb:> Der Warmwasserspeicher hat 4 Heizstäbe. 2 a 2kW und 2 a> 1kW.
Ich bin auch gerade dabei so etwas zu bauen.
Ich hab mir einen Heizstab mit 3 unabhängigen 1kW Stäben gekauft.
Diesen werde ich mittels Relais derart verschalten, dass ich sieben
Leistungsstufen von 333W - 3kW bekomme.
Auf der Leiterplatte werde ich noch einen Anschluss für einen Dimmer für
die kleinste Stufe vorsehen.
Ich denke das sollte der kleinste Aufwand mit dem größten Ertrag sein.
Wolle G. schrieb:> Sicher?> Meine Empfehlung:> https://rn-wissen.de/wiki/index.php/Regelungstechnik> Hier gibt es eine gute Erklärung (einschl. Gleichungen) zu PID-Regler> und für die Ermittlung der PID-Parameter für einen Regelkreis.
ja sehr sicher! Dein Link bestätigt ja nur meine einfachen Aussagen...
Chris S. schrieb:> Anhand der Überschussleistung und aus dem wieviel Leistung deine> Heizstäbe haben, errechnest du einfach einen Faktor der genau das> widerspieglt was du willst und damit kannst du dann eine PWM oder> sinnvoller eine Schwingungspacketsteuerung bauen.> ja sehr sicher! Dein Link bestätigt ja nur meine einfachen Aussagen...
.. ja, sicher und danach schaltet der Heizstab zu, die
Überschussleistung geht in den Keller, der Heizstab geht wieder aus und
dann das Spiel von vorn. Davon abgesehen, dass nicht jeder
Wechselrichter "programmierbare Ausgänge" hat. Soo einfach ist es nicht,
digitale Regelungen mit Totzeit zu programmieren. Ein digitaler
PID-Regler ist schon "etwas" komplexer ;-) Hier wird übrigends auch nur
ein PI-Regler benötigt, der D-Anteil (die Glaskugel :-) wäre bei der
großen Totzeit eher kontraproduktiv.
Uuu B. schrieb:> ja, sicher und danach schaltet der Heizstab zu, die> Überschussleistung geht in den Keller, der Heizstab geht wieder aus und> dann das Spiel von vorn.
Natürlich darf man nicht die Überschussleistung als neuen Zielwert
nehmen, sondern PWMneu = Momentane Überschussleistung + PWMaktuell.
Funktioniert dann sogar automagisch richtig wenn die momentane
Überschussleistung negativ wird.
Klaus schrieb:> Natürlich darf man nicht die Überschussleistung als neuen Zielwert> nehmen, sondern PWMneu = Momentane Überschussleistung + PWMaktuell.
"Fast" richtig. Es fehlt noch der Sollwert:
PWM_n = Momentane Überschussleistung - Sollwert + PWM_n-1
Dann kann auch der PWM-Fehler von +/-10% vorab berücksichtigt werden, da
ansonsten der Zähler regelmäßig etwas "Bezug" misst. Die Gleichung gilt
aber auch nur bei Zykluszeiten (Messung und Berechnung) >= PWM
Intervall. Ist das Messintervall kleiner, ist die Messung vor der
Berechnung entsprechend zu glätten.