Estratto del documento

Università della Calabria

Dipartimento di Ing. Meccanica, Energetica e Gestionale

APPUNTI DEL CORSO DI

Controlli

automatici

Piofrancesco Barone

Teoria: Prof. Giuseppe Franzè Ingegneria Energetica

Esercitazioni: Ing. Gianfranco Gagliardi A.A. 2020/2021

Ottobre Pagina 1

5 Ottobre 2020 (esercitatore Gagliardi)

lunedì 5 ottobre 2020 08:30

Ing. Gianfranco Gagliardi

Studio: cubo 42/C momentaneamente al terzo piano

Email: g.gagliardi@dimes.unical.it

RICHIAMI SUI NUMERI COMPLESSI

Denotiamo L’Unità immaginaria j :

Possiamo definire di conseguenza l’insieme dei numeri immaginari:

Ottobre Pagina 2

Ovvero l’insieme dei numeri che si ottengono moltiplicando L’Unità immaginaria j per qualsiasi numero

reale v.

E’ possibile definire un generico numero complesso z come la somma di due componenti:

una parte reale e una parte immaginaria

Si utilizza inoltre una rappresentazione grafica dei numeri complessi su un piano

cartesiano, dove l’asse delle ascisse rappresenta l’asse reale, mentre l’asse delle ordinate

quello immaginario.

Con M indichiamo il modulo del numero complesso, con φ la sua fase.

Data la generica definizione di numero complesso, un numero reale non e’ altro che un numero

complesso con parte immaginaria nulla:

Da ciò si deduce che:

Dato un numero complesso z, e’ possibile definire il suo coniugato, che indicheremo con z’:

Ottobre Pagina 3

Proposizione: Dato un numero immaginario jφ, vale la seguente relazione:

Esponenziale immaginario

L’esponenziale del numero immaginario jφ e’ un numero complesso che ha come parte reale il cosφ e

come parte immaginaria il senφ

Di conseguenza, oltre alla rappresentazione cartesiana, possiamo denotare un qualsiasi

numero complesso z attraverso la cosiddetta rappresentazione polare.

Facendo dunque riferimento alla rappresentazione grafica precedente, si ha:

Il modulo indica l’ampiezza del

vettore che rappresenta il numero

complesso z La fase indica

l’angolo che il vettore

che rapprenda il

numero complesso z

forma con l’asse

reale. L’angolo e’

positivo se si misura

in senso antiorario.

Noti M e φ, valgono le seguenti relazioni inverse:

In definitiva:

Si definisce rappresentazione polare di un numero complesso l’espressione :

Per quanto riguarda il coniugato, avremo stesso modulo ma fase opposta:

Ottobre Pagina 4

RICHIAMI SULLE EQUAZIONI DIFFERENZIALI

In un’equazione differenziale compaiono la funzione incognita y(x) e le sue derivate.

L’ordine massimo della derivata di y(x) individua l’ordine dell’equazione differenziale.

Esempi:

Si utilizzerà la trasformata di Laplace per passare dal dominio del tempo al dominio delle

frequenze per risolvere più facilmente tale equazioni.

Equazioni lineari differenziale del primo ordine

La soluzione generale sarà:

Per tale motivo infinite soluzioni. Aggiungendo una condizione supplementare, chiamata

condizione iniziale, riusciremo a definire un unico valore di c:

Ottobre Pagina 5

INTRODUZIONE A MATLAB

E‘ un software che viene utilizzato sia in ambito accademico (per scopi didattici) ma

soprattuto in ambito industriale per lo sviluppo i tecniche di controllo avanzate e di sistemi

applicabili in campi molto complessi (automobilistico, aerospaziale ecc)

Viene utilizzato sia per svolgere “compiti matematici” complessi che per sviluppare

algoritmi utilizzabili in contesti specifici, per acquisire dati reali registrati da sensori

installati su sistemi oggetto di studio, per analizzare i dati acquisiti, per realizzare grafici

sui dati elaborati, per realizzare interfacce grafiche, scenari simulativi ecc.

Il programma si compone di due parti:

Ambiente di sviluppo, dove scriviamo i nostri programmi

- Librerie, dove matlab mette a disposizione diversi strumenti per realizzare i nostri

- algoritmi. Le librerie sono raccolte nei toolbox del programma stesso.

Sul lato sinistro della schermata di matlab troviamo la directory di lavoro, la quale ci

mostra tutte le cartelle presenti tra i documenti. All’interno della cartella di lavoro

possiamo creare i nostri file di progetto o delle nuove sottocartelle.

Tasto destro -> new -> folder

La parte centrale della schermata e’ invece il command window, ovvero dove andiamo a

inserire i comandi. Il risultato di un comando, se non e’ diversamente specificato, viene

salvato dal software in una variabile chiamata ans.

