MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI...

23
Ingegneria e Tecnologie dei Sistemi di Controllo Ingegneria e Tecnologie dei Sistemi di Controllo Laurea Specialistica in Ingegneria Meccatronica Laurea Specialistica in Ingegneria Meccatronica MESSA IN SCALA DI MESSA IN SCALA DI ALGORITMI DIGITALI ALGORITMI DIGITALI ALGORITMI DIGITALI ALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235 Tel. 0522 522235 e-mail: [email protected]

Transcript of MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI...

Page 1: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Ingegneria e Tecnologie dei Sistemi di ControlloIngegneria e Tecnologie dei Sistemi di ControlloLaurea Specialistica in Ingegneria MeccatronicaLaurea Specialistica in Ingegneria Meccatronica

MESSA IN SCALA DI MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALIALGORITMI DIGITALIALGORITMI DIGITALI

Cristian SecchiTel. 0522 522235Tel. 0522 522235

e-mail: [email protected]

Page 2: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Il Problema della Messa in ScalaIl Problema della Messa in Scala

• In un anello di controllo digitale sono presenti svariati dispositivi per l’acquisizione delle misure, l’attuazione e la conversione (A/D e D/A) dei segnali

• Questi blocchi introducono dei cambiamenti di scala (es.: una pressione tra 0 e 50bar è mappata in un numero intero dal convertitore A/D)

• Prima di passare all’implementazione dell’algoritmo di controllo digitale progettato è necessario tenere conto di questi effetti

PID-- 2Cristian Secchi

Page 3: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Schema complessivo di un loop digitaleSchema complessivo di un loop digitale

Sp

R(z) G(s)D/A C AC A/D-

SA/D C

Calcolatore

• G(s)= Plant • A/D= Convertitore Analogico Digitale

Calcolatore

• R(z)= Regolatore• A = Attuatore• S = Sensore

g g• D/A= Convertitore Digitale Analogico• C = Condizionamento del segnale (amplificazione, isolamento, …)

PID-- 3Cristian Secchi

(amplificazione, isolamento, …)

Page 4: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Schema complessivo di un loop digitaleSchema complessivo di un loop digitale

Sp Catena di attuazione

R(z) G(s)D/A C AC A/D-

SA/D C

CalcolatoreCalcolatoreCatena di acquisizione

N l t i bl hi di i / tt i di i t iNormalmente i blocchi di misura/attuazione, condizionamento e conversione sono statici (almeno nella banda di interesse) e, quindi, possono essere modellati con delle costanti.

PID-- 4Cristian Secchi

Page 5: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Schema complessivo di un loop digitaleSchema complessivo di un loop digitaleLo schema complessivo di un loop digitale può allora essereLo schema complessivo di un loop digitale può allora essere rappresentato come:

Kout=KdaKcKatt

Ksp=KcKad

Sp U YUSpqKsp KoutR(z) G(s)-

Sp U YUqpq

Kin

Yq

Kin=KsKcKad

Calcolatorein s c ad

PID-- 5Cristian Secchi

Page 6: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Schema complessivo di un loop digitaleSchema complessivo di un loop digitale

• Le costanti Ksp, Kin e Kout sono note e dipendono dai circuiti di interfacciamento scelti

• Il pedice q contrassegna le variabili campionate e quantizzate come quelle che escono da un convertitore A/D oppure quelle che sono elaborate da un μp

• Le variabili con il pedice q sono diverse per valore e per unità di misura dalle corrispondenti variabili fisiche ( quelle senza pedice)

PID-- 6Cristian Secchi

Page 7: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Esempio: Acquisizione dell’UscitaEsempio: Acquisizione dell’Uscita

è• L’uscita da misurare è normalmente una grandezza definita in un dominio reale• Es.: Pressione tra 0 e 50 barEs.: Pressione tra 0 e 50 bar

• L’uscita di un convertitore A/D a n bit è un numero intero• Es.: nel caso di ADC a 12 bit è compreso tra 0 e 4096 oppure tra §

2048• In questo caso quindi la catena di acquisizione ha trasformato una

grandezza Y reale i cui valori variano tra 0 e 50 in un’altra grandezzagrandezza Y reale i cui valori variano tra 0 e 50 in un altra grandezza “equivalente” Y_q i cui valori variano tra 0 (corrispondente al valore 0 della pressione) e 4096 (corrispondente al valore 50 della pressione)

