Introduzione e strumenti

Documenti analoghi
Matlab e Simulink per i sistemi di controllo

Matlab e Simulink per i sistemi di controllo

Introduzione al Simulink

Fondamenti di di A utomatica Automatica Prof. Bruno Picasso Introduzione all all uso di di S imulink Simulink

Introduzione a Matlab e Simulink

Motivazioni: problema di analisi. Introduzione a Matlab e Simulink. Dove trovare altre informazioni? A cosa serve questa presentazione

INTRODUZIONE A SIMULINK

CONTROLLI AUTOMATICI Ingegneria Meccatronica

Esercitazioni di Tecnologie per l Automazione. Introduzione a Matlab e Simulink

INTRODUZIONE A SIMULINK

Laboratorio di MATLAB

Laboratorio di Matlab

Regime permanente e transitorio

CONTROLLI AUTOMATICI Ingegneria Meccatronica. Prof. Cesare Fantuzzi. Cristian Secchi

Utilizzo di Matlab per l analisi di sistemi dinamici lineari

Presentazione Progetti L-B

Simulink. Introduzione a Simulink Esempio sull analisi di sistemi dinamici lineari con il Control System Toolbox e Simulink v. file.m e.

Corso di Laurea in Ingegneria Meccatronica PROGETTO DEL CONTROLLORE. CA 9 - LuogoDelleRadici

Stabilità dei sistemi di controllo in retroazione

L ambiente Simulink Simulink è un software utile per modellare, simulare ed analizzare sistemi dinamici complessi.

CONTROLLI AUTOMATICI e SISTEMI ELETTRICI LINEARI Ingegneria Meccatronica INTRODUZIONE Matlab (seconda parte) e SIMULINK

Presentazione Progetti CAT

Precisione in regime permanente

INTRODUZIONE AL CONTROL SYSTEM TOOLBOX

INTRODUZIONE AL CONTROL SYSTEM TOOLBOX

MODELLO COMPLETO PER IL CONTROLLO. D r (s) U(s) Y (s) d m (t): disturbi misurabili. d r (t): disturbi non misurabili

Introduzione a Simulink

SOLUZIONE. Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada Seconda prova intermedia 12 Febbraio 2015

10-1 MODELLO COMPLETO PER IL CONTROLLO. D r (s) U(s) Y (s) d m (t): disturbi misurabili. d r (t): disturbi non misurabili

Regolazione e Controllo dei Sistemi Meccanici 23 Novembre 2005

Regime permanente e transitorio

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

Prefazione 3. Ringraziamenti 5

Video Scrittura (MS Word) Prima Parte

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

14Ex-Cap11.qxd :20 Pagina Le macro

Stabilità dei sistemi di controllo in retroazione

Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada Seconda prova intermedia 12 Febbraio 2015

Progetto del controllore

B = Si studi, giustificando sinteticamente le proprie affermazioni, la stabilità del sistema. si A = G(s) = Y f (s) U(s) = 1.

Definizione del problema (1/2)

Automatica I (Laboratorio)

Presentazione e obiettivi del corso

MATLAB. Guida al laboratorio di automatica. Mariagrazia Dotoli, Maria Pia Fanti

Stabilità dei sistemi di controllo in retroazione

Politecnico di Bari Facoltà di Ingegneria

Analisi dei sistemi in retroazione

L Ambiente di Sviluppo SIMULINK

PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 2003/ gennaio 2004

Introduzione a MATLAB

Visualizzazione ed elaborazione dei risultati in ALOORA

ESERCIZIO 1 Si consideri il sistema con ingresso u(t) ed uscita y(t) descritto dalle seguenti equazioni

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Per la descrizione dei comandi MATLAB verranno usate le seguenti convenzioni.

MATLAB-SIMULINK. Simulink. Simulazione di un filtro passabasso RC. Ing. Alessandro Pisano.

Progetto del controllore

PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 2011/ giugno 2012

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Analisi di Stabilità e Criterio di Nyquist

Teoria dei Sistemi

Regime permanente e transitorio

Utilizzo delle Maschere in Microsoft Access

01EKU - Tecnologia dei sistemi di controllo automatici Verres

