WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

PID Differentialgleichung ohne Diff-Block aufstellen?

 

eey
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 86
Anmeldedatum: 31.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.05.2016, 18:52     Titel: PID Differentialgleichung ohne Diff-Block aufstellen?
  Antworten mit Zitat      
Hallo,

die Übertragungsfunktion eines PID Reglers ist ja


<br />
\frac{U(s)}{E(s)} = K_P + K_I \frac{1}{s} + K_D s \,.
<br />

Hier sei e der Regelfehler, u der Reglerausgang, y der Systemausgang und w die Führungsgröße.

Umgeformt im Zeitbereich ist das ja


<br />
u(t) = K_P e(t) + K_I \int_{-\infty}^{t} e(\tau)d \tau + K_D \dot{e}(t)
<br />

mit


<br />
e(t) = w(t) - y(t),
<br />


<br />
\dot{e}(t) = \dot{w}(t) - \dot{y}(t) \,.
<br />

Was mich jetzt interessieren würde:


  • Laut Simulink Doku kann man ja fast immer ein System welches einen Diff-Block enthält auch stattdessen durch einen Integrator darstellen. Nur wie würde das hier aussehen? Kann man den PID Regler von oben nur durch Integratoren darstellen?
  • Wie kann ich bei einem Integrationsverfahren mit Schrittweitensteuerung (z.B. ode45) die Ableitung des Eingangs berechnen? Also vor allem für den Regelfehler e benötigt man ja die Ableitung der Sollgröße w... wie kann man diese effizient berechnen?
  • Ein reiner D-Block ist ja nicht realisierbar, weswegen man ihn durch s/(c*s + 1) approximieren kann. Wenn c "klein" ist, ist das Verhalten ungefähr ein reiner D-Block. Allerdings ist der Standardwert für c in Simulink "inf", also nicht gerade klein... wie passt das zusammen?
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 03.05.2016, 07:36 Uhr von Jan S
Von Programmierung nach Simulink


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.05.2016, 12:31     Titel:
  Antworten mit Zitat      
Hallo,

grundsätzlich ist der Integrator ja nur die Umkehrung der Differentiation.

Wenn du also ein Modell so aufbauen würdest
a --( Differentiator )--> b
dann kannst du ebenso gut sagen
b --( Integrator)--> a

Ich gehe immer so vor:
- nach der höchsten Ableitung auflösen
- Integratorblöcke einfügen und beschriften. Hier
e_dot --( Integrator )--> e

Dann die Eingänge der Integratorblöcke (hier ist's ja "nur" einer) aus den Gleichungen aufbauen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
gs
Forum-Century

Forum-Century


Beiträge: 172
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.05.2016, 13:33     Titel:
  Antworten mit Zitat      
Du kannst dir ja mal in Simulink den PID Controller anschauen, einfach mal in ein Modell ziehen und mit CTRL-U mal reinschauen wie das gelöst ist...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.