Esercitazione di laboratorio #2 - Controlli Automatici
Simulazione di risposte di sistemi del I e del II ordine
Autori: M. Indri, M. Taragna (ultima modifica: 22/04/2020)
Contents
Introduzione
Si puo' suddividere il programma in diverse sezioni di codice usando i caratteri "%%". Ogni sezione puo' essere eseguita separatamente dalle altre con il comando "Run Section" (nella toolbar dell'Editor, subito a destra del tasto "Run"). Si puo' ottenere lo stesso risultato selezionando la porzione di codice che si vuole eseguire e premendo il tasto funzione F9, risparmiando cosi' tempo rispetto all'esecuzione di tutto il programma. Si prenda questo script come esempio di riferimento.
clear all, close all, clc
Risposte di sistemi del primo ordine a ingressi canonici
s = tf('s'); % Per definire la variabile “s” G1 = 10/(s-5); G2 = 10/(s+0); G3 = 10/(s+5); G4 = 10/(s+20); % Simulazione della risposta all'impulso figure, impulse(G1,'r'), figure, impulse(G2,'b'), figure, impulse(G3,'g'), figure, impulse(G4,'y'), % Simulazione della risposta al gradino figure, step(G1,'r'), figure, step(G2,'b'), figure, step(G3,'g'), figure, step(G4,'y') pause
Risposta al gradino di sistemi del II ordine con due poli reali e nessuno zero
s = tf('s'); % Per definire la variabile “s” G1 = 20/((s+1)*(s+10)); G2 = 2/((s+1)^2); G3 = 0.2/((s+1)*(s+0.1)); figure, step(G1,'r', G2,'b', G3,'y'),grid on,
Risposta al gradino di sistemi del II ordine con due poli reali e uno zero
z1 = 100; z2 = 10; z3 = 1; z4 = 0.5; G41 = (5*(s-z1)) / ((-z1)*(s+1)*(s+5)); G42 = (5*(s-z2)) / ((-z2)*(s+1)*(s+5)); G43 = (5*(s-z3)) / ((-z3)*(s+1)*(s+5)); G44 = (5*(s-z4)) / ((-z4)*(s+1)*(s+5)); figure, step(G41,'r', G42,'g', G43,'b', G44,'y'), grid on, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% z5 = -0.9; z6 = -0.5; z7 = -0.1; G45 = (5*(s-z5)) / ((-z5)*(s+1)*(s+5)); G46 = (5*(s-z6)) / ((-z6)*(s+1)*(s+5)); G47 = (5*(s-z7)) / ((-z7)*(s+1)*(s+5)); figure, step(G45,'r', G46,'b', G47,'g'), grid on, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% z8 = -100; z9 = -10; z10 = -2; G48 = (5*(s-z8)) / ((-z8)*(s+1)*(s+5)); G49 = (5*(s-z9)) / ((-z9)*(s+1)*(s+5)); G410 = (5*(s-z10)) / ((-z10)*(s+1)*(s+5)); figure, step(G48,'r', G49,'b', G410,'g'),grid on,
Risposta al gradino di sistemi del II ordine con due poli complessi coniugati
w1 = 2; sigma1 = 0.5; sigma2 = 0.25; w2 = 1; G51 = (w1^2)/((s^2)+(2*sigma1*w1*s)+(w1^2)); G52 = (w1^2)/((s^2)+(2*sigma2*w1*s)+(w1^2)); G53 = (w2^2)/((s^2)+(2*sigma1*w2*s)+(w2^2)); figure, step(G51,'r', G52,'b', G53,'g'),grid on, % Calcolo della sovraelongazione se1 = exp(-pi*sigma1/sqrt(1-sigma1^2)) se2 = exp(-pi*sigma2/sqrt(1-sigma2^2)) se3 = exp(-pi*sigma1/sqrt(1-sigma1^2)) % Calcolo del tempo di salita a = (sqrt(1-sigma1^2))/sigma1; b = (sqrt(1-sigma2^2))/sigma2; ts1 = (1/(w1*sqrt(1-sigma1^2)))*(pi-atan(a)) ts2 = (1/(w1*sqrt(1-sigma2^2)))*(pi-atan(b)) ts3 = (1/(w2*sqrt(1-sigma1^2)))*(pi-atan(a))
se1 = 0.1630 se2 = 0.4443 se3 = 0.1630 ts1 = 1.2092 ts2 = 0.9416 ts3 = 2.4184