Istruzioni per l apertura dei documenti in Firma Digitale (p7m)

INGEGNERIA DELLE TELECOMUNICAZIONI

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Appello di Febbraio di Fondamenti di Automatica A.A Febbraio 2011 Prof. SILVIA STRADA Tempo a disposizione: 2 h. 30 m.

Programmazione modulare

Esercizi di Controlli Automatici - 7 A.A. 2016/2017

Regolazione e Controllo (solo V.O.) I Parte 7 Settembre 2004

Sistemi di Controllo Esempio di domande teoriche a risposta multipla. Esempio di problemi e quesiti a risposta aperta

PIANO DI LAVORO DEI DOCENTI

Sistemi Informatici per il supporto alle decisioni Modulo 1. Database: concetti introduttivi

Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada 16 Luglio 2014

Controlli Automatici 2 27 Settembre 2007 COGNOME...NOME... MATR...CDL (ELETTR, GEST, MECC)

Esercizio di progetto del controllore nel discreto con discretizzazione del sistema 4 Dicembre 2013

Prova TIPO C per: ESERCIZIO 1.

Esame di Regolazione e Controllo

PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 2003/ luglio Soluzione

Regolazione e Controllo dei Sistemi Meccanici 9 Giugno 2005

5.10 [5.00.1H / 21] FORNITORI PLUS: Riporto note e totali nel controllo fatture

ANALISI FREQUENZIALE E PROGETTO NEL DOMINIO DELLE FREQUENZE

I Quaderni di LAPSUS n 3 f. CmapTools PASSO A PASSO: aggiungere risorse

09. Luogo delle Radici

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

5. Modalità operative per creare maschere personalizzate

Controlli Automatici

COMPITO DI CONTROLLI AUTOMATICI 25 Giugno 2007

Laboratorio di Progettazione Elettronica Esercitazione 1

SISTEMI ELEMENTARI DEL 1 o E 2 o ORDINE

Ad ogni utente è legato un profilo che lo abilita all uso di alcune funzioni.

a.a. 2014/2015 Docente: Stefano Bifaretti

Fondamenti di Automatica

Esame di FONDAMENTI DI AUTOMATICA (9 crediti) SOLUZIONE

COMPITO DI FONDAMENTI E APPLICAZIONI DI CONTROLLI AUTOMATICI 18 Settembre 2012

Esercitazione Si consideri il processo descritto dalla funzione di trasferimento: Soluzione

Transcript:

Introduzione e strumenti Introduzione Analisi e simulazione in ambiente Matlab Introduzione all utilizzo di Simulink Simulazione in ambiente Simulink 2 2007 Politecnico di Torino 1

Introduzione (1/2) L utilizzo del linguaggio MATLAB permette di realizzare facilmente i principali passi necessari per l analisi ed il progetto di sistemi di controllo: Manipolazione di funzioni di trasferimento e calcolo delle loro principali caratteristiche (singolarità, guadagno, ecc.) Analisi del comportamento in frequenza di un sistema mediante il tracciamento di diagrammi di Bode, di Nyquist e di Nichols della sua fdt Simulazione della risposta di un sistema ad un ingresso assegnato 4 2007 Politecnico di Torino 2

Introduzione (2/2) L utilizzo del toolbox SIMULINK di Matlab facilita la simulazione di sistemi interconnessi, consentendo la loro rappresentazione direttamente per mezzo del corrispondente schema a blocchi L utilizzo congiunto di Matlab e Simulink permette di sviluppare interamente il progetto di un sistema di controllo, verificando agevolmente il soddisfacimento delle specifiche di progetto, nonché la valutazione delle prestazioni di interesse 5 Prerequisiti Nella trattazione verranno considerate già note le nozioni basilari del linguaggio Matlab (preparazione, salvataggio ed esecuzione di file, definizione di variabili, vettori e matrici, svolgimento delle principali operazioni matematiche, tracciamento di grafici) Alcuni comandi già introdotti ed utilizzati nel corso di Fondamenti di Automatica, relativi alla definizione e simulazione di sistemi dinamici, saranno ripresi in considerazione per essere utilizzati in caso di sistemi interconnessi 6 2007 Politecnico di Torino 3

