SOSPENSIONI AUTOBUS Esempio di controllo digitale utilizzando il metodo delle variabili di stato.

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Alberto Martini. m2m2 v1v1 m1m1 v1v1 m1m1 m2m2 v1v1 vogliamo risolvere un difficile problema! m1m1 m2m2.
Il moto rettilineo uniformemente accelerato
Equazioni differenziali
Il progetto dei regolatori
Caratteristiche del controllo a catena aperta: un esempio
RISPOSTA DI SISTEMI ANELASTICI
Esercizio 1 Un filo indefinito è costituito da due semirette AB e BC formanti un angolo retto, come in figura Il filo è percorso da una corrente I = 10.
Esercitazione MATLAB (13/5)
Esperienza di laboratorio sull’elasticità
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
°ORDINE: risposta ad altri segnali semplici RAMPA
Inversione differenziale della Cinematica
Sistemi con ritardo finito
Metodi FEM per problemi ellittici
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Metodi FEM in 2D G. Puppo.
FEM -3 G. Puppo.
Essendo le materie scientifiche e tecniche la linfa
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Condizionamento dei segnali di misura
Esperienza n. 11 Filtri passa-basso e passa-alto
Esperienza n. 9 Uso dell’oscilloscopio per misure di ampiezza e frequenza di una tensione alternata e misura dello sfasamento tra tensioni. Circuito RLC.
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
Misura della costante elastica di una molla per via statica
Rotazione di un corpo rigido attorno ad un asse fisso
ELEMENTI DI DINAMICA DELLE STRUTTURE
Il prodotto vettoriale
Convertitore A/D e circuito S/H
Prima e Seconda Forma Canonica
Parte I (introduzione) Taratura degli strumenti (cfr: UNI 4546) Si parla di taratura in regime statico se lo strumento verrà utilizzato soltanto per misurare.
Trasformata di Laplace
Metodi numerici per equazioni differenziali ordinarie Laboratorio di Metodi Numerici a.a. 2008/2009.
INTRODUZIONE A MATLAB.
A. martini la MASSA INERZIALE (cambia diapo).
Di Crosara Andrea. Ci proponiamo di trovare una strategia risolutiva per lequazione di secondo grado completa dove a, b, c, sono tutti diversi da 0. Utilizziamo.
INTRODUZIONE A MATLAB LEZIONE 4 Sara Poltronieri slide3.4 matlabintro
5. LE CARATTERISTICHE DINAMICHE
TRASDUTTORI E SENSORI.
Daniele Santamaria – Marco Ventura
Dott. Ing. VINCENZO SURACI
1- Orientamento testo 2- Calcolo dell iva 3- Nascondi e scopri 1- Orientamento testo 2- Calcolo dell iva 3- Nascondi e scopri 4- Prezzo+iva, guadagno.
Milano, 17 Dicembre 2013 Informatica B Informatica B Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli:
Problema del controllo
LUCIDI dell'insegnamento di COMUNICAZIONI ELETTRICHE eo/in/bi
Fabio Garufi - TAADF Tecniche automatiche di acquisizione dati Sensori Prima parte.
Laurea Ing. EO/IN/BIO;TLC D.U. Ing EO 3
DAC A RESISTORI PESATI.
Presentazione Progetti L-B
Controllo della velocità di un motore in corrente continua
UNIVERSITÀ DEGLI STUDI DI PERUGIA Dipartimento di Ingegneria Industriale Prof. Francesco Castellani Corso di “Meccanica Applicata B”
1 Lezione IX seconda parte Avviare la presentazione col tasto “Invio”
1 Lezione XIV -b Avviare la presentazione col tasto “Invio”
1 Lezione IX – quarta parte Avviare la presentazione col tasto “Invio”
Sistemi di controllo. Ing. G. Cisci Sistema Con il termine sistema si intendono un insieme di dispositivi interagenti tra loro, con lo scopo di.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione.
TRANFER DEFINITION FUNCTION G(s) I(s) U(s) Relationship between input and output of a system in the domain of the complex variable s s - complex variable.
Prof.ssa Veronica Matteo
RUMORE DI QUANTIZZAZIONE. Concetti principali L’analisi dei sistemi di controllo digitale presuppone il fatto che il dispositivo utilizzato abbia uno.
Strumenti per lo studio dei sistemi continui nel dominio del tempo.
Il comportamento del motore asincrono è descritto da un sistema di equazioni non lineari; non è, quindi, possibile, quando si desidera ricavare dei legami.
Parte 4 Programmare in Matlab – II Sommario Integrazione di Equazioni differenziali ordinarie Metodo di Eulero Esplicito Metodo di Eulero Esplicito + EsercizioEsercizio.
Lezione XIII Common-Mode feedback (CMFB). Introduzione  In tutte le applicazioni degli amplificatori operazionali un anello di retroazione differenziale.
OSCILLATORI SINUSOIDALI PER ALTE FREQUENZE by
PLL - phase-locked loop Circuito elettrico ampiamente utilizzato nell'elettronica per le telecomunicazioni. Permette di creare un segnale la cui fase ha.
Lezione XVII Compensazione II. Riepilogo  Dall’ingresso verso l’uscita troviamo sicuramente il polo al nodo X (o Y) non dominante e il polo dominante.
Filter Design & Analysis Toolbox. FDATool(1) Quello di cui andremo a parlare in questa sezione è una interfaccia grafica (GUI) che permette di progettare.
HARDWARE. REALIZZAZIONI MINIMALI E FUNZIONI DI TRASFERIMENTO Consideriamo il modello di un sistema dinamico a tempo discreto in termini di ingresso stato.
Transcript della presentazione:

