- Labornetzteil AliExpress         
Ergebnis 1 bis 2 von 2

Thema: Verständnisprobleme mit Regler und Kaskadenregler

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2004
    Beiträge
    11

    Verständnisprobleme mit Regler und Kaskadenregler

    Anzeige

    Praxistest und DIY Projekte
    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.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    904
    Zuallererst:
    https://de.wikipedia.org/wiki/Kaskadenregelung
    Die Kaskadenregelung regelt den Sollwert des nachfolgenden Gliedes.
    Hier also: Die Lageregelung regelt die Sollgeschwindigkeit des Geschwindigkeitsreglers.

    Das kann man sich auch bildlich für einen Motor einfach vorstellen:
    Wenn der Lagezielpunkt immer näher kommt, muss die Geschwindigkeit von der Lageregelung artgerecht gedrosselt werden - sonst geht's über den Zielpunkt hinaus.

    Für zwei Motoren beim Roboter (Differenzialantrieb) wird's schwieriger, weil beide Motoren "irgendwie" synchronisiert werden müssen.
    Entweder entwirft der Lageregler für beide Motoren eine Bahn aus Punkten und berechnet die Motorgeschwindigkeiten dazu ...

    ...oder (einfacheres Modell)
    der Lageregler bildet z.B. laufend Winkel- und Streckendifferenz zum Zielpunkt und regelt beides aus.
    (da könnte man z.B. sagen, es sind zwei getrennte, parallel liegende Regelglieder, die durch Addition die passenden Geschwindigkeiten für die Motoren generieren).
    Letztlich hat das aber alles kaum noch mit PID zu tun.



    Auch wichtig:
    Kaskadenregler sind in der Regel so aufgebaut, dass die Regelzyklen von innen nach außen langsamer werden.
    Wenn also die Geschwindigkeit jede 4ms geregelt wird, passiert eine Neuberechnung der Lageregelung vielleicht im 16ms-Zyklus.

    Da kommen wir jetzt auf 2 Probleme:
    1. Bei den einfacheren Modellen sitzen die Encoderscheiben auf den Radachsen. Mit vielleicht 20 Impulsen pro Umdrehung bekommt man da nicht viel Signal, wenn der Geschwindigkeitsregelzyklus zu fix ist.
    Besser wäre hier eine schnellere Messmethode für die Geschwindigkeit, wie z.B. die Messung der Generatorspannung am Motor in den Pulspausen der PWM. Das hat zusätzlich auch den Vorteil: Wo wir vorher vielleicht 0..30 Encoderschritte pro Zyklus messen konnten, messen wir nun mit voller ADC-Auflösung die Generatorspannung des Motors viel feiner (auch, wenn's rauscht).

    2. Auch mit Encodern vor dem Getriebe (höhere Auflösung) kann man die Ziellage nicht mehr mit der Auflösung in Encoderschritten vorgeben, weil der Geschwindigkeitsregler in seinen 4 Zyklen pro Lagereglerzyklus keine 1/4 Schritte als Geschwindigkeit messen kann.
    Also: Von der Genauigkeit her kommt man da an andere Grenzen, als gedacht.


    Die Akkuspannungsidee:
    Strom und Geschwindigkeit sind nur bedingt proportional. Anlaufströme sind ein Vielfaches der Nennströme, dazu kommt beim Roboter das Losbrechmoment beim Anfahren, unterschiedliche Untergründe, sowie Steigungen, Gefälle, also jede Art von Lastwechsel.
    Wenn Du das versuchen willst, ohne den Akku zu belasten, bräuchtest Du meiner bescheidenen Ansicht nach einen Puffer im Bereich von Amperesekunden und das wäre schon fast wieder ein Akku.
    Geändert von Holomino (Heute um 15:12 Uhr)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 13.05.2013, 12:47
  2. I2C Verständnisprobleme
    Von Ezalo im Forum Robby RP6
    Antworten: 24
    Letzter Beitrag: 01.05.2011, 17:06
  3. Verständnisprobleme -> Drehmomentrechner
    Von selan im Forum Motoren
    Antworten: 9
    Letzter Beitrag: 13.11.2006, 14:25
  4. Syntax - Verständnisprobleme
    Von R2D3212 im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 05.07.2006, 01:41
  5. Serielle Verständnisprobleme
    Von steffenvogel im Forum Software, Algorithmen und KI
    Antworten: 6
    Letzter Beitrag: 09.04.2006, 13:23

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress