Verständnisprobleme mit Regler und Kaskadenregler
Erst mal herzlichen Glückwunsch zum gelungenen Grundlagen Wiki Regelungstechnik. Der Einstieg ist mir gut gelungen und ich konnte damit einen PID Regler sowohl in C für einen Fahrmotor wie auch jetzt in Javascript unter NodeRed selbst erstellen. Der Fahrmotor wird über einen Inkrementalgeber bislang allerdings nur auf Geschwindigkeit und nicht auf Position geregelt. Dazu habe ich mal gehört, daß man zwei Regler als Kaskade benötigt. Das Positionierbeispiel im Wiki verstehe ich da auch nicht wirklich.
Neben dem Antrieb möchte ich nun auch noch den Füllstand eines Akkus ausregeln. Dieser wird tags über Solarzellen geladen. Da sich die Sonne von einem Reglerausgang nicht beeindrucken lässt, ist die Stellgröße der Stromverbrauch welcher von min bis max eingetellt werden kann. Die Führungsgröße wäre der SOC (State Of Charge) des Akkus. Das Akku Monitor IC kann seinen SOC aus dem Coulomb Zähler zurückmelden.
Also: Gewünschter SOC ist höher als aktueller SOC. D.h. der Antrieb muß angehalten werden um Strom zu sparen, damit vitale Funktionen auch über Nacht nicht ausfallen.
Oder: Gewünschter SOC ist niedriger als aktueller SOC. D.h. der Antrieb kann jetzt eine gute Fahrstrecke zurücklegen. Der maximal Strom der Solarzelle ist höher als der Motor verbraucht. Deshalb muß der Akku genügend Aufnahmekapazität haben, damit später keine Energie verlorengeht was die gesamte Fahrstrecke beeinträchtigen würde.
Der Regler läuft soweit und gibt auch den Stromverbrauch für das System vor. Das schwankt aber immer zwischen min und max, bzw. geht in aller Regel am Anschlag in die Sättigung. Grund dafür ist, daß die Rückmeldung des Ladezustands SOC vom Akku mit vollen Prozenten nicht nur ungenau sondern auch extrem träge ist. Ohne Regelabweichung macht der Regler gar nichts mehr. Eine Auflösung von 1% ist aber viel zu grob.
Deshalb bin ich auf die Idee gekommen, einen zweiten Regler zu nehmen, welcher aktiviert wird wenn Soll und Istwert identisch sind. Der zweite Regler bekommt nun den Batteriestrom als Rückmeldung welchen er über den Verbrauch auf Null ausregelt. D.h. es muß genauso viel verbraucht werden wie die Solarzelle erzeugt. In dieser Situation fliesst kein Batteriestrom womit der Ladezustand ja bekanntlich gleich bleiben müsste. Im Gegensatz zum SOC ist die Strommessung allemal deutlich schneller als jeder Wolkenzug der aufkommen kann und den Ladestrom beeinträchtigt. Muß ich die beiden Regler hierzu nun in Reihe oder parallel zum Umschalten machen? ist das eine Kaskadenregelung oder irgendwas anderes? Kaskadenregelung wäre ja auch bei der Lageregelung. Ein Regler macht die Geschwindigkeit, der zweite die Position. Es gibt zwei Rückkopplungen, nämlich die Gesdhwindigkeit und (daraus integriert) die Position. Ebenso hätte ich als Rückmeldungen den Ladestrom und (den über den Coulomb Zähler daraus erzeugten) Ladezustand SOC. Oder bei der Heizungsregelung die Raum und die Aussentemperatur zur Beeinflussung der Vorlauftemperatur. Alle Erklärungen und Vergleiche sind mir vermutlich behilflich um einer praktikablen Lösung näher zu kommen.
Liste der Anhänge anzeigen (Anzahl: 1)
Mit Waschmaschine und Autoaufladung wird das Problem noch diffuser und komplizierter. Man könnte es eher mit einer Einspeiseleistung ins Verbundnetz vergleichen. Also besser keine Vergleiche. Habe daher erst mal eine Skizze zur besseren Ordnung der Gedanken gemacht. Die Subsysteme Erzeuger->Akku->Verbraucher sind gegeben und funktionieren auch bestimmungsgemäß. Offensichtlich sind sie aber Teil meiner Regelstrecke, haben jeweils einen oder mehrere Regler selbst drin. Ich habe den Laderegler MPPT und den Batterie Monitor BMS eingezeichnet, weil ich vermute, von denen einige Signale für meine Regelung abgreifen zu müssen.
Momentan wird die Fahrleistung rein manuell vorgegeben. Da ist es in der Früh sehr gefährlich mit dem Teil zu fahren. Der Akku SOC ist sowieso niedrig. Sobald eine Wolke aufzieht welche die Erzeugung beeinträchtigt muß man reagieren und anhalten weil sonst das Risiko einer Unterspannungsabschaltung vom Akku kommt. Das kommt leider regelmässig vor, weshalb ich durch Wegnehmen der Fahrleistung automatisch anhalten oder zumindest rechtzeitig bremsen möchte. Bei Unterspannungsalarm bzw. Abschaltung dauert es ziemlich lange bis das System überhaupt wieder kommunizieren kann und sich zurückmeldet. Das ist die Hysterese vom BMS, aber es ist alles schwarzstartfähig für autonomen Betrieb. Akkus sind schwer und teuer, weshalb massive Reserven keine Alternative zu einer fast vollständigen Entladung sind. Bei Sonnenaufgang soll ja möglichst früh losgefahren werden um tagsüber maximal viel abspeichern zu können.
Eines meiner Verständnisprobleme ist aktuell vermutlich, daß es im Schema sozusagen Hauptstromkreise und Hilfsstromkreise gibt was ich irgendwo sträflich vermische. Den Hauptstromkreis habe ich deshalb mal als Punktlinie gezeichnet. Es ist das DC Lastkabel welches den Laderegler, die Batterie und den Motor-Wechselrichter als Verbraucher miteinander verbindet. Hierauf findet ja eine vorzeichenrichtige Addition der Ströme statt, welche ich für den Regler wahrscheinlich in irgend einer Weise nachbilden müsste?
Laderegler und BMS sind über CAN Schnittstellen lesbar. Den DC Versorgungsstrom vom WR sehe ich nicht direkt, könnte ihn aber mit PV Leistung plus Akku Leistung ausrechnen. Ausserdem ist er grundsätzlich gleich der vorgegebenen Fahrleistung zzgl. WR Wirkungsgrad weil der WR ja intern auch einen Stromregler hat von welchem ich annehme daß er perfekt ausregelt. Die Fragezeichen im Schema sind an der Stelle, wo ich die Addition von PV Leistung und Akku Leistung vermutlich nachbilden muß um auf die Ausgangsgröße der Fahrleistung zu kommen.
Oder noch mal anders: Ein Regler gleicht durch seine Arbeit die Störgröße aus. Diese ist bei mir die PV Erzeugung (?). Nachdem diese als Messwert aber bekannt ist, könnte ich diese als Fahrleistung auch direkt hinzurechnen anstelle sie in einer Regelschleife aus Sicht des Akkus wegzuregeln? Ein Regler ist natürlich trotzdem passend weil sich der WR Wirkungsgrad u.v.m. ja mit der Temperatur verändert bzw. andere Ungenauigkeiten weggeregelt werden können.
Edit: Es ist wohl einfach eine ziemlich unverschämt unübersichtliche Regelstrecke, bestehend aus mehreren weiteren Reglern einschliesslich ihrer Regelstrecken welche die Sicht auf das Wesentliche vernebeln. Aber egal wie die Regelstrecke auch aussieht und welche Störgrößen wo eingreifen, probiere ich das jetzt einfach aus die Batterieleistung (Vorzeichen in beiden Richtungen) durch Verstellen der Fahrleistung (Vorzeichen nur in der Verbrauchsrichtung) konstant einzustellen.
Liste der Anhänge anzeigen (Anzahl: 3)
Danke, die Begrenzung hat sich bereits bewährt und macht deutlichen Sinn. Gestern war ein absolut chaotisch bewölkter Tag wo es potentiell wirklich viel auszuregeln gab. Mit Robotern ist es wie an der Börse: Hin und Her macht Akku (Konto) leer. Hier die Ertragskurve, deren Leistung mit einer Nullregelung praktisch 1:1 an den Fahrmotor weitergegeben werden könnte um so auch mit einen minimal kleinen Akku bauen zu können. Neben der Energieerzeugung werde ich demnächst noch eine Visualisierung der Kurven bateln wo man sieht wie gut oder schlecht das ausgeregelt wird. Die Regelstrecke ist leider auch langsamer als erwartet. Erstmalig habe ich jetzt sogar die Rekuperation der Massen beobachtet.
Anhang 36077
Hier mal die aktuellen Kurven der Ausregelungen.
AC Chart ist der Wechselrichter mit der Fahrleistung, also praktisch die Regelstrecke. Achse /100, also von 100 bis 160 Watt. Wegen Verbrauch Zuwachsnach unten negativ. Dunkelblau: Vorgabe der Fahrleistung, hellblau tatsächlich gefahrene Leistung.
DC Chart ist der PID Regler für die DC Batterieleistung. Steht hier auf einem Sollwert von 0 und hält den Akku damit "schadfrei". Es wird also weder geladen noch entladen. Gelb ist die Leistung vom PV Modul, hier etwa zwischen 100 und 200 Watt.
Um 18:24 reist die Wolkendecke auf. Es steht Leistung zur Verfügung um schneller fahren zu können. Das spiegelt sich gleichzeitig im AC Chart wieder dessen Solwert der Ausgang des DC Regler ist. DC_Ist und BatP beide grün sind gleich (Legende falsch). Es ist die Ladeleistung der Batterie. Beim Ansteigen der zur Verfügung stehenden Leistung muß die Batterie zunächs mal einen kleinen Teil der Energie zwischenpuffern, weil der Fahrantrieb nicht so schnell reagiert. Danach ist der Batteriestrom wieder auf Null ausgeregelt. Leider schiebt sich sogleich eine weitere Wolke vor die Sonne, so daß die Leistung wieder sinkt. Um sachte Abbremsen zu können, liefert der Akku jetzt etwas gepufferte Energie. Insgesamt ist die neue Wolke nicht so dunkel, bzw. am Rand des Wolkenfelds weshalb die Stromproduktion und damit auch die Fahrleistung kontinuierlich weiter ansteigt.
Den SOC Regler hatte ich heute früh auch bereits am Laufen. Als reiner P-Regler reicht das völlig aus. Der Sollwert für die Akkuleistung ist der Ausgang des SOC Reglers (äussere Regelschleife. Bei erreichtem SOC Wert gibt es eine Nullregelung der Akkuleistung wie oben gezeigt. Die Zykluszeit beider Regler habe ich auf 5 Sekunden hoch gesetzt. Reicht völlig aus weil ein Prozentpunkt SOC auch bei maximaler Fahrleistung mindestens 10 Minuten ausmachen. Damit ist es heute früh problemlos gelungen, mit leerem Akku bei 5% SOC eine längere Strecke zu fahren. Direkt vom Solarmodul versorgt ohne die sonst permanente Gefahr einer Abschaltung wegen Unterspannung zu riskieren.
Anhang 36079
Anhang 36078