Note Nella trattazione verrà utilizzata la versione 6.5 di Matlab, a cui è associata la versione 5 di Simulink Possono essere impiegate versioni successive di Matlab e Simulink, fatte salve eventuali piccole differenze nella sintassi di alcuni comandi e/o nella definizione di particolari blocchi in Simulink I principali comandi Matlab introdotti ed utilizzati durante il corso sono riassunti nel file pdf allegato, insieme alle loro modalità di impiego 7 Un esempio applicativo L utilizzo di Matlab e Simulink per l analisi e la simulazione di un sistema di controllo sarà illustrato nel caso di un servomotore in c.c. rappresentabile per mezzo dello schema a blocchi equivalente sviluppato nella Lezione Schema tecnologico di un sistema di controllo R s I a T c V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 8 2007 Politecnico di Torino 4

Calcolo della fdt del motore Primo obiettivo: calcolo della fdt del motore (incluso anello di corrente) per T c = 0 V(s) Ω F(s) = V (s) r,ia R s I a T c V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 10 2007 Politecnico di Torino 5

Calcolo della fdt del motore Primo obiettivo: calcolo della fdt del motore (incluso anello di corrente) per T c = 0 K C(s) Ia = s F(s) = V(s) Ω V (s) r,ia R s I a T c =0 V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 11 Preparazione del file Matlab: 1 a parte (1/3) Si consiglia di porre all inizio di un nuovo file, aperto con l editor di Matlab, i comandi di pulizia dello spazio di lavoro e di chiusura delle finestre grafiche eventualmente già aperte clear all close all 12 2007 Politecnico di Torino 6

Preparazione del file Matlab: 1 a parte (1/3) Si consiglia di porre all inizio di un nuovo file, aperto con l editor di Matlab, i comandi di pulizia dello spazio di lavoro e di chiusura delle finestre grafiche eventualmente già aperte clear all close all Questi comandi permettono di ripartire da zero ogni volta in cui il file viene eseguito 13 Preparazione del file Matlab: 1 a parte (1/3) Si consiglia di porre all inizio di un nuovo file, aperto con l editor di Matlab, i comandi di pulizia dello spazio di lavoro e di chiusura delle finestre grafiche eventualmente già aperte Si definisce la variabile complessa s per un agevole definizione delle fdt di sistemi o sottosistemi clear all close all s=tf( s ); 14 2007 Politecnico di Torino 7

Preparazione del file Matlab: 1 a parte (1/3) Si consiglia di porre all inizio di un nuovo file, aperto con l editor di Matlab, i comandi di pulizia dello spazio di lavoro e di chiusura delle finestre grafiche eventualmente già aperte Si definisce la variabile complessa s per un agevole definizione delle fdt di sistemi o sottosistemi clear all close all s=tf( s ); Il comando tf permette di definire e/o di calcolare la fdt di un sistema LTI secondo diverse modalità 15 Preparazione del file Matlab: 1 a parte (2/3) Si assegnano ai parametri del sistema i corrispettivi valori numerici (nelle appropriate unità di misura) e si definisce C Ia (s) clear all close all s=tf( s ); Ra=6; L=3.24e-3; Km=0.0535; J=20e-6; beta=14e-6; KD=0.0285; Kcond=0.67; Rs=7.525; A=2.925; K=1000; CIa=K/s; 16 2007 Politecnico di Torino 8

Preparazione del file Matlab: 1 a parte (3/3) Si calcola la fdt fra V r,ia (s) e I a (s) (indicata come F r,ia (s)) con il comando feedback FrIa=feedback(CIa*A/(L*sRa),Rs); R s I a T c =0 V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 17 Preparazione del file Matlab: 1 a parte (3/3) Si calcola la fdt fra V r,ia (s) e I a (s) (indicata come F r,ia (s)) con il comando feedback 1 argomento: fdt del ramo diretto FrIa=feedback(CIa*A/(L*sRa),Rs); R s I a T c =0 V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 18 2007 Politecnico di Torino 9

