|
|
Frage zu einer Regelungstechnik Aufgabe |
|
Björn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2010, 08:48
Titel: Frage zu einer Regelungstechnik Aufgabe
|
|
|
|
|
Hallo zusammen,
Ich habe in meiner Abschlussarbeit ein kleines Problem mit der Auslegung einer Regelstrecke bzw. mit der Einstellung eines PID Reglers.
Aufgabenstellung:
Es handelt sich um ein Laser mit dem ein Auge (Wasserblock mit definiertem Absorptionskoeffizienten) erhitz werden soll. Der daraus entstehende Temperatur anstieg X wird anschließend zurück geführt und mit der Eingangsgröße (dem Soll-Temperaturwert) verglichen und diese Differenz wird wieder ins System (PID Regler-> Lasereingang-> Auge) eingebracht.
Wichtig ist, 1)dass zum einen die Soll-Temperatur nicht überschritten wird da der Laser nicht kühlen kann!
2)der Laser eine maximalle Leistung von 20W hat
3)ein Wärmefluss im Wasserblock statt findet. Der Messkopf aber immer sofort an der Oberfläche misst bzw. es meiner Meinung nach keine Zeitverzögerung bei diesem Model gibt.
Ich hab dieses Problem in Simulink und in Matlab umgesetzt! Nun ist meine eigentlich Frage:
Die Laserleistung (max. 20 W) wird nur kurz angefahren und anschleißend wird Sie wieder langsam reduziert! Warum? Das System könnte doch genauso gut bis zum erreichen der Soll-Temperatur voll heizen und anschließend abschalten bzw. auf die Leistung X fahren um die Temperatur zuhalten!
Nur wenn ich eine if-Schleife einbaue in der solange die Temperatur erhöht wird bis ein Sollwert erreicht ist hält mein Modell auch seine Laserleistung möglichst lange maximal! Wird solch ein Problem normal über eine if-Abfrage gelöst oder ist das eher der schlechtere/falsche Weg?
Überlegung dazu:
Ich kann ja mit meinem Auto von Stuttgart nach München fahren und bis kurz vorm Ortsschild in München gas geben und anschließend eine Vollbremsung machen. Oder schon auf halber Strecke das Gas weg nehmen und mein Auto zum Ziel (München) hinrollen lassen!
Seh ich das Richtig?!
so wer hat mir ein paar hilfreiche Tipps? Danke schon mal im Voraus!
|
|
|
|
|
Björn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2010, 09:09
Titel:
|
|
|
|
|
Ich dachte es ist vllt. noch sinnvoll meinen matlab code zu schreiben.
clear all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
w=368; %Sollwert in Kelvin (95°C)
x(1)=0;
ealt=368; %Ausgangstemperatur
Kp=1; %Vorfaktor P
Ki=0; %Vorfaktor I
Kd=0; %Vorfaktor D
esum=0;
rho=1000 %kg / m³
c=4170 %J / (kg*K)
V=1.12736e-10 %Volumen
z(1)=1;
%k=1;
%%%%%%%%%%%%%%%%%%%% Regler %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=[0:0.001:0.5];
for u=1:length(k)-1;
e= w - x(u); %Sollwert - Istwert
esum= esum + e;
y(u)= Kp*e + Ki*0.001*esum + Kd/0.001*(e-ealt); %PID Regler
ealt=e;
%%%%%%%%%%%%%%%%%%% Laser %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y(u)=y(u)/368; %Reglerausgang 0 bis 1
%if y(u)>1;
% y(u)=1;
%end
z(u+1)=(y(u)*173); %Umwandlung von Leistung in Energie max. 173 mJ
%%%%%%%%%%%%%%%%%%% Auge %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%dT=(z(u))/(c*V*rho);
dT=y(u)*95/8.65e-3*0.001; %Temperaturerhöhung durch die Laserleistung
%%%%%%%%%%%%%%%%%% Waermefluss %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
j(u)=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x(u+1)=x(u)+dT-j(u); %effektive Temperarturerhöhung x(u) + dT = x(u+1)
end;
plot(k,x); %plotten der Temperaturwerte
hold on;
grid on;
plot(k,z,'r');
|
|
|
|
|
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.
|
|