controlli automatici introduzione simulink
Transcript
controlli automatici introduzione simulink
CONTROLLI AUTOMATICI Ingegneria Meccatronica CONTROLLI AUTOMATICI INTRODUZIONE SIMULINK Ing. Cristian Secchi Tel. 0522 522234 e-mail: [email protected] http://www.ingre.unimore.it/staff/secchi Simulink Simulink è un programma costruito utilizzano i comandi di Matlab Vantaggi: • Interfaccia grafica • Blocchi predefiniti solamente ad connettere • Elevata flessibilità nella variazione del progetto • Riduzione dei tempi di progetto • Riduzione dei costi rispetto a un test pratico Per accedere a Simulink basta digitare simulink dal prompt di matlab Cristian Secchi Controlli Automatici Introduzione a Simulink -- 2 Simulink All'avvio si possono distingure due parti: le Librerie e il Workspace. Nelle librerie sono presenti i blocchi elementari che possiamo usare nel progetto. Nel workspace si costruisce il progetto interconnettendo i blocchi presi dalla librerie. Ci sono svariate librerie, noi useremo principalemente: • • • • Sources: Blocchi che generano segnali di vario genere Sinks: Blocchi per la visualizzazione grafica dei segnali Math: Blocchi per l’elaborazione matematica dei segnali Continuous: Blocchi per l’inserimento di funzioni di trasferimento Cristian Secchi Controlli Automatici Introduzione a Simulink -- 3 Simulink – Libreria Sources Contiene blocchi che producono particolari segnali che, il più delle volte, vengono usati come segnali di ingresso per un opportuno sistema. I vari elementi si portano nel workspace semplicemente trascinandoveli dentro come se fossero icone. Le librerie sono Read-only. Per poter variare i parametri di un blocco occorre prima trascinarlo nel workspace. Facendo doppio click sull’icona trascinata nel workspace si apre una maschera che ci consente di impostare i parametric che caratterizzano il segnale Cristian Secchi Controlli Automatici Introduzione a Simulink -- 4 Simulink – Libreria Sources I blocchi più utilizzati sono: • Constant: genera un valore costante. • Step: genera un gradino. • Ramp: genera una rampa. • Sine wave: genera una sinusoide. • Signal generator: può generare vari tipi di segnali periodici • Clock: Scandisce gli istanti di tempo della simulazione Cristian Secchi Controlli Automatici Introduzione a Simulink -- 5 Simulink – Libreria Sinks Un insieme di strumenti che consente di visualizzare l'andamento di un segnale. I blocchi più importanti sono: • Scope: Visulizza il segnale di ingresso in funzione del tempo. • XYGraph: Genera un grafico del segnale connesso all'ingresso y (il secondo) in funzione di quello connesso all'ingresso x (il primo). • To Workspace: Memorizza i valori del segnale connesso in una variabile matlab. Cristian Secchi Controlli Automatici Introduzione a Simulink -- 6 Simulink – Libreria Sinks Si consiglia di utilizzare To Workspace in quanto dopo la simulazione si dispone non solo di un grafico ma di una variabile in cui sono contenuti tutti i valori assunti da un segnale. Si può elaborare poi tale variabile con glili strumenti t ti messii a disposizione di i i da d Matlab. M tl b Per visualizzare l’andamento rispetto al tempo delle variabili, è necessario salvare in un’ulteriore variabile un vettore che scandisca gli istanti temporali della simulazione. simulazione Questo è possibile inserendo il blocco clock e collegandone l’uscita a un blocco To Workspace nello schema simulink. Cristian Secchi Controlli Automatici Introduzione a Simulink -- 7 Simulik – Libreria Math Nella libreria Math sono presenti vari blocchi per l'elaborazione matematica dei segnali. Due tra i blocchi più importanti sono Gain e Sum Il blocco Gain riceve in ingresso un segnale e restituisce in uscita il l'ingresso moltiplicato per la costante di guadagno che può essere impostato dall’utente. Il blocco Sum riceve in ingresso tanti segnali quante sono le somme o differenze che si settano. Restituisce in uscita il segnale somma/differenza degli ingressi. Cristian Secchi Controlli Automatici Introduzione a Simulink -- 8 Simulink – Lanciare una simulazione Una volta costruito il sistema da simulare occorre far partire la simulazione. Per lanciare la simulazione si può fare in uno dei seguenti modi: • Premere il tasto a forma di Play sulla toolbar • Selezionare Start dal menu Simulation Per cambiare i parametri della simulazione (tra cui il tempo di simulazione e i metodi di integrazione numerica) selezionare Simulation parameters dal menu Simulation. Cristian Secchi Controlli Automatici Introduzione a Simulink -- 9 Esempio – Scelta dell’elastico per bungee jumping John vuole provare il bungee-jumping e deve scegliere l’elastico giusto per il suo peso (90 Kg) e l’altezza da cui si lancia (30 m). Ci sono tre elastici: Elastico A con costante elastica 5N/m Elastico B con costante elastica 55N/m Elastico C con costante elastica 500N/m Cristian Secchi Controlli Automatici Introduzione a Simulink -- 10 Esempio – Scelta dell’elastico per bungee jumping Le forze che agiscono su John sono: 1. La forza di gravità W=-mg 2. La resistenza dell’aria R=-bv Dove m è la massa di John, g è l’accelerazione di gravità, b=10 è il coefficiente di attrito viscoso dell’aria dell aria e K è la costante elastica dell’elastico 3. La forza elastica Fe=-K(x-30). II° Legge della dinamica: Simuliamo il comportamento del sistema utilizzando gli elastici a disposizione Cristian Secchi Controlli Automatici Introduzione a Simulink -- 11 Simulink – Funzioni di trasferimento Per inserirle nello schema Simulink si utilizzano i blocchi presenti nella libreria Continuous, utilizzando il blocco Transfer Fcn o il blocco Zero-Pole. • Transfer Fcn: Consente di editare una funzione di trasferimento immettendo il numeratore e il denominatore. Numeratore e denominatore sono rappresentati da due vettori che esprimono i coefficienti, secondo potenze discendenti di s, del polinomio corrispondente. • Zero-Pole: Consente di editare una funzione di trasferimento specificando i suoi zeri e i suoi poli. Numeratore e denominatore sono rappresentati da due vettori i cui elementi rappresentano rispettivamente glili zerii e i polili della d ll funzione f i di trasferimento. f i Se la funzione da inserire è un semplice integratore è già presente il blocco che lo implementa. Cristian Secchi Controlli Automatici Introduzione a Simulink -- 12 Esempio Se inseriamo nella maschera i vettori: • Numerator: [1 2] • Denominator: [1 2 3] Otteniamo rispettivamente: Transfer Fcn: Zero-Pole: Cristian Secchi Controlli Automatici Introduzione a Simulink -- 13 Esempi Si consideri un sistema descritto dalla seguente funzione di trasferimento: Costruire uno schema in Simulink che consenta di simulare la risposta del sistema a un segnale a gradino di ampiezza arbitraria Mostrare mediante simulazione che maggiore è “a” minore è il tempo impiegato dalla risposta per raggiungere il valore del gradino. Mostrare inoltre che se a<0 la risposta del sistema diverge Cristian Secchi Controlli Automatici Introduzione a Simulink -- 14 Esempi Si consideri un sistema descritto dalla seguente funzione di trasferimento: Costruire uno schema in Simulink che consenta di simulare la risposta del sistema a un segnale a gradino di ampiezza arbitraria Mostrare mediante simulazione che se la parte reale dei poli complessi coniugati rimane la stessa ma la parte immaginaria cambia il tempo impiegato per raggiungere il valore di regime rimane lo stesso. Cosa cambia? Come cambia in relazione alla p parte immaginaria g della coppia pp di poli? p Mostrare che mantenendo costante la parte immaginaria dei poli ma diminuendo la parte reale il tempo impiegato per raggiungere il valore di regime diminuisce. Mostrare che se la parte reale diventa positiva l’uscita non raggiunge nessun valore di regime Cristian Secchi Controlli Automatici Introduzione a Simulink -- 15 Esempio – Motore in CC a eccitazione indipendente R Va Parte Elettrica Cristian Secchi L ef i Cm ω Cr Parte Meccanica Controlli Automatici Introduzione a Simulink -- 16 Esempio – Motore in CC a eccitazione indipendente Passando alla trasformata di Laplace si vede che Quindi il motore può essere descritto da: Va(s) I(s) + Ω(s) - Cristian Secchi Controlli Automatici Introduzione a Simulink -- 17 Esempio – Motore in CC a eccitazione indipendente Si supponga di alimentare il sistema con un gradino di tensione. Si studi mediante simulazione l’effetto della variazione dei parametri fisici sulla velocità della parte meccanica Cristian Secchi Controlli Automatici Introduzione a Simulink -- 18 CONTROLLI AUTOMATICI Ingegneria Meccatronica CONTROLLI AUTOMATICI INTRODUZIONE A SIMULINK Ing. Cristian Secchi Tel. 0522 522234 e-mail: [email protected] http://www.ingre.unimore.it/staff/secchi