SOSPENSIONI AUTOBUS Esempio di controllo digitale utilizzando il metodo delle variabili di stato

Descrizione del sistema L’obiettivo di questo esempio è quello di progettare un sistema di controllo automatico di una delle quattro sospensioni di un autobus. Lo schema del sistema è mostrato in figura: massa autobus(m1) = 2500 kg, massa sospensioni (m2) = 320 kg, costante elastica della sospensione(k1) = 80,000 N/m, costante elastica del pneumatico(k2) = 500,000 N/m, coefficiente di smorzamento della sospensione (b1) = 350 Ns/m. coefficiente di smorzamento del pneumatico(b2) = 15,020 Ns/m. Disturbo(w)= variazioni del manto stradale Forza di controllo(u) = forza fornita dal controllore che si vuole progettare.

Specifiche di progetto Quando l’autobus incontra variazioni del manto stradale, quali buche, avvallamenti, etc., non deve subire grosse oscillazioni e queste devono essere smorzate velocemente. Dal momento che la distanza X1-W è difficilmente misurabile e la deformazione del pneumatico (X2-W) è trascurabile, supporremo X1-W uguale a X1-X2 e questa sarà l’uscita del nostro problema. La variazione del manto stradale (W) verrà simulata con un ingresso a gradino; Progettare un controllore in retroazione con le seguenti caratteristiche: L’uscita deve avere una sovraelongazione minore del 5%; Il tempo di assestamento deve essere inferiore a 5 secondi.

Equazioni dinamiche Applicando le leggi di Newton al sistema otteniamo le seguenti equazioni dinamiche: che possono essere espresse in forma di variabili di stato sotto questa forma: Per vedere i passaggi intermedi cliccare qui…

Inserimento sistema in Matlab Inseriamo ora il nostro sistema in forma di variabili di stato in Matlab: >>m1=2500; >>m2=320; >>k1 = 80000; >>k2 = ; >>b1 = 350; >>b2 = 15020; >>A=[ ; -(b1*b2)/(m1*m2) 0 ((b1/m1)*((b1/m1)+(b1/m2)+(b2/m2)))-(k1/m1) -(b1/m1); b2/m2 0 - ((b1/m1)+(b1/m2)+(b2/m2)) 1; k2/m2 0 -((k1/m1)+(k1/m2)+(k2/m2)) 0]; >>B=[0 0; 1/m1 (b1*b2)/(m1*m2); 0 -(b2/m2); (1/m1)+(1/m2) - (k2/m2)]; >>C=[ ]; >>D=[0 0];

