-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: PI(D) - Regler

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    26
    Beiträge
    1.079
    Blog-Einträge
    1

    PI(D) - Regler

    Anzeige

    Hallo.

    Vorerst: ich habe mir sowohl den RN-Wissensartikel als auch den Wikipedia Artikel zu diesem Thema mehrfach durchgelesen.

    Ich habe einen Roboter mir Ketten (siehe Bilder in Signatur) wo ein Mega2560 drauf sitzt. Jedes zweite Glied der Gleiskette ist weiß eingefärbt und sind daher die "Encoder Scheiben".

    Ich habe einige Versuche durchgeführt wo ich die Peaks pro Sekunde in Abhängigkeit zum PWM-Wert erhalten habe.

    Jetzt möchte ich gerne einen PI-Regler in meine Software implementieren jedoch habe ich einige Probleme.

    Rein intuitiv bevor ich überhaupt wusste, dass es solche Regler gibt habe ich ein P-Regler erstellt. Die Gesammelten Encoder-Werte von einer Sekunde werden mit einer Konstante multipliziert. Danach wird der Fehler mit Soll- und Ist-wert berechnet und das Ergebnis zum PWM-Wert hinzuaddiert (oder subtrahiert)

    Jedoch funktioniert das bei mir nicht, der Roboter macht was er will.

    Deswegen bin ich dann auf diesen Artikel gestoßen.

    Meine Frage ist was diese ganzen Konstanten sind. Also wenn ich den PI-Regler mal hernehme habe ich:

    esum = esum + e
    y = Kp * e + Ki * Ta * esum

    e ist der Fehler, also Soll-Ist

    Kp: ist mein Konstanter Faktor um zwischen den Peaks/s zum PWM-Wert umzurechnen

    Ki: keine Ahnung

    Ta: meine Abtastzeit aber was ist das genau bei mir? Ein Messvorgang? Sprich 1 Sekunde?

    esum: Die Summe aller Fehler und das ist etwas was ich logisch nicht verstehe. Esum wird mit der Zeit ja immer größer und größer bis es irgendwann mal unendlich erreicht. Vorausgesetzt der Fehler ist immer positiv.

    Es stellt sich auch die Frage wie ich meine Werte erhalte.

    Falls wer meine Ergebnise von den versuchen braucht
    Die letzte Tabelle enthält die Notwendigen Informationen. Die erste Zeile ist der PWM Wert.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    17.12.2005
    Ort
    Untermain
    Beiträge
    58
    Also, der PI-Regler ist ein Integrierender (=summierender) Regler mit Proportionialanteil.
    D.h. deine erkenntnis mit "esum wird immer größer" ist soweit erstmal richtig. ist auch gut so. denn damit bekommst du den bleibenden Fehler weg.
    der haken an der sache ist nur, dass Kp (Verstärkungsfaktor vom P-Anteil) und Ki (Verstärkung des I-Anteils deines Reglers) zusammenpassen müssen. Schau dir dazu mal die Wiki-Artikel zu den Faustformelverfahren (Automatisierungstechnik) an. da werden Methoden zur bestimmung dieser Parameter beschrieben. Allerdings werden da etwas andere Formeln für den PI-Regler zugrunde gelegt, glaube ich...

    Im Übrigen kannst du i. A. für Ta die Zykluszeit ansetzen, mit der dein Regler aufgerufen wird.

    Hoffe das hilft weiter...

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    26
    Beiträge
    1.079
    Blog-Einträge
    1
    Ich werde mir das (abermals) anschauen.

    Die Zykluszeit sit daher eine Sekunde. Also multipliziere ich mit 1 ?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    17.12.2005
    Ort
    Untermain
    Beiträge
    58
    wusste nicht, dass du den artikel auch schon durch hast
    jo, Ta ist dann bei dir halt 1; kann schon vorkommen.
    dummerweise wirst du mit den werten für Kp und Ki experimentieren müssen.
    ich würde mal mit Kp=10 oder 15 und Ki=0.1 anfangen und dann langsam mit Ki nach oben gehen. wenn er das überschwingen zu weit treibt, Kp runternehmen, danch wieder an Ki schrauben.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    26
    Beiträge
    1.079
    Blog-Einträge
    1
    Das komische bei mir ist, dass die Ketten macnhmal ganz stehen bleiben dann legt er volle Pulle zu und dann fahren sie wieder viel langsamer als sie sollten, sie stellen sich also nie vernüftig ein.

    Dann werde ich wohl rumprobieren...

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    17.12.2005
    Ort
    Untermain
    Beiträge
    58
    ach ja... wie ist das Massenträgheitsmoment deiner Motorachse im Verhältnis zu deiner Kette?
    also M(Motor):M(Achse)=?
    wenn du das mit nem PI(D) regler vernünftig regeln willst sollte das besser nicht zu extrem sein.
    bis 1:20 oder so ists noch (einfach) regelbar...

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    17.12.2005
    Ort
    Untermain
    Beiträge
    58
    doublette durch zu schnelles klickern....

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    17.12.2005
    Ort
    Untermain
    Beiträge
    58
    die beschreibung klingt nach ziemlichem Überschwingen *g*
    wie hast du Kp denn gewählt? und wie berechnest du e?

    hast du eine möglichkeit ide zykluszeit (deutlich) zu verringern?
    1s ist ne ewigkeit, wenn du einen Motor regeln willst.

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    26
    Beiträge
    1.079
    Blog-Einträge
    1
    Nunja, das mit dem Massenträgheitsmoment weiss ich nicht. Mechanisch bin ich weniger als nicht bewandert.

    Was ich noch sagen wollte ist, dass mein Motor bei PWM von ca 170 anläuft, hat er das Überwunden kann ich runter bis PWM 140 gehen.

    Ich nehme allerdings ein Bereich von 180-230 an. So laut meinem Diagramm habe ich einen Durchschnittlichen Faktor von

    3,518304078 Links
    3,622007069 Rechts

    Daher wäre mein KP-Wert 3,622007069 für Rechts und eben das andere für Links. Meine Rechte Kette dreht sich generell langsamer als die Links (warum auch immer)

    E berechne ich indem ich zunächst meine Encoder Ergebnise mit diesem Faktor multipliziere. Dann habe ich ja den IST-Wert in PWM. Diesen IST-Wert ziehe ich dann vom SOLL-Wert ab.

    Das ist e.

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    26
    Beiträge
    1.079
    Blog-Einträge
    1
    Erm...

    Den Timer kann ich klar ohne Mühe verändern, das ist kein Problem. Was schlägst du vor?

    Ich ahbe mal deine Vorgeschlagenen Werte genommen mit Ta = 0.250. Es schwinkt jetzt sehr extrem, die Ketten Fahren auch rückwärts.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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