www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP MATLAB (digitaler Regler)

Autor: Mike (Gast)
Datum: 12.01.2007 14:21
Dateianhang: PID-Regler.JPG (11,2 KB, 992 Downloads)
preview image for PID-Regler.JPG

Hallo, ich möchte mit MATLAB und SIMULINK einen DIGITALEN- Regler
realisieren.

Prozess: K1/(S*T1+1)

Stellglied: K2*(1/s)

Wie kann man dies mit MATLAB und SIMULINK realisieren?
Autor: Mike (Gast)
Datum: 12.01.2007 14:50

In diesem Beispiel will ich den digitalen PID Reglern aus einzelnen
Blöcken aufbauen. Ohne Verwendung von PID Block in SImulink.
Autor: Matthias (Gast)
Datum: 12.01.2007 14:51

das musst du in simulink malen und dann kannst du simulieren.
aber das was du als prozess.. angibst ist nicht digital, sondern ein
kontinuierliches verhalten.
in dein bild gehört aber hinter die summationsstelle noch der (digitale)
regler. der fehlt bisher, wenn die beiden blöcke stellglied und strecke
sein sollen.
den regler muss du in der kontinuierlichen welt ermittteln und dann in
den diskreten bereich transformieren, dann kannst ihn eingeben und
simulieren.

achja, die rückführung der ausgangsgröße wird abgezogen!!
Autor: Mike (Gast)
Datum: 12.01.2007 15:16
Dateianhang: PID-Regler.JPG (45 KB, 1447 Downloads)
preview image for PID-Regler.JPG

Ok ich habs mal in SIMULINK folgendermaßen eingegeben:
siehe Bild
Autor: Mike (Gast)
Datum: 12.01.2007 15:18

Brauche ich da wirklich ein DISCRETE FILTER, oder reicht da das ZERO
ORDER GLIED?
Autor: Matthias (Gast)
Datum: 12.01.2007 16:52

so wie ich dich verstanden habe, willst du deine strecke (beide oben
gegebenene glieder in reihe) als analoge regelstrecke mit nem digitalen
regler simulieren? werde mal was in matlab vorbereiten damit ich das
zeigen kann
Autor: Matthias (Gast)
Datum: 12.01.2007 17:13
Dateianhang: matlab.PNG (2,5 KB, 1132 Downloads)
preview image for matlab.PNG

So würde ich das simulieren.
Die beiden hinteren Blöcke müssen mit exakten Werten deiner
Strecke/Stellglied hinterlegt werden.
Vorne da ist der PID-regler diskret aufgebaut und muss noch mit werten
hinterlegt werden(deshalb steht jetzt irgendwas drin)
diese werte musst du mit der z-transformation deines exakten
anaolgen(PID)Reglers ermitteln!!
Autor: Mike (Gast)
Datum: 12.01.2007 18:28

Danke Matthias.

Warum ist bei dir der I-Anteil sowie der D-Anteil gleich?
Autor: Matthias (Gast)
Datum: 12.01.2007 18:35

weil ich keine werde für deinen regler habe:
also werte für dort auszurechnen, brauch man die
intragtionszeitkonstante, die vorhaltezeitkosntante sowie die abtastzeit
des reglers.
die werte in der strecke sind ja auch gleich, weil ich keine konkreten
angaben habe. du hast sie ja nur mit K1,K2,T1 bezeichnet.
Autor: Mike (Gast)
Datum: 12.01.2007 21:11

Welche Werte würdest du mal so benutzen um mal einen digitalen PID
Regler zum laufen zu bringen, so dass er auch stabil ist?
Autor: Mike (Gast)
Datum: 13.01.2007 11:47

Macht man diesen digitalen PID Regler genau so?

Welche werte könnte man für die PID Glieder verwenden?
Autor: Mike (Gast)
Datum: 13.01.2007 11:56
Dateianhang: PID.JPG (17,7 KB, 657 Downloads)
preview image for PID.JPG

Hab mal noch einwenig experimentiert.
So könnte man doch auch einen digitalen PID Regler aufbauen oder?
Durch das ZERO ORDER GLIED und das DISCRETE FILTER Glied macht man doch
das digitale Signal, oder?
Autor: Matthias (Gast)
Datum: 14.01.2007 19:57

Nicht ganz.
Um aus einem anaolgen Signal ein digitales zu machen, braucht man einen
Abtaster gefolgt von einem Halteglied. Das zusammen nennt man "Sample
and Hold"-Stufe. Dadurch wird das analoge Signal zu exakten Zeitpunkten
(Abtastfrequenz fa) "eingefangen". Das brauchst du bei Matlab nicht
extra in Form von Blöcken berücksichtigen. Du kannst einfach, wie in
meinem Bild, eine "diskrete transfer function" vor eine kontinuierliche
Übertragungsfunktion (transfer function) setzen. In den anzugebenden
Koeffizienten bei der discrete transfer function ist die Abtastfrequenz
SOWIE die Form des Übertragungsverhaltens (P, PI, PID...) enthalten.

Zu deiner Frage bzgl. der Werte für eine stabile Arbeitsweise:
Das kommt auf die Übertragungsfunktion der Strecke und den Anforderungen
an die Regelung an. Da du eine IT1-Strecke hast, reicht es aus, einen
P-Regler zu verwenden, um KEINE bleibende Regelabweichung zu bekommen.
Würdest du hier  einen PI-Regler verwenden, so entsteht eine instabile!
Struktur..

Und der D-Anteil eines Reglers wird nur bei ganz bestimmten
Streckentypen/Anforderungen eingesetzt, da dieser Differenzierende
Anteil hochfrequente Störungen erzeugen kann...
Autor: Timo S. (Gast)
Datum: 24.05.2007 16:25

Hallo

ich habe ein ähnliches Problem!

Meine Strecke hat leider mit einer Totzeit von 30 Samples.

Hab schon mit der Sprungantwort die Parameter für nen PID ermittelt.

Wie kann ich es in Simulink hinbekommen, das er den PID nur alle 30
Samples einsetzt? ich kann ja immer nur Sample 1 & 30 und 30 und 60
vergleichen am PID!

also den Sollwert und das was 30 Samples später rauskommt!
Autor: Frank (Gast)
Datum: 26.05.2007 18:20

Err, wie wärs mit einem guten Buch?
Generell kann man digitale regler auf zwei Arten auslegen:

1. Quasikontinuierlich: Auslegung eines kont. Reglers und anschließende
Diskretisierung. Vorsicht: Zusätzliche Totzeit von Ts/2

2. Diskret: diskretisierung der Strecke und anschließende Auslegung des
reglers im z-Bereich, z.b. durch das Kompensationsverfahren.

Das Totzeitproblem wirst Du so nicht in den Griff bekommen. Einfach
jedes sample verwursten und den Regler entsprechend parametrieren. Was
du da vorzuhaben scheinst, ist doch etwas, ääähmm, unkonventionell. Du
würdest praktisch mit der 30-Fachen Abtastzeit rechnen.
Autor: ebookaktiv (Gast)
Datum: 04.06.2007 09:29

siehe eBook "Grundlagen digitale Regelung mit SCICOS/SCILAB" auf
www.ebookaktiv.de

SCILAB und SCICOS sind Open-Source Matlab/Simulink
Autor: criss (Gast)
Datum: 20.04.2008 11:39

Hello, ich hätte gern eine Frage. Und zwar das Problem mit der Totzeit
und Sample habe ich und möchte wissen ob jemand vielleicht mir ein Tip
geben kann?

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel





Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net