Analisi in anello aperto(1) La risposta al gradino unitario in anello aperto senza nessun controllo in retroazione, applicato all’ingresso di controllo u, si può ricavare con Matlab richiamando la seguente istruzione: >>step(A, B, C, D, 1) Il quinto argomento della funzione step permette di specificare l’ingresso al quale applicare il gradino. In questo caso si ha quindi:  u(t) = sca(t)  w(t) = 0

Analisi in anello aperto(2) La risposta al gradino di ampiezza 0.1 (10 cm, come richiesto dalle specifiche) in anello aperto senza nessun controllo in retroazione, applicato all’ingresso di disturbo w, si può ricavare con Matlab richiamando la seguente istruzione: >>step(A, 0.1*B, C, D, 2) In questo caso si ha invece:  u(t) = 0  w(t) = 0.1*sca(t)

Analisi in anello aperto(3) Entrambe le risposte hanno un tempo di assestamento troppo elevato. In particolare il grande contraccolpo in seguito all’impatto e le continue oscillazioni potrebbero danneggiare le sospensioni. E’ necessario quindi aggiungere al sistema un controllore in retroazione per migliorare le prestazioni.

Funzioni di trasferimento(1) Calcoliamo ora le funzioni di trasferimento dei singoli blocchi del sistema retroazionato, sfruttando la funzione del Matlab ss2tf, che riceve in ingresso le matrici del sistema in variabili di stato e restituisce numeratore e denominatore della FdT. Utilizziamo la seguente nomenclatura:

Funzioni di trasferimento(2) Con semplici passaggi è possibile ottenere le funzioni di trasferimento dei singoli blocchi: >> [nump,denp]=ss2tf(A,0.1*B, C, D, 1); >> printsys(nump,denp) num/den = s^ s s^ s^ s^ s >> [num1,den1]=ss2tf(A,0.1*B,C,D,2); >> % Essendo denl=denp => FdTf=numl/nump >> numf=num1; >> denf=nump; >> printsys(numf,denf) num/den = s^ s^ e-011 s e s^ s

Scelta del tempo di campionamento(1) Il primo passo nella progettazione del controllore digitale è quello di convertire il sistema tempo continuo nel suo equivalente discreto. Prima di tutto è necessario decidere un tempo di campionamento T appropriato. In questo esempio, la scelta del tempo di campionamento è molto importante, dato che un gradino nel manto stradale influenza molto velocemente l’uscita. Fisicamente, accade che il manto stradale solleva improvvisamente la ruota, comprimendo la molla e lo smorzatore. Dato che la massa della sospensione è relativamente bassa e la molla è sufficientemente rigida, la massa della sospensione si solleva velocemente, aumentando X2 quasi istantaneamente. Dato che il controllore può vedere l’effetto del disturbo solo dopo un periodo di campionamento completo, dobbiamo scegliere un tempo di campionamento piccolo abbastanza, così che l’output non superi il 5% richiesto, in un periodo di campionamento. Dobbiamo quindi analizzare accuratamente la fase iniziale della risposta al gradino. Come visto nei lucidi precedenti, questa diventa negativa velocemente e successivamente inizia ad oscillare. Simuleremo solo la fase iniziale della risposta, considerando come intervallo temporale di interesse il range [0,0.005].

Scelta del tempo di campionamento(2) Controlliamo quindi la risposta al gradino in w nell’intervallo [0,0.005]: >>step(A,0.1*B,C,D,2,0:0.0001:.005); Questo grafico mostra che la molla, K1, si comprime molto velocemente e eccede il requisito di progetto di 5 mm in risposta ad un gradino di ampiezza 10 cm dopo solo poco più di sec. Setteremo quindi T=.0005s per dar modo al controllore di rispondere.

Conversione da tempo continuo a tempo discreto Scelto il tempo di campionamento, possiamo convertire l’impianto nel tempo discreto. L’istruzione del Matlab da utilizzare è c2dm, che consente di passare dal modello in variabili di stato A,B,C,D tempo continuo a quello tempo discreto Ad,Bd,Cd,Dd. Come circuito di mantenimento useremo lo Zero Order Hold. >>T=.0005; >>[Ad Bd Cd Dd]=c2dm(A,B,C,D,T,'zoh') Ad = e e e e Bd = e e e e e Cd = Dd = 0 0

