• Non ci sono risultati.

ITSC10 - Messa in Scala

N/A
N/A
Protected

Academic year: 2021

Condividi "ITSC10 - Messa in Scala"

Copied!
12
0
0

Testo completo

(1)

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 effetti

(2)

Cristian 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.

(3)

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)

(4)

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 guadagno

Schema 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.

(5)

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.

(6)

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

(7)

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.

(8)

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

(9)

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

(10)

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 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.

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:

(11)

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 DAC

(12)

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

Riferimenti

Documenti correlati

Nel momento in cui risulta- va necessario generare una nuova direzione di ricerca da inserire nell'insieme delle direzioni, l'algoritmo NM-BBOA nella versione base generava punti

Nella prossima sezione illustriamo anzitutto il metodo classico per risolvere questo tipo di equazioni; dopo aver proposto un esempio di applicazione del metodo classico, diamo al-

I calcoli che vengono fatti con l'analisi fattoriale servono soprattutto per validare dei questionari quindi è così troviamo una struttura esterna per andare a vedere gli item, cioè

• si ha un fading alla Rice in presenza di un termine dominante (in genere cammino LOS, o cammino LOS + cammino riflesso sul terreno) e numerosi cammini che "perturbano"

Il vostro obiettivo ` e di trovare una scala tale che tutti i punti dell’insieme giacciano nell’area sottesa alla scala (oppure, sul bordo della scala stessa). Fra tutte le

Tutoraggio Analisi

 Ciascun numero sarà immagazzinato in una piccola porzione di memoria detta variabile costituita da un certo numero di byte.  A ogni variabile il programmatore dà un nome

 Quando un tipo è dichiarato con typedef su strutture aggregate anonime (struct e union senza tag), le variabili di quel nuovo tipo sono considerate dello stesso tipo.