Preparazione del file Matlab: 1 a parte (3/3) Si calcola la fdt fra V r,ia (s) e I a (s) (indicata come F r,ia (s)) con il comando feedback 2 argomento: fdt della retroazione FrIa=feedback(CIa*A/(L*sRa),Rs); R s I a T c =0 V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 19 Preparazione del file Matlab: 1 a parte (3/3) Si calcola la fdt fra V r,ia (s) e I a (s) (indicata come F r,ia (s)) con il comando feedback La retroazione è assunta automaticamente negativa FrIa=feedback(CIa*A/(L*sRa),Rs); R s I a T c =0 V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 20 2007 Politecnico di Torino 10

Preparazione del file Matlab: 1 a parte (3/3) Si calcola la fdt fra V r,ia (s) e I a (s) (indicata come F r,ia (s)) con il comando feedback Si calcola la F(s) cercata (cascata di blocchi) R s I a Per visualizzare il risultato non si mette il ; FrIa=feedback(CIa*A/(L*sRa),Rs); F=FrIa*Km/(J*sbeta)*KD*Kcond T c =0 V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 21 Fdt del motore e schema a blocchi risultante L esecuzione della prima parte del file Matlab così preparata dà come risultato: Transfer function: 2.988 ------------------------------------------------------------------- 6.48e-008 s^3 0.00012 s^2 0.4403 s 0.3081 22 2007 Politecnico di Torino 11

Fdt del motore e schema a blocchi risultante L esecuzione della prima parte del file Matlab così preparata dà come risultato: Transfer function: 2.988 ------------------------------------------------------------------- 6.48e-008 s^3 0.00012 s^2 0.4403 s 0.3081 Per T c = 0 lo schema a blocchi diventa pertanto: r K r y des e u y C Ω (s) F(s) 23 Fdt del motore e schema a blocchi risultante L esecuzione della prima parte del file Matlab così preparata dà come risultato: Transfer function: 2.988 ------------------------------------------------------------------- 6.48e-008 s^3 0.00012 s^2 0.4403 s 0.3081 Per T c = 0 lo schema a blocchi diventa pertanto: r K r y des = V r,ω y des e u y C Ω (s) F(s) y = V Ω u = V r,ia 24 2007 Politecnico di Torino 12

Simulazione del sistema ad anello chiuso Secondo obiettivo: simulazione della risposta del sistema ad anello chiuso ad un riferimento a gradino unitario, per diversi controllori C Ω (s) r K r y des e u y C Ω (s) F(s) 25 Simulazione del sistema ad anello chiuso Secondo obiettivo: simulazione della risposta del sistema ad anello chiuso ad un riferimento a gradino unitario, per diversi controllori C Ω (s) K r = 1 r K r y des e u y C Ω (s) F(s) r = gradino unitario 26 2007 Politecnico di Torino 13

Simulazione del sistema ad anello chiuso Secondo obiettivo: simulazione della risposta del sistema ad anello chiuso ad un riferimento a gradino unitario, per diversi controllori C Ω (s) K r = 1 r K r y des e u y C Ω (s) F(s) r = gradino unitario Da progettare: ad esempio P (proporzionale) o PI (proporzionale-integrativo) 27 Preparazione del file Matlab: 2 a parte (1/2) Si assegna a K r il valore 1 Kr=1; 28 2007 Politecnico di Torino 14

Preparazione del file Matlab: 2 a parte (1/2) Si assegna a K r il valore 1 Si definisce la fdt del controllore: K p (proporzionale) Kr=1; Kp=0.4; C_omega1=Kp; 29 Preparazione del file Matlab: 2 a parte (1/2) Si assegna a K r il valore 1 Si definisce la fdt del controllore: K p (proporzionale) K p K i /s (proporzionaleintegrativa) Kr=1; Kp=0.4; C_omega1=Kp; Ki=2; C_omega2=KpKi/s; 30 2007 Politecnico di Torino 15