Aggiungere un integratore(1) Per portare la risposta a regime a zero aggiungiamo un integratore in serie all’impianto. Per fare ciò usiamo l’istruzione del Matlab series, che riceve in ingresso le matrici dei due sistemi e restituisce le matrici risultanti dal collegamento serie. Un integratore in tempo discreto può essere rappresentato come un’approssimazione dell’integrazione su ogni periodo di campionamento nel seguente modo:

Aggiungere un integratore(2) Scriviamo il nuovo sistema in Matlab e calcoliamo il sistema serie: >>Ai=1; >>Bi=1; >>Ci=T; >>Di=T/2; >>[Ada,Bda,Cda,Dda]=series(Ad,Bd,Cd,Dd,Ai,Bi,Ci,Di) Ada = e e e e Bda = e e e e e Cda = Dda = 0 0

Aggiungere un integratore(3) Dobbiamo ora riportare la matrice di uscita forma originale, dato che il Matlab l’ha trasformata nella sua forma integrata: >>Cda=[Cd 0] Cda =

Progettare il controllore(1) Dobbiamo prima di tutto decidere dove piazzare i poli in anello chiuso. Dato che vogliamo riuscire a piazzare tutti e 5 i poli in anello chiuso, dobbiamo essere molto selettivi su dove localizzarli. In particolare, possiamo piazzarli di modo da cancellare tutti gli zeri dell’impianto, di modo che produca la risposta desiderata. Per prima cosa dobbiamo trovare gli zeri dell’impianto calcolando le radici del numeratore della FdT: >>[num,den]=ss2tf(Ad,Bd,Cd,Dd,1); >>zeros=roots(num) zeros = i i Selezioneremo questi zeri come poli ad anello chiuso; un altro lo sceglieremo a , dato che con tale polo si stabilizza in approssimativamente 5 sec.. L’ultimo polo lo selezioneremo in 0.2, dato che è sufficientemente veloce da essere insignificante.

Progettare il controllore(2) Useremo il comando place per calcolare la matrice di guadagno, K, che ci darà, in retroazione, i poli ad anello chiuso desiderati. >> p1=zeros(1); >> p2=zeros(2); >> p3=zeros(3); >> p4=.9992; >> p5=.2; >> K=place(Ada,Bda*[1;0],[p1 p2 p3 p4 p5]) K = e e e e e+006

Simulazione della risposta in anello chiuso Usiamo il comando dstep per simulare la risposta al gradino in anello chiuso. Dato che moltiplicare il vettore degli stati per K nel nostro controllore restituisce solo il segnale u, dobbiamo aggiungere una riga di zeri alla matrice K moltiplicandola per [1 0]’ : >>yout=dstep( Ada-Bda*[1 0]'*K,-.1*Bda,Cda,-.1*Dda,2,10001);dstep >>t=0:.0005:5; >>stairs(t,yout);

Conclusioni Come possiamo notare dalla figura precedente, viene rispettato il requisito riguardante il Settle-Time, mentre non viene raggiunto quello inerente la sovraelongazione, ciò è probabilmente dovuto al fatto che le cancellazioni polo-zero non avvengono. Per poter rispettare tale requisito è necessario affrontare il problema utilizzando altre tecniche, ad esempio utilizzando controllori non-lineari. Si lascia al lettore il compito di approfondire il problema. E’ stato comunque utile osservare la procedura da seguire per implementare un controllore digitale: Descrizione del sistema fisico; Individuazione dei requisiti richiesti all’impianto; Creazione di un modello matematico; Analisi in anella aperto; Discretizzazione del sistema con conseguente scelta del Tempo di campionamento; Progettazione del controllore; Verifica del raggiungimento dei requisiti.

Forma in variabili di stato Riportiamo qui i passaggi per ricavare la forma in variabili di stato a partire dalle equazioni della dinamica. Dividiamo il primo e il secondo termine per M1 e M2 rispettivamente Sostituiamo y1=x1-x2 nelle equazioni precedenti Sottraiamo la seconda equazione dalla prima Integriamo Chiamiamo l’integrale y2 Sostituiamo x2 = x1-y1 nell’equazione della derivata di y1 Infine sostituiamo la derivata di y1 nell’equazione della derivata di x1 Torna …