MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI...
Transcript of MESSA IN SCALA DI ALGORITMI DIGITALIALGORITMI DIGITALI...ALGORITMI DIGITALIALGORITMI DIGITALI...
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]
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
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, …)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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!!!
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
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
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
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
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]