PDI - Regler mit differenzierendem und integrierendem Anteil

Gast #23599
Lesenswert?
• ▲
▼
Hey Leutz,

hätte da eine Frage:
Hat schon einmal jemand von euch einen PID-Regler programmiert und 
könnte mir mit ein paar Tipps oder noch besser einem Quellcode 
weiterhelfen.

Mit diesem Regler sollte z.B.: ein Motor mit PWM angesteuert werden.
Zur Zeit hätte ich mir einen 8515 vorgestellt(da PWM).


Thx,Mathais
Gast #23601
Lesenswert?
• ▲
▼
Hallo
bin gerade dabei sowas fertig zu stellen. Programmierung in Assembler 
für eine Mega8.
Als Ausgabe wird ein PWM Signal geliefert. Anzeige über LCD-Display 2*20 
Zeichen. Eingang Soll-. und Istwert über ADC Kanal 0 und 1.
Die Werte für k,i,d werden entweder auch über Analogwerte eingestellt, 
oder als Konstanten.
Eingabe wird mal mit einer PC-Tastatur erfolgen, ist aber noch nicht 
eingebaut.
Wenn Interesse da ist, dann nimm ich es mal mit in die Arbeit und stelle 
es hier rein.

mfg
Hubert Papst
Gast #23602
Lesenswert?
• ▲
▼
Hallo Hubert,
mich würd dein Programm sehr interessieren, da ich schon seit einiger 
Zeit mit nem PID in Assembler kämpfe. Entweder mache ich dabei einen 
Denkfehler, oder es ist doch noch ein Programmierfehler drin ;) 
Vieleicht kannst du mir das Prog auch mailen?

Gruß
-=jens=-
Gast #23603
Lesenswert?
• ▲
▼
Hallo Hubert,
ich muss genau das selbe programmieren, weis aber noch nicht genau wie 
ich anfangen muss.
Stellt es ein Problem dar, dein Programm für den 8515 
umzuschreiben(außer dass ich zwei DAW´s benötige?).
Wäre schön, wenn du mir dein Programm einmal mailen könntest.

Danke im Voraus, Mathias Mair
Gast #23605
Lesenswert?
• ▲
▼
Hallo Mathias,

bei der Entwicklung von digitalen Reglern kann ich vielleicht ein paar 
Tips hinzusteuern.

Der differentielle Anteil des Reglers ist ein kritischer Faktor, da 
hierdurch das Messrauschen und der Quantisierungsfehler bei A/D-Wandlung 
verstärkt wird. Für die meisten Anwendungen (besonders wenn die 
Parameter durch Probieren ermittelt werden) reicht ein einfacher 
PI-Regler.

Ebenso ist es wichtig, die Mess/Ist-werte über einen Tiefpass zu Filtern 
(hier reicht nicht der digitale Filter), da sonst unter Umständen der 
Regler zum Schwingen angeregt wird.

Beim Regelcode ist es wichtig, den Integralteil zu begrenzen, da er 
sonst bei langer Regelabweichung ins Nirvana läuft.
Eine sinnvolle Begrenzung wäre z.B. Die Abschaltung der Integration, 
wenn die max. Stellgröße  erreicht ist.
Ebenso ist die Abtastzeit eine wichtige Größe für den Regler.

Wenn man die Abtastzeit variiert, werden dadurch auch I & D-Anteil 
beeinflusst.

Ich hoffe, es waren ein paar verwertbare Infos dabei

Gruß Oliver
Gast #23607
Lesenswert?
• ▲
▼
Hi