• Se chiamiamo Y la grandezza da misurare complessivamente la• Se chiamiamo Y la grandezza da misurare, complessivamente la catena di acquisizione ha introdotto un’amplificazione di guadagno

PID-- 7Cristian Secchi

Page 8: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Schema complessivo di un loop digitaleSchema complessivo di un loop digitale

Nel progetto del regolatore, di solito non si considerano la catena di acquisizione, la catena di attuazione e neanche il condizionamento del setpoint.setpoint.

I coefficienti del regolatore hanno valori numerici ed unità di misura calcolati a partire dai valori veri delle variabili fisiche

Le catene di condizionamento, acquisizione e attuazione ALTERANO il guadagno d’anello del loop digitaleg g p g

L’implementazioe diretta dell’algoritmo utilizzando le variabili non fisiche al posto di quelle vere darebbe luogo a risultati sbagliati.

PID-- 8Cristian Secchi

Page 9: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala TecnologicaMessa in scala Tecnologica

• Occorre compensare gli effetti della catena tecnologica. Questa operazione viene definita Messa in scala Tecnologica.

• Esistono fondamentalmente due soluzione:Esistono fondamentalmente due soluzione:• MESSA IN SCALA TECNOLOGICA DELLE VARIABILI

Si utilizza lo stesso algoritmo e si adattano le variabili• MESSA IN SCALA TECNOLOGICA DELLE EQUAZIONI

Si utilizzano le variabili acquisite e si adatta l’algoritmo

PID-- 9Cristian Secchi

Page 10: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala TecnologicaMessa in scala Tecnologica

Mettere in scala un algoritmo significa adattarlo ad operare in condizioni diverse da quelle nelle quali è stato progettato

MOTIVAZIONI:MOTIVAZIONI:

• TECNOLOGICHE: Il dispositivo di elaborazione non è alimentato con le grandezze fisiche utilizzate per la sintesi dell’algoritmo di controllo. g p gQuesto può essere dovuto alla presenza di sensori, amplificatori, convertitori ed altri dispositivi per il condizionamento del segnale presenti nel loop di controllopresenti nel loop di controllo

• ARITMETICHE: Il dispositivo di elaborazione non è in grado di elaborare aritmeticamente le grandezze fisiche utilizzate per la sintesi dell’algoritmo Questo può succedere quando si utilizza un processoredell’algoritmo. Questo può succedere quando si utilizza un processore ad aritmetica intera che deve elaborare un algoritmo progettato con variabili reali.

PID-- 10Cristian Secchi

Page 11: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala TecnologicaMessa in scala Tecnologica

Un generico algoritmo di controllo discreto lineare dà luogo a un’equazione alle differenze che può essere formulata come:

dove

L’algoritmo lineare più semplice è dato da:

E’ opportuno riscrivere l’algoritmo di controllo mettendo in evidenza il fatto che esso sarà implementato sulle variabili quantizzate ¢q

PID-- 11Cristian Secchi

Page 12: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala TecnologicaMessa in scala Tecnologica

Ksp KoutR(z) G(s)-Sp U YUq

Spq

Ki

Yq Kin

Calcolatore

L l i i t l d fi i h l l i i i diLe relazioni tra le grandezza fisiche u, y e sp e le loro immagini di processo quantizzate uq, yq e spq sono date da:

Le costanti Kin, Ksp e Koutsono note una volta progettata l’elettronica di interfacciamento

PID-- 12Cristian Secchi

Page 13: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in Scala delle VariabiliMessa in Scala delle Variabili

Si adattano le variabili disponibili all’algoritmo. Si procede come segue:

PASSO 1 – Si mettono in scala le variabili di ingressoPASSO 1 Si mettono in scala le variabili di ingresso

Si calcolano i valori veri delle grandezze di ingresso

PASSO 2 – Si esegue l’algoritmo con i coefficienti originali

Per l’esempio sul regolatore lineare più semplice si eseguono:

PID-- 13Cristian Secchi

Page 14: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in Scala delle VariabiliMessa in Scala delle Variabili

Il valore dell’uscita così calcolato è quello che dovrebbe essere applicato direttamente all’impianto. Tuttavia, prima di inviarlo alla catena di attuazione, esso va messo in scala per evitare che la catena stesso neattuazione, esso va messo in scala per evitare che la catena stesso ne alteri il valore.

PASSO 3 – Si mette in scala l’uscita del regolatore