Possiamo assegnare un valore ad una variabile, ad esempio:

>> somma = 2+3

In tal modo non compare la scritta “ans”, che e’ appunto un output di default che viene dato

dal programma quando non viene assegnata alcuna variabile. Tutto ciò che viene scritto

nella command window o nei file di progetto viene salvato nel workspace di matlab,

facilmente visualizzabile sul lato destro della schermata principale.

Nel momento in cui dichiariamo una variabile che e’ una matrice, un vettore o una struttura

dati, non visualizziamo un valore, ma solo l’etichetta (=il nome). Facendo doppio click sulla

variabile, si aprirà una schermata dove verrà visualizzata una scheda con l’etichetta della

variabile stessa e il suo valore. Possiamo inoltre osservare tre scheda sulla schermata

principale:

Scheda home, al primo avvio di matlab, da qui si creano nuovi script (= nuovi fogli di

- lavoro)

Scheda plots

- Scheda app, la quale da’ accesso ai toolbox.

- Ottobre Pagina 6

Alcuni Comandi di base

> > dir (ci mostra il contenuto della cartella corrente in ordine alfabetico, e’ lo stesso comando

utilizzato in Windows)

>> ls (come dir, ma e’ l’analogo utilizzato in Linux)

>> help (restituisce le informazioni relative all’ultimo comando digitato

Possiamo specificare subito dopo ”help” il nome di una funzione che vogliamo utilizzare, magari se

ne conosciamo il nome ma non il comando. Esempio

>> help sin

sin Sine of argument in radians

Sin(x) is the sine of the elementi of x

Così facendo, capiremo quanti input dobbiamo dare alla funzione.

Matlab risponde di una command history. Puo capitare di riscrivere una serie di comandi e avere la

necessita di utilizzarne uno gia presente nel programma. Premendo la freschi su

viene dato l

C è p à p m x

tutte le info sulle funzioni: basta premere (?).

I x p m

>> clc (pulisce la command window)

>> clear (svuota il workspace)

>> clear variable (elimina la variabile desiderata)

>> pwd (indica il percorso del file di lavoro)

>> m ( p m p mm m )

P m p p m p

Environment -> set path -> add folder o add folder with sub folders

In questo modo potremo richiamare tutti i file e le funzioni presenti nelle cartelle ( o sottocartelle)

desiderate.

M w m m :

cos(x) e non Cos(x).

Alcuni comandi speciali

>> realmax (restituisce il valore massimo rappresentabile dal programma)

>> realmin (restituisce il valore minimo rappresentabile dal programma)

>> inf (= infinito, ; p p 3/0)

>>N N (= m ; p mm q p m )

>>computer (restituisce il nome del computer con cui stiamo lavorando)

>>version (restituisce la versione del software con cui stiamo lavorando).

Ottobre Pagina 7

Tipi di dati supportati in matlab

Matlab e’ (anche) un linguaggio di programmazione che si basa sulle matrici. Dichiarando ad esempio la

variabile A=1, stiamo rappresentando una matrice di interi 1x1.

Le matrici in matlab vengono chiamate array. All’interno di tali elementi possiamo salvare valori logici,

caratteri numerici, strutture dati, celle, funzioni ecc.

Per figli array numerici possiamo avere valori numerici a virgola fissa e valori numerici a virgola mobile:

nei primi ricadono quei numeri rappresentabili come interni con segno e interi senza segno; nei secondi i

numeri si definiscono di tipo single o di tipo double in base alla precisione richiesta per gli stessi

(soprattutto in base all’hardware).

Esempio di programma

New script -> save (i file matlab hanno estensione .m, i fogli simulink invece .slx)

L’editor e’ una finestra dove poter scrivere il proprio programma per poi avviarlo con il comando

run e visualizzare i risultati sulla command window.

Per scriver un commento si usa %. I commenti sono evidenziati in verde.

%Esempio1

clear

clc

%%%%%%% %per suddividere il programma in piu’ parti

a=2; %ogniqualvolta dichiariamo una variabile, e’ consigliabile utilizzare un punto e virgola, così

che non compaia a video nella command window

b=2;

s=a+b %In tal modo si visualizza il risultato a video

Per dichiarare un vettore riga:

v1 = [1 2 3]; %vettore di tre elementi, matrice 1x3

Per dichiarare i vari elementi, si utilizza uno “spazio” oppure una virgola, come in questo modo: v1

=[1,2,3];

Per dichiarare un vettore colonna invece:

v2=[1;2;3]; %vettore di 3 elementi, matrice 3x1

v2_1=[1 2 3]’ %trasposta del vettore

Per dichiarare un vettore si può altresì utilizzare questo operatore:

v3= 1: 100 %in questo modo abbiamo dichiarato un vettore che va da 1 a 100; e’ un vettore riga

v3_1=(1:100)’ %vettore colonna con elementi che vanno da 1 a 100

v4= 0:5:100 %vettore riga con elementi da 0 a 100 a salti di 5

v5= linspace(0,100,10) %vettore con 10 elementi equispaziati che vanno da 0 a 100

>v6=logspace(3,5,7) %vettore con 7 elementi equispaziati su scala logaritmica che vanno da 3 a 5

Ottobre Pagina 8

9 Ottobre 2020 (prof. Franze’)

venerdì 9 ottobre 2020 11:30

Prof. Giuseppe Franzè

Libri di riferimento:

“Fondamenti di controlli automatici” Bolzern, Scattolini, Schiavone.

- “Automatic control systems” Kuo, Gol Naragahi

-

Ricevimento: Cubo 42/C, 4 piano. Orario 11:30-13:30, Giovedì

Esame: La prova d’esame è una discussione orale. Nella discussione orale potrebbero esserci esercizi

da fare (semplici).

Email: franze@dimes.unical.it

INTRODUZIONE AI CONTROLLI AUTOMATICI

Per capire cosa tratteremo in questo corso, analizziamo la seguente situazione: ipotizziamo di dover

utilizzare la nostra automobile per raggiungere una posizione desiderata, seguendo un certo tragitto da

noi scelto.

Questa operazione può essere astratta dalla realtà definendo un modello automobile-pilota, in cui

l’obiettivo che ci si pone e’ partire da una posizione iniziale (ovvero dal punto in cui è parcheggiata la

nostra macchina nell’istante di tempo iniziale t=0) per poi raggiungere una posizione finale. Nel fare

questo, prima di salire sull’automobile, abbiamo scelto quale strada seguire. Abbiamo dunque ben chiaro

il percorso da percorrere.

Il pilota, nella sua mente, immagina la strada da seguire, e, nell’istante t=0, fa una serie di azioni

preparatorie alla partenza (premere freno e frizione, accedere il quadro, mettere la prima ecc).

Ipotizziamo ad esempio di spostarci dalla posizione 0 alla posizione 1, in un intervallo di tempo t=1. Per

fare questo breve tragitto Δx, abbiamo fatto delle operazioni che ripetiamo continuamente, ma che per

noi sono naturali. Arrivati a t=1, ripeteremo queste operazioni

in modo continuo (cambiare marce, girare il

volante in base alla curva da percorrere

ecc.), fino al raggiungimento dell’obiettivo a

un certo istante t*.

Svolgiamo quindi delle operazioni di

elaborazione, in base a ciò che vediamo con i

nostri occhi. Il cervello le trasforma perciò in

comandi da fornire al nostro corpo.

Trasformiamo un’informazione in pixel

(=fotografia fatta dagli occhi) in una forza da

imprimere sul pedale dell'acceleratore o in

un altro comando.

Noi cercheremo di far svolgere a un dispositivo qualsiasi questo genere di operazioni. L’automobile e il

pilota, nel loro insieme, rappresentano infatti un sistema, un processo fisico.

Se e’ un processo fisico, significa che noi possiamo definire un modello matematico che ne caratterizza il

comportamento dinamico. Sia l’automobile che il pilota, quando vengono messi insieme e si muovono,

mostrano un comportamento che varia al variare del tempo, in quanto può essere descritto da equazioni

differenziali (in senso generale). Ottobre Pagina 9

In questo corso ci occupiamo di processi fisici dinamici la cui evoluzione varia col tempo, che assumiamo

essere continuo, cioè t appartiene ad R.

Conseguentemente, abbiamo equazioni differenziali di tipo continuo.

La curva di percorrenza della macchina rappresenta un segnale nel dominio del tempo, e tale

segnale lo interpretiamo come il segnale di riferimento, denominato con r(t). E’ un segnale che

già conosciamo: e’ l’obiettivo che vogliamo inseguire. Vorremmo che la nostra automobile

seguisse l’andamento di r(t), che e’ un’applicazione da R in R. Ci troviamo nel dominio del tempo.

Se volessimo imporre la temperatura all’interno di una stanza in maniera costante, ad esempio a 20°C, il

segnale di riferimento sarebbe costante (quindi parallelo all’asse dei tempi).

Gli occhi rappresentano i sensori, che possono essere di varia natura. I sensori raccolgono le

informazioni. I sensori effettuano dunque delle misure. Quindi y(t) e’ la misura, altrimenti chiamata

uscita o variabile misurata.

Non vi e’ alcuna possibilità di agire, tranne se non interveniamo sul sensore stesso.

L’ipotetico controllore può solo usare questa informazione, non può agire in alcun modo su di essa.

Sulla base di questa variabile misurata, abbiamo manipolato y(t) (=fotografia fatta dagli occhi)

in maniera tale che poi gli arti possano agire su freno, sterzo ecc., ovvero svolgere dei comandi.

Questi si chiamano variabili di controllo. Sono quelle azioni su cui il pilota può agire.

Abbiamo in generale tre tipi di variabili per ogni processo fisico: obiettivo, misura e variabili di controllo.

Il cervello rappresenta il controllore, ovvero colui che sulla base di alcune informazioni (=modello

matematico che ha a disposizione) elabora i dati e applica i comandi.

Ottobre Pagina 10

Vogliamo mettere insieme controllore, processo e comandi in un unico schema:

Condizione di quiete: tutte le variabili coinvolte nel processo sono identicamente nulle e tali

rimarrebbero se, in qualche istante di tempo, qualcuno non le modificasse esternamente

(=perturbazione, ovvero una delle variabili di controllo cambia).

Il processo riceve in input la variabile di controllo u(t), che appunto serve per perturbare il

processo. Dopo che il processo evolve, sappiamo che i sensori osservano cosa succede allo stesso.

L’output del processo sono dunque le variabili misurate.

La variabile misurata va manipolata, ovvero va mandata al controllore.

Le variabili che decidiamo di applicare al processo sono l’uscita del controllore. Quest’ultimo infatti deve

essere posto prima del processo e del relativo modello matematico.

I comandi devono essere compatibili con l’obiettivo. Prima di fornire la misura al controllore, quest’ultima

deve essere confrontata con quello che vorremmo fare, ovvero la variabile di riferimento (=il nostro

riferimento ideale).

Chiamiamo questo confronto e(t), cioè l’errore che stiamo commentando rispetto al riferimento ideale.

Forniamo quindi al controllore lo scostamento tra la condizione ideale e quella reale . Sulla base di e(t),

manipoliamo C e definiamo i sistemi di controllo. Il segnale di riferimento deve essere confrontato

continuamente con le variabili di misura.

Noi vorremmo che il nostro errore sia zero. Nella realtà ciò non succede perché i sistemi dinamici sono

caratterizzati da un transitorio.

I comandi istantanei non esistono nella realtà perché avremmo bisogno di ingressi impulsivi, ovvero di

energia infinita.

Quello disegnato sopra e’ uno schema a ciclo chiuso.

Dato il processo fisico (=modello matematico) e dato il segnale di riferimento, lo scopo primario del corso

sarà costruire un dispositivo di controllo C tale che l’errore che intercorre tra la condizione ideale e la

realtà sia il più piccolo possibile per ogni t. Ottobre Pagina 11

Il ciclo chiuso contiene però al suo interno un altro schema denominato ciclo aperto.

Nei cicli aperti si parla di Evoluzione libera del processo fisico, ovvero non si tiene conto della

presenza delle perturbazioni e quindi del relativo sistema di controllo.

A ciclo aperto il sensore non ha alcun effetto, e’ come se non ci fosse.

Per modificare il comportamento di un sistema, abbiamo bisogno di un ciclo chiuso.

Misuriamo prima il comportamento del processo e usiamo tale informazione per cambiare le azioni

di controllo.

Nel semplificare lo schema, abbiamo trascurato alcune informazioni. Dobbiamo infatti tenere conto del

fatto che i processi fisici P sono tutti non lineari. Ciò significa che se la struttura che descrive il

processo e’ fortemente non lineare, bisognerà cercare di utilizzare dei modelli matematici che

descrivano bene il comportamento fisico del processo e che siano al contempo semplici.

Vogliamo allora che i modelli che descrivono il nostro processo fisico siano lineari.

Se il nostro processo fisico e’ non lineare, si può linearizzare il problema caratterizzando un modello

lineare a partire da un suo punto di lavoro. In pratica si sceglie un punto nell’evoluzione del tempo del

nostro processo e si linearizza il modello matematico nell’intorno del suddetto punto. Utilizzeremo

solo modelli lineari cosi’ da sfruttare la sovrapposizione degli effetti.

I modelli lineari sono ammissibili per il comportamento non lineare di P, nel senso che ne

rappresentano il comportamento dinamico in maniera abbastanza fedele.

Nei processi fisici ci sono almeno due sorgenti di problemi di costruzione:

Le variabili coinvolte potrebbero essere vincolate. Per tale motivo, non terremo conto della

• presenza di vincoli di saturazione sugli ingressi (=ad esempio la massima accelerazione

dell’automobile) ne&rsquo

Anteprima
Vedrai una selezione di 10 pagine su 188
Controlli automatici Pag. 1 Controlli automatici Pag. 2
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 6
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 11
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 16
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 21
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 26
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 31
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 36
Anteprima di 10 pagg. su 188.
Scarica il documento per vederlo tutto.
Controlli automatici Pag. 41
1 su 188
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/04 Automatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher piobarone di informazioni apprese con la frequenza delle lezioni di Controlli automatici e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Franzè Giuseppe.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community