Preparazione del file Matlab: 2 a parte (1/2) Si assegna a K r il valore 1 Si definisce la fdt del controllore: K p (proporzionale) K p K i /s (proporzionaleintegrativa) Si calcola la fdt ad anello chiuso nei due casi Kr=1; Kp=0.4; C_omega1=Kp; Ki=2; C_omega2=KpKi/s; W1=Kr*feedback(C_omega1*F,1); W2=Kr*feedback(C_omega2*F,1); 31 Preparazione del file Matlab: 2 a parte (2/2) Si applica il gradino unitario con il comando step Kr=1; Kp=0.4; C_omega1=Kp; Ki=2; C_omega2=KpKi/s; W1=Kr*feedback(C_omega1*F,1); W2=Kr*feedback(C_omega2*F,1); step(w1,5) hold on step(w2,5) hold off 32 2007 Politecnico di Torino 16

Preparazione del file Matlab: 2 a parte (2/2) Si applica il gradino unitario con il comando step Kr=1; Kp=0.4; C_omega1=Kp; Ki=2; C_omega2=KpKi/s; W1=Kr*feedback(C_omega1*F,1); W2=Kr*feedback(C_omega2*F,1); step(w1,5) hold on step(w2,5) hold off 2 argomento: istante finale della simulazione a partire da t = 0 33 Preparazione del file Matlab: 2 a parte (2/2) Si applica il gradino unitario con il comando step Kr=1; Kp=0.4; C_omega1=Kp; Ki=2; C_omega2=KpKi/s; W1=Kr*feedback(C_omega1*F,1); W2=Kr*feedback(C_omega2*F,1); step(w1,5) hold on step(w2,5) hold off Tutti i grafici vengono riportati nella medesima finestra per un più agevole confronto 34 2007 Politecnico di Torino 17

Risultato della simulazione L esecuzione della seconda parte del file Matlab così preparata effettua la simulazione desiderata: Risposta al gradino unitario con C Ω (s) = K p K i /s Risposta al gradino unitario con C Ω (s) = K p 35 Analisi della risposta del sistema (1/3) Valutazione del valore della risposta in regime permanente e calcolo dell errore di inseguimento finale e = 0 e = 0.205 36 2007 Politecnico di Torino 18

Analisi della risposta del sistema (2/3) Valutazione della sovraelongazione massima e del tempo di assestamento ŝ t a (calcolato al 2%) 37 Analisi della risposta del sistema (3/3) Valutazione del tempo di salita (secondo le definizioni date per t r e t s ) t s t r 38 2007 Politecnico di Torino 19

Poli del sistema ad anello chiuso (1/2) Il diverso comportamento del sistema ad anello chiuso con i due controllori adottati può essere giustificato calcolando il valore dei poli della funzione W(s) nei due casi: damp(w1) damp(w2) Il comando damp determina i poli della fdt nella forma parte reale parte immaginaria e ne fornisce anche pulsazione naturale e fattore di smorzamento 39 Poli del sistema ad anello chiuso (2/2) damp(w1) damp(w2) Eigenvalue -3.42e000-9.25e002 2.44e003i -9.25e002 2.44e003i Damping 1.00e000 3.55e-001 3.55e-001 Freq. (rad/s) 3.42e000 2.61e003 2.61e003 40 2007 Politecnico di Torino 20

Poli del sistema ad anello chiuso (2/2) Eigenvalue Damping Freq. (rad/s) -3.42e000 1.00e000 3.42e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002 2.44e003i 3.55e-001 2.61e003 damp(w1) damp(w2) Eigenvalue Damping Freq. (rad/s) -1.71e000 3.27e000i 4.63e-001 3.69e000-1.71e000-3.27e000i 4.63e-001 3.69e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002-2.44e003i 3.55e-001 2.61e003 41 Riconoscimentodeipolidominanti Eigenvalue Damping Freq. (rad/s) -3.42e000 1.00e000 3.42e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002 2.44e003i 3.55e-001 2.61e003 Poli dominanti Eigenvalue Damping Freq. (rad/s) -1.71e000 3.27e000i 4.63e-001 3.69e000-1.71e000-3.27e000i 4.63e-001 3.69e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002-2.44e003i 3.55e-001 2.61e003 42 2007 Politecnico di Torino 21

