|
|
Laufzeitfehler bei Simulation eines Reglers |
|
christoph_gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.10.2009, 09:26
Titel: Laufzeitfehler bei Simulation eines Reglers
|
|
Hallo.
Ich habe ein Problem mit Simulink. Ich habe euch das Model als Bild angehängt. die embedded Matlab funktion beinhaltet eine Regelroutine. Der quantisierer besitzt eine Samplezeit von 5µs.
warum bringt er beim ausführen der Simulation die Fehlermeldung?
Das komische ist, wenn ich den Quantisierer weglasse funktioniert es. ich benötige diesen aber um eine genauere simulation zu erreichen (da der Regler in einem µC programmiert)
Viele Grüße
Christoph
Beschreibung: |
|
Download |
Dateiname: |
screen.JPG |
Dateigröße: |
71.82 KB |
Heruntergeladen: |
570 mal |
|
|
|
|
|
christoph_gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.10.2009, 13:46
Titel:
|
|
Hi,
habe die strecke jetzt anders aufgebaut.
Ich habe eine kontinuierliche Strecke und möchte einen Digitalen Regler (µC, diskret) verwenden.
Nun möchte ich das ganze möglichst genau in Simulink simulieren.
der aufbau soll so wie auf dem bild aussehen.
Nun meine Fragen:
1. Die Konstanten (Sollwert, In, Kf, Ki, Kp, usw...) muss ich diese auch diskretisieren befor sie in den digitalen werte rein gehen?
oder muss ich nur das feedback (welches durch den AD-wandler eingelesen wird) diskretisieren?
2. Wie diskretesiere ich den Regler? Den Regler möchte ich mit einer embedded matlab function realisieren.
Hier der code der embedded matlab function.
ich hoffe jemand von euch kann mir helfen
viele Grüße
christoph
Beschreibung: |
|
Download |
Dateiname: |
screen2.JPG |
Dateigröße: |
101.05 KB |
Heruntergeladen: |
602 mal |
|
|
|
christoph_gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.10.2009, 13:48
Titel:
|
|
Reglercode:
function Out = Regler(Ref, Fdbk)
% This block supports the Embedded MATLAB subset.
% See the help menu for details.
Kp=25;
Ki=0.1;
Kf=0.8;
IsatU=0.5;
IsatL=0;
SatU=0.85;
SatL=0.05;
persistent In_old;
if(isempty(In_old))
In_old=0;
end
En = Ref - Fdbk;
In_new = En + In_old;
if (In_new <= IsatL)
In_new=IsatL;
elseif (In_new >= IsatU)
In_new=IsatU;
end
Out = Kp*En + Ki*In_new + Kf*Ref;
if (SatU>=Out >= SatL)
In_old=In_new;
end
end
|
|
|
christoph_gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.10.2009, 08:53
Titel:
|
|
Hallo.
Habe jetzt ein neues Model mit einem anderen Regler aufgebaut.
Jedoch geht dieser immer in die "Saturation" -> Sättigung. An der Regler z-transformierten kann es nicht liegen. Da ich diese bereits auf einem µC getestet habe und er einwandfrei lief.
Beschreibung: |
|
Download |
Dateiname: |
Simulink_Model.JPG |
Dateigröße: |
22.97 KB |
Heruntergeladen: |
609 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|