- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 7 von 7

Thema: Abstandsregelung Regler reagiert zu langsam

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.655
    .. Tastzeit Messungen .. 17000 und 25000 µs .. Werte für die Regler Parameter zu finden .. scheint "zeitversetzt" auf den Regelfehler zu reagieren ..
    Bei meinem archie rechne ich auf nem mega1284/20MHz. Dort ist für zwei Regelkreise PID (rechter und linker DC-Motor - also Motor vor dem Getriebe/Antriebsstrang) genug Zeit um mit 100 Hz zu regeln. JEDE Seite separat, also zeitversetzt mit brutto 200 Hz. Regelung im Interrupt, Drehzahl/Drehzeit wird per Interrupt auf Flanken des Encoders gemessen. Geregelt wird nur mit Integers, mittlerweile 16bittig. Mein MiniD0 regelte noch 8bittig - sonst vergleichbare Regelung, aber im selben Zeitraster. Etwa doppelt so schnell wie Du; wie Deine Tastzeit vermuten lässt.

    Was ist bei Dir die Tastzeit ? Die Abtastzeit der Drehzeiten von Motor oder Antriebsstrang oder die Abstände für die Regelung ?
    Wie schnell, in welchem Zeitraster stellst Du die Drehzeiten bereit ?
    . . . . . . Interrupt oder im Hauptprogramm ?
    Wie schnell, in welchem Zeitraster wird die Regelung gefahren ?
    . . . . . . Interrupt oder im Hauptprogramm ?
    Wie genau ist die Drehzeiterfassung ? In Sekunden und Drehwinkel.
    Was wird geregelt? Motordrehzahl oder Raddrehzahl ?
    Kann es sein, dass Du in Deinen Rechnungen alles oder einige Werte FP rechnest (floating point) ? Denn das ist recht zeitintensiv.

    Grundsätzlich hatte ich zu Beginn der Regelung immer ne Sprungantwort aufgenommen, natürlich im "Endausbau" des Fahrzeugs. Daraus hatte ich dann die Regelungskennwerte abgeschätzt - Motorzeitkonstante, Parameter für P, I und D. Einen gewissen Fortschritt brachte es für mich, als ich mir die Skizze der Regelungsschleife hernahm und alle Größen mit MEINEN Namen beschriftet hatte. Sieh mal hier (klick). Das brachte - mir - den Durchblick. Nochn bisschen über meinen Regelungsaufwand steht hier.

    Vielleicht helfen Dir diese Anmerkungen etwas weiter?
    Ciao sagt der JoeamBerg

  2. #2
    HaWe
    Gast
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Bei meinem archie rechne ich auf nem mega1284/20MHz. Dort ist für zwei Regelkreise PID (rechter und linker DC-Motor - also Motor vor dem Getriebe/Antriebsstrang) genug Zeit um mit 100 Hz zu regeln. JEDE Seite separat, also zeitversetzt mit brutto 200 Hz. Regelung im Interrupt, Drehzahl/Drehzeit wird per Interrupt auf Flanken des Encoders gemessen. Geregelt wird nur mit Integers, mittlerweile 16bittig. Mein MiniD0 regelte noch 8bittig - sonst vergleichbare Regelung, aber im selben Zeitraster. Etwa doppelt so schnell wie Du; wie Deine Tastzeit vermuten lässt.

    Was ist bei Dir die Tastzeit ? Die Abtastzeit der Drehzeiten von Motor oder Antriebsstrang oder die Abstände für die Regelung ?
    Wie schnell, in welchem Zeitraster stellst Du die Drehzeiten bereit ?
    . . . . . . Interrupt oder im Hauptprogramm ?
    Wie schnell, in welchem Zeitraster wird die Regelung gefahren ?
    . . . . . . Interrupt oder im Hauptprogramm ?
    Wie genau ist die Drehzeiterfassung ? In Sekunden und Drehwinkel.
    Was wird geregelt? Motordrehzahl oder Raddrehzahl ?
    Kann es sein, dass Du in Deinen Rechnungen alles oder einige Werte FP rechnest (floating point) ? Denn das ist recht zeitintensiv.

    Grundsätzlich hatte ich zu Beginn der Regelung immer ne Sprungantwort aufgenommen, natürlich im "Endausbau" des Fahrzeugs. Daraus hatte ich dann die Regelungskennwerte abgeschätzt - Motorzeitkonstante, Parameter für P, I und D. Einen gewissen Fortschritt brachte es für mich, als ich mir die Skizze der Regelungsschleife hernahm und alle Größen mit MEINEN Namen beschriftet hatte. Sieh mal hier (klick). Das brachte - mir - den Durchblick. Nochn bisschen über meinen Regelungsaufwand steht hier.

    Vielleicht helfen Dir diese Anmerkungen etwas weiter?
    wieso braucht er Encoder?
    Und wieso muss er die Geschwindigkeit oder Drehzahl "messen"?
    Gemessen und geregelt wird doch wohl der Abstand zum anderen Fahrzeug, und zwar je nach Abstand mit verschieden schnellen Motordrehzahlen (über pwm vermutlich) und ggf. mit Richtungsumkehr.
    Ansonsten halte ich den Ansatz schon für richtig, so wie er ist, mit ein paar kleineren Änderungen.
    https://www.roboternetz.de/community...l=1#post642966
    Der Rest ist Tuning und Fein-Tuning von Kp, Ki und Kd.

    edit,
    PS:
    auch der PID-Regler PID_v1 für Arduinos rechnet immer mit float, und das ist auch auf AVRs absolut schnell genug.
    Geändert von HaWe (03.03.2018 um 11:28 Uhr)

Ähnliche Themen

  1. CMPS03 reagiert nicht
    Von Jon im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 12.08.2009, 14:27
  2. Interrupt reagiert nicht oder nur langsam
    Von Maxxtro im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 09.08.2009, 21:38
  3. PollSwitch reagiert falsch?
    Von weisserAdler im Forum Asuro
    Antworten: 10
    Letzter Beitrag: 22.06.2007, 22:39
  4. IR Abstandsregelung
    Von Wrag im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 23.08.2005, 21:23
  5. AVR reagiert nicht auf Tastendruck
    Von quad im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 12.06.2005, 17:55

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test