Riconoscimentodeipolidominanti W 1 (s) ha un polo dominante reale Eigenvalue Damping Freq. (rad/s) -3.42e000 1.00e000 3.42e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002 2.44e003i 3.55e-001 2.61e003 Poli dominanti Eigenvalue Damping Freq. (rad/s) -1.71e000 3.27e000i 4.63e-001 3.69e000-1.71e000-3.27e000i 4.63e-001 3.69e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002-2.44e003i 3.55e-001 2.61e003 43 Riconoscimentodeipolidominanti W 1 (s) ha un polo dominante reale Eigenvalue Damping Freq. (rad/s) -3.42e000 1.00e000 3.42e000-9.25e002 2.44e003i 3.55e-001 2.61e003-9.25e002 2.44e003i 3.55e-001 2.61e003 Poli dominanti Eigenvalue Damping ζ = 0.463 Freq. (rad/s) W 2 (s) ha una coppia di poli dominanti complessi coniugati -1.71e000 3.27e000i -1.71e000-3.27e000i -9.25e002 2.44e003i -9.25e002-2.44e003i 4.63e-001 4.63e-001 3.55e-001 3.55e-001 3.69e000 3.69e000 2.61e003 2.61e003 44 2007 Politecnico di Torino 22

Il toolbox Simulink (1/2) Il toolbox SIMULINK permette di rappresentare il sistema direttamente per mezzo del corrispondente schema a blocchi e di simularne il comportamento 46 2007 Politecnico di Torino 23

Il toolbox Simulink (2/2) In particolare è possibile: Assegnare agevolmente differenti segnali di riferimento Considerare la contemporanea presenza di disturbi lungo l anello Visualizzare direttamente l andamento di più variabili di interesse (ad es. l uscita, l errore di inseguimento, il comando) Salvare in un file il risultato della simulazione e/o renderlo disponibile nello spazio di lavoro di Matlab 47 Apertura di Simulink (1/2) Per aprire Simulink, è sufficiente digitare la parola simulink nella finestra di comando di Matlab oppure cliccare sulla corrispondente icona 48 2007 Politecnico di Torino 24

Apertura di Simulink (2/2) Dalla finestra del Simulink Library Browser è possibile: Creare un nuovo modello o aprirne uno già esistente (file.mdl) dal menu File Individuare gli elementi di interesse nella libreria principale di Simulink o fra i toolbox disponibili Modificare alcune proprietà generali (ad esempio le caratteristiche dei font utilizzati) 49 Creazione di un modello Simulink (1/4) Per inserire un blocco nel modello (o più in generale qualunque elemento disponibile nelle librerie), è sufficiente selezionarlo e trascinarlo nella finestra del modello, mantenendo premuto il tasto sinistro del mouse 50 2007 Politecnico di Torino 25

Creazione di un modello Simulink (2/4) Per collegare due blocchi mediante un ramo, è sufficiente cliccare sul morsetto di uscita del primo e trascinare il cursore (tenendo premuto il tasto sinistro del mouse) fino a raggiungere l ingresso del secondo oppure selezionare i due blocchi (nella sequenza desiderata) tenendo premuto il tasto CTRL 51 Creazione di un modello Simulink (2/4) Per collegare due blocchi mediante un ramo, è sufficiente cliccare sul morsetto di uscita del primo e trascinare il cursore (tenendo premuto il tasto sinistro del mouse) fino a raggiungere l ingresso del secondo oppure selezionare i due blocchi (nella sequenza desiderata) tenendo premuto il tasto CTRL 52 2007 Politecnico di Torino 26

Creazione di un modello Simulink (3/4) È possibile modificare i parametri di un blocco facendo un doppio click sul blocco stesso: si apre in questo modo una finestra di interfaccia, contenente appositi campi per l assegnazione dei parametri del blocco modificabili dall utente 53 Creazione di un modello Simulink (3/4) È possibile modificare i parametri di un blocco facendo un doppio click sul blocco stesso: si apre in questo modo una finestra di interfaccia, contenente appositi campi per l assegnazione dei parametri del blocco modificabili dall utente Per rinominare un blocco è sufficiente cliccare sul nome assegnato automaticamente e modificarlo secondo quanto desiderato 54 2007 Politecnico di Torino 27

