- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: digitaler PID Regler

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967

    digitaler PID Regler

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    der Threadname sagt ja schon alles. Ich bin momentan dabei einen digitalen PID Regler zu entwerfen. Dieser soll eine servohydraulische Schwingprüfmaschine auf Weg und Kraft regeln können. Momentan teste ich noch nicht mit der echten Maschine als Regelungsstrecke. Sondern habe seine Eigenschaften versucht in einem negativen Integratorglied nach zu bilden.

    Mein Aufbau bisher ist folgender:
    Differenz zwischen Soll- und Istsignal wird analog gebildet. Die Differenz geht mittels einem A/D Wandler in den µC. Die Steuergröße wird über einen D/A Wandler auf den Integrator gegeben, dessen Ausgang wiederrum das Istsignal darstellt.

    Nach anfänglichen Schwierigkeiten die verschiedenen Variablen vom ADC, DAC und PID Berechnung in ein gemeinsames System zu transformieren, läuft jetzt zumindest schon ein P-Regler (mit der bekannten bleibenden Regelabweichung).

    Nun zu meinen Fragen:

    1) Wie fange ich Quantisierungsfehler ab bzw. wie glätte ich meine Eingangssignale?
    2) Es tritt jedes Mal (mit I-Anteil) rel. große Schwingungen auf. Ich hab ihn schon mal reduziert, jedoch keine Verbesserung.
    3) Beim Überschneiden von Soll und Istkurve hab ich teilweise beim Istsignal ein Sprung drin. Da rastet die Regelung kurz aus hab ich den Eindruck. (auch nur beobachtet mit I-Anteil)
    4) Der I-Anteil soll die Regelabweichung auf 0 bringen. Bei mir ist aber der Faktor Ki dafür verantwortlich, wie weit mein Ist- an das Sollsignal dran kommt. Die Regelabweichung verschwindet nicht über Zeit. Woran liegt das?

    Bei Interesse kann ich den Code auch online stellen.


    Mich interessieren ebenfalls Phänomene und Probleme, die sich bei meiner Anordnung noch ergeben können (mit AD bzw. DA Wandlung).

    Ich merke, dass ist was ganz anders, als wenn man Soll und Ist direkt im Controller digital hat und man akkurat rechnen kann.


    Grüße,
    hacker
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn man den Regler schon digital macht, dann in der Regel auch ganz Digital. Es wird also nur das Sensorsignal Digitalisiert. Der Sollwert wird schon digital vorgegeben. Wurde am Ende ja auch Auch so erkannt.

    Gegen ein Schwingen des Regelers hilft es die Regler parameter passend zu wählen. Klingt einfach, ist aber die eigentliche Aufgabe bei der Auslegung des Reglers.

    Zu 1) Der Quantisierungsfehler sollte bei einem richtig gewähltem AD Wandler nicht so groß sein, dass er stark stört. Wenn man deutlich schneller abtasted als die Regelschleife ist, kann man noch etwas durch Überabtastung gewinnen. Die Regelung bzw. der Aktor dient dabei al glättungsglied. Eine etwas andere Sache ist die Quatisierung bei der Ausgabe der Steuergröße. Hier kann man ggf. durch dithering etwas machen: Der Ausgabewert wird zwischen 2 benachbarten Werten moduliert (PWM ähnlich) um zwschenwerte darzustellen. Hängt aber von den Stellgleidern ab, ob das sinn macht. Bei heizungen geht das oft gut, bei eher schnellen Aktore eher nicht.

    zu 2) Die Schwingungen sollten verschwinden wenn die Parameter richtig gewählt sind.

    zu 3) was ist mit ISt Signal gemeint ?, Gibt es da irgentwie eine Rückkopplung schon auf den Siensor ? Es könnte ein Fehler beim Integrator sein, Eventuell kommt der irgendwie in die Sättigung.

    zu 4) Wenn der Regler schwingt, kann es passieren das einige Größen in die Sättigung kommen, gerade wenn teile analog realiseirt sind. Dann funktioniert der I anteil noch nicht richtig.


    Die Empfehlung ist erst mal den Regler so weit wie möglich digital zu realisieren. Aus dem Integral wird dann einfach eine Summe.

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Der besserwessi hat es chon geschrieben, ich möchte es noch betonen, dass ein digitaler Regler nur mit digitalen Werten synchron mit Taktfrequenz arbeitet und enhält nur für analoge Ein- und Ausgangwerte entsprechend A/D und D/A Wandler.

    Der von analoger Regelungtechnik bekannter Regler hat mit dem Digitalen nichts zu tun und alle seine Funktionen (P, I und D) werden rein digital (also virtuell) realisiert.

    Es ist vielleicht möglich eine Mischung zum Laufen zu bringen, aber nicht ohne spezifischen Probleme.

    MfG

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    Wenn man den Regler schon digital macht, dann in der Regel auch ganz Digital. Es wird also nur das Sensorsignal Digitalisiert. Der Sollwert wird schon digital vorgegeben. Wurde am Ende ja auch Auch so erkannt.
    Der Sollwert wird nicht in dem Sinn digital extra vorgegeben. Ich habe das analoge Sensorsignal und das analoge Sollsignal (die Option für analoge Sollsignale muss vorhanden sein!). Von diesen beiden Signalen bilde ich mit einem Op die Differenz, welche dann anschließend auf den A/D Wandler geführt wird.

    Zu 1) Der Quantisierungsfehler sollte bei einem richtig gewähltem AD Wandler nicht so groß sein, dass er stark stört. Wenn man deutlich schneller abtasted als die Regelschleife ist, kann man noch etwas durch Überabtastung gewinnen. Die Regelung bzw. der Aktor dient dabei al glättungsglied. Eine etwas andere Sache ist die Quatisierung bei der Ausgabe der Steuergröße. Hier kann man ggf. durch dithering etwas machen: Der Ausgabewert wird zwischen 2 benachbarten Werten moduliert (PWM ähnlich) um zwschenwerte darzustellen. Hängt aber von den Stellgleidern ab, ob das sinn macht. Bei heizungen geht das oft gut, bei eher schnellen Aktore eher nicht.
    Da es bei dem Aktor um einen sehr schnellen Aktor handelt (es müssen Geschwindigkeiten um die 2 m/s auf einer Strecke von ca. 5cm geregelt werden), fällt dieser Vorschlag wohl flach.

    zu 2) Die Schwingungen sollten verschwinden wenn die Parameter richtig gewählt sind.
    Die richtigen Parameter...das ist die Kunst ich weiß. Nur spielen die bei mir in völlig verschiedenen Zahlenwelten (Kp = 75, Ki = 0,0001, ...) Ich werde morgen daran weiter probieren.

    zu 3) was ist mit ISt Signal gemeint ?, Gibt es da irgentwie eine Rückkopplung schon auf den Siensor ? Es könnte ein Fehler beim Integrator sein, Eventuell kommt der irgendwie in die Sättigung.
    Mit dem Ist-Signal meinte ich den Ausgang vom Integratorglied. Ich hatte die Maschine auf Ihr Regelungsverhalten hin mal ausgemessen. Sie zeigt sich nach außen wie ein neg. Integrierer. Daher hab ich dieses Verhalten momentan mit einem Op aufgebaut. Dieser Ausgang entspricht praktisch dem Sensorsignal (Ist-Wert).
    Fast immer beim Überschreiten von Ist und Soll Signal, wenn die beiden also gleich sind, dann hüpft mein Istsignal plötzlich. Vielleicht liegt das wirklich am Integrierer. Das werde ich morgen ebenfalls testen.

    Vllt. schaffe ich es auch ein paar Bilder zu machen.

    Danke und bis morgen,
    hacker

    /edit

    Ich glaube ihr habt mich falsch verstanden. Ich habe nicht den I-Anteil als analogen Integrierer aufgebaut.

    Der Regler ist rein digital. Analoge Eingänge über AD und Ausgänge über DA.

    Die Regelstrecke (die Prüfmaschine) hab ich momentan mit einem Integrator emuliert, da die Regelstrecke ein negatives I-Glied ist.
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Zitat Zitat von hacker
    Der Sollwert wird nicht in dem Sinn digital extra vorgegeben. Ich habe das analoge Sensorsignal und das analoge Sollsignal (die Option für analoge Sollsignale muss vorhanden sein!).
    Ist es verboten die beide Eingangsignale zu digitalisieren ?

    MfG

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    Natürlich nicht. Aber meine Pins am Controller waren alle schon belegt, sodass ich nur ein ADC anschließen konnte (parallel 12bit)
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Entweder machst du es rein digital, wie du eigentlich willst, oder musst du mit unabsehbaren Problemen in analog Technik kämpfen. Der Digitalregler kann eben nur die erhaltene digitale Werte verarbeiten. Zu geringe Anzahl von µC Pins sind für mich kein Argument um sich das Leben zu erschweren...

    MfG

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn die Regelstrecke praktisch druch ein I Glied beschrieben wird, dann kann man das I-Gleid im Regeler auch Weglassen und mit einem PD Regler arbeiten. Durch die Integrierenden Funktion der Regelstrcke wird auch dem PD dann so was ähnliches wie sonst ein PI regler bei einer normalen Regelstrecke. Eine bleibende Regelabweichung sollte man damit auch fast nicht bekommen.
    Statt einem I Glied wäre eher schon ein D² Gleid sinnvoll um den Regler schneller zu machen.

    Gerade bei einer extremen Regelstrecke kann es schwer werden die Parameter rein durch raten / probieren zu bestimmen.


    Ob man das System jetzt als schnell oder langsam ansehen muß ist relativ. Bei Rastermikroskopen wird zum Teil mit Regelbandbreiten im MHz Bereich gearbeitet, auch mit digitalen Reglern.

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    37
    Beiträge
    563
    Wenn dein Aktor schnell ist, musst du auch insbesondere darauf achten, dass die Abtastfrequenz hoch genug ist, ansonsten wird das sowieso nichts. In der Theorie der Regelungstechnik funktioniert das Einlsen des Istwertes und die Ausgabe der Stellgröße zeitsynchron, was natürlich in der Realität nicht geht, da du inzwischen was zum rechnen hast. Normalerweise ist das kein Problem, wenn man aber zu viel Zeitverschiebung hat (vor allem bei schnellen Strecken), kann es auch zu Problemen kommen. Dagegen hilft eine algorithmische Verbesserung des Codes, wo alle möglichen Operationen, die nicht vom Zustand xk+1 abhängen, im voraus berechnet werden.

    Hast du evtl. eine Stellgrößenbeschränkung im System? Zb Umax < 10V? Wenn ja, muss du den Regler so entwerfen, dass die Integration angehalten wird, falls die Stellgröße diese Grenze erreicht, denn es macht keinen Sinn, dass die Stellgröße zB 12V vorgegeben ist, wo das in der Realität nicht möglich ist. Dadurch integriert der Integrierer zu weit auf, und es kommt zu einer Überschwingung.

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    42
    Beiträge
    760
    hoi,
    also irgendwas stimmt meiner meinung nahc mit deiner beschreibung oder deinem aufbau nicht. wenn deine strecke ein integrator (ka, was ein negativer integrator sein soll) ist, bekommst du auch mit einem p-rgeler keine bleibende regelabweichung. durch das hinzufügen eines i-anteils im regler meachst du aber dann dein system schwingfähig, was ja eher kontraproduktiv ist.
    mfg jeffrey

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress