Forum: Analoge Elektronik und Schaltungstechnik PT2 Kriechfall Zeitkonstanten


von andi (Gast)


Lesenswert?

Hallo,

gibt es eine Möglichkeit aus den Parametern des Wendepunktes (Zeitpunkt, 
Wert, Steigung) der Sprungantwort eines PT2 im Kriechfall auf die 
Zeitkonstanten der beiden PT1 Elemente zu schliessen, die dieses PT2 
bilden?

Also Beispiel gemessener Wendepunkt:

tw = 0.925s
y(tw) = 0.212
y'(tw) = 0.315
y(inf) = 1

ergäbe die Zeitkonstanten T1 = 2s und T2 = 0.5s

von Dieter (Gast)


Lesenswert?

Einfach mal rechnen:

U(t)=c(1-e^(a*t)-e^(b*t))

3 Unbekannte

Durch die zwei Ableitungen ergeben sich noch zwei weitere Gleichungen.

Insgesamt 3 Gleichungen und 3 Unbekannte. Somit möglich,

U'(t)=c(a*e^(a*t)-b*e^(b*t))
U''(t)=c(a*a*e^(a*t)-b*b*e^(b*t))

von Dieter (Gast)


Lesenswert?

Ein Minus vergessen.
U'(t)=c(-a*e^(a*t)-b*e^(b*t))
U''(t)=c(-a*a*e^(a*t)-b*b*e^(b*t))

oder andere Funktionen:
U(t)=c(1-e^(a*t))*(1-e^(b*t))
U(t)=c(2-e^(a*t)-e^(b*t))
...

von Helmut S. (helmuts)


Lesenswert?

Es gibt nur zwei echte Unbekannte da die dritte 1 ist wegen y(inf)=1.
Deshalb reicht es die Gleichungen y(tw) und y'(tw) zu verwenden.
Achtung, die folgenden Formeln gelten nur für den gedämpften Fall (kein 
Überschwingen).

y(t) = 1 + (T1*e^(-t/T1) - T2*e^(-t/T2)) / (T2-T1)
y'(t) = (-e^(-t/T1) + e^(-t/T2)) / (T2-T1)

Ergebnis:
T1 = 0.50974
T2 = 1.98446

http://homepages.math.uic.edu/~hanson/Octave/OctaveNonlinearEG.html

Lösung mit dem open source Matheprogramm Octave

>> function y = f(x)
t = 0.925;
y(1) = 1 +(x(1)*exp(-t/x(1))-x(2)*exp(-t/x(2)))/(x(2)-x(1)) -0.212;
y(2) = (-exp(-t/x(1)) + exp(-t/x(2)))/(x(2)-x(1)) -0.315;
endfunction
>> [x, info] = fsolve ("f", [1; 2])
x =
   0.50974
   1.98446
info =
   0.000001789388  -0.000000044383


% Kontrolle
>> function y = f1(t,x)
y = 1 +(x(1)*exp(-t/x(1))-x(2)*exp(-t/x(2)))/(x(2)-x(1));
endfunction

>> z = @f1;

>> feval(z, 0.925, x)
ans =  0.21200

: Bearbeitet durch User
von andi (Gast)


Lesenswert?

Hallo,

ich habe mal versucht das für einen variablen K Faktor zu lösen.
Ich habe aber einfach 3 Messpunkte der Funktion genommen und die 
Anweisung entsprechend erweitert:

y(x=2.011) = 25.931
y(x=4.002) = 79.874
y(x=6.034) = 111.266

function y = f(x)
y(1) = 
x(3)*(1-(x(1)/(x(1)-x(2)))*exp(-2.011/x(1))+(x(2)/(x(1)-x(2)))*exp(-2.01 
1/x(2)))  +25.931
y(2) = 
x(3)*(1-(x(1)/(x(1)-x(2)))*exp(-4.002/x(1))+(x(2)/(x(1)-x(2)))*exp(-4.00 
2/x(2)))  +79.874
y(3) = 
x(3)*(1-(x(1)/(x(1)-x(2)))*exp(-6.034/x(1))+(x(2)/(x(1)-x(2)))*exp(-6.03 
4/x(2)))  +111.266
endfunction
[x, info] = fsolve ("f", [1; 2; 230])

// y(inf) ca 250

Es kommt allerdings immer die Meldung: !!! PAYLOAD TOO LARGE !!!

von andi (Gast)


Lesenswert?

// y(inf) ca 230 sry

von Helmut S. (helmuts)


Lesenswert?

> .... +25.931

Diese Werte benötigen bei allen drei Funktionen ein Minusvorzeichen, 
weil die Funktion 0 ergeben soll.

... -25.931

von andi (Gast)


Lesenswert?

Danke für die Hilfe,

hat mir sehr geholfen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.