Creazione di un modello Simulink (4/4) Premendo il tasto destro del mouse in corrispondenza di un blocco selezionato, si apre un menu a tendina che consente di agire su tutte le caratteristiche del blocco, sia di contenuto (parametri) sia grafiche (font, rotazioni del blocco, colori, ecc.) 55 Blocchi ed elementi principali (1/9) Nella cartella Continuous sono disponibili i principali blocchi associati alla rappresentazione di sistemi dinamici a tempo continuo, mentre nella cartella Discrete si possono trovare quelli associati alla rappresentazione di sistemi dinamici a tempo discreto 56 2007 Politecnico di Torino 28

Blocchi ed elementi principali (2/9) È possibile definire direttamente un sistema Lineare Tempo-Invariante, sia a tempo continuo sia a tempo discreto, secondo tutte le modalità ammesse dal Control System Toolbox (fdt o rappresentazione in variabili di stato) usando il blocco LTI System disponibile nella libreria di tale toolbox 57 Blocchi ed elementi principali (3/9) La definizione della fdt viene automaticamente proposta per mezzo del comando tf 58 2007 Politecnico di Torino 29

Blocchi ed elementi principali (3/9) Se il sistema è già stato definito nello spazio di lavoro di MATLAB, è sufficiente associare al blocco la sua fdt già calcolata 59 Blocchi ed elementi principali (4/9) Nella cartella Math Operations si trovano tutti gli elementi che realizzano le operazioni matematiche, tra cui i blocchi Gain (guadagno) e Sum (sommatore) 60 2007 Politecnico di Torino 30

Blocchi ed elementi principali (5/9) Nella cartella Sources si trovano i blocchi che permettono di applicare un segnale generato a piacere, tra cui Step, Ramp, Sine Wave e Signal generator, oppure salvato in un file.mat o predefinito nello spazio di lavoro di MATLAB 61 Blocchi ed elementi principali (6/9) Nella cartella Signal Routing si trovano blocchi utili per la gestione dei segnali, tra cui Mux e Demux (per le funzioni di multiplexer e demultiplexer) e gli interruttori manuale ( Manual Switch ) ed automatico ( Switch ) 62 2007 Politecnico di Torino 31

Blocchi ed elementi principali (7/9) Nella cartella Sinks sono disponibili i blocchi per visualizzare immediatamente una variabile ( Scope ), per renderla disponibile nello spazio di lavoro di Matlab ( To Workspace ) o per salvarla in un file.mat ( To File ) 63 Blocchi ed elementi principali (8/9) È possibile raggruppare una parte di un sistema complesso in un unico blocco di sottosistema ( Subsystem ), mantenendo inalterati i suoi collegamenti per mezzo di porte di ingresso e di uscita ( In e Out ), utilizzando gli elementi disponibili nella cartella Ports & Subsystems 64 2007 Politecnico di Torino 32

Blocchi ed elementi principali (9/9) Con un doppio click sul blocco di sottosistema, si apre la finestra in cui dovrà essere costruito il suo modello. È possibile inserire ulteriori ingressi e/o uscite aggiungendo ulteriori elementi di In e Out 65 Esecuzione della simulazione (1/2) I parametri di simulazione (istante iniziale ed istante finale, algoritmo di integrazione numerica, passo di integrazione e tolleranze sull errore) possono essere modificati selezionando Simulation parameters dal menu Simulation 66 2007 Politecnico di Torino 33

Esecuzione della simulazione (2/2) Per eseguire la simulazione, è sufficiente selezionare Start dal menu Simulation (oppure utilizzare il tasto rapido di Start simulation sulla barra degli strumenti) 67 2007 Politecnico di Torino 34

Applicazione ad un servomotore in c.c. (1/3) Il modello del servomotore in c.c. (rappresentato dal suo schema a blocchi equivalente) può essere facilmente realizzato in Simulink, dopo aver definito nello spazio di lavoro in Matlab tutti i parametri e le fdt che in esso compaiono R s I a T c V r,ω C Ω (s) V r,ia C Ia (s) V c A V a 1 Ls R a I a K m T m 1 Jsβ Ω V Ω V D K cond K D 69 Applicazione ad un servomotore in c.c. (2/3) Il modello del servomotore in c.c. (rappresentato dal suo schema a blocchi equivalente) può essere facilmente realizzato in Simulink, dopo aver definito nello spazio di lavoro in Matlab tutti i parametri e le fdt che in esso compaiono A tale scopo è sufficiente eseguire la prima parte del file Matlab prima creato, completata dalla definizione della fdt dei controllori che si vogliono applicare (ad esempio i controllori P e PI precedentemente considerati) 70 2007 Politecnico di Torino 35

