Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Relatore Candidato
Prof. Gianni Ferretti Alessandro Negri
Matr.852476
Correlatori
Prof. Albero Leva
Prof. Elena Ficara
Politecnico di Milano:
https://www.polimi.it/
Ingegneria Industriale e dell’Informazione (3I):
http://www.ingindinf.polimi.it/
Ringraziamenti
Molte sono le persone che devo ringraziare per avermi seguito in questo percorso
di tesi e senza delle quali non sarei mai riuscito a realizzare questo lavoro, ma vorrei
ancor più ringraziare tutti quegli amici e famigliari che mi sono stati vicini in questi
anni di studio universitario rendendolo ogni giorno una piacevole avventura.
In particolare desidero ringraziare il prof. Gianni Ferretti per avermi dato la
possibilità di poter collaborare e far parte del progetto, il prof. Alberto Leva e la
prof. Elena Ficara per il prezioso supporto offerto e colgo in particolare l’occasione
per ringraziare la dottoranda Viola Corbellini per la sua pazienza e disponibilità
nell’aiutarmi, sopratutto con gli esperimenti di laboratorio da lei seguiti. Vorrei
inoltre ringraziare l’ing. Alessandro Della Bona per aver creato e messo a disposizione
il suo Toolbox per l’identificazione dei parametri di sistemi LFT, oltre a tutte quelle
persone che come me hanno lavorato sul Toolbox stesso, rendendo questo strumento
sempre migliore.
Una dedica speciale ai miei amici e famigliari, in particolare mio fratello Davide, che
ogni giorno hanno condiviso con me gioie, sacrifici e successi, senza voltarmi mai le
spalle. L’affetto e il sostegno che mi hanno dimostrato rendono questo traguardo
ancora più prezioso.
iii
Indice
Introduzione 1
3 Identificazione parametrica 23
3.0.1 Biochemical Methane Potential (BMP) . . . . . . . . . . . . 24
3.0.2 Linear Fractional Transformation (LFT) . . . . . . . . . . . 31
4 Controllo 39
4.1 Regolatori PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.1 Modello, realizzazione e taratura dei regolatori PID . . . . . 41
4.1.2 Controllore PI/PID per il solo controllo della produzione di
metano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.3 Controllore PI/PID con compensazione dei VFA . . . . . . . 50
4.1.4 Controllore PI/PID in cascata . . . . . . . . . . . . . . . . . 53
Conclusioni 57
A Matrice di Petersen 59
B Parametri modello 65
v
vi INDICE
Bibliografia 89
Riferimenti citati nel testo . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Pubblicazioni e Manuali . . . . . . . . . . . . . . . . . . . . . . . . 89
Ulteriore materiale consultato . . . . . . . . . . . . . . . . . . . . . . . . 93
Pubblicazioni e Manuali . . . . . . . . . . . . . . . . . . . . . . . . 93
Elenco delle figure
vii
Elenco delle tabelle
ix
Elenco dei codici
xi
Sommario
xiii
xiv ELENCO DEI CODICI
xv
xvi ELENCO DEI CODICI
L’uso sconsiderato delle risorse fossili attuato negli ultimi anni, l’aumento
degli scarti prodotti dall’attività umana sul territorio e l’elevata concentrazione
di gas e materiale inquinante dannoso per l’ambiente e l’uomo hanno fatto si che
la ricerca di risorse alternative per la produzione di energia e smaltimento dei
rifiuti diventasse oggigiorno sempre più importante e necessaria. Tra tutte le
soluzioni proposte e attuate, una realtà sempre più diffusa sul territorio nazionale
ed europeo è la costruzione di impianti per la produzione di biogas mediante
digestione anaerobica. Diversi sono stati i dati raccolti dal Centro Ricerche
Produzioni Animali (CRPA e Centro Divulgazione Agricola, 2005; Sergio et al.,
2008) e da Legambiente i quali hanno dimostrato un forte interesse da parte di
tutta l’Europa, Italia compresa, verso l’utilizzo delle biomasse per la produzione di
biogas finalizzato alla distribuzione di metano, generazione di energia elettrica e
riscaldamento (Figura 1).
Figura 1: Schema di un tipico impianto di biogas per la digestione di liquami e solidi organici
con allacciamento alla rete gas (metano), elettrica e teleriscaldamento.
1
2 Introduzione
Passando invece a quello che può essere definito lo stato dell’arte del controllo
della digestione anaerobica, poco o nulla è presente in letteratura e rare sono
le applicazioni sul campo. Infatti i reattori utilizzati nei processi di digestione
anaerobica sono comunemente poco strumentati: solitamente essi hanno pochi
sensori, per lo più di tipologia industriale (general-purpose), e spesso l’alimentazione
risulta essere manuale, effettuata in modo discontinuo dall’operatore di turno. Non
esiste un vero e proprio controllore della digestione anaerobica, ma l’operatore
dosa l’alimentazione attraverso metodi empirici e sporadiche analisi di laboratorio
(Rosato, 2017).
Il più utilizzato tra questi metodi, originario ma non inventato della letteratura
tedesca (Lossie e Pütz, 2008), è basato sull’analisi FOS/TAC (Flüchtige Organische
Säuren/Totales Anorganisches Carbonat), ossia il rapporto tra la concentrazione
di acidi grassi totali, in equivalente di acido acetico (mgHAceq /l), e la capacità di
tamponamento alcalina (mgCaCO3 /l ). Esso è un’indicatore del rischio di inibizione
per acidificazione in un impianto di biogas il cui valore ottimale si aggira sui
0.4. L’analisi avviene attraverso la titolazione (manuale o semiautomatica) di un
campione di substrato prelevato dall’operatore e opportunamente filtrato, il tempo
necessario varia dai 10 ai 30 minuti. I risultati ottenuti vengono poi utilizzati per
stabilire se e quanto alimentare il reattore, secondo le regole in Tabella 1.
Tuttavia, come riportato dallo stesso Rosato, 2015, questo metodo ha trovato
molta notorietà grazie a "leggende rurali", diffuse sopratutto in Italia, più che
per la sua reale importanza. Infatti le regole in Tabella 1 sono state ricavate su
un preciso impianto con una precisa alimentazione (liquame bovino e insilato di
mais) e funzionano abbastanza bene con impianti molto sili, mentre causano errori
di gestione se utilizzate su reattori con diverso mix di alimentazione o diverse
condizioni operative. Valori FOS/TAC diversi, spesso anche di molto, sono stati
rilevati con la stagionalità e con l’utilizzo di mix diversi in presenza di siero,
materiale grezzo biodegradabile ad alto contenuto di lignina, acque reflue urbane e
Introduzione 5
Tabella 1: Regole empiriche per la valutazione dei rapporti FOS/TAC. Valori forniti da DEULA-
Nienburg (Lossie e Pütz, 2008)
FORSU (altamente variabile e poco prevedibile). Ciò nonostante negli ultimi anni
questo metodo ha costituito la principale se non unica fonte di controllo per la
gran parte delle strutture del centro Europa in quanto spesso sottodimensionate,
costruite sul modello di note case costruttrici tedesche e lavoranti con mix
d’alimentazione fisso. Altro aspetto da sottolineare è come la misura FOS consideri
gli acidi grassi volatili come se fossero 100% acido acetico, trascurando l’acido
propionico e butirrico: può così capitare che, soprattutto alimentando abitualmente
e principalmente il reattore con derivati di mais e simili, sebbene il rapporto
FOS/TAC sia nel giusto range, il reattore presenti già una fase di acidificazione
avanzata con conseguente inibizione (Rosato, 2017).
In questo lavoro si vuole quindi proporre un controllore automatico che coniughi
semplicità di utilizzo e costruzione, senza tralasciare la precisione necessaria,
avendo come obbiettivo ultimo la massima resa in risposta alla domanda energetica
in visione di una possibile futura integrazione con la rete di distribuzione.
La tesi è organizzata come segue. Una breve descrizione del processo è presente
nel Capitolo 1; per quanto riguarda la parte di modellistica, essa verrà spiegata
più in dettaglio nel Capitolo 2; l’identificazione parametrica del modello e la
sperimentazione di laboratorio è descritta nel Capitolo 3; mentre lo sviluppo di un
possibile controllo è descritto nel Capitolo 4.
Capitolo 1
7
8 Capitolo 1. Digestione anaerobica: il processo e l’impianto
Una descrizione delle varie fasi viene riportata di seguito, mentre la Figura 1.1
qui illustrata fornisce un’analisi visiva immediata.
Figura 1.1: Schema delle fasi della digestione anaerobica con percentuali basate sulla richiesta
di ossigeno per reazione di carbonio (COD).
1.1. La digestione anaerobica 9
1.1.2 Acidogenesi
1.1.3 Acetogenesi
In questa terza fase i batteri acetogeni convertono gli acidi volatili e gli alcoli
prodotti dall’acidogenesi in acido acetico e formico, con parallela formazione di
idrogeno e anidride carbonica. La pressione parziale dell’idrogeno è uno degli
elementi di controllo di questo processo. Esistono due tipi di acetogenesi: la
duoacetogenesi, che prevede la produzione di acido acetico a partire da H2 e CO2 ,
e la deidrogenazione acetogena, in cui si ha l’ossidazione anaerobica dei VFAs. La
presenza di idrogeno in forma molecolare può portare all’inibizione del processo.
Sia questa fase che la precedente di acidogenesi risultano più veloci, in quanto
rispondono più rapidamente ad una variazione del proprio influente.
10 Capitolo 1. Digestione anaerobica: il processo e l’impianto
1.1.4 Metanogenesi
La metanogenesi è l’ultima fase della digestione anaerobica in cui i batteri
metanigeni consumano l’acetato, l’idrogeno e l’anidride carbonica per la produzione
di biogas. Esso viene prodotto principalmente nella zona centrale del reattore, nelle
parti liquide e fangose della biomassa. Qui il metano, poco solubile in acqua, passa
velocemente e per la quasi totalità alla fase gassosa, mentre gli altri gas, come la
CO2 , si ripartiscono più lentamente tra liquido e gassoso.
I processi che concorrono alla produzione di metano, determinati della tipologia
batterica e, quindi, della reazione chimica, si possono suddividere in metanogenesi
acetoclastica, idrogenotrofa e metilotrofica. Essendo questi batteri metanigeni
anaerobi obbligati, essi hanno una crescita ridotta e rendono così la fase di meta-
nogenesi cineticamente limitante. Inoltre essi sono molto sensibili alle condizioni
di pH e preferiscono un ambiente neutro (pH ' 6.7 − 7.5). Da sottolineare come
una sovralimentazione del reattore con sostanze semplici, facili da digerire, porti
velocemente all’accumulo di acidi che non riescono ad essere digeriti altrettanto
velocemente dai batteri metanigeni. Questo comporta una diminuzione del pH e
l’inibizione del processo che può risultarne gravemente compromesso.
Figura 1.2: Digestore (o reattore) a singolo stadio. Progettato per lavorare in continuo, può
anche essere utilizzato in modalità batch.
1.2. Il reattore o digestore anaerobico 11
13
14 Capitolo 2. Modellistica dei processi di digestione anaerobica
L’azoto totale Kjeldahl (TKN, Total Kjeldahl Nitrogen) viene definito come la somma
1
Per chiudere i bilanci di carbonio e azoto con la parte inorganica, sono stati
introdotti gli assorbimenti e produzioni di questi per ogni processo, come è possibile
vedere dalle equazioni delle concentrazioni C10l
e C11
l
.
l 19
dC10 1 X
= l
(C10 − C l
10 ) + 0
ρj ν10,j − ρT,10 (2.2a)
dt tHR IN
j=1
l 19
dC11 1 X
= l
(C11 − C l
11 ) + 0
ρj ν11,j (2.2b)
dt tHR IN
j=1
dCil 1
= (CilIN − Cil ) , i = 25, 26 (2.3)
dt tHR
Mente le dinamiche degli acidi dissociati e dell’azoto libero sono date da
dCil
= −ρA,i , i = 27, . . . , 32 (2.4)
dt
Dove ρA,i è il rateo di reazione acido-base rispetto alla concentrazione Cil .
Per quanto riguarda la fase gassosa, le 3 equazioni sono
dCig qg Vl
= − Cig + ρT,i , i = 1, 2, 3 (2.5)
dt Vg Vg
Dove Vg e Vl sono le parti del reattore dove risiedono rispettivamente gas e
liquido, mentre ρT,i è il rateo di trasferimento, relativo alla componente Cig , allo
stato gassoso.
L’unica equazione algebrica definisce il bilancio delle cariche.
pg
qg = kp (pg − pa tm) (2.7a)
pa tm
pg = pH2 + pCH4 + pCO2 + pH2 O
RTg RTg
= SH2 + SCH4 + SCO2 RTg + pH2 O (2.7b)
16 64
Come è evidente il modello ADM1 è particolarmente complesso, tuttavia taluni
processi, reazioni acido-base ed equazioni fisiche possono essere facilmente trascurate
2.2. AMOCO 17
in quanto la loro velocità è di gran lunga superiore rispetto alle altre dinamiche
biochimiche o non influenzano la produzione di biogas (Allegrini, 2011). Inoltre
la presenza di molte e diverse popolazioni batteriche, oltre che differenti substrati,
determinano un numero elevato di parametri da individuare e un’esaustiva procedura
di identificazione potrebbe essere piuttosto difficile. Per dare un’idea, il numero
totale di parametri ADM1 è poco più di un centinaio e quasi la metà dipende dal
substrato specifico di alimentazione. Pertanto, questo modello può essere ritenuto
uno strumento di successo nel campo della ricerca, ma non uno strumento di
progettazione.
2.2 AMOCO
Un modello dei modelli più conosciuti nell’ambito del controllo e nettamente
più semplice del precedente è l’Advanced MOnitoring and COntrol System for
anaerobic processes (AMOCO). Esso venne sviluppato nel 2001 da Bernard et al.,
2001 nel contesto di un progetto della comunità avente l’obbiettivo di sviluppare e
identificare i parametri di un modello finalizzato al controllo del processo di dige-
stione anaerobica. Venne così considerato un modello a due processi (acidogenesi e
metanogenesi), basato su bilanci di massa. Esso incorpora anche alcuni equilibri
elettrochimici, così da includere il grado di alcalinità. La principale ipotesi su cui si
basa questo modello è l’utilizzo di un reattore CSTR, data la sua minor complessità
modellistica e la sua efficienza.
Dato che la scelta delle popolazioni batteriche coinvolte nel processo di digestione
anaerobica è direttamente collegato alla complessità del modello e uno degli ob-
biettivi è rappresentare i fenomeni di inibizione/destabilizzazione senza rinunciare
all’identificabilità dei parametri, si assume che le popolazioni batteriche possano
essere divise principalmente in due gruppi dalle caratteristiche omogenee e che il
processo di digestione anaerobica possa essere descritto in due stadi. Nella prima
fase, che prende il nome di acidogenesi, i batteri acidogeni (X1 ) consumano il
substrato organico (S1 ) e producono CO2 e acidi grassi volatili VFAs (S2 ), mentre
nella seconda fase i batteri metanigeni (X2 ) usano i VFAs per produrre CO2 e
metano (CH4 ).
k1 S1 −→ X1 + k2 S2 + k4 CO2 (2.8)
S1
µ1 (S1 ) = µ1max (2.10a)
S1 + KS1
S2
µ2 (S2 ) = µ2max (2.10b)
S2 + KS2 + S22 /KI2
L’approssimazione poi effettuata è quella di considerare il comportamento del
substrato (S2 ), composto da acetato, propionato e butirato, come se fosse puro
acetato.
Passiamo ora ad analizzare il carbonio inorganico (C), principalmente composto
da anidride carbonica (CO2 ), bicarbonato (B) e carbonato. Per prima cosa, dato
che la costante di affinità per il carbonato/bicarbonato è approssimabile a zero
(10−11 ) nelle normali condizioni operative di pH e temperatura (mesofilia), possiamo
approssimare il carbonio inorganico totale come somma della sola anidride carbonica
e bicarbonato (2.11a). Grazie alla reazione chimica (2.11b) si possono determinare
le concentrazioni di bicarbonato e anidride carbonica dissolta (H + sono i protoni
liberi).
C = CO2 + B (2.11a)
B + H +
CO2 + H2 O (2.11b)
Si può così definire la costante di affinità della reazione chimica (2.11b), utile
per il calcolo del pH, come
[H + ]B
kb = = 6.5 · 10−7 mol/L (2.12)
CO2
Gli acidi grassi volatili (VFA) sono invece composti di acido acetico e acetato con
+ ][S − ]
forte prevalenza di quest’ultimo, dato che la costante di affinità ka = [H[SH] è
molto piccola (1.5 · 10 mol/L). Si può quindi dire che S2 ≈ [S ].
−5 −
qM = k6 µ2 X2 (2.13a)
qC = kLA (CO2 − KH PC ) (2.13b)
PT − PC PC
= (2.14)
qM qC
E grazie alle Equazioni (2.13a) e (2.13b) otteniamo
qM
KH PC2 − φPC + PT CO2 = 0 , φ = CO2 + KH PT + (2.15)
KL a
Calcolando poi le radici di questa equazione, si ottiene una unica soluzione fisica
ammissibile
p
φ − φ2 − 4KH PT CO2
PC = (2.16)
2KH
Successivi esperimenti hanno dimostrato che, soprattutto in reattori CSTR,
le dinamiche biochimiche sono direttamente influenzate dal rateo di diluizione D.
Si è quindi deciso di introdurre questo fenomeno con una semplice descrizione
idrodinamica del modello: è stato aggiunto un parametro 0 ≤ α ≤ 1 per considerare
allo stato liquido solo una frazione della biomassa (CSTR: α ' 1; fixed-bed: α ' 0).
In conclusione si può scrivere un modello basato sulle equazioni e sui bilanci di
massa, calcolati sulla base delle precedenti reazioni e considerazioni. Definendo poi
ξ = [X1 X2 S1 S2 Z C]T come vettore delle variabili, si ottiene il seguente sistema:
Dove
S1
ρ1 = µ1 (ξ)X1 = µ1max X1 (2.18a)
S1 + KS1
S2
ρ2 = µ2 (ξ)X2 = µ2max X2 (2.18b)
S2 + KS2 + S22 /KI
qC = kLA [C + S2 − Z − KH PC ] (2.18c)
p
φ − φ2 − 4KH PT CO2
PC = (2.18d)
2KH
qM
φ = C + S2 − Z + KH PT + (2.18e)
KL a
qM = k6 ρ 2 (2.18f)
C − Z + S2
pH = − log(kb ) (2.18g)
Z − S2
20 Capitolo 2. Modellistica dei processi di digestione anaerobica
Q
Ẋ01 = (X01IN − X01 ) − Kh1 X01 (2.19a)
V
Q
Ẋ02 = (X02IN − X02 ) − Kh2 X02 (2.19b)
V
Q
Ẋnd = (XndIN − Xnd ) + Kh1 Knd1 X01 + Kh2 Knd2 X02 (2.19c)
V
Q S1
Ẋ1 = (X1IN − X1 ) + µ1max X1 − Kd1 X1 (2.19d)
V S1 + KS1
Q S2
Ẋ2 = (X2IN − X2 ) + µ2max X2 − Kd2 X2 (2.19e)
V S2 + KS2 + S22 /KI
Q S1
Ṡ1 = (S1IN − S1 ) + K01 Kh1 X01 + K02 Kh2 X02 − K1 µ1max X1 (2.19f)
V S1 + KS1
Q S1
Ṡ2 = (S2IN − S2 ) + K2 µ1max X1
V S1 + KS1
S2
−K3 µ2max X2 (2.19g)
S2 + KS2 + S22 /KI
˙ 4 Q S2
CH = (CH4IN − CH4 ) + K4 µ2max X2 (2.19h)
V S2 + KS2 + S22 /KI
y1 = S 2 (2.20a)
S2
y2 = KLA K4 µ2max X2 (2.20b)
S2 + KS2 + S22 /KI
y3 = X01 + X02 + Xnd + X1 + X2 + Kconv (S1 + S2 ) (2.20c)
Q
Ẋ01 = (X01IN − X01 ) − Kh1 X01 (2.21a)
V
Q
Ẋ02 = (X02IN − X02 ) − Kh2 X02 (2.21b)
V
Q
Ẋnd = − Xnd + Kh1 Knd1 X01 + Kh2 Knd2 X02 (2.21c)
V
Q S1
Ẋ1 = − X1 + µ1max X1 − Kd1 X1 (2.21d)
V S1 + KS1
Q S2
Ẋ2 = − X2 + µ2max X2 − Kd2 X2 (2.21e)
V S2 + KS2 + S22 /KI
Q S1
Ṡ1 = (S1IN − S1 ) + K01 Kh1 X01 + K02 Kh2 X02 − K1 µ1max X1 (2.21f)
V S1 + KS1
Q S1 S2
Ṡ2 = − S2 + K2 µ1max X1 − K3 µ2max X2 (2.21g)
V S1 + KS1 S2 + KS2 + S22 /KI
y1 = S2 (2.21h)
S2
y2 = KLA K4 µ2max X2 (2.21i)
S2 + KS2 + S22 /KI
y3 = X01 + X02 + Xnd + X1 + X2 (2.21j)
(2.21k)
Dove
Identificazione parametrica
I parametri sono stati identificati in due fasi distinte. Una prima fase è basata
sull’analisi dei Biochemical Methane Potential (BMP) ed ha portato all’identifi-
cazione dei parametri K01 , K02 , Kh1 , Kh2 , Knd1 , Knd2 e le concentrazioni X01IN e
X02IN e XndIN delle matrici in ingresso. Una seconda fase ha invece applicato una
tecnica di identificazione parametrica basata su una trasformazione LFT (Linear
Fractional Transformation) del modello AMOCO modificato (vedi Sezione 2.3) per
l’identificazione dei parametri Kd1 , Kd2 . I rimanenti valori dei parametri sono stati
assunti da Batstone et al., 2002; Giupponi, 2015
In Appendice B è presente un prospetto riassuntivo dei parametri con i relativi
valori, descrizione e riferimento.
23
24 Capitolo 3. Identificazione parametrica
L’inoculo è un substrato, generalmente ricavato dallo scarto di un reattore in DA, con una
1
/g SV )
180
350
4
4
CH
CH
160 LiquameA
300 LiquameB
Produzione specifica di metano (NmL
200 100
80
150
60
100
40
50
20
0 0
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Tempo (giorni) Tempo (giorni)
BMP Siero
350
/g SV )
300
4
CH
SieroA
SieroB
Produzione specifica di metano (NmL
250 Siero
200
150
100
50
0
0 10 20 30 40 50 60
Tempo (giorni)
Figura 3.1: Produzione di gas metano nel campione A, B e media della stessa matrice di insilato
di mais (a sinistra), di liquame (a destra) e di siero (sotto).
2
La produzione di metano viene misurata in mL di metano in condizioni normali (N mLCH4 ) o
standard di temperatura e pressione (STP/TPS), ossia 25℃e 1 bar, per grammo di solido volatile
(gSV ).
3
L’errore quadratico medio o mean-squared error (MSE) viene calcolato come la somma delle
P n 2
i=1 (xi −x̂i )
differenze al quadrato tra i valori della curva originale e quella identificata. M SE = n
26 Capitolo 3. Identificazione parametrica
/g SV )
/g SV )
180
350
Dati
4
CH
CH
160 Identificato
Produzione specifica di metano (NmL 300 Dati
200 100
80
150
60
100
40
50
20
0 0
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Tempo (giorni) Tempo (giorni)
Figura 3.2: Curve di BMP originale (dati) e con un identificazione del primo ordine,
rispettivamente di mais (a sinistra) e di liquame (a destra).
Tabella 3.1: Valori ottenuti dall’identificazione delle curve di BMP con una cinetica del primo
ordine.
Kh2 Kh1
BM P (t) = BM Pinf 1+ e−Kh1 t + e−Kh2 t (3.2)
Kh2 − Kh1 Kh1 − Kh2
/g SV )
/g SV )
180
350
4
4
CH Dati
CH
Dati 160
Identificato
300
Produzione specifica di metano (NmL
200 100
80
150
60
100
40
50
20
0 0
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Tempo (giorni) Tempo (giorni)
Figura 3.3: Curve di BMP originale (dati) e con un identificazione del secondo ordine,
rispettivamente di mais (a sinistra) e di liquame (a destra).
Tabella 3.2: Valori ottenuti dall’identificazione delle curve di BMP con una cinetica del secondo
ordine.
ordine sia di poco migliore rispetto alla precedente. Quindi, dato questo fatto e
in assenza di misure specifiche sul substrato in ingresso, si decide di utilizzare per
semplicità il modello di primo ordine.
Un’analisi fisica dei risultati ci porta a concludere che la cinematica ottenuta si
riferisce alla prima fase di idrolisi, la più lenta, definita nelle prime equazioni del
modello. Risulta dunque lecito utilizzare i valori di BM Pinf e Kh per il calcolo dei
parametri K01 , Kh1 , K02 , Kh2 , Knd1 e Knd2 .
Per quanto riguarda il siero di latte viene utilizzato solo il valore BM Pinf , visibile
anche dal grafico, per il calcolo della componente solubile equivalente (S1 ). Infatti,
sia la sua composizione chimica che le dinamiche rilevate risultano abbastanza
compatibili con questa scelta.
Tuttavia, dato che il nostro modello, come descritto dalla matrice di Petersen (A.1),
utilizza delle unità di misura differenti da quelle standard delle analisi di BMP, risulta
necessario convertire i parametri trovati. La prima formula (3.4a) è necessaria per
relazionare i volumi di metano con il COD4 , ottenendo il fattore di conversione CF 1.
Essa si basa sulla formula chimica di ossidazione del metano (3.3), che stabilisce la
4
Il COD (Chemical Oxygen Demand) definisce la "domanda chimica di ossigeno", ossia quel
valore, espresso in grammi di ossigeno per litro, che rappresenta la quantità di ossigeno necessaria
per la completa ossidazione per via chimica dei composti organici ed inorganici presenti in un
campione di acqua. 1 gCOD = 1 gO2 /mL
28 Capitolo 3. Identificazione parametrica
64
1N mLCH4 ≈ gCOD ≈ 2.86 · 10−3 gCOD
1000 · 22, 414
gCOD
=⇒ CF 1 = 2.86 · 10−3 (3.4a)
mLCH4
gSVi /KgT Qi
CF 2i = , i = silomais, liquame (3.4b)
gCODi /KgT Qi
Vengono qui riportate le formule utilizzate, basate sia sui dati precedentemente
ricavati che su quelli provenienti dal modello ADM1 (vedi Tabella B.1 in Appendi-
ce B). Per il calcolo dei K0i si rimanda a Giupponi, 2015 e all’Appendice B, mentre
per il calcolo dei Kndi è stato usato il complementare della frazione (fX0,i ) di X0i
che viene trasformata in CH4 .
K 1 K3
K01 = BM P∞mais · 15.625 · CF 1
K2 K4
= 353.47 · 22.454 · 2.86 · 10−3 = 22.7 gCOD /gSV (3.5a)
Kh1 = Khmais = 0.1165 d−1 (3.5b)
Knd1 = 1 − fX0,mais = 1 − BM P∞mais · CF 1 · CF 2
= 1 − 353.47 · 2.86 · 10−3 · 0.773 = 0.219 gSV /gSV (3.5c)
K1 K 3
K02 = BM P∞liqame · 15.625 · CF 1
K2 K 4
= 189.61 · 22.454 · 2.86 · 10−3 = 12.2 gCOD /gSV (3.6a)
Kh2 = Khliqame = 0.1099 d−1 (3.6b)
Knd2 = 1 − fX0,liquame = 1 − BM P∞liquame · CF 1 · CF 2
= 1 − 189.61 · 2.86 · 10−3 · 0.718 = 0.610 gSV /gSV (3.6c)
K1 K 3
K03 = BM P∞siero · 15.625 · CF 1
K2 K4
= 320.11 · 22.454 · 2.86 · 10−3 = 20.6 gCOD /gSV (3.7a)
(3.7b)
Per un gas ideale, il volume molare standard è il volume occupato da una mole a temperatura
5
Figura 3.4: Simulazione del modello AMOCO modificato con i parametri derivati dalle pro-
ve di BMP. Le figure riportano rispettivamente gli output del sistema (sopra) e
l’andamento delle variabili di stato (sotto).
31
Dove f e g sono funzioni note, x(t) il vettore delle variabili di stato, u(t) e y(t)
rispettivamente ingresso e uscita del sistema, δ i parametri del modello di cui δ 0 il
valore esatto. Partendo da questo modello, disponendo della storia temporale di
u(t) e y(t) (t ∈ [0, T ]) definita con k = 1, . . . , N campioni, si vuole identificare quei
parametri non noti a priori determinando quel valore δ̂ tale per cui la simulazione
del modello eccitato dall’ingresso u(t) approssimi al meglio la storia dell’uscita z(t)
(misurata) soggetta a rumore e associata ai parametri esatti.
Si prende quindi in considerazione la cifra di merito quadrata (Cost Function)
N
1 1 X T
J(δ) = he(t, δ), e(t, δ)iN = e (k, δ)e(k, δ) e(k) = z(k, δ 0 ) − ŷ(k, δ) (3.9)
2 2N
k=1
N
1 X T
g(δ) = E (k, δ)e(k, δ) (3.11a)
N
k=1
N
1 X
Ĥ(δ) = ET (k, δ)E(k, δ) (3.11b)
N
k=1
Modello LFT
Consideriamo ora il generico sistema dinamico non-lineare tempo-invariante in
Equazioni 3.8a–3.8b. La forma generica di un modello LFT è
ẋ = Ax + B1 w + B2 ζ + B3 u (3.13a)
z = C1 x + D11 w + D12 ζ + D13 u (3.13b)
ω = C2 x + D21 w + D22 ζ + D23 u (3.13c)
y = C3 x + D31 w + D32 ζ + D33 u (3.13d)
w = ∆z = diag{δ1 Ir1 , . . . , δq Irq }z (3.13e)
ζ = Θ(ω) (3.13f)
x1 x21
−→ (3.14)
x 1 + δ1 x21 + δ1 x1
Figura 3.5: Schema a blocchi per la simulazione di un sistema LFT. Data la storia dell’input u(t), esso permette la computazione dell’uscita stimata e delle
funzioni di sensitività.
33
34 Capitolo 3. Identificazione parametrica
wi = δi fi (·) (3.15a)
zi = fi (·) (3.15b)
altrimenti si dovrà porre
w(r1 +···+ri−1 )+1 z(r1 +···+ri−1 )+1
.. .. (3.16)
. = δi . , ∀i = 1, . . . , q
w(r1 +···+ri−1 )+ri z(r1 +···+ri−1 )+ri
Considerando il sistema di Equazioni 2.21a–2.21j, che descrive il nostro modello
di digestione anaerobica, si vuole ora creare il corrispettivo modello LFT valutando
Kh1 , Kh2 , Knd1 , Knd2 , K01 , K02 , Kd1 , Kd2 e KLA come parametri incogniti. Tuttavia,
data l’esigua quantità dei dati e la complessità del modello, risulta molto difficile, se
non impossibile, ottenere dei valori accettabili per i parametri con un procedimento
di identificazione automatico. Per ovviare questo problema, si è innanzitutto
deciso di modificare il modello espletando i parametri in funzione delle equazioni
biochimiche (3.5–3.6). Si è inoltre scelto di usare BM P1 e BM P2 al posto di
BM P∞mais e BM P∞liqame rispettivamente, per semplicità di scrittura dei parametri.
Si ottiene così il seguente sistema:
u1
ẋ1 = (u2 − x1 ) − δ1 hx1 i (3.17a)
V
u1
ẋ2 = (u3 − x2 ) − δ2 hx2 i (3.17b)
V
u1
ẋ3 = − x3 + δ1 hx1 i − ρ1 δ3 hδ1 hx1 ii + δ2 hx2 i − ρ2 δ4 hδ2 hx2 ii (3.17c)
V
u1 x6
ẋ4 = − x4 + µ1max x4 − δ5 hx4 i (3.17d)
V x6 + KS1
u1 x7
ẋ5 = − x5 + µ2max x5 − δ6 hx5 i (3.17e)
V x7 + KS2 + KI x27
u1 x6
ẋ6 = (u4 − x6 ) + ρ3 δ3 hδ1 hx1 ii + ρ3 δ4 hδ2 hx2 ii − K1 µ1max x4 (3.17f)
V x6 + KS1
u1 x6 x7
ẋ7 = − x7 + K2 µ1max x4 − K3 µ2max x5 (3.17g)
V x6 + KS1 x7 + KS2 + KI x27
y1 = x7 (3.17h)
x7
y2 = KLA K4 µ2max x5 (3.17i)
x7 + KS2 + KI x27
y3 = x1 + x2 + x3 + x4 + x5 (3.17j)
Dove
x = [x1 x2 x3 x4 x5 x6 x7 ]T = [X01 X02 Xnd X1 X2 S1 S2 ]T (3.18a)
T T
u = [u1 u2 u3 u4 ] = [Q X01IN X02IN S1IN ] (3.18b)
T T
y = [y1 y2 y3 ] = [y1 y2 y3 ] (3.18c)
T T
δ = [δ1 δ2 δ3 δ4 δ5 δ6 δ7 ] = [Kh1 Kh2 BM P1 BM P2 Kd1 Kd2 KLA ] (3.18d)
T −3 −3 −3 T
ρ = [ρ1 ρ2 ρ3 ] = [2.21 · 10 2.05 · 10 64.2 · 10 ] (3.18e)
35
Per prima cosa è necessario evidenziare i termini del tipo δi hfi (·)i, così da porre
wi = δi zi = δi hfi (·)i e ricavare i vettori z e w. Successivamente si devono separare i
termini lineari dai non-lineari, assegnando la variabile ζi ad ogni termine non lineare
che appare nel vettore z e nel sistema di equazioni. Si rende così quest’ultimo
lineare nelle variabili x, w, ζ e u. Si definiscono dunque le variabili ωi , così da
rendere le ζi funzioni delle sole ωi (ζ = Θ(ω)). Per ultimo si ricavano le matrici A,
Bi , Ci , Dij e ∆, secondo la forma generica LFT (3.13a–3.13f). In Appendice E.1
vengono riportati i risultati rilevanti del modello.
Identificazione LFT
Tabella 3.4: Tabella dei valori ricavati (sopra) dall’identificazione LFT e calcolati (sotto) con le
equazioni biochimiche (3.5–3.6).
37
Figura 3.6: Simulazione del modello AMOCO modificato con i parametri derivati dall’iden-
tificazione LFT. La figura riporta i tre output del sistema, basati sui dati del
reattore R1: la linea rappresenta il modello simulato con i parametri trovati nelle
due identificazioni, mentre i cerchi i dati misurati.
Figura 3.7: Simulazione del modello AMOCO modificato con i parametri derivati dall’iden-
tificazione LFT. La figura riporta i tre output del sistema, basati sui dati del
reattore R2: la linea rappresenta il modello simulato con i parametri trovati nelle
due identificazioni, mentre i cerchi i dati misurati.
38 Capitolo 3. Identificazione parametrica
Reattore R1 Reattore R2
T ICV F A 0.2109 0.2511
T ICCH4 0.0825 0.1056
T ICSSVout 0.0305 0.0718
Tabella 3.5: Tabella dei gli indici TIC per la quantificazione della bontà del modello identificato.
La tabella contiene il valore dell’indice per ogni singolo output del modello per ogni
reattore.
Controllo
39
40 Capitolo 4. Controllo
Vi sono anche altri sensori solitamente in dotazione degli impianti per la misura
costante della temperatura e del pH, ma queste vengono generalmente utilizzate
per il mantenimento ad un valore standard. Non esiste ancora un modello che
descriva opportunamente il processo in base alle variazioni di temperatura, mentre
la modellizzazione del pH è estremamente complessa.
Prendendo atto di quanto detto fin ora, per prima cosa si vuole brevemente valutare
quanto l’utilità dell’aggiunta di ulteriori sensori e strumenti per il monitoraggio
delle variabili di processo possa fornire reale vantaggio nell’applicazione: un utilizzo
eccessivo di strumentazione porta ad un costo sia costruttivo che di mantenimento,
mentre la carenza di sensori, quindi di variabili misurate, influisce sulla qualità
dell’identificazione e del controllo. Se sonde misuranti pH e temperatura sono di
basso costo, facilmente installabili e utili per mantenere le condizioni ideali del
processo, portando quindi un discreto vantaggio, lo stesso non si può dire per la
strumentazione utilizzata nella misura delle popolazioni batteriche e degli elementi
chimici componenti i substrati. Infatti, se la produzione di metano è rilevabile
attraverso semplici dispositivi (vedi Appendice C) ed è di estrema importanza per
il controllo, essendo proprio la variabile ultima del processo che si vuole controllare,
lo stesso non si può dire per la concentrazione delle popolazioni batteriche. Un
vantaggio potrebbe invece giungere con la misurazione (o la stima) della concen-
trazione degli acidi grassi volatili. Infatti essi rappresentano lo stadio precedente
la formazione di metano e sono solitamente la principale causa di inibizione per
acidificazione: un accumulo di VFA porterebbe per prima cosa ad avere difficoltà
nel controllo della produzione di metano, causando sovraelongazioni per accumulo,
in secondo luogo all’inibizione del processo. Per la misura esistono diverse tecniche
tra cui la gascromatografia (GD-FID) del gas prodotto da un campione acidificato
(Boe et al., 2007), la titolazione (Bouvier et al., 2003) e la spettrometria a infrarossi
(Steyer et al., 2002) che, oltre a fornire un valore di VFA, ci permettono anche
di conoscere l’alcalinità (parziale e totale), il carbonio organico totale e il COD.
Queste tecniche possono essere implementate con strumentazione adeguata, più
complessa di un semplice sensore, ma semplicemente ed economicamente realizzabile.
La frequenta di campionamento può raggiungere l’ordine della decina di minuti,
tuttavia utilizzare una frequenza troppo elevata ridurrebbe il guadagno ottenuto
col controllo, dato che ogni analisi richiede l’impiego di energia e sostanze chimi-
che. Un possibile compromesso può essere trovato nell’utilizzo di un osservatore,
possibilmente adattivo, come sensore virtuale (Lara-Cisneros et al., 2016): esso
consentirebbe di avere un valore (stimato) di VFA sempre disponibile, riducendo la
frequenza delle analisi all’aggiornamento dei parametri.
La prima e più semplice politica di controllo prevede l’utilizzo del più classico
dei regolatori PI per il controllo della produzione di metano. Questo controllore
necessita della sola misura di portata metanigena e garantisce errore nullo a regime,
ma mostra tempi elevati di assestamento e rischio di pericolosi accumuli di VFA.
Allo scopo di evitare inibizione da accumulo e ridurre i tempi di assestamento,
si è deciso dapprima di provare algoritmi di gain-scheduling e successivamente di
introdurre la misura degli acidi grassi volatili nel controllo. Inizialmente si è optato
per una semplice compensazione pesata di quest’ultima nella legge di controllo,
ottenendo così una rilevante riduzione del picco di VFA. Successivamente è stato
realizzato uno schema di controllo a cascata per avere una maggiore riduzione dei
4.1. Regolatori PID 41
Z t
de(t)
u(t) = KP e(t) + KI e(τ )dτ + KD (4.1)
t0 dt
Ideale Reale KP TD s KD s
RD (s) = KP TD s = KD s −→ RD (s) = TD
= (4.3)
1+ N s 1 + KKPDN s
Dove N è una costante positiva con valori tipici 5 ÷ 20, scelta in modo tale
che il polo s = −N/TD sia nel contempo abbastanza elevato da essere esterno alla
banda di frequenze d’interesse del controllo, ma relativamente basso per godere
della sua azione filtrane sulle componenti ad alta frequenza del disturbo.
Per la realizzazione pratica del controllore sono stati adottati tre accorgimenti
volti a migliorare le prestazioni del sistema di controllo nell’utilizzo reale: la
limitazione dell’azione derivativa, la desaturazione dell’azione integrale (anti
wind-up) e un inserimento "morbido" della regolazione automatica.
La limitazione dell’azione derivativa consiste nell’utilizzare la variabile controllata
y come ingresso del derivatore al posto dell’errore: l’uscita del sistema, come
nel nostro caso, è solitamente simile ad un filtro passa-basso e le sue variazioni
istantanee risultano moderate. Questo accorgimento è in accordo con il requisito
di moderazione del controllo e ci permette di utilizzare scalini (o rampe ad alta
pendenza) nel segnale di riferimento w, senza che si creino andamenti di tipo
impulsivo nella variabile di controllo u.
L’azione combinata dell’azione integrale e la presenza di una saturazione, caratteri-
stica tipica degli attuatori, può portare ad un effetto non-lineare denominato carica
integrale o, più comunemente, wind-up. Questo accade quando l’errore si mantiene
dello stesso segno per un certo periodo, portando lo stato dell’integratore, e quindi
anche l’uscita u, oltre al limite di saturazione che risulta essere la reale uscita
dell’attuatore. Quando poi l’errore cambierà segno, sarà necessario attendere che lo
4.1. Regolatori PID 43
Figura 4.1: Schema di controllo PID con anti wind-up, inserimento morbido dell’azione di
controllo e limitazione dell’azione derivativa (Bolzern et al., 2008).
P
i wi
Q= (4.4a)
1000
wi · V Si if Q > 0,
Ci = 1000 · Q (4.4b)
0 altrimenti.
X wi · CODi
OLR = (4.4c)
1000 · V
i
Dove wi è la portata massica (gT Q /s) del componente i-esimo (silomais, liquame,
siero), CODi (gCOD /KgT Q ) e V Si (gSV /KgT Q ) sono rispettivamente la domanda
d’ossigeno e la quantità di solidi volatili per unità di massa, Ci la concentrazione
(gSV /L o gCOD /L) del componente i-esimo come definito da modello, V il volume
del reattore, Q la portata volumetrica (L/s) e ORL il carico organico applicabile.
Si ricorda che per semplicità 1L = 1Kg.
Da letteratura un carico organico applicabile varia nel range 2 − 10 KgmCOD 3 d , di
conseguenza per ottenere i massimi ed i minimi per ogni matrice basta considerare
la somma del prodotto tra la massa di ogni singola matrice di alimentazione per il
corrispondente valore CODi . Inoltre è importante sottolineare come oltrepassare il
limite superiore può portare ad inibizione per sovralimentazione del reattore, mentre
azzerare il carico per brevi periodi non è così dannoso in quanto le popolazioni
batteriche hanno dinamiche di decadenza molto lente.
Considerando la variabilità nel COD delle matrici nel tempo troviamo le soglie
riportate in Tabella 4.1.
max min
Liquame [g/d] 401 70
Silomais [g/d] 225 50
Siero [g/d] 252 70
OLR [ KgmCOD
3d ] 10,5 2
Figura 4.2: Risposta del Plant ad un ingresso con scalino positivo (sinistra, t = 5) e negativo
(destra, t = 20). Sono state mostrate tre curve campione dove i rispettivi valori degli
scalini di siero (g/d) sono: in rosso 0 − 250, in verde 150 − 250 e in blu 50 − 200.
Sono quindi state effettuate una serie di simulazioni sul Plant imponendo alla
portata di siero (input) un segnale a scalino positivo e negativo i cui valori di
offset e altezza variavano dal massimo al minimo con un passo del 20%. Grazie poi
al metodo della tangente applicato alla dinamica più veloce della produzione di
metano (output), sono stati trovati i valori necessari per ricavare i parametri KP ,
TI e TD nelle varianti IMC, ZN, Cohen e Coon (vedi Appendice F).
Inizialmente è stato sintetizzato un controllore PI a parametri fissi basato sulla media
dei valori ottenuti dai metodi automatici e successivamente raffinato manualmente
attraverso simulazione. I parametri ottenuti sono riportati in Tabella 4.2, mentre la
Figura 4.3 mostra una simulazione del sistema controllato. Il segnale di riferimento
presenta le tipologie di variazione più significative tra le possibili richieste di
produzione metanigena: richiesta elevata, frequenza giornaliera (e bigiornaliera).
Non vengono invece riportate le singole tarature IMC, ZN, Cohen e Coon di PI e
PID in quanto mostrano prestazioni inferiori o non sufficienti.
Il passo successivo è stato effettuato verso la discretizzazione del controllore.
Sebbene i sistemi PID siano nella stragrande maggioranza dei casi facilmente ap-
plicabili attraverso sistemi analogici, la versatilità, la facilità d’integrazione con
HMI e il fatto che molti impianti risultino essere già costruiti con predisposizione
al controllo digitale, rendono di fatto quest’ultimo una scelta obbligata. Gli stessi
reattori UIT-BTP2 utilizzano un controllo digitale con interfaccia HDMI attraverso
PC.
L’algoritmo del controllore è stato realizzato sulla base del sistema tempo di-
screto (Equazioni 4.5a–4.5f) ottenuto convertendo in spazio di stato il sistema di
controllo (PID, Figura 4.1) ed effettuando la discretizzazione attraverso il metodo
di Eulero in avanti.
46 Capitolo 4. Controllo
KP TI
4.9 · 104 4.5 · 103
Figura 4.3: Simulazione del sistema controllato attraverso un classico PI a parametri fissi. Sopra
viene mostrato l’andamento della produzione di metano in alcuni possibili scenari di
richiesta giornaliera, bigiornaliera e di picco. Sotto, invece abbiamo uno zoom della
produzione giornaliera di metano (sinistra) e la portata di alimentazione (destra).
4.1. Regolatori PID 47
simulazione del sistema con controllore digitale e schedulazione dei parametri basati
su taratura automatica IMC (Tabella 4.4). Il valore di Tf per la taratura IMC (vedi
Appendice F) è stato impostato a 0.35T , così da avere un controllo più moderato e,
di conseguenza, una minore sollecitazione dell’attuatore.
Osservando i risultati, si può notare come il controllo a schedulazione di guadagno
non porti grandi vantaggi. Infatti, i valori dei parametri schedulati sono molto
simili e il tracking del riferimento non è migliore di quello ottenuto con controllore
a parametri fissi.
KP TI
4.9 · 104 4.5 · 103
Figura 4.4: Simulazione del sistema tempo continuo, controllato attraverso un PI digitale (tempo
discreto) a parametri fissi. Sopra viene mostrato l’andamento della produzione di
metano in alcuni possibili scenari di richiesta giornaliera, bigiornaliera e di picco.
Sotto, invece abbiamo uno zoom della produzione giornaliera di metano (sinistra) e
la portata di alimentazione (destra).
4.1. Regolatori PID 49
y KP TI y KP TI
1.85 · 10−8 1.60 · 104 4.64 · 105 1.20 · 10−7 9.63 · 103 5.36 · 103
1.14 · 10−7 1.50 · 104 8.93 · 104 2.20 · 10−7 8.67 · 103 2.76 · 103
2.14 · 10−7 8.95 · 103 9.41 · 103 3.20 · 10−7 8.24 · 103 1.86 · 103
3.14 · 10−7 6.37 · 103 3.06 · 103 4.20 · 10−7 8.66 · 103 1.64 · 103
4.14 · 10−7 4.33 · 103 1.56 · 103 5.20 · 10−7 9.62 · 103 1.38 · 103
Tabella 4.4: Parametri del regolatore PI digitale con schedulazione. A sinista per C.V. positiva,
a destra per C.V. negativa.
Figura 4.5: Simulazione del sistema controllato attraverso un classico PI digitale con schedula-
zione dei parametri. Sopra viene mostrato l’andamento della produzione di metano
in alcuni possibili scenari di richiesta giornaliera, bigiornaliera e di picco. Sotto,
invece abbiamo uno zoom della produzione giornaliera di metano (sinistra) e la
portata di alimentazione (destra).
50 Capitolo 4. Controllo
Figura 4.6: Andamento della concentrazione di VFA nel sistema con controllore PI per la
produzione di metano.
Per evitare che il reattore venga riempito troppo velocemente, generando così
l’accumulo, si è scelto in prima battuta di compensare l’uscita del controllore con
un contributo negativo funzione della concentrazione dei VFA. Questo accorgimento
fa sì che ad un aumento della concentrazione stessa corrisponda una diminuzione
del carico, riducendo così la quantità di VFA accumulata nel sistema. La legge di
controllo può allora essere espressa come in Equazione 4.6.
Z t
de(t)
u(t) = KP e(t) + KI e(τ )dτ + KD + Kcmp ucmp (4.6)
t0 dt
Figura 4.7: Schema di controllo PID (Figura 4.1) con aggiunta della compensazione, come da
Equazione 4.6.
( (
T
T
··· Kcmp ucmp (k) , EN=1
EN : ··· cmp(k) = T
(4.7a)
··· 0 , EN=0
F eedback : u1 (k) = c(k) − f2 (k) + cmp(k) (4.7b)
Per la taratura sono stati utilizzati gli stessi valori dei precedenti controllori
senza compensazione.
Per concisione viene qui riportata solo la taratura (Tabella 4.5) e la simulazione
(Figura 4.8) del controllore analogico a tempo continuo. I risultati sono molto simili
a quelli ottenuti con il PID per il solo controllo della produzione di metano: il
controllore digitale è simile all’analogico, mentre l’uso del gain scheduling IMC
limita la variabile di controllo. Qualche piccola differenza la possiamo notare nella
riduzione delle oscillazioni d’assestamento, soprattutto col la taratura più moderata
del gain scheduling, e nel minor tempo d’assestamento. La grande differenza, invece,
la troviamo nella concentrazione degli acidi grassi volatili, visibile in Figura 4.9.
Infatti essa ha subito una vistosa diminuzione, con picchi ridotti fino a dieci volte
tanto.
52 Capitolo 4. Controllo
KP TI
4.9 · 104 4.5 · 103
Figura 4.8: Simulazione del sistema controllato attraverso un regolatore PI a parametri fissi
con l’aggiunta della comensazione dei VFA. Sopra viene mostrato l’andamento della
produzione di metano in alcuni possibili scenari di richiesta giornaliera, bigiornaliera
e di picco. Sotto, invece abbiamo uno zoom della produzione giornaliera di metano
(sinistra) e la portata di alimentazione (destra).
Figura 4.9: Andamento della concentrazione degli acidi grassi volatili nel sistema controllato
con controllore PI, compensato con la misura della concentrazione stessa dei VFA.
4.1. Regolatori PID 53
Figura 4.10: Sisema controllato con un controllo a cascata. Il regolatore interno (RIN T (s)) è
proporzionale all’errore tra i VFA imposti dal controllore esterno e la misura reale.
Il controllore esterno (REST (s)) è un PI per il tracciamento del set-point della
produzione di metano.
Figura 4.11: Risposta del Plant ad un ingresso con scalino positivo (sinistra, t = 5) e negativo
(destra, t = 40). Sono state mostrate tre curve campione dove i rispettivi valori
degli scalini di siero (g/s) sono: in rosso 0 − 250, in verde 150 − 250 e in blu
50 − 200.
KP TI KP TI
2.5 · 106 1 · 103 2.5 · 104 · wCH4 5 · 104
Tabella 4.6: Parametri dei regolatori digitali del controllo a cascata. A sinistra i parametri del
regolatore PI esterno, a destra del regolatore PI interno.
4.1. Regolatori PID 55
Figura 4.12: Simulazione del sistema con controllo a cascata. Vengono mostrati l’andamento
della produzione di metano (sopra) e della concentrazione dei VFA (centro) in
alcuni possibili scenari di richiesta giornaliera, bigiornaliera e di picco. Sotto,
invece abbiamo uno zoom della produzione giornaliera di metano (sinistra) e la
portata di alimentazione (destra).
Conclusioni
57
58 Conclusioni
Matrice di Petersen
nC
X dCi
aij =0 , ∀j = 1, . . . , nP (A.1a)
i=1
dt
P n
dCi X
= aij ρj , ∀i = 1, . . . , nC (A.1b)
dt j=1
59
60 Appendice A. Matrice di Petersen
Figura A.1: Matrice di Petersen del modello ADM1, come descritta da Della Bona et al., 2015a
e riportata in Allegrini, 2011. Parte 1/2
61
Figura A.2: Matrice di Petersen del modello ADM1, come descritta da Della Bona et al., 2015a
e riportata in Allegrini, 2011. Parte 2/2
62 Appendice A. Matrice di Petersen
Figura A.3: Matrice di Petersen del modello AMOCO, come descritta da Batstone et al., 2002
e riportata in Allegrini, 2011.
Tabella A.1: Matrice di Petersen del modello AMOCO Modificato
P3 -1 Kd1 X1
P4 -1 Kd2 X2
63
Appendice B
Parametri modello
65
66
Analisi e strumentazione di
laboratorio
Figura C.1: Disposizione dello strumento AMTPS (Automated Methane Potential Test System)
nei nostri laboratori.
67
68 Appendice C. Analisi e strumentazione di laboratorio
Figura C.2: Schema operativo semplificato dello strumento AMTPS (Automated Methane
Potential Test System).
(C.2)
SV
B [%] = h i h
LnCH4
i · 100
COD gCOD
SV gSV
· 0.35 gCOD
Dove 0.35 [LnCH4 /gCOD ] è il volume di metano in condizioni normali prodotto per
ogni grammo di COD degradato.
UIT-BTP2-Control
La sperimentazione è stata svolta utilizzando l’impianto test per la produzione di
biogas BTP2-Control (Biogas Test Plant), uno strumento di laboratorio sviluppato
70 Appendice C. Analisi e strumentazione di laboratorio
Figura C.3: Disposizione dello strumento BTP2-Control (Biogas Test Plant) nei nostri laboratori.
I dati di produzione e composizione del biogas sono stati ricavati dalle tabelle di
monitoraggio dell’impianto, mentre i dati delle analisi manuali sono stati riportati sul
diario di sperimentazione. Una prima analisi e sintesi è stata effettuata dal personale
del dipartimento mediante foglio di calcolo (Excel). Non conoscendo precisamente
le condizioni iniziali, la prima settimana di prova è stata sempre riportata, ma mai
utilizzata ai fini dell’identificazione, lo stesso vale i dati dell’ultimo scenario del
reattore R2.
Appendice D
Vengono qui riportati i codici delle analisi sul BMP effettuate attraverso
MATLAB, nei 4 passaggi elencati al Capitolo 3.0.1.
73
74 Appendice D. Codice MATLAB per l’identificazione di BMP
17 BMPf_liq =100;
18 kl =0.1;
19
20 Param_opt_liq =[ BMPf_liq , kl ];
21 LB =[0 ,0];
22 UB =[10000 ,1000];
23 A = zeros (2 ,2) ;
24 B = zeros (2 ,1) ;
25 f = @ ( Param_opt_liq ) id_l ( Param_opt_liq , dati . liquame , opt_liq ) ;
26 [ x1 (2 ,:) , fval1 (2) ]= fmincon (f , Param_opt0_liq ,A ,B ,[] ,[] , LB , UB ) ;
27 MSE = fval1 (2)
28
29 BMP_finale = x1 (2 ,1)
30 k = x1 (2 ,2)
31 figure ; plot ( dati . time , dati . liquame , dati . time , out_liq ) ;
legend ( ’ show ’ , ’ Dati ’ , ’ Identificato ’) ; title ( ’ BMP_ { Liquame } 1 polo ’) ;
xlabel ( ’ Tempo ( giorni ) ’) ; ylabel ( ’ Produzione specifica di metano
( NmL_ { CH_4 }/ g_ { SV }) ’) ;
w1 δ 1 z1 δ1 x1 x1
w2 δ2 z2 δ2 x2 x2
w3 δ3 z3 δ3 w1 w1
w=
w4 = δ4 z4 = δ4 w2
−→ z=
w2
(E.1)
w5 δ5 z5 δ5 x4 x4
w6 δ6 z6 δ6 x5 x5
w7 δ 7 z7 δ7 K4 ζ9 K4 ζ9
u1
ζ1
u1 (u2 − x1 ) ω1 (ω2 − ω5 ) u
2
ζ2 u 1 (u3 − x 2 ) ω1 (ω 3 − ω6 ) u
3
ζ3 u1 x3
ω1 ω7
u
4
ω1 ω8
ζ4
u 1 x4
x1
ζ=ζ = u x
1 5
=
ω 1 ω 9
= Θ(ω) −→ ω = x2 (E.2)
5
ζ6 u1 (u4 − x6 )
ω (ω
1 4 − ω 10 )
x3
ζ7 u 1 x7
ω1 ω 11
x4
ω
x
ζ8 6
x
x6 +KS1 4
µ 10
1max ω10 +KS1 8 ω
x5
x7 ω11
µ2max ω +K +ω2 /K ω9
ζ9 x7 +KS2 +w3 x5 11 S2 I
x6
11
x7
77
78 Appendice E. Trasformazione Lineare Frazionaria
1
ẋ1 = ζ 1 − w1 (E.3a)
V
1
ẋ2 = ζ 2 − w2 (E.3b)
V
1
ẋ3 = − ζ3 + w1 − ρ1 w3 + w2 − ρ2 w4 (E.3c)
V
1
ẋ4 = − ζ 4 + ζ 8 − w5 (E.3d)
V
1
ẋ5 = − ζ 5 + ζ 9 − w6 (E.3e)
V
1
ẋ6 = − ζ6 + ρ3 w3 + ρ3 w4 − K1 ζ8 (E.3f)
V
1
ẋ7 = − ζ7 + K2 ζ8 − K3 ζ9 (E.3g)
V
y1 = x7 (E.3h)
y2 = w7 (E.3i)
y3 = x1 + x2 + x3 + x4 + x5 (E.3j)
20 u_count = 4;
21 x_count = 7;
22 y_count = 3;
23 om_count = 11;
24
25 % delta
26 DeltaSym = {
27 ’ parName ’ , ’ indStartDiag ’ , ’ indStopDiag ’ , ’ LowerBound ’ , ’ HigherBound ’ , ’ toId ’ , ’ lb ’ , ’ ub ’;
28 ’ kh1 ’ 1 1 lb1 ub1 0 -1 +1;
29 ’ kh2 ’ 2 2 lb2 ub2 0 -1 +1;
30 ’ BMP1 ’ 3 4 lb3 ub3 0 -1 +1;
31 ’ BMP2 ’ 5 6 lb4 ub4 0 -1 +1;
32 ’ Kd1 ’ 7 7 lb5 ub5 0 -1 +1;
33 ’ Kd2 ’ 8 8 lb6 ub6 0 -1 +1;
34 ’ Kla ’ 9 9 lb7 ub7 0 -1 +1;
35 };
36 delta_count = cell2mat ( DeltaSym ( end ,3) ) ;
37
38 % theta
39 om = sym ( ’ om ’ , om_count ) ;
40 theta_sym = [
41 om (1) *( om (2) - om (5) ) ;
42 om (1) *( om (3) - om (6) ) ;
43 om (1) * om (7) ;
44 om (1) * om (8) ;
45 om (1) * om (9) ;
46 om (1) *( om (4) - om (10) ) ;
47 om (1) * om (11) ;
48 mu1m * om (10) * om (8) /( om (10) + ks1 ) ;
49 mu2m * om (11) * om (9) /( om (11) + ks2 + om (11) ^2/ ki )
50 ];
51 theta_count = size ( theta_sym ,1) ;
52
53 % matrici del sistema LFT ( parte LTI )
54 LTI = struct (...
55 ’A ’ , zeros ( x_count , x_count ) ,...
56 ’ B1 ’ , zeros ( x_count , delta_count ) ,...
57 ’ B2 ’ , zeros ( x_count , theta_count ) ,...
58 ’ B3 ’ , zeros ( x_count , u_count ) ,...
59 ’ C1 ’ , zeros ( delta_count , x_count ) ,...
60 ’ D11 ’ , zeros ( delta_count , delta_count ) ,...
61 ’ D12 ’ , zeros ( delta_count , theta_count ) ,...
62 ’ D13 ’ , zeros ( delta_count , u_count ) ,...
63 ’ C2 ’ , zeros ( om_count , x_count ) ,...
64 ’ D21 ’ , zeros ( om_count , delta_count ) ,...
65 ’ D22 ’ , zeros ( om_count , theta_count ) ,...
66 ’ D23 ’ , zeros ( om_count , u_count ) ,...
67 ’ C3 ’ , zeros ( y_count , x_count ) ,...
68 ’ D31 ’ , zeros ( y_count , delta_count ) ,...
69 ’ D32 ’ , zeros ( y_count , theta_count ) ,...
70 ’ D33 ’ , zeros ( y_count , u_count ) ) ;
71
72 LTI . B1 (1 ,1) = -1;
73 LTI . B1 (2 ,2) = -1;
74 LTI . B1 (3 ,1) =1;
75 LTI . B1 (3 ,3) = -1;
76 LTI . B1 (3 ,2) =1;
77 LTI . B1 (3 ,5) = -1;
78 LTI . B1 (4 ,7) = -1;
79 LTI . B1 (5 ,8) = -1;
80 LTI . B1 (6 ,4) =1;
81 LTI . B1 (6 ,6) =1;
82 LTI . B2 (1 ,1) =1/ v ;
83 LTI . B2 (2 ,2) =1/ v ;
84 LTI . B2 (3 ,3) = -1/ v ;
85 LTI . B2 (4 ,4) = -1/ v ;
86 LTI . B2 (5 ,5) = -1/ v ;
87 LTI . B2 (6 ,6) =1/ v ;
88 LTI . B2 (7 ,7) = -1/ v ;
89 LTI . B2 (4 ,8) =1;
90 LTI . B2 (5 ,9) =1;
80 Appendice E. Trasformazione Lineare Frazionaria
91 LTI . B2 (6 ,8) = - k1 ;
92 LTI . B2 (7 ,8) = k2 ;
93 LTI . B2 (7 ,9) = - k3 ;
94 LTI . C1 (1 ,1) =1;
95 LTI . C1 (2 ,2) =1;
96 LTI . C1 (7 ,4) =1;
97 LTI . C1 (8 ,5) =1;
98 LTI . D11 (3 ,1) =2.86 e -3*0.773;
99 LTI . D11 (5 ,2) =2.86 e -3*0.718;
100 LTI . D11 (4 ,1) =15.625* k1 * k3 / k2 / k4 *2.86 e -6;
101 LTI . D11 (6 ,2) =15.625* k1 * k3 / k2 / k4 *2.86 e -6;
102 LTI . D12 (9 ,9) = k4 ;
103 LTI . C2 (5:11 ,1:7) = eye (7) ;
104 LTI . D23 (1:4 ,1:4) = eye (4) ;
105 LTI . C3 (1 ,7) =1;
106 LTI . C3 (3 ,1:5) = ones (1 ,5) ;
107 LTI . D31 (2 ,9) =1;
108
109 lftfun = struct ( ’ LTI ’ , LTI , ’ DeltaSym ’ , { DeltaSym } ,...
110 ’ DeltaVal ’ , zeros ( delta_count , delta_count ) ) ;
111
112 % Dati addizionali
113 lftfun . theta_sym = theta_sym ;
114 lftfun . u_count = u_count ;
115 lftfun . x_count = x_count ;
116 lftfun . y_count = y_count ;
117 lftfun . om_count = om_count ;
118 lftfun . theta_count = theta_count ;
119 lftfun . delta_count = delta_count ;
120 % N or ma l iz z az io n e e generazione struttura completa
121 lftfun = lft_finalize ( lftfun ) ;
122 lftfun . DeltaVal = lft_normdelta ( lftfun , delta ) ;
123 end
Per ultimo vine creato il modello definitivo normalizzato. Qui sono presenti due
funzioni: la prima crea un modello LFT con matrici LTI normalizzate, la seconda
genera un delta normalizzato a partire da un delta full-scale. Mentre quest’ultima si
basa essenzialmente sull’Equazione 3.19, l’altra modifica le matrici LTI nel seguente
modo.
Per prima cosa definiamo il vettore w come:
δimax + δimin δi − δimin ¯
w = diag(δ)z = diag + max δi , . . . z=
2 2
= Ez + diag(δ̄)Fz (E.4)
Dove
δimax + δimin
E = diag ,... (E.5a)
2
δimax − δimin
F = diag ,... (E.5b)
2
Unendo poi le Equazioni E.4 e E.6 alla forma generica di un modello LFT (3.13),
ẋ = Ax + B1 Ez + B1 w̃ + B2 ζ + B3 u (E.7a)
z = C1 x + D11 Ez + D11 w̃ + D12 ζ + D13 u (E.7b)
ω = C2 x + D21 Ez + D21 w̃ + D22 ζ + D23 u (E.7c)
y = C3 x + D31 Ez + D31 w̃ + D32 ζ + D33 u (E.7d)
ẋ A + B1 EGC1 B1 + B1 EGD11 B2 + B1 EGD12 B3 + B1 EGD13 x
z̃ FGC 1 FGD 11 FGD 12 FGD 13
w̃
=
ω C2 + D21 EGC1 D21 + D21 EGD11 D22 + D21 EGD12 D23 + D21 EGD13 ζ
y C3 + D31 EGC1 D31 + D31 EGD11 D32 + D31 EGD12 D33 + D31 EGD13 u
(E.9)
Viene qui riportato un estratto dei codici delle funzioni MATLAB. La seconda
parte del Codice E.3 crea la matrice di sparsità con l’algoritmo (per concisione non
riportato) già presente in altre funzioni del Toolbox di Della Bona et al., 2015a.
Codice E.2: Script per la costruzione della matrice delta normalizzata del modello AMOCO
modificato.
1 function [ delta ] = lft_normdelta ( lftfun , fullvalues )
2 % genera un delta normalizzato a partire da un delta full - scale
3
4 dim = size ( lftfun . DeltaSym ) ;
5 delta = zeros ( cell2mat ( lftfun . DeltaSym ( end ,3) ) ,1) ;
6 jmax = dim (1 ,1) -1;
7 for j = 1 : jmax
8 imin = cell2mat ( lftfun . DeltaSym (1+ j ,2) ) ;
9 imax = cell2mat ( lftfun . DeltaSym (1+ j ,3) ) ;
10 for i = imin : imax
11 max = cell2mat ( lftfun . DeltaSym ( j +1 ,5) ) ;
12 min = cell2mat ( lftfun . DeltaSym ( j +1 ,4) ) ;
13 delta (i ,1) = ( fullvalues (j ,1) - ( max + min ) /2) /(( max - min ) /2) ;
14 end
15 end
16 delta = diag ( delta ) ;
17 end
82 Appendice E. Trasformazione Lineare Frazionaria
Codice E.3: Estratto del codice per la costruzione della struttura del modello AMOCO modificato
normalizzato, basato sul Toolbox LFT di Della Bona et al., 2015a.
1 function [ lftfun ] = lft_finalize ( lftfun )
2 % % create theta and dtheta from symbolic formulas
3 % theta
4 text = ’@ ( om ) [ ’;
5 for i = 1 : length ( lftfun . theta_sym )
6 f = char ( lftfun . theta_sym ( i ) ) ;
7 for n = 1 : lftfun . om_count
8 f = strrep (f , [ ’ om ’ num2str ( n ) ’ _1 ’ ] , [ ’ om ( ’ num2str ( n ) ’) ’ ]) ;
9 end
10 text = [ text f ’; ’ ];
11 end
12 lftfun . Theta = eval ([ text ’] ’ ]) ;
13
14 % dtheta
15 text = ’@ ( om ) [ ’;
16 for i = 1 : length ( lftfun . theta_sym )
17 for j = 1 : lftfun . om_count
18 f = char ( diff ( lftfun . theta_sym ( i ) , [ ’ om ’ num2str ( j ) ’ _1 ’ ]) ) ;
19 for n = 1 : lftfun . om_count
20 f = strrep (f , [ ’ om ’ num2str ( n ) ’ _1 ’ ] , [ ’ om ( ’ num2str ( n ) ’) ’ ]) ;
21 end
22 text = [ text f ];
23 if j ~= lftfun . om_count
24 text = [ text ’ , ’ ];
25 end
26 end
27 text = [ text ’; ’ ];
28 end
29 lftfun . dThetadOmega = eval ([ text ’] ’ ]) ;
30
31 % % normalize deltas
32 E = [];
33 F = [];
34 dim = size ( lftfun . DeltaSym ) ;
35 jmax = dim (1 ,1) -1;
36 for j = 1 : jmax
37 imin = cell2mat ( lftfun . DeltaSym (1+ j ,2) ) ;
38 imax = cell2mat ( lftfun . DeltaSym (1+ j ,3) ) ;
39 for i = imin : imax
40 dmin = cell2mat ( lftfun . DeltaSym (1+ j ,4) ) ;
41 dmax = cell2mat ( lftfun . DeltaSym (1+ j ,5) ) ;
42 E = [ E ( dmin + dmax ) /2];
43 F = [ F ( dmax - dmin ) /2];
44 end
45 end
46
47 E = diag ( E ) ;
48 F = diag ( F ) ;
49
50 A = lftfun . LTI . A ;
51 B1 = lftfun . LTI . B1 ;
52 B2 = lftfun . LTI . B2 ;
53 B3 = lftfun . LTI . B3 ;
54 C1 = lftfun . LTI . C1 ;
55 C2 = lftfun . LTI . C2 ;
56 C3 = lftfun . LTI . C3 ;
57 D11 = lftfun . LTI . D11 ;
58 D12 = lftfun . LTI . D12 ;
59 D13 = lftfun . LTI . D13 ;
60 D21 = lftfun . LTI . D21 ;
61 D22 = lftfun . LTI . D22 ;
62 D23 = lftfun . LTI . D23 ;
63 D31 = lftfun . LTI . D31 ;
64 D32 = lftfun . LTI . D32 ;
65 D33 = lftfun . LTI . D33 ;
66
67 G = inv ( eye ( size ( E ) ) - D11 * E ) ;
68
E.2. Algoritmo LFT: normalizzazione e codici MATLAB 83
69 lftfun . LTI . A = A + B1 * E * G * C1 ;
70 lftfun . LTI . B1 = B1 + B1 * E * G * D11 ;
71 lftfun . LTI . B2 = B2 + B1 * E * G * D12 ;
72 lftfun . LTI . B3 = B3 + B1 * E * G * D13 ;
73 lftfun . LTI . C1 = F * G * C1 ;
74 lftfun . LTI . C2 = C2 + D21 * E * G * C1 ;
75 lftfun . LTI . C3 = C3 + D31 * E * G * C1 ;
76 lftfun . LTI . D11 = F * G * D11 ;
77 lftfun . LTI . D12 = F * G * D12 ;
78 lftfun . LTI . D13 = F * G * D13 ;
79 lftfun . LTI . D21 = D21 + D21 * E * G * D11 ;
80 lftfun . LTI . D22 = D22 + D21 * E * G * D12 ;
81 lftfun . LTI . D23 = D23 + D21 * E * G * D13 ;
82 lftfun . LTI . D31 = D31 + D31 * E * G * D11 ;
83 lftfun . LTI . D32 = D32 + D31 * E * G * D12 ;
84 lftfun . LTI . D33 = D33 + D31 * E * G * D13 ;
85 ...
Appendice F
KP TI TD
P 0.5K̄P
PI 0.45K̄P 0.8T̄
PID 0.6K̄P 0.5T̄ 0.125T̄
85
86 Appendice F. Metodi di Taratura Automatica (PID)
Figura F.2: Determinazione dei parametri Figura F.3: Determinazione dei parametri
del modello F.1 a partire dalla del modello F.1 a partire dalla
risposta allo scalino sperimen- risposta allo scalino sperimen-
tale attraverso il metodo della tale attraverso il metodo delle
tangente. aree.
KP TI TD
T
P µτ
0.99T
PI µτ 3τ
1.2T
PID µτ 2τ 0.5τ
KP TI TD
3T +τ
P 3µτ
10.8T +τ 30T +3τ
PI 12µτ τ 9T +20τ
16T +3τ
PID 12µτ τ 32T12τ+6τ 4T τ
11T +2τ
Internal Model Control (IMC) A partire dal modello (Equazione F.1) il rego-
latore viene progettato sulla base della Tabella F.4. Esso permette di stabilire
la banda passante del sistema in anello chiuso attraverso il parametro di
progetto positivo Tf , con conseguente aumento o diminuzione del margine di
fase e del guadagno.
KP TI TD
T
PI µ(τ +Tf ) T
T +0.5τ 0.5T τ
PID µ(τ +Tf ) T + 0.5τ (0.5τ +T )
89
90 Bibliografia
Zhou, Xianmin
1993 «A new method with high confidence for validation of computer
simulation models of flight systems», Journal of Systems Engineering
and Electronics, 4, 4 (dic. 1993), p. 43-52. (Citato a p. 38.)