Passa al tema normale
Discussioni su tematiche di ingegneria che non trovano collocazione specifica negli altri forum

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 13:46

Salve, nel seguente esercizio, dopo aver calcolato tutti i parametri della risposta indiciale, mi sono bloccato nel calcolo del tempo di salita poiché il tempo di salita che so fare io è quello al 90% (cioè quello che mi dà Matlab di default premendo "Charateristics->Rise Time"), ma il professore lo dà come errore poiché lui vuole il tempo di salita costituito dell'intervallo di tempo definito dalla tangente alla funzione step fino alla raggiungimento di yreg.

$ (d^3 y(t))/(d t^3) + 108*(d^2 y(t))/(d t^2) +900*(d y(t))/(dt) +10000 y(t) = 1000000 u(t) $

Sfortunatamente non ho potuto seguire le lezioni e sulle trasparenze non è presente una spiegazione a riguardo, né come calcolarlo senza fare la tangente su Matlab né come calcolarlo facendo la tangente su Matlab.

Grazie mille in anticipo!

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 15:01

Se parliamo della tangente alla risposta, bisogna stare attenti perchè in questo caso la tangente iniziale della risposta è nulla. Bisogna quindi approssimare vedendo la risposta nella sua completezza.
Se fai riferimento alla risposta che ho dato al tuo precedente post
https://www.matematicamente.it/forum/vi ... 8&t=231711

si vede che prendendo il grafico normalizzato (quello della G(s) approssimata e normalizzata) e tracciando una sorta di tangente nel primo tratto della salita fino al punto y=1, si ricava approssimativamente

$omega_n*bar t = 2$

da cui essendo $omega_n=10$

$bar t = 0.2$

Quindi, se ho interpretato correttamente la richiesta, il tempo di salita è circa 0.2 s.

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 15:18

Slave Ingres, grazie per l'aiuto offerto per questo esercizio. Anch'io come Nicholas mi trovo a risolvere la stessa problematica. Volevo chiedere come fosse stato ricavato il 2 nell'edizione omega*t=2. Perdona la sintassi ma ancora non sono avvezzo al codice matematico.

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 16:35

Ciao Wuming9472, benvenuto nel Forum

Graficamente si ha, prendendo la curva a $zeta=0.4$,

Immagine

il valore di $omega_n t=2$ e quindi tenendo conto che $omega_n=10$ si ha $text(tempo di salita) =0.2 s$.
Comunque se usi Matlab e tracci una retta come quella sopra otterrai direttamente un valore simile.

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 18:33

Ingres devi perdonarmi ma purtroppo sono ancora un novizio di MATLAB e non conosco bene tutti i comandi.
Il codice che utilizzo ottenere il grafico della risposta indiciale è step(p), dove p è la funzione di trasferimento che mi sono calcolato in precedenza.
Con tale metodo riesco però a ricavarmi un solo grafico e non molteplici come invece nel tuo caso; inoltre sull'asse x ho solo t e non wn*t e sull'asse y ho "Amplitude", non y(t). Porta pazienza ma MATLAB l'ho installato per la prima volta 2 giorni fa.

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 19:34

@Wuming9472
Va benissimo un solo grafico che è quello della risposta effettiva del sistema in funzione del tempo t (vedi anche il post https://www.matematicamente.it/forum/vi ... 8&t=231711 dove Renzo ha messo proprio quello che esce da Matlab) e che ha una forma del tipo:
Immagine
e in cui basta poi tracciare la tangente approssimata per riscontrare che il tempo di salita sia circa 0.2 s.

Quello da me riportato è il grafico normalizzato della risposta di un sistema del secondo ordine al variare del coefficiente di smorzamento e che si trova spesso nei libri di testo o nelle slide del corso (vedi ad es. http://faculty.mercer.edu/jenkins_he/do ... nseMSD.pdf) e che permette di studiare la risposta senza necessariamente simulare la stessa.

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 21:49

NIcholasGiovs ha scritto:... Sfortunatamente non ho potuto seguire le lezioni e sulle trasparenze non è presente una spiegazione a riguardo, né come calcolarlo senza fare la tangente su Matlab...

Direi che un codice di base potrebbe essere il seguente

Codice:
close all
clc
g1=tf(1e6,[1,108,900,1e4]);
[y,time] = step(g1);
k = y(end);
der = diff(y)./diff(time);
flesso = find(diff(der)./diff(time(1:end-1))<0,1);
y0 = der(flesso)*time(flesso)-y(flesso);
tang = der(flesso)*time - y0;
ni = find(tang>=0*k,1);
tinf = time(ni)
ns = find(tang>=1*k,1);
tsup = time(ns)

step(g1), hold on
plot(time,tang)
tsal=tsup-tinf


in sostanza il punto di flesso si va a trovare cercando il cambiamento di segno della derivata seconda e da questo valore, si può poi ottenere il coefficiente angolare della tangente e l'intercetta con l'asse delle ordinate y0, al fine di ottenere la retta tangente e le sue due intersezioni con l'asse dei tempi e della retta del valore finale; la schermata ottenuta (su Matlab online) sarà la seguente

Immagine
Ultima modifica di RenzoD il 04/09/2023, 09:30, modificato 2 volte in totale.

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

03/09/2023, 22:09

ciao Renzo

Ottimo :smt023

Re: Calcolo Tempo di Salita [Sistemi Dinamici]

04/09/2023, 15:08

Giusto per migliorare un po' la determinazione del tempo di salita

Codice:
% Tempo salita  (tsal)
clear
close all
clc
sys=tf(1e6,[1,108,900,1e4]);
t=0:0.0001:0.7;
[y,t]=step(sys,t);
der = diff(y)./diff(t);
flesso = find(diff(der)./diff(t(1:end-1))<0,1);
y0 = der(flesso)*t(flesso)-y(flesso);
tang = der(flesso)*t - y0;
ni = find(tang>=0,1);
tinf = t(ni);
ns = find(tang>=100,1);
tsup = t(ns);
dT = (t>0 & t <=0.3) ;
plot(t,y), hold on
grid
yline(0),yline(100),
plot(t(dT),tang(dT))
plot(tinf,tang(ni),'b-s')
plot(tsup,tang(ns),'b-s')
tsal=tsup-tinf;




Immagine
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.