Applicazione ad un servomotore in c.c. (3/3) Per simulare il comportamento del sistema controllato non sarà necessario calcolare preventivamente la fdt del servomotore F(s), così come sarà possibile includere anche la contemporanea presenza di una coppia di disturbo Tc 71 File Matlab di definizione del modello Dopo l esecuzione del file, i parametri e le fdt presenti nello spazio di lavoro saranno automaticamente riconosciuti dai blocchi Simulink che li contengono ed a ciascuno di essi sarà associata la rispettiva espressione definita in Matlab Prima parte del file: definizione dei parametri del servomotore clear all close all s=tf( s ); Ra=6; L=3.24e-3; Km=0.0535; J=20e-6; beta=14e-6; KD=0.0285; Kcond=0.67; Rs=7.525; A=2.925; K=1000; CIa=K/s; 72 2007 Politecnico di Torino 36

File Matlab di definizione del modello Dopo l esecuzione del file, i parametri e le fdt presenti nello spazio di lavoro saranno automaticamente riconosciuti dai blocchi Simulink che li contengono ed a ciascuno di essi sarà associata la rispettiva espressione definita in Matlab Kr=1; Kp=0.4; C_omega1=Kp; Ki=2; C_omega2=KpKi/s; Seconda parte del file: definizione dei controllori P e PI 73 Modello Simulink del servomotore (1/7) 74 2007 Politecnico di Torino 37

Modello Simulink del servomotore (1/7) Blocco Step da Sources 75 Modello Simulink del servomotore (1/7) Blocco Step da Sources 76 2007 Politecnico di Torino 38

Modello Simulink del servomotore (2/7) Blocchi Gain e Sum da Math Operations 77 Modello Simulink del servomotore (3/7) Blocco LTI System da Control System Toolbox 78 2007 Politecnico di Torino 39

Modello Simulink del servomotore (4/7) Blocco Constant da Sources 79 Modello Simulink del servomotore (4/7) Blocco Constant da Sources Il disturbo è imposto nullo come nella simulazione in Matlab 80 2007 Politecnico di Torino 40

Modello Simulink del servomotore (5/7) Subsystem (da Ports & Subsystems) 81 Modello Simulink del servomotore (5/7) Subsystem (da Ports & Subsystems) Blocco In aggiuntivo rispetto agli In e Out preesistenti 82 2007 Politecnico di Torino 41

Modello Simulink del servomotore (6/7) Blocco Mux da Signal Routing 83 Modello Simulink del servomotore (7/7) Blocchi Scope e To File da Sinks 84 2007 Politecnico di Torino 42

Simulazione 1: controllore P, T c = 0 (1/3) Parametri di simulazione 85 Simulazione 1: controllore P, T c = 0 (2/3) Risultato visibile sull oscilloscopio Conferma del risultato ottenuto con Matlab: elevato errore finale 86 2007 Politecnico di Torino 43

Simulazione 1: controllore P, T c = 0 (3/3) Creazione del file simul.mat contenente la variabile simulazione La variabile simulazione generata ha tre righe: 1) campioni del tempo 2) campioni dell uscita 3) campioni del riferimento 87 Simulazione 2: controllore P, T c = 0.005 Risultato visibile sull oscilloscopio Si riscontra una significativa variazione dell errore finale 88 2007 Politecnico di Torino 44

Simulazione 3: controllore PI, T c = 0 Risultato visibile sull oscilloscopio Conferma del risultato ottenuto con Matlab: presenza di significativa sovraelongazione, errore finale nullo 89 Simulazione 4: controllore PI, T c = 0.005 Risultato visibile sull oscilloscopio Si riscontra un elevato aumento della sovraelongazione, mentre l errore finale rimane nullo 90 2007 Politecnico di Torino 45