Der Hinweis von Oliver mit dem Tiefpaß ist sehr wichtig,die 
Grenzfrequenz sollte mindestens unterhalb der Abtastfrequenz liegen 
besser 2 bis 5fach da sonst dein Regler im falschen Frequenzbereich auf 
störungen reagiert und diese nicht ausregeln kann.
Wichtig ist eine feste Abtastzeit das heisst dein Regler muss in jedem 
Fall innerhalb einer Abtastperiode am Ausgang den entsprechenden Wert 
anlegen koennen dafür ist also Assembler ideal solltest du auf jeden 
Fall einen 16 Bit wert ansetzen wenn du ansonsten mit 8bit rechnest und 
natuerlich begrenzen.
Dein Motor hat eine gewisse Traegheit ich glaube nicht das es etwas 
bringt eine Zeitperiode weit unter 100ms anzusetzen.
Die Einstellwerte k,i,d sind auf die Abtastzeit zu normieren,da im 
Analogen ja auf eine Sekunde statt der Zeitperiode normiert ist.
Die Differentation erster Ordnung entspricht
(aktueller Wert - vorheriger Wert)/Zeitperiode

das Integral einer Summe der vorherigen Werte(das sollten schon einige 
sein da der I anteil erst nach einer gewissen Zeit wirkt)

falls du mit einer gewissen abweichung leben kannst reicht auch
ein P Regler ueber den Verstärkungsfaktor kannst du die abweichung 
verringern wenn er zu gross wird faengt das System an zu schwingen.mit 
einem I Anteil koennte dann die restliche Abweichung behoben werden.

ich hoffe die ausführungen haben ein bisschen geholfen

CU Wolfram
Gast #23608
Lesenswert?
• ▲
▼
Hallo
hier ist der Code für den PID-Regler. Eine kurze Beschreibung ist auch 
dabei.
Bei Fragen (die werden sicher kommen) einfach mailen oder hier posten.
Bin gerade dabei, das Progamm so zu überarbeiten, das mittels einer 
herkömmlichen PC-Tastatur die Reglereinstellungen vorgenommen werden 
können. Als Anzeige dient eine 2*20 Zeichen LCD-Anzeige (jetzt auch 
schon).
Bin für Anregungen dankbar. Steinigt mich nicht, es ist mein erstes 
Programm für einen AVR.

mfg
Hubert
Angehängte Dateien:
Gast #23609
Lesenswert?
• ▲
▼
Frage: PDI-Regler ???
*********************

Wer könnte mir eine kurze, aussagefähige Erläuterung (jedoch kein
"Fachchinesisch") zu diesem Thema geben (Funktion, Einsatzmöglichkeit, 
etc.)?

Auch entsprechende www-sites wären hilfreich.

Habe bei goggle nicht's gefunden


Vielen Dank im Voraus

Günter
Gast #23610
Lesenswert?
• ▲
▼
Danke Hubert, habe deinen Code bekommen und bin gerade dabei den Code zu 
verstehen.
Nun habe ich ein paar Fragen dazu:

1.) Hast du vielleicht Struktogramme oder eine ausführlichere 
Beschreibung für dein Programm?

2.) Was machst du wenn Kommazahlen auftreten(wenn sie überhaupt 
auftreten)?

Thx, Mathias
Gast #23611
Lesenswert?
• ▲
▼
Hallo,
Struktogramme hab ich leider nicht.
Für eine genauere Beschreibung fehlt mir jetzt die Zeit. Wird vielleicht 
mal nachgereicht.
Die Regelung funktiniert nur mit Integerzahlen. Sollte eigentlich für 
die meisten Anwendungen reichen. Ich kann dir anbieten, hier deine 
Fragen zu beantworten, wenn ich mal Zeit finde, werde ich das Programm 
besser Dokumentiern.
mfg
Hubert
Gast #23613
Lesenswert?
• ▲
▼
Nahmd .. ich hatte mal eine Vorlesung in digitaler Regelungstechnik.
Hier gibts die Mitschrift, vielleicht kann ja jemand was damit anfangen
;)

Ist aber zugegebenermassen hartes Brot, also eher für Leute, die sich
schonmal mit diskreter Regelungstechnik beschäftigt haben.

http://spi.tu-ilmenau.de/der-flo.de/studium/Hauptstudium/7.Semester/Digitale_Regelungen_[V].pdf

(ca. 3.5MB, Hier interessant: Kapitel 5 ff.)

http://spi.tu-ilmenau.de/der-flo.de/studium/Hauptstudium/7.Semester/Digitale_Regelungen_[S].pdf

(ca. 1MB)


der Flo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren