PID-Regelung für Motoransteuerung via PWM

Gast #5131404
Hallo Leute,


gleich vorweg gebe ich zu, dass ich zwar viel theoretisches Wissen über 
Regelungstechnik habe, es aber noch nie in der Praxis gebraucht habe. 
Darum wende ich mich nun an euch.


Ich stehe vor der folgenden Aufgabe:
Bei der Geschwindigkeitsregelung eines Gleischtrommotors der mit einem 
PWM-Signal angesteuert wird, soll der Beschleunigungsvorgang viel 
sanfter sein, als der Bremsvorgang. (Der Bremsvorgang soll so abrupt wie 
möglich sein.)
Der Regler wird dabei komplett in der Sofware implementiert und soll 
hald das PWM-Signal erzeugen. Soweit so gut.


Nun die Praxisfrage: Soll ich einfach zwei PID-Regler machen, die 
unterschiedlich agressiv sind und dann bei der PWM-Generierung jeweils 
den entsprchenden Regler nutzen? Macht man das so? Bzw. gibt es auch 
eine Alternative mit nur einem Regler der trotzdem unterschiedlich 
aggressiv reagieren kann? Es gibt ja allerhand Variationen 
(Zustandsregelung, Kaskadierung, Vorsteuerung, und wie sie nicht alle 
heißen...) aber ich weiß nicht was man wann und wozu benutzt.


Mfg,
Chris
Gast
Einen PI Regler reicht dafür völlig aus. Wenn du Strom messen kannst, 
kommt Kaskadenregelung im Einsatz,

Für Bremsvorgang kannst den P Anteil etwas höher stellen
Gast
Ah verstehe. Also macht man für die beiden unterschiedlichen Fälle 
tatsächlich einfach zwei verschiedene P- bzw. I-Parameter!

@MaWin: Ja stimmt, das hab ich mir auch schon gedacht, aber ich weiß 
nicht wie es die Motorschaltung das verkraftet, wenn ich einfach nen 
Spannungssprung auf -U_max mache...
Gast
Eine PID regelung reicht, aber du brauchst ein variabele setpoint ! 
Standard bei Motor Regelungen ist das sie eine Trapezium profil 
einstellt fur ihre setpoint. Jetzt reicht es um die steigende Flanke 
flach einzustellen und die senkende flanke steil ! Damit haben sie auch 
immer die Moglichkeit um diese Flanke jederzeit nach ihre Wunsch zu 
anderen. Die PID Parameter bleiben immer gleich !
Gast
Um den vorherigen Post etwas verständlicher auszudrücken. du brauchst 
nur einen PID Regler mit einem Parameterset. Den Brems bzw. 
Beschleunigungsvorgang erzeugst du indem du den Sollwert änderst. Der 
Regler folgt immer dem Sollwert. Am einfachsten machst du das mit einer 
Rampe. Oben
Trapezium profil genannt. Die Steigung der Rampe repräsentiert dann 
deine Beschleunigung bzw. Verzögerung.

Bsp: Dein Motor soll in 2s von der max. Drehzahl auf null verzögern.
Dann lässt du den Sollwert von seinem max. Wert in 2s. linear auf null 
"runter rampen". Am einfachsten machst du das mit einem Timer der deinen 
max. Sollwert z.B. 32767 in 2s auf null subtrahiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.