L’uscita del regolatore sarà moltiplicata (ad hardware) per Kout nella catena d’attuazione e in tal modo l’ingresso applicato al plant è esattamente quello desiderato.

PID-- 14Cristian Secchi

Page 15: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala delle equazioniMessa in scala delle equazioni

Si adatta l’algoritmo alle variabili disponibili. Si procede come segue:

PASSO 1 – Se Kin ≠ Ksp si mettono in scala relativa le due variabili di ingresso

In generale

Da cui

Pertanto

Ovviamente se K =K allora K’=1 e

PID-- 15Cristian Secchi

Ovviamente se Kin=Ksp allora K =1 e

Page 16: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala delle equazioniMessa in scala delle equazioni

PASSO 2 – Adattamento dell’algoritmo alle variabili

d l l l d llConsideriamo il semplice algoritmo di controllo

Ricordando che

Sostituendo queste espressioni nell’equazione del regolatore si ha

PID-- 16Cristian Secchi

Page 17: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala delle equazioniMessa in scala delle equazioni

Da cui

ALGORITMO SCALATO GENERALEALGORITMO SCALATO GENERALE

I coefficienti ai (adimensionali) restano invariati, mentre i coefficienti bi(dimensionali) vanno scalati

PID-- 17Cristian Secchi

Page 18: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in scala delle equazioni Messa in scala delle equazioni -- EsempioEsempio

Si consideri la seguente legge di controllo

Da implementarsi in un loop dove K =5 K =10 e K =2Da implementarsi in un loop dove Kin=5 Ksp=10 e Kout=2

L’algoritmo non si può implementare in aritmetica intera!!!

PID-- 18Cristian Secchi

L algoritmo non si può implementare in aritmetica intera!!!

Page 19: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in Scala AritmeticaMessa in Scala Aritmetica

• Nella maggior parte dei Microcontrollori e dei DSP utilizzati nei sistemi embedded l’unità aritmetica opera in virgola fissa (Aritmetica intera)

• I parametri dei regolatori sono in generale numeri realiI parametri dei regolatori sono in generale numeri reali• Le immagini di processo sono grandezze intere• Dopo aver effettuato una messa in scala delle variabili anche le

immagini di processo sono, in generale, numeri reali

Se si utilizzano processori dotati solo di unità aritmetiche che operano su variabili intere occorre una ulteriore messa in scala dell’algoritmo: la Messa in Scala Aritmetica.

PID-- 19Cristian Secchi

Page 20: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in Scala AritmeticaMessa in Scala Aritmetica

Consideriamo l’esempio visto in precedenza e supponiamo di doverlo implementare in un’aritmetica intera decimale a 4 digit con segno (§ 9999)

Premoltiplico la legge di controllo per 104. Si ottiene:

L’implementazione è implementabile con la nostra aritmetica

PID-- 20Cristian Secchi

p p

Page 21: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in Scala AritmeticaMessa in Scala Aritmetica

L’uscita del controllore è, in tal modo, scalata di un valore 104. Per trovare uqn occorre riscalare il prodotto dell’elaborazione:

PID-- 21Cristian Secchi

Page 22: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Messa in Scala Aritmetica Messa in Scala Aritmetica –– Algoritmo GeneraleAlgoritmo Generale

è• L’aritmetica disponibile nei μp è quella binaria a m bit (16 o 32 incluso il segno)

• La costante moltiplicativa va scelta come la massima potenza di 2 cheLa costante moltiplicativa va scelta come la massima potenza di 2 che rende ancora rappresentabile con i bit a disposizione la più grande delle costanti

• Il risultato dell’algoritmo va saturato al massimo valore• Il risultato dell’algoritmo va saturato al massimo valore rappresentabile con il numero di bit disponibili sul DAC

PID-- 22Cristian Secchi

Page 23: MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI Cristian Secchi Tel. 0522 522235Tel. 0522 522235 e-mail: secchi.cristian@unimore.it Il

Ingegneria e Tecnologie dei Sistemi di ControlloIngegneria e Tecnologie dei Sistemi di ControlloLaurea Specialistica in Ingegneria MeccatronicaLaurea Specialistica in Ingegneria Meccatronica

MESSA IN SCALA DI MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALIALGORITMI DIGITALIALGORITMI DIGITALI

Cristian SecchiTel. 0522 522235Tel. 0522 522235

e-mail: [email protected]