Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it
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
Il 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 effettiCristian Secchi PID-- 3
Schema complessivo di un
Schema complessivo di un loop
loop
digitale
digitale
Sp R(z) D/A C A G(s) S A/D C A/D C • G(s)= Plant • R(z)= Regolatore • A = Attuatore • S = Sensore
• A/D= Convertitore Analogico Digitale • D/A= Convertitore Digitale Analogico
• C = Condizionamento del segnale (amplificazione, isolamento, …)
-Calcolatore
Schema complessivo di un
Schema complessivo di un loop
loop
digitale
digitale
R(z) D/A C A G(s) S A/D C A/D C -Calcolatore Sp Catena di attuazione Catena di acquisizione Normalmente i blocchi di misura/attuazione, condizionamento e conversione sono statici (almeno nella banda di interesse) e, quindi, possono essere modellati con delle costanti.
Cristian Secchi PID-- 5
Schema complessivo di un
Schema complessivo di un loop
loop
digitale
digitale
Ksp Kout
Lo schema complessivo di un loop digitale può allora essere rappresentato come: R(z) G(s) Kin -Kout=KdaKcKatt Kin=KsKcKad Ksp=KcKad Calcolatore Sp Spq Uq U Y Yq
Schema complessivo di un
Schema complessivo di un loop
loop
digitale
digitale
•
Le costanti Ksp, Kine Koutsono 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 valoree per unità di misuradalle corrispondenti variabili fisiche ( quelle senza pedice)Cristian Secchi PID-- 7
Esempio: Acquisizione dell
Esempio: Acquisizione dell’
’Uscita
Uscita
•
L’uscita da misurare è normalmente una grandezza definita in un dominio reale•
Es.: 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 “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 catena di acquisizione ha introdotto un’amplificazione di guadagnoSchema complessivo di un
Schema complessivo di un loop
loop
digitale
digitale
Nel progetto del regolatore, di solito non si considerano la catena di acquisizione, la catena di attuazione e neanche il condizionamento del 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
L’implementazioe diretta dell’algoritmo utilizzando le variabili non fisiche al posto di quelle vere darebbe luogo a risultati sbagliati.
Cristian Secchi PID-- 9
Messa in scala Tecnologica
Messa in scala Tecnologica
•
Occorre compensare gli effetti della catena tecnologica. Questa operazione viene definita Messa in scala Tecnologica.•
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
Messa 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:
•
TECNOLOGICHE:Il dispositivo di elaborazione non è alimentato con le grandezze fisiche utilizzate per la sintesi dell’algoritmo di controllo. Questo può essere dovuto alla presenza di sensori, amplificatori, convertitori ed altri dispositivi per il condizionamento del segnale presenti 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 processore ad aritmetica intera che deve elaborare un algoritmo progettato con variabili reali.Cristian Secchi PID-- 11
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) Kin -Calcolatore Sp Spq Uq U Y Yq
Le relazioni tra le grandezza fisiche u, ye spe le loro immagini di processo quantizzate uq, yqe spqsono date da:
Le costanti Kin, Kspe Kout sono note una volta progettata l’elettronica di interfacciamento
Cristian Secchi PID-- 13
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
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:
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 alteri il valore.
PASSO 3 – Si mette in scala l’uscita del regolatore
L’uscita del regolatore sarà moltiplicata (ad hardware) per Koutnella catena d’attuazione e in tal modo l’ingresso applicato al plant è esattamente quello desiderato.
Cristian Secchi PID-- 15
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≠ Kspsi mettono in scala relativa le due variabili di ingresso In generale
Da cui
Pertanto
Ovviamente se Kin=Kspallora K0=1 e
Messa in scala delle equazioni
Messa in scala delle equazioni
PASSO 2 – Adattamento dell’algoritmo alle variabili
Consideriamo il semplice algoritmo di controllo
Ricordando che
Cristian Secchi PID-- 17
Messa in scala delle equazioni
Messa in scala delle equazioni
Da cui
ALGORITMO SCALATO GENERALE
I coefficienti ai(adimensionali) restano invariati, mentre i coefficienti bi (dimensionali) vanno scalati
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 Kin=5 Ksp=10 e Kout=2
Cristian Secchi PID-- 19
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 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
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:
Cristian Secchi PID-- 21
Messa in Scala Aritmetica
Messa in Scala Aritmetica
L’uscita del controllore è, in tal modo, scalata di un valore 104. Per trovare
uqnoccorre riscalare il prodotto dell’elaborazione:
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 che rende ancora rappresentabile con i bit a disposizione la più grande delle costanti•
Il risultato dell’algoritmo va saturato al massimo valore rappresentabile con il numero di bit disponibili sul DACCristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it
Ingegneria e Tecnologie dei Sistemi di Controllo Ingegneria e Tecnologie dei Sistemi di Controllo Laurea Specialistica in Ingegneria Meccatronica Laurea Specialistica in Ingegneria Meccatronica