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 522235Il Problema della Messa in Scala
Il 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 effettiSchema complessivo di un loop digitale
Schema complessivo di un loop digitale
Sp R(z) D/A C A G(s) C A/D -S A/D C Calcolatore
• G(s)= Plant • A/D= Convertitore Analogico Digitale
Calcolatore
Schema complessivo di un loop digitale
Schema complessivo di un loop digitale
Sp Catena di attuazione R(z) D/A C A G(s) C A/D -S A/D C Calcolatore Calcolatore Catena di acquisizione N l t i bl hi di i / tt i di i t i
Normalmente i blocchi di misura/attuazione, condizionamento e conversione sono statici (almeno nella banda di interesse) e, quindi, possono essere
Schema complessivo di un loop digitale
Schema complessivo di un loop digitale
Lo schema complessivo di un loop digitale può allora essere Lo schema complessivo di un loop digitale può allora essere rappresentato come: Kout=KdaKcKatt Ksp=KcKad Sp Spq U U Y Ksp - R(z) Kout G(s) Sp pq Uq U Y Kin Yq Kin=KsKcKad Calcolatore in s c ad
Schema complessivo di un loop digitale
Schema 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)Esempio: Acquisizione dell’Uscita
Esempio: 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 grandezza grandezza 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 guadagnoSchema complessivo di un loop digitale
Schema 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 digitale
g g p g
L’implementazioe diretta dell’algoritmo utilizzando le variabili non fisiche al posto di quelle vere darebbe luogo a risultati sbagliati.
Messa in scala Tecnologica
Messa in scala Tecnologica
•
Occorre compensare gli effetti della catena tecnologica. Questa operazione viene definitaMessa 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 EQUAZIONIMessa in scala Tecnologica
Messa 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 g
Questo può essere dovuto alla presenza di sensori, amplificatori, convertitori ed altri dispositivi per il condizionamento del segnale presenti nel loop di controllo
presenti nel loop di controllo
•
ARITMETICHE: Il dispositivo di elaborazione non è in grado dielaborare aritmeticamente le grandezze fisiche utilizzate per la sintesi dell’algoritmo Questo può succedere quando si utilizza un processore dell’algoritmo. Questo può succedere quando si utilizza un processore ad aritmetica intera che deve elaborare un algoritmo progettato con variabili reali.
Messa in scala Tecnologica
Messa 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
Messa in scala Tecnologica
Messa in scala Tecnologica
Ksp - R(z) Kout G(s) Sp Spq Uq U Y Ki Yq Kin Calcolatore L l i i t l d fi i h l l i i i di Le relazioni tra le grandezza fisiche
u
,
y
esp
e le loro immagini di processo quantizzateu
q,
y
q esp
q sono date da:Le costanti Kin, Ksp e Kout sono note una volta
progettata l’elettronica di interfacciamento
Messa in Scala delle Variabili
Messa in Scala delle Variabili
Si adattano le variabili disponibili all’algoritmo. Si procede come segue:
PASSO 1 – Si mettono in scala le variabili di ingresso PASSO 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
Messa in Scala delle Variabili
Messa 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 ne attuazione, 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.
Messa in scala delle equazioni
Messa 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
Messa in scala delle equazioni
Messa in scala delle equazioni
PASSO 2 – Adattamento dell’algoritmo alle variabili
d l l l d ll
Consideriamo il semplice algoritmo di controllo
Ricordando che
Messa in scala delle equazioni
Messa in scala delle equazioni
Da cui
ALGORITMO SCALATO GENERALE ALGORITMO SCALATO GENERALE
Messa in scala delle equazioni
Messa in scala delle equazioni -
- Esempio
Esempio
Si consideri la seguente legge di controllo
Da implementarsi in un loop dove K =5 K =10 e K =2 Da implementarsi in un loop dove Kin=5 Ksp=10 e Kout=2
L’algoritmo non si può implementare in aritmetica intera!!! L algoritmo non si può implementare in aritmetica intera!!!
Messa in Scala Aritmetica
Messa 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 realiSe 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
Messa 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:
Messa in Scala Aritmetica
Messa in Scala Aritmetica
L’uscita del controllore è, in tal modo, scalata di un valore 104. Per trovare
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 DACIngegneria e Tecnologie dei Sistemi di Controllo Ingegneria e Tecnologie dei Sistemi di Controllo Laurea Specialistica in Ingegneria Meccatronica Laurea Specialistica in Ingegneria Meccatronica