politecnico di torino controllo di elongazione del frascati tokamak

annuncio pubblicitario
POLITECNICO DI TORINO
III FACOLTÀ DI INGEGNERIA
Corso di Laurea Specialistica in Ingegneria Meccatronica
Tesi di Laurea Specialistica
CONTROLLO DI ELONGAZIONE
DEL FRASCATI TOKAMAK UPGRADE
TRAMITE ALLOCAZIONE DINAMICA
DI INGRESSI RIDONDANTI
RELATORE
CANDIDATO
Prof. Mario Milanese
Gianluca Varano
RELATORI ESTERNI
Prof. Luca Zaccarian
Universita’ di Roma Tor Vergata
Ing. Vincenzo Vitale
Centro ricerche ENEA di Frascati
A.A. 2007/2008
A Filippo
Indice
Ringraziamenti
1
Introduzione
2
1 I tokamak e la fusione nucleare
6
1.1
La fusione nucleare . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2
Funzionamento di un tokamak . . . . . . . . . . . . . . . . . . . . . .
19
1.3
Problemi di controllo nei tokamak . . . . . . . . . . . . . . . . . . . .
25
2 Il tokamak FTU dell’ENEA
29
2.1
L’impianto FTU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.2
Architettura del sistema di controllo di FTU . . . . . . . . . . . . . .
37
3 Sistemi con ingressi ridondanti
44
3.1
Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
3.2
Sistemi con ingressi ridondanti . . . . . . . . . . . . . . . . . . . . . .
45
3.3
Allocazione dinamica degli ingressi . . . . . . . . . . . . . . . . . . .
46
4 Progettazione dell’allocatore
52
4.1
Obiettivi e specifiche di progetto . . . . . . . . . . . . . . . . . . . . .
52
4.2
Progettazione di un allocatore lineare . . . . . . . . . . . . . . . . . .
54
INDICE
I
INDICE
4.3
Progettazione di un allocatore non lineare . . . . . . . . . . . . . . .
5 Implementazione dell’allocatore
63
76
5.1
Discretizzazione dell’allocatore . . . . . . . . . . . . . . . . . . . . . .
76
5.2
Implementazione del codice c++ . . . . . . . . . . . . . . . . . . . .
80
5.3
Verifica del codice su VM
. . . . . . . . . . . . . . . . . . . . . . . .
81
5.4
Istruzioni per l’utilizzo del software . . . . . . . . . . . . . . . . . . .
81
6 Conclusioni e sviluppi futuri
82
Appendice A - Codice c++ dell’allocatore
84
Elenco delle figure
100
Bibliografia
103
INDICE
II
Ringraziamenti
Per questo lavoro sento di dover ringraziare moltissime persone. Per primo ringrazio
mio padre che ha lavorato tutta la vita per permettere a me e ai miei fratelli di studiare:
spero che sia soddisfatto di tutti noi. Ringrazio mia madre, che ha sempre cercato
di sostenermi in tutte le difficoltà. Ringrazio i miei fratelli che mi hanno sostenuto,
incitato e aiutato durante tutto il lavoro di tesi. Ringrazio Margi che mi ha appoggiato
con una forza di cui solo lei è capace per tutti questi 2 anni a Torino e durante il
lavoro di tesi, sopportando con pazienza la lontananza e i malumori. Ringrazio il
prof. Milanese, il prof. Zaccarian, Enzo Vitale e tutto il personale dell’ENEA per
la disponibilità e per l’occasione che mi hanno dato di lavorare su argomenti cosı̀
interessanti. Ringrazio Liberato e Francesco per avermi aiutato all’ENEA nel mio
lavoro. Ringrazio Paolo per le nottate passate a Torino a studiare, a mangiare e a
vedere infinite serie TV. Ringrazio Luiz, Laura, Lucia, Paula, Claire per essere stati
la mia famiglia a Torino. Ringrazio il prof. Bona per il calore con cui ha accolto me e
gli altri ragazzi di Roma al Politecnico. Ringrazio il prof. Calafiore ed il prof. Greco
con cui ho collaborato per l’organizzazione della didattica. Ringrazio il prof. Taragna
e l’ing. Galeani per essersi occupati delle faccende burocratiche per il mio tirocinio
in ENEA. Infine ringrazio l’Alta Scuola Politecnica che, nonostante io non l’abbia
portata a termine e non ne abbia condiviso affatto lo spirito e l’organizzazione, mi ha
dato una grossa opportunità e mi ha permesso di studiare a Torino.
Introduzione
1
Introduzione
Questa tesi illustra il lavoro svolto presso il Centro Ricerche ENEA di Frascati, nell’ambito di una collaborazione tra il Politecnico di Torino, l’Università degli studi di
Roma Tor Vergata e l’ENEA.
Tale lavoro si inserisce nel contesto della ricerca sulla fusione nucleare, un processo
fisico presente in natura, ad esempio all’interno delle stelle, che rilascia una grande
quantità di energia. Per questo motivo la ricerca sta tentando di dimostrare la realizzabilità di un reattore che sfrutti questo fenomeno in maniera controllata per la
produzione di energia.
Quello dell’energia è infatti un problema sempre più attuale nella nostra società, basti pensare agli enormi aumenti del prezzo del petrolio negli ultimi mesi. Gli aspetti
principali del problema sono legati da un lato al progressivo esaurimento delle risorse
di combustibili fossili a livello mondiale, dall’altro all’inquinamento prodotto dagli
impianti. La via delle comuni fonti rinnovabili (eolico, solare, idrico) è senz’altro percorribile, ma non basta da sola a soddisfare la sempre crescente domanda di energia.
Per quanto riguarda le attuali centrali nucleari, che sfruttano le reazioni di fissione,
esse non provocano inquinamento atmosferico, ma presentano altri problemi rilevanti
quali lo smaltimento delle scorie radioattive prodotte, il rischio di incidenti ad enorme
impatto ambientale come quello di Chernobyl e la scarsità delle riserve di Uranio.
Un futuro reattore a fusione nucleare presenterebbe i seguenti vantaggi: i combustibili
Introduzione
2
Introduzione
necessari alla reazione, Deuterio e Trizio, si trovano sulla terra in quantità pressoché
illimitata e sono uniformemente distribuiti sul pianeta; il prodotto principale della
reazione, l’Elio, non è inquinante e può anche essere sfruttato in campo industriale; la
sicurezza dell’impianto sarebbe intrinseca, in quanto un qualunque malfunzionamento
arresterebbe solo la reazione, al contrario delle centrali a fissione in cui una perdita
del controllo può portare ad una crescita esponenziale della reazione, come nel caso
di Chernobyl; i materiali radioattivi prodotti sarebbero in quantità molto limitata e
presenterebbero una vita media di circa un centinaio di anni, decisamente più gestibile
di quella delle scorie da fissione, che decadono in migliaia di anni.
La principale macchina sperimentale per la fusione nucleare controllata è attualmente il tokamak, che scalda il plasma di Deuterio e Trizio tenendolo confinato in una
camera toroidale grazie a degli intensi campi magnetici. I tokamak presentano molti
problemi di controllo automatico che in parte sono stati risolti e in parte rappresentano delle importanti sfide per la ricerca in questo settore.
In particolare in questa tesi è stato affrontato il problema del controllo della posizione e della forma del plasma all’interno del tokamak FTU del Centro Ricerche
ENEA di Frascati.
Per dotare FTU di un controllo di elongazione (un parametro che caratterizza la forma
del plasma) è stata utilizzata una tecnica di allocazione dinamica degli ingressi ridondanti. Un allocatore dinamico è un blocco di controllo che permette di distribuire in
modo ottimale lo sforzo di controllo tra i diversi attuatori, tenendo in considerazione
le caratteristiche di ciascuno. Questa tecnica potrebbe quindi dimostrarsi utile, soprattutto nei tokamak moderni, per gestire le elevate correnti elettriche che scorrono
Introduzione
3
Introduzione
negli avvolgimenti della macchina, i quali sono spesso caratterizzati da limitazioni di
ampiezza e di pendenza diverse per ogni avvolgimento.
Nel lavoro di tesi è stato progettato in ambiente Matlab/Simulink e successivamente implementato in linguaggio C++ un allocatore per la corrente negli avvolgimenti
F e V, che agiscono entrambi sulla posizione orizzontale e costituiscono quindi due
ingressi ridondanti.
Attualmente per il controllo in feedback della posizione orizzontale è utilizzato l’avvolgimento F che, sopportando correnti con pendenze più elevate, riesce a compensare
i disturbi ad alta frequenza. Il V invece è più lento ma sopporta correnti con ampiezza
maggiore, per cui viene pilotato in feedforward per fornire gran parte della potenza
di controllo. L’avvolgimento F però agisce anche sull’elongazione del plasma, per cui
essa attualmente subisce tutti i disturbi che F cerca di compensare per mantenere la
posizione orizzontale.
L’allocatore progettato ha quindi lo scopo di suddividere il lavoro di controllo tra i due
avvolgimenti, affidando la compensazione delle dinamiche più lente dei disturbi al V e
lasciando libero F di sfruttare le proprie dinamiche lente per controllare l’elongazione.
La tesi è strutturata come segue:
nel Capitolo 1 sono spiegati i principi fisici su cui si basa la fusione nucleare, viene
illustrato il funzionamento di un tokamak e i principali problemi di controllo che esso
presenta;
nel Capitolo 2 è descritto l’esperimento FTU, con particolare attenzione all’impianto
fisico e all’architettura del sistema di controllo;
nel Capitolo 3 sono presentati i fondamenti teorici e i possibili campi di applicazione
Introduzione
4
Introduzione
della tecnica di allocazione degli ingressi ridondanti; nel Capitolo 4 è descritto il lavoro di progettazione e realizzazione del modello Matlab/Simulink dell’allocatore per
FTU nonché la sua verifica tramite simulazioni; nell Capitolo 5 si mostrano l’implementazione finale in linguaggio C++ dell’algoritmo di controllo cosı̀ sviluppato ed il
suo inserimento all’interno del codice esistente.
Introduzione
5
Capitolo 1
I tokamak e la fusione nucleare
In questo capitolo é brevemente illustrato l’ambito di ricerca sulla
fusione nucleare. Nel paragrafo 1.1 sono spiegati i principi fisici
del processo di fusione nucleare, evidenziandone le caratteristiche
che la rendono una potenziale fonte di energia rinnovabile. Nel
paragrafo 1.2 è illustrato il funzionamento di un tokamak. Nel paragrafo 1.3 vengono presentati alcuni problemi di controllo che il
funzionamento di un tokamak presenta.
1.1
La fusione nucleare
La fusione nucleare è il processo fisico che alimenta il sole e le altre stelle. Essa
consiste in una reazione in cui due nuclei di elementi leggeri si uniscono a formare nuclei più pesanti, rilasciando nel contempo una grande quantità di energia (Figura 1.1).
Gli atomi sono formati da un nucleo centrale e da una nuvola di elettroni (e), con
carica elettrica negativa, che si muovono disordinatamente attorno a questo. Il nucleo
rappresenta da solo quasi tutta la massa dell’atomo, poiché gli elettroni sono molto
più leggeri delle particelle che compongono il nucleo, dette genericamente nucleoni,
e che sono di due tipi: i protoni (p), con carica elettrica positiva uguale in modulo
a quella dell’elettrone, e i neutroni (n), privi di carica elettrica. Ciascun elemento
6
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
chimico è caratterizzato dal numero Z che indica sia il numero degli elettroni che
quello dei protoni. Questi infatti in condizioni normali sono in egual numero e perciò
l’atomo risulta nel complesso elettricamente neutro. Inoltre di ogni elemento possono esistere atomi con lo stesso numero Z di protoni ed elettroni ma con un diverso
numero N di neutroni: questi atomi sono chiamati isotopi di un elemento e possono
essere caratterizzati dal numero di massa A = Z + N .
I protoni, avendo tutti carica positiva, tenderebbero a respingersi a causa della forza
coulombiana, ma esiste un’altra forza, detta interazione nucleare forte, che li tiene
insieme nonostante la repulsione elettrostatica. Questa forza ha un’intensità molto
maggiore rispetto a quella elettrostatica, ma ha un raggio d’azione molto minore:
quindi essa prevale sulla forza coulombiana solo se due particelle sono ad una distanza inferiore alla somma dei loro raggi.
Figura 1.1: Reazione di fusione nucleare tra due nuclei di deuterio.
7
§1.1 La fusione nucleare
Cap. 1 I tokamak e la fusione nucleare
Ogni nucleo ha una massa minore della somma delle masse dei suoi nucleoni poiché
al momento della sua formazione una parte della massa viene trasformata in energia,
secondo la nota formula di Einstein
E = m · c2
(1.1.1)
e rilasciata nell’ambiente. Questa energia è chiamata energia di legame; in Figura
1.5 è graficata per tutti gli elementi l’energia di legame per nucleone, ossia la quantità
di energia che mediamente bisogna fornire per strappare un nucleone al nucleo o, vista
in un altro modo, l’energia rilasciata quando il nucleo si forma.
Figura 1.2: Energia di legame per nucleone dei nuclei di tutti gli elementi chimici e
dei loro isotopi.
Come si può vedere dalla Figura 1.5 esistono due modi per ottenere energia da reazioni nucleari: far unire nuclei leggeri per formarne di più pesanti (fusione nucleare),
8
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
oppure rompere nuclei pesanti per formarne di più leggeri (fissione nucleare).
Perché avvenga una reazione di fusione tra due nuclei per prima cosa gli atomi
devono essere privati dei loro elettroni, fornendo a questi ultimi energia sufficiente per
liberarsi. In questo modo la materia passa allo stato di plasma, considerato il quarto
stato della materia (insieme a quello solido, liquido e gassoso). Il termine plasma è
utilizzato per indicare un gas ionizzato, ossia con atomi che hanno perso in parte o
del tutto i propri elettroni.
Figura 1.3: Esempi di plasmi caratterizzati da diverse condizioni di densità e
temperatura.
9
§1.1 La fusione nucleare
Cap. 1 I tokamak e la fusione nucleare
Il plasma risulta quindi nel complesso elettricamente neutro, essendo la carica negativa degli elettroni uguale a quella degli ioni, ma poiché le cariche al suo interno
si trovano separate e libere di muoversi, esso risulta influenzato dai campi elettrici e
magnetici. Il suo comportamento è perciò molto complesso da studiare poiché è descritto oltre che dalle equazioni dei fluidi, anche dalle equazioni di Maxwell. In natura
esistono vari esempi in cui la materia si trova allo stato di plasma: innanzi tutto nel
nucleo del sole e delle stelle; sulla terra sono esempi di plasmi il fuoco, i fulmini e le
aurore boreali(v. Fig. 1.3).
Una volta che nuclei ed elettroni sono separati, perché si instauri una reazione di
fusione i nuclei devono avere energia cinetica sufficiente a portarli ad una distanza tra
loro minore della somma dei loro raggi (≈ [1 : 1000] · 10−15 m), superando la barriera
di potenziale dovuta alla repulsione coulombiana, data dall’equazione:
V (R) ≈
Z1 Z2 e2
Z1 Z2
≈ 1.2 1
1 M eV
R
A3 + A3
1
(1.1.2)
2
dove Z1 e Z2 sono i numeri atomici dei due nuclei reagenti, A1 e A2 sono i loro
numeri di massa ed e è la carica elettrica del protone.
In realtà a causa dell’effetto tunnel previsto dalla fisica quantistica c’è una probabilità
non nulla che un nucleo riesca ad attraversare la barriera di potenziale anche avendo
una energia minore di quella della barriera. Questo rende la soglia effettiva molto più
bassa ed interessante per applicazioni pratiche.
10
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
L’intensità della repulsione coulombiana cresce col numero totale di cariche, ossia
di protoni, dei due nuclei, mentre l’attrazione dovuta all’interazione nucleare forte
cresce col numero di nucleoni, sia protoni che neutroni. Per questo motivo la barriera
di potenziale cresce con Z e diminuisce con A. Pertanto alcune tra le reazioni di fusione
che presentano la barriera più bassa sono quelle tra gli isotopi pesanti dell’Idrogeno
(H): il Deuterio (D o 2 H) e il Trizio (T o 3 H). Infatti tutti gli isotopi dell’Idrogeno
hanno Z = 1, che rappresenta il valore minimo possibile, ed hanno inoltre un valore
maggiore di A, rispettivamente AD = 2 e AT = 3.
Il modo più semplice per fornire ai nuclei l’energia necessaria per superare la barriera di potenziale è riscaldare il plasma: la temperatura infatti è legata all’energia
cinetica media delle particelle dalla formula
3
< E >= kT
2
(1.1.3)
dove k è la costante di Boltzmann e la temperatura T è misurata in gradi Kelvin.
Perciò maggiore è il valore della temperatura, maggiore è la probabilità che alcune
particelle abbiano l’energia sufficiente perché avvenga la reazione.
La frequenza media con cui una particella può reagire con un’altra è data dalla
formula:
11
§1.1 La fusione nucleare
Cap. 1 I tokamak e la fusione nucleare
f = nσv
(1.1.4)
in cui n indica la densità di particelle, v è la velocità termica della particella e σ
è la sezione d’urto, un’area efficace che tiene conto della barriera coulombiana.
Per aumentare la frequenza delle reazioni si può quindi agire per aumentare uno qualunque di questi valori.
La reazione più interessante, in quanto più facile da realizzare, è la seguente:
D + T → 4 He + n.
(1.1.5)
Per avere un’idea dell’energia prodotta dalla reazione bisogna calcolare la massa
che viene persa, misurata in unità atomiche (u) definite come 1/12 della massa del
nucleo del Carbonio
12
C:
∆m = (mD + mT ) − (m4 He + mn ) =
= (2.01410 + 3.01605) − (4.0026 + 1.00867) =
= 0.01888u.
(1.1.6)
12
§1.1 La fusione nucleare
Cap. 1 I tokamak e la fusione nucleare
Da qui si calcola l’energia generata come:
∆E = ∆mc2 =
(1.1.7)
= 0.01888u · 937M eV /u = 17.6M eV.
Questa energia viene liberata sotto forma di energia cinetica delle particelle prodotte, ripartita tra esse in modo inversamente proporzionale alle loro masse:
m4 He
He +mn
En = ∆E m4
= 14.1M eV
(1.1.8)
E4 He = ∆E m4 mn+mn = 3.5M eV.
He
I reagenti di questa reazione rappresentano una fonte di energia praticamente inesauribile: il Deuterio si trova infatti nell’acqua in quantità di 25.5 mg/l, mentre il
Trizio non si trova in natura ma può essere ricavato dal Litio attraverso la reazione
di fissione
n + 6 Li → T + 4 He.
(1.1.9)
13
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
Volendo sfruttare questa reazione di fusione per produrre energia, disponendo di
centrali con un’efficienza del 33%, l’attuale consumo mondiale annuo di energia elettrica, pari a circa 1.5 · 109 kWh, sarebbe coperto con 1.9 · 105 kg di Deuterio e 6.5 · 105
kg di Litio. Considerato che le riserve stimate sulla terra sono di 4.6 · 101 6 kg di
Deuterio e ≈ 101 4 kg di Litio, si potrebbe soddisfare l’attuale richiesta di energia per
circa 100 milioni di anni.
La produzione di energia da fusione nucleare, come anche da fissione, non produrrebbe gas serra. Inoltre molti problemi legati alla produzione di energia con le attuali
centrali a fissione potrebbero essere superati dai futuri impianti a fusione:
• Il combustibile utilizzato nelle attuali centrali a fissione (Uranio e Plutonio) è
poco abbondante sulla terra ed è quindi destinato ad esaurirsi, analogamente
al petrolio. Al contrario il combustibile per le reazioni di fusione, come visto
precedentemente, è estremamente abbondante e uniformemente distribuito sulla
terra.
• Le scorie radioattive prodotte nelle centrali a fissione hanno una vita estremamente lunga, di decine di migliaia di anni, e presentano perciò il grosso problema
dello smaltimento geologico. I prodotti della fusione invece rappresentano un
problema assai più facile da gestire: Idrogeno e Deuterio non sono radioattivi; il Trizio è radioattivo ma ha una vita media di soli 13 anni; le pareti del
reattore che si affacciano direttamente sul plasma diventano radioattivi a causa
dei neutroni prodotti dalla reazione, ma la loro vita media è dell’ordine dei 100
14
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
anni. Inoltre per la costruzione delle pareti si stanno studiando nuovi materiali
a basso livello di attivazione.
• Le centrali a fissione possono essere utilizzate come fabbriche di materiale per
armamenti nucleari o per armi all’uranio impoverito. Le centrali a fusione non
producono invece materiali utili per gli armamenti.
• In caso di problemi, se vengono a mancare i moderatori, la reazione di fissione
si autoalimenta con crescita esponenziale dell’energia che può portare fino alla
fusione del nocciolo, provocando incidenti come quello di Cernobyl. Al contrario
gli impianti a fusione sono caratterizzati da una sicurezza intrinseca: in caso di
problemi la reazione di fusione tende a spegnersi da sola.
Per realizzare un reattore a fusione nucleare le strade teoricamente possibili sono
le seguenti:
• Confinamento gravitazionale.
E’ il meccanismo utilizzato nelle stelle, ma non è ovviamente utilizzabile in un
reattore artificiale, non potendo ricreare in laboratorio l’attrazione gravitazionale di una stella.
• Confinamento inerziale.
Si comprime una pasticca di Deuterio e/o Trizio colpendola con raggi laser
concentrici ad alta potenza o fasci di particelle ad alta energia. Si devono
raggiungere densità molto elevate, dell’ordine di 1025 particelle/cm3, per tempi
molto brevi, dell’ordine di 100 picosecondi.
• Confinamento magnetico.
Si riscalda il plasma di Idrogeno, Deuterio e Trizio a temperature di centinaia di
15
§1.1 La fusione nucleare
Cap. 1 I tokamak e la fusione nucleare
milioni di gradi, confinandolo tramite un forte campo magnetico per impedirne
la dispersione ed evitarne il contatto con la parete solida che, di qualunque
materiale sia costituita, non resisterebbe a simili temperature.
• Fusione Fredda.
Nei solidi effetti collettivi degli elettroni del reticolo possono schermare la repulsione coulombiana. In queste condizione la fusione può avvenire senza nessun
riscaldamento. La tecnica attualmente si basa su elettrolisi con con catodi specifici (ad es. Palladio) ed elettrolita deuterato. Tramite elettrolisi si fa entrare
nel reticolo del catodo il Deuterio fino ad averne una concentrazione dellordine
di quella degli ioni costituenti il reticolo.
Per valutare l’avanzamento della tecnologia necessaria all’ utilizzo della fusione
nucleare come fonte di energia, viene di solito utilizzato il criterio di Lawson, che
definisce un fattore di moltiplicazione dell’energia
Q=
Pout
Pin
(1.1.10)
come indice di avanzamento. Un’altro indice che può essere messo in corrispondenza
con Q è il cosiddetto prodotto triplo n k T τE , dove n è la densità di particelle, kT
è la temperatura in keV e τE è il tempo di confinamento dell’energia. Lawson individua inoltre due tappe significative nella ricerca sulla fusione: il punto di parità con
Q = 1 in cui l’energia prodotta è uguale a quella utilizzata per confinare e scaldare
il plasma, essenziale per produrre effettivamente energia con un reattore a fusione; il
punto di ignizione con Q = ∞ in cui l’energia prodotta dalle sole reazioni di fusione è sufficiente per il riscaldamento e il confinamento necessari a sostenere le reazioni
stesse.
16
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
In Figura 1.4 si può vedere a che punto è la ricerca sulla fusione, in particolare
sul confinamento magnetico, a livello mondiale, in rapporto ai due suddetti traguardi.
Come si può vedere i migliori risultati sono stati raggiunti ad oggi con il JET (Joint
European Tokamak) che è arrivato vicino alla soglia della parità. Con ITER, che
verrà costruito nei prossimi anni a Cadarache in Francia grazie ad una collaborazione
a livello mondiale, si stima di arrivare sulla soglia dell’ignizione.
Figura 1.4: Valori del prodotto triplo, indice della capacità di confinamento, dei
principali esperimenti di fusione nel mondo. In alto è mostrata la soglia di ignizione.
Inoltre, a dimostrazione degli enormi progressi che ci sono stati negli ultimi anni
nel campo della fusione, è interessante vedere in Figura 1.5 un confronto tra la tanto
declamata legge di Moore, che descrive l’evoluzione nel tempo della microelettronica,
17
Cap. 1 I tokamak e la fusione nucleare
§1.1 La fusione nucleare
con la più silenziosa ma addirittura maggiore crescita della tecnologia per la fusione.
Figura 1.5: Confronto dell’avanzamento tecnologico nel tempo nel campo della
fusione, della microelettronica e degli acceleratori di particelle.
18
Cap. 1 I tokamak e la fusione nucleare
1.2
§1.2 Funzionamento di un tokamak
Funzionamento di un tokamak
La macchina per il confinamento magnetico del plasma che ad ora ha ottenuto i migliori risultati nel campo della ricerca sulla fusione nucleare e su cui molte nazioni
stanno concentrando le proprie risorse è il tokamak. Il nome è un acronimo e in russo
vuol dire ‘cella toroidale con bobine magnetiche’. Il tokamak infatti fu inventato negli
anni ’50 dagli scienziati russi Andrei Sakharov e Igor Tamm.
Come spiegato precedentemente il metodo più intuitivo per instaurare nel plasma
delle reazioni di fusione è riscaldarlo. Nel nucleo del Sole le reazioni avvengono grazie all’altissima temperatura (≈ 10 · 106 K) ma anche grazie all’altissima pressione
dovuta all’attrazione gravitazionale. Non potendo ricreare in laboratorio pressioni
simili, è necessario riscaldare il plasma fino a temperature maggiori di quelle del Sole
(≈ 100 · 106 K).
A temperature cosı̀ elevate inoltre il plasma non può essere contenuto da nessuna
struttura solida, dal momento che qualunque materiale fonderebbe. Si pone per questo motivo il problema di come confinare il plasma all’interno di un reattore.
Il tokamak sfrutta il fatto che il plasma è influenzato dal campo elettromagnetico
per risolvere sia il problema del confinamento che quello del riscaldamento.
Sottoponendo un plasma ad un campo di induzione magnetica B uniforme, come quello sviluppato all’interno di un solenoide, si osserva che le particelle cariche, elettroni
e ioni, sono forzate a muoversi nella direzione di B lungo una traiettoria elicoidale,
come mostrato in Figura 1.6. In questo modo si può essere sicuri che le particelle
non sfuggano di lato, ma possono ancora uscire dalle estremità del solenoide. Per
risolvere questo problema si può pensare di richiudere il solenoide su se stesso come
19
Cap. 1 I tokamak e la fusione nucleare
§1.2 Funzionamento di un tokamak
una ciambella.
Figura 1.6: Particelle cariche in un campo magnetico uniforme seguono traiettorie
elicoidali.
Il tokamak è costituito infatti da una camera di forma toroidale, con degli avvolgimenti che sviluppano un campo toroidale al suo interno. Passando dal solenoide
alla configurazione toroidale però il campo perde la sua uniformità e presenta delle
componenti di deriva nelle direzioni ortogonali a quella del campo toroidale: queste
componenti formano quello che viene chiamato campo poloidale.
Il tokamak è dotato anche di avvolgimenti (v. Fig. 1.7), detti avvolgimenti poloidali, di forma toroidale che generano un campo sul piano poloidale per compensare
le componenti di deriva e controllare la posizione del plasma. In tal modo questo viene
mantenuto sospeso all’interno della camera da vuoto in modo che non vada a toccarne le pareti che, a causa dell’altissima temperatura del plasma, sarebbero danneggiate.
20
Cap. 1 I tokamak e la fusione nucleare
§1.2 Funzionamento di un tokamak
Figura 1.7: Schema di base degli avvolgimenti in un tokamak. A causa della corrente
di plasma e della corrente negli avvolgimenti poloidali, si genera una componente di
campo poloidale. Per questo le linee di flusso del campo magnetico risultano elicoidali.
Per il riscaldamento invece si sfrutta il fatto che l’anello di plasma all’interno della
camera può essere visto come una spira di materiale conduttore, e vi si può quindi
generare una corrente, detta corrente di plasma (IP ), per induzione magnetica, come nell’avvolgimento secondario di un trasformatore. Benché la resistività del plasma
sia molto bassa è comunque maggiore di zero, per cui il passaggio di IP riscalda il
plasma per effetto Joule fino a temperature molto elevate. Questo metodo è chiamato
riscaldamento ohmico.
Per generare la corrente di plasma uno degli avvolgimenti poloidali è utilizzato
21
Cap. 1 I tokamak e la fusione nucleare
§1.2 Funzionamento di un tokamak
come primario del trasformatore, e proprio come questo deve essere percorso da una
corrente con derivata non nulla, spesso realizzata nei tokamak dando a tale corrente
un riferimento a rampa che, a causa dei limiti di corrente nell’avvolgimento, deve avere una durata massima limitata ad un piccolo intervallo di tempo. Per questo motivo
tutti i tokamak sono macchine impulsate, che funzionano cioè solo per brevi intervalli
di tempo, da qualche secondo a qualche minuto, dopodiché devono ricaricarsi prima
di eseguire un’altra sequenza.
Lo stesso avvolgimento è utilizzato anche all’inizio della sequenza per creare il
plasma all’interno della camera toroidale. Quest’ultima deve essere sempre tenuta
in condizioni di vuoto spinto, il più possibile priva di impurità che intralcerebbero il
confinamento del plasma.
Per generare il plasma viene dapprima iniettato del gas (Idrogeno, Deuterio e/o Trizio) nella camera, dopodiché nell’avvolgimento viene fatta variare la corrente molto
velocemente in modo da generare un intenso campo elettrico che causa un breakdown, o effetto valanga, fenomeno in cui gli elettroni liberi accelerati dal campo elettrico
vanno a urtare gli altri atomi liberando altri elettroni, e cosı̀ via in una reazione a
catena fino a che tutto il gas è ionizzato.
I comportamenti principali del plasma sono descritti dalle equazioni della magnetoidrodinamica (MHD), una branca della fisica del plasma che considera quest’ultimo
come un continuo, ignorando il comportamento delle singole particelle. In particolare
la MHD ideale assume come ipotesi semplificativa che il plasma abbia resistenza elettrica nulla.
Assumendo un comportamento del plasma assialsimmetrico, questo può essere de-
22
Cap. 1 I tokamak e la fusione nucleare
§1.2 Funzionamento di un tokamak
scritto limitandosi allo studio di una sezione poloidale.
Dalle equazioni della MHD ideale risulta che in un tokamak assialsimmetrico, in condizioni di equilibrio tra le forze di Lorentz e la pressione cinetica, le linee a flusso
magnetico costante sono concentriche e non si intersecano mai. Inoltre le stesse linee
sono anche linee a pressione costante. Questo permette di associare la posizione e la
forma del plasma a quelle delle linee di flusso. Per descrivere la posizione e la forma
del plasma viene in particolare preso in considerazione il boundary, definito come
l’ultima linea di flusso chiusa dentro la camera da vuoto, all’interno del quale si può
considerare che sia racchiuso tutto il plasma.
Esistono due configurazioni possibili per il plasma in un tokamak, chiamate rispettivamente limiter e divertor.
In configurazione limiter, quella più classica, le curve di livello sono delle linee chiuse
più o meno concentriche, come mostrato in figura 1.8, per cui il boundary consiste
nella più esterna di esse, quella tangente alla parete. In realtà per non danneggiare
la parete, subito prima di questa viene inserita una struttura solida chiamata limiter,
costruita in un materiale che possa sopportare il carico termico. Il boundary coincide
perciò con la linea chiusa tangente al limiter.
La configurazione divertor è quella utilizzata nei tokamak più moderni ed è ottenuta
grazie ad una struttura chiamata anch’essa divertor che modifica la topologia delle
linee di flusso, come mostrato in figura 1.8. Si viene cosı̀ a formare una linea di flusso
detta separatrice che si interseca con sè stessa in un punto di sella, chiamato punto
X, in cui il campo magnetico è nullo. Questo comporta che le linee di flusso all’interno della separatrice sono tutte chiuse e contengono il plasma senza appoggiarsi ad
un limiter. Per questo motivo in questa configurazione il boundary coincide con la
23
Cap. 1 I tokamak e la fusione nucleare
§1.2 Funzionamento di un tokamak
separatrice. Inoltre il divertor serve anche a guidare fuori dalla camera i nuclei di elio
prodotti dalla fusione, che tendono a muoversi lungo la separatrice.
Figura 1.8: Linee di flusso in configurazione limiter (a sinistra) e divertor (a destra).
Il riscaldamento ohmico ha dei limiti, in quanto ad alte temperature perde progressivamente efficienza. Per questo motivo, per arrivare alle temperature richieste, la
maggior parte dei tokamak moderni sfrutta anche altre tecniche per il riscaldamento
addizionale del plasma. Le tecniche più diffuse sono la radiofrequenza e il fascio di
atomi neutri.
Nel riscaldamento a radiofrequenza vengono immesse nel plasma delle onde elettromagnetiche ad alta potenza con frequenze tali da entrare in risonanza con le sue particelle
e trasmettergli cosı̀ energia cinetica.
Nella seconda tecnica invece il riscaldamento si ottiene iniettando dei fasci di atomi
neutri ad alta energia contro il plasma, che sale di temperatura grazie alle collisioni
tra atomi neutri e particelle cariche, che trasferiscono energia cinetica a queste ultime.
Gli atomi del fascio devono essere neutri in modo tale da non essere deviati dal campo
24
Cap. 1 I tokamak e la fusione nucleare
§1.3 Problemi di controllo nei tokamak
magnetico.
1.3
Problemi di controllo nei tokamak
Il corretto funzionamento di un tokamak necessita del controllo automatico di molti
aspetti dell’impianto, alcuni più prettamente legati al comportamento del plasma ed
altri più legati alla strumentazione.
Uno degli aspetti più studiati e consolidati è quello del controllo di posizione e forma
del plasma all’interno della camera da vuoto. Il controllo della posizione è infatti
essenziale per la sicurezza dell’impianto, in quanto il contatto con il plasma danneggia le pareti della camera, nonché per l’effettivo confinamento. Inoltre l’efficacia di
alcune tecniche di riscaldamento addizionale, come quelle a radiofrequenza, dipende
fortemente dal punto di applicazione, che quindi deve rimanere stabile. Per quanto
riguarda il controllo di forma esso è utilizzato per massimizzare la quantità di reazioni
di fusione che avvengono e ottimizzare la capacità di confinamento.
Come ogni controllo in feedback anche questo presuppone la disponibilità di una
misura in tempo reale delle grandezze da controllare. Purtroppo in questo caso non è
possibile avere una misura diretta della posizione a causa delle altissime temperature
del plasma. è comunque possibile grazie alle equazioni della MHD stimare la conformazione e il valore del campo magnetico e delle correnti nel plasma a partire da un
numero finito di misure del campo e del flusso magnetico prese al di fuori della camera
o sulla parete interna, e dalla conoscenza delle correnti imposte negli avvolgimenti.
Come accennato precedentemente dalle linee di flusso cosı̀ ricostruite è possibile sapere dove si trova il plasma.
25
§1.3 Problemi di controllo nei tokamak
Cap. 1 I tokamak e la fusione nucleare
Per la soluzione numerica delle equazioni sono stati implementati diversi algoritmi.
Alcuni di questi sono molto accurati ma richiedono tempi di calcolo non compatibili
con una applicazione real-time, mentre altri, sebbene con minore precisione, riescono
a fornire le soluzioni in tempi utili.
In particolare per gli scopi del controllo vengono spesso stimate solamente le posizioni di quattro punti, corrispondenti ai punti estremi del boundary (v. Fig. 1.9
P1 , P2 , P3 , P4 ). Da questi infatti si può ricavare oltre alla posizione anche la forma,
che è descritta sinteticamente da due parametri fondamentali: l’elongazione e la
triangolarità.
La triangolarità δ misura quanto la sezione del plasma assomiglia a un triangolo,
ossia quanto il punto estremo superiore P1 e quello inferiore P2 si discostano orizzontalmente dalla verticale passante per il centro del plasma. I valori di triangolarità
superiore e inferiore sono definiti rispettivamente dalle formule:
Rav − R(P1 )
a
Rav − R(P2 )
=
a
δU P =
(1.3.1)
δLOW
(1.3.2)
dove
Rmax + Rmin
2
Rmax − Rmin
a=
.
2
Rav =
26
Cap. 1 I tokamak e la fusione nucleare
§1.3 Problemi di controllo nei tokamak
Figura 1.9: Parametri descrittivi di posizione e forma della sezione poloidale del
plasma.
L’elongazione κ è un parametro che indica quanto la sezione del plasma è schiacciata rispetto ad una circonferenza e viene calcolata con la formula:
κ=
Z(P1 ) − Z(P2 )
Zmax − Zmin
=
.
R(P3 ) − R(P4 )
Rmax − Rmin
(1.3.3)
Il sistema di controllo deve inoltre occuparsi della gestione di eventi imprevisti
potenzialmente pericolosi. Tra questi ci sono le disruzioni, eventi improvvisi che
portano il plasma a perdere molto rapidamente la sua energia termica provocando
lo spegnimento della corrente di plasma e la perdita della capacità di confinamento. Questi eventi hanno due cause principali: alcune disruzioni avvengono a causa
27
Cap. 1 I tokamak e la fusione nucleare
§1.3 Problemi di controllo nei tokamak
dell’instabilità verticale che causa una perdita del controllo di posizione, lasciando
sbattere il plasma contro la parete; altre disruzioni avvengono invece senza perdita
della posizione e sono dovute ad altre instabilità legate ad aspetti più complessi della
fisica dei plasmi, molte tuttora in fase di studio.
28
Capitolo 2
Il tokamak FTU dell’ENEA
In questo capitolo vengono descritte le caratteristiche principali del
tokamak FTU. In particolare nel paragrafo 2.1 viene descritto l’impianto, mentre nel paragrafo 2.2 si pone l’attenzione sul sistema di
controllo.
2.1
L’impianto FTU
L’impianto oggetto di questa tesi è FTU (Frascati Tokamak Upgrade), un tokamak
compatto ad alto campo magnetico che si trova nel centro ricerche ENEA di Frascati,
presso Roma. Questo tokamak, attivo dal 1989, è l’evoluzione del precedente impianto
FT (Frascati Tokamak), attivo dal 1977 al 1989, a sua volta costruito sulla base del
tokamak Alcator del MIT. Come gli altri tokamak compatti ad alto campo magnetico,
FTU è caratterizzato da elevati valori della densità di corrente elettrica: j ∝ B/R,
dove B è il campo magnetico toroidale ed R il raggio maggiore del toro, permettendo cosı̀ regimi di interesse fusionistico anche con un impianto di piccole dimensioni.
Rispetto al suo predecessore, FTU presenta una superficie d’accesso al plasma molto
maggiore per permettere un massiccio riscaldamento del plasma con sistemi a radio
frequenza, che forniscono circa 10 MW di potenza addizionale.
FTU si compone di tre sottoimpianti principali:
29
Cap. 2 Il tokamak FTU dell’ENEA
Parametri caratteristici di FTU
Raggio maggiore del toro
Raggio minore del toro
Campo magnetico toroidale
Corrente di plasma
Durata della scarica di plasma
Sezione trasversale del plasma
Energia erogabile dal generatore
del magnete toroidale
Energia erogabile dal generatore del trasformatore
e degli avvolgimenti poloidali
Potenza addizionale complessiva
dei sistemi a radiofrequenza
§2.1 L’impianto FTU
0.935m
0.3m
8T
1.6MA
1.5s-2s
circolare
160MJ
200MJ
∼ 10M W
Tabella 2.1: Caratteristiche del tokamak FTU.
• Macchina
• Alimentazione elettrica
• Radiofrequenza.
La macchina consiste in una camera da vuoto toroidale con un raggio maggiore
di 0.935 m e sezione circolare di 30 cm di raggio, che deve contenere la colonna di
plasma: la camera presenta 12 porte equatoriali, 12 porte verticali e 24 porte tubolari
(v. Fig. 2.1)per l’accesso al suo interno da parte dei sistemi di riscaldamento addizionale a radio frequenza e delle diagnostiche per la misura di tutti i parametri d’interesse.
Attorno alla camera da vuoto è montato un magnete per il campo toroidale composto di dodici moduli in acciaio inossidabile contenenti ciascuno due avvolgimenti in
rame, nei quali scorre una corrente continua del valore massimo di 37800 A. Il campo
magnetico cosı̀ generato può arrivare al valore di 8 T.
30
Cap. 2 Il tokamak FTU dell’ENEA
§2.1 L’impianto FTU
Figura 2.1: Porte di accesso alla camera da vuoto toroidale.
Per generare il plasma e indurre in esso una corrente, è montato l’avvolgimento
primario del trasformatore, di cui la colonna di plasma rappresenta il secondario, costituito da un solenoide centrale, situato al centro del toro, e 2 bobine di Helmholtz.
Tale avvolgimento, chiamato di seguito avvolgimento T (Transformer) è attraversato
da una corrente di 24500 A. In Figura 2.2 è mostrata una vista in sezione dell’avvolgimento e del campo magnetico generato.
Sono poi presenti altri 3 avvolgimenti di forma toroidale che generano la componente poloidale del campo magnetico (di seguito indicati come avvolgimenti poloidali)
per controllare la posizione del plasma.
31
Cap. 2 Il tokamak FTU dell’ENEA
§2.1 L’impianto FTU
Figura 2.2: Sezione dell’avvolgimento T e linee di campo magnetico da esso prodotte.
L’avvolgimento H (Horizontal), costituito da 2 bobine di Helmholtz, genera la
componente orizzontale del campo magnetico (v. Fig. 2.3) ed è utilizzato perciò per
controllare la posizione verticale del plasma: questa, poiché la sezione del plasma in
FTU è di forma circolare, è di per sè stabile e rende perciò marginale l’azione di controllo. Per questo motivo è sufficiente il passaggio di una corrente poco elevata, che
può arrivare a valori di 1200 A.
32
Cap. 2 Il tokamak FTU dell’ENEA
§2.1 L’impianto FTU
Figura 2.3: Sezione dell’avvolgimento H e linee di campo magnetico da esso prodotte.
L’avvolgimento V (Vertical), composto da 1 bobina di Helmholtz, genera la componente verticale del campo magnetico (v. Fig. 2.4) ed è utilizzato per il controllo
della posizione orizzontale che al contrario di quella verticale è instabile: a causa della
corrente di plasma, infatti, quest’ultimo tende a spostarsi verso l’esterno, per cui per
bilanciarlo è necessaria una potenza elevata. Nell’avvolgimento V possono scorrere
fino a 20000 A di corrente, con una pendenza massima di 200000 A/s. Per quanto
riguarda il segno della corrente, questa può scorrere in un solo verso nell’ambito di
un esperimento: per invertire la corrente è infatti necessaria un’operazione manuale
di inversione delle barre.
33
Cap. 2 Il tokamak FTU dell’ENEA
§2.1 L’impianto FTU
Figura 2.4: Sezione dell’avvolgimento V e linee di campo magnetico da esso prodotte.
L’avvolgimento F (Feedback), costituito da 2 bobine di Helmholtz, agisce anch’esso
sulla posizione orizzontale ed è pilotato in retroazione per il controllo fine di quest’ultima. In esso possono scorrere fino a 10500 A con una pendenza massima di 400000
A/s.
Gli avvolgimenti V ed F però non si distinguono solo per la corrente erogata e per
il sistema di controllo, ma sono differenti anche nel campo magnetico che generano:
come si può vedere in Figura 2.4 le linee di campo di V sono verticali e quasi uniformi, per cui è uniforme anche la forza che esercitano sul plasma, che lo fa muovere in
orizzontale.
L’avvolgimento F invece, a causa della sua configurazione a quadrupolo, genera
un campo magnetico non uniforme, di cui in Figura 2.5 si possono vedere le linee
34
Cap. 2 Il tokamak FTU dell’ENEA
§2.1 L’impianto FTU
di campo, e perciò non influenza solo la posizione orizzontale ma ha effetto anche
sull’elongazione del plasma, poiché tende a schiacciarlo.
Figura 2.5: Sezione dell’avvolgimento F e linee di campo magnetico da esso prodotte.
All’interno della camera da vuoto è montato un limiter toroidale che intercetta le
linee di flusso magnetico aperte esterne al boundary e forza il plasma a rimanere in
contatto con lui, evitando cosı̀ che questo vada a toccare e danneggiare le pareti.
Poiché tutti gli avvolgimenti di FTU sono in rame, per consentire il passaggio
di correnti cosı̀ elevate senza causare danni, è necessario abbassare la resistività dei
conduttori tenendoli a temperature molto basse. A questo scopo tutta la macchina è
inserita in un criostato che, attraverso un circuito chiuso caricato con azoto liquido,
la mantiene costantemente alla temperatura di -196 gradi centigradi.
35
Cap. 2 Il tokamak FTU dell’ENEA
§2.1 L’impianto FTU
Figura 2.6: Limiter.
La potenza richiesta dall’impianto per il suo funzionamento, caratterizzata da
grandi valori di picco, è di circa 400 MVA. Un valore cosı̀ elevato non può essere prelevato direttamente dalla rete pubblica. Si è resa quindi indispensabile l’installazione
di 2 gruppi di generatori in corrente alternata del tipo motore-volano-alternatore:
• MFG1 con potenza di picco di 170 MVA
• MFG3 con potenza di picco di 250 MVA
. Questi prelevano energia dalla rete pubblica durante le fasi di standby di FTU,
accumulandola sotto forma di energia cinetica nei volani; durante gli esperimenti i
36
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
generatori vengono staccati dalla rete e rilasciano alla macchina l’energia accumulata,
con picchi ammissibili maggiori di quelli della rete.
Per alimentare gli avvolgimenti e i sistemi a radiofrequenza la corrente deve essere
convertita da alternata in continua. Per questo sono installati ponti raddrizzatori a
diodi trifase per MFG1 e impianti di conversione a tiristori per MFG3.
Per il riscaldamento addizionale del plasma sono utilizzati attualmente 3 sistemi
a radiofrequenza (RF):
• IBW (Ions Bernstein Waves), costituito da 3 moduli, fornisce 1,8 MW alla
frequenza di 433 MHz
• LH (Lower Hybrid), costituito da 6 moduli, fornisce 6 MW alla frequenza di 8
GHz
• ECRH (Electron Cyclotron Radiofrequency Heating), costituito da 4 moduli,
fornisce 1,6 MW alla frequenza di 140 GHz.
La potenza RF viene trasmessa al tokamak tramite guide d’onda della lunghezza
di circa 50 m. Qui la potenza è trasferita al plasma da strutture di accoppiamento
affacciate sulla camera da vuoto attraverso le porte, costituite da: sistemi di antenne,
per IBW ed LH, e un sistema ottico di specchi orientabili per ECRH.
2.2
Architettura del sistema di controllo di FTU
Ogni esperimento eseguito con FTU viene detto sparo ed avviene attraverso una
sequenza operativa gestita dal sistema di controllo che dura tra i 10 e i 20 minuti,
consentendo in una giornata di sperimentazione di effettuare circa 30 prove.
37
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
Tutta la sequenza è gestita dal sistema di controllo Prometeo che, dovendosi occupare
del funzionamento sincronizzato di una grande quantità di impianti e apparecchiature,
è suddiviso in 3 livelli. Il primo livello è costituito da PLC per il controllo sul campo
degli impianti. Il secondo è costituito da concentratori con CPU Pentium e bus VME,
che comunicano ai PLC i comandi del livello superiore. Il terzo livello fornisce l’interfaccia uomo-macchina attraverso dei mimici e si occupa dell’archiviazione real-time
dei dati. Per assicurare il funzionamento sincronizzato di tutte le apparecchiature
coinvolte, tutto il sistema di controllo è scandito da un Master Clock generale dalla
frequenza di 1 MHz.
La parte del controllo real-time è gestita dal software vme main, scritto in linguaggio c/c++. Questo gira su un PC con processore Pentium III 433 MHz montato
su bus VME grazie al quale comunica con i convertitori AD e DA (12 bit di risoluzione), e con il Master Clock; la comunicazione con il resto del sistema Prometeo
avviene invece tramite protocollo TCP/IP. Sul PC è installato il sistema operativo
Linux-RTAI, il quale durante le operazioni real-time interrompe qualunque altro processo e impedisce qualunque forma di preemption per riservare la CPU esclusivamente
al processo del vme main, garantendo cosı̀ il determinismo dell’esecuzione in hard
real-time.
Ogni sequenza operativa è costituita di varie fasi:
• Predisposizione degli impianti
• PRERUN
• STARTRUN
38
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
• ENDRUN
Nella prima fase il sistema di controllo verifica che tutti gli impianti inseriti nella
configurazione dello sparo siano abilitati. Terminata la verifica viene emessa una gate
di PRERUN che dà inizio alla seconda fase, della durata di 120 secondi. In questa
fase si predispone l’impianto di alimentazione elettrica per lo sparo.
La gate di STARTRUN viene emessa 10 secondi prima della scarica di plasma. A
questo punto il controllo passa al sottosistema FSC (Fast Sequence Controller) che
gestisce gli eventi successivi della sequenza a livello hardware, assicurando cosı̀ la trasmissione veloce dei comandi.
Il campo magnetico toroidale si porta entro 1.5 s al suo valore di regime. Contemporaneamente il trasformatore centrale è caricato ad un valore preprogrammato
di corrente. Una veloce variazione del flusso prodotta dalla commutazione del trasformatore causa il breakdown della scarica, con il quale il gas viene ionizzato per
diventare plasma. La densità del plasma è controllata tramite 6 valvole piezoelettriche che eseguono una sequenza di immissione di gas. Le correnti negli avvolgimenti
poloidali sono preprogrammate in modo da fornire un campo nullo nella zona centrale
del plasma. Una volta che il plasma è stato formato la corrente di plasma si porta
al valore preprogrammato, raggiunto il quale inizia la fase stazionaria che dura 1.5 s.
Durante questa fase, la corrente di plasma viene mantenuta costante anche in presenza
di riscaldamento addizionale. Finita la fase stazionaria il trasformatore e i sistemi di
riscaldamento a radiofrequenza vengono spenti e la corrente di plasma decade a zero.
L’equilibrio del plasma deve comunque essere controllato in questa fase per evitare
fenomeni di disruzione del plasma che potrebbero usurare il limiter e danneggiare le
39
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
pareti della camera.
A questo punto la scarica di plasma si può considerare conclusa e un comando di
FINE ESPERIMENTO, che dà inizio alla fase di ENDRUN, viene trasmesso a tutti
gli impianti, che si riportano cosı̀ in uno stato di standby per poi predisporsi per un
nuovo sparo. Durante questa fase i sistemi di acquisizione locale trasferiscono i dati
acquisiti durante l’esperimento dal buffer di memoria locale al sistema di acquisizione
centrale che provvede ad archiviarli.
Il software vme main è in funzione per 5 secondi, da -2 fino a 3, contando il tempo dall’istante in cui comincia il controllo in feedback. Durante tutta l’esecuzione
il software può comunicare con l’esterno solo attraverso i convertitori AD e DA, che
funzionano ad una frequenza di 2 kHz e con cui comunica in modalità DMA (Direct
Memory Access) attraverso una porzione di memoria condivisa. Solo alla fine dei 5
secondi tutti i dati acquisiti vengono trasferiti su un’altra macchina per essere ingegnerizzati e archiviati in un database.
Il software ha il compito di generare i riferimenti delle valvole, per il controllo della densità, e delle correnti negli avvolgimenti poloidali, per il controllo in retroazione
della posizione verticale, di quella orizzontale e della corrente di plasma.
Per eseguire il controllo, ad ogni colpo del clock vengono acquisite tramite l’ADC la
misura della corrente di plasma e le misure magnetiche.
Per calcolare il riferimento di ciascun avvolgimento poloidale, nell’algoritmo è implementato un compensatore ad azione proporzionale, integrale e derivativa (PID)
40
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
con l’aggiunta di un segnale preprogrammato in feedforward per ridurre al minimo le
variazioni apportate dal feedback.
L’avvolgimento T è utilizzato per il controllo della corrente di plasma: il riferimento di corrente per T è calcolato quindi a partire dalla misura della corrente di
plasma e dal preprogrammato di quest’ultima.
Per quanto riguarda la posizione del plasma, quest’ultimo in FTU è sempre in
configurazione limiter, essendo la camera da vuoto a sezione circolare. Per questo
motivo il plasma si trova sempre appoggiato al limiter, il quale fornisce un segnale
che indica in ogni istante quale funghetto in particolare è a contatto con il plasma.
Grazie a questa informazione, insieme alla misura della corrente di plasma e alle misure
magnetiche, l’algoritmo riesce a ricostruire la posizione del boundary: in particolare
sono calcolati i valori del raggio interno, del raggio esterno, e degli estremi superiore
e inferiore, i quali sono utilizzati per il controllo di posizione.
41
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
Figura 2.7: Calcolo del ∆ψ dalle misure e i preprogrammati dei raggi.
Essendo il plasma appoggiato in un punto noto, delle quattro variabili di cui sopra ne rimangono da determinare solo due, una verticale e una orizzontale. Queste
vengono stimate tramite il valore che il flusso magnetico assume nel punto preprogrammato, sia per quanto riguarda la posizione orizzontale che quella verticale. Tale
valore, chiamato di seguito ∆ψ (v. Fig. 2.7), è nullo nel caso in cui il boundary si
trovi esattamente nella posizione voluta. L’azione del compensatore PID ha quindi lo
scopo di mantenere a zero il valore di ∆ψ nonostante la presenza di disturbi.
La posizione verticale è controllata tramite H, per cui il suo riferimento viene calcolato per tenere a zero ∆ψZ , relativo all’errore verticale.
42
Cap. 2 Il tokamak FTU dell’ENEA
§2.2 Architettura del sistema di controllo di FTU
La posizione orizzontale è controllata tramite V ed F. Il primo, che eroga la maggior
parte della potenza di controllo, agisce solamente in feedforward, poiché i coefficienti
del PID sono tenuti sempre a zero. F lavora invece in retroazione per tenere a zero il
∆ψ.
Per ciascuna corrente nel codice sono implementate inoltre le saturazioni di ampiezza e di pendenza e i sistemi di protezione per gli eventi di disruzione e di assenza
di plasma, che eseguono uno ”smooth shutdown” dei riferimenti in uscita.
Si assume che sia in atto una disruzione quando satura la derivata delle correnti per
più di 25 ms.
Se invece al tempo di 40 ms, rispetto al tempo 0 di plasma, la IP è minore di 80 kA
si assume che ci sia assenza di plasma.
43
Capitolo 3
Sistemi con ingressi ridondanti
In questo capitolo viene esposto un metodo di allocazione dinamica degli ingressi in sistemi con ingressi ridondanti, proposto
nell’articolo [1].
3.1
Introduzione
Molte applicazioni di controllo moderne sono caratterizzate dalla presenza di attuatori
multipli che hanno lo stesso effetto sugli stati o sulle uscite del sistema da controllare.
In questi casi è interessante studiare la possibilità di implementare un sistema di controllo che sfrutti questa ridondanza per allocare adeguatamente l’azione di controllo
tra i vari ingressi, in modo tale da perseguire qualche ulteriore obiettivo specifico
come, ad esempio, minimizzare l’energia richiesta dagli attuatori, o favorire alcuni
attuatori piuttosto che altri per motivi di sicurezza o di efficienza.
Questo problema si presenta spesso anche a causa delle saturazioni di ampiezza e di
pendenza sempre presenti negli attuatori reali. Un caso ricorrente è quello in cui si
hanno a disposizione due diversi attuatori per lo stesso scopo, uno lento ma potente
e l’altro veloce ma meno potente: più precisamente uno con saturazione stringente
sulla pendenza ma non sull’ampiezza, l’altro con saturazione stringente sull’ampiezza
44
§3.2 Sistemi con ingressi ridondanti
Cap. 3 Sistemi con ingressi ridondanti
ma non sulla pendenza. L’idea è quella di sfruttare quello lento ma potente per gran
parte del lavoro di controllo e quello più veloce per effettuare rapidi aggiustamenti
di piccola entità. In questo modo si riescono a sfruttare le caratteristiche positive
di ciascun attuatore, tenendo al contempo il sistema lontano da regimi che possano
danneggiarlo o degradarne le prestazioni.
In questo capitolo verrà mostrato come in sistemi con ingressi ridondanti sia possibile
individuare delle direzioni nello spazio vettoriale degli ingressi lungo le quali i segnali
in ingresso non hanno alcun effetto sullo stato o sull’uscita a regime del sistema controllato.
3.2
Sistemi con ingressi ridondanti
Si consideri un generico sistema dinamico lineare MIMO (Multiple Input Multiple
Output) in cui l’impianto da controllare è descritto nello spazio di stato dal sistema
di equazioni:
ẋ = Ax + Bu + Bd d
y = Cx + Du + Dd d
(3.2.1)
dove x ∈ Rn è il vettore delle variabili di stato dell’impianto, u ∈ Rnu il vettore
degli ingressi, y ∈ Rny il vettore delle uscite e d ∈ Rnd il vettore degli ingressi di
disturbo.
Per formalizzare il concetto di ridondanza viene data la seguente definizione: il
sistema (4.2.4) è un sistema con ingressi strettamente ridondanti se soddisfa:
Ker
B
D
6= 0
(3.2.2)
Ciò vuol dire che nello spazio degli ingressi esiste un sottospazio, detto kernel, la
cui immagine è un vettore nullo, ossia esistono delle combinazioni di ingressi che non
45
§3.3 Allocazione dinamica degli ingressi
Cap. 3 Sistemi con ingressi ridondanti
influenzano in alcun modo lo stato e l’uscita dell’impianto. In questo caso è possibile
trovare una matrice B⊥ le cui colonne rappresentino una base di questo sottospazio e
che quindi soddisfi:
Im (B⊥ ) = Ker
3.3
B
D
(3.2.3)
Allocazione dinamica degli ingressi
Figura 3.1: Generico sistema di controllo in retroazione.
Si consideri ora un controllore lineare
ẋc = Ac xc + Bc uc + Br rc
yc = Cc xc + Dc uc + Dr rc
(3.3.1)
dove r ∈ Rnr è il vettore dei riferimenti, collegato all’impianto con il classico
schema di retroazione
y = uc
(3.3.2)
46
§3.3 Allocazione dinamica degli ingressi
Cap. 3 Sistemi con ingressi ridondanti
u = yc
(3.3.3)
Si ottiene cosı̀ lo schema di Figura 3.1.
L’idea è quella di inserire tra il controllore e l’impianto un ulteriore blocco (Figura
3.2), che sarà chiamato in seguito allocatore, che modifichi dinamicamente gli ingressi
al sistema secondo qualche criterio, senza modificarne l’uscita. Per fare ciò l’allocatore può sommare al vettore degli ingressi yc calcolato dal controllore un vettore ∆u
appartenente al sottospazio nullo individuato precedentemente, in modo da non avere
effetti sulle uscite.
Il blocco allocatore può essere realizzato, come mostrato in Figura 3.3, come segue
ẇ = −KBT
⊥ Wu
(3.3.4)
u = yc + B⊥ u
(3.3.5)
dove K e W sono delle matrici opportune.
Figura 3.2: Sistema di controllo in retroazione con aggiunta del blocco allocatore.
47
Cap. 3 Sistemi con ingressi ridondanti
§3.3 Allocazione dinamica degli ingressi
Figura 3.3: Blocco allocatore.
Come viene dimostrato in [1] se le matrici K e W sono simmetriche e soddisfano
K>0
(3.3.6)
BT
⊥ WB⊥ > 0
(3.3.7)
risulta che:
• il sistema con allocatore è internamente stabile se e solo se è internamente stabile
quello senza allocatore
• l’uscita del sistema con allocatore coincide in ogni istante con l’uscita del sistema
senza allocatore
In altre parole i due problemi della stabilità e della modifica degli ingressi sono
perfettamente disaccoppiati. Si può perciò progettare in primo luogo il controllore per
stabilizzare il sistema e avere l’uscita desiderata e in un secondo momento progettare
48
Cap. 3 Sistemi con ingressi ridondanti
§3.3 Allocazione dinamica degli ingressi
l’allocatore per cambiare gli ingressi senza modificare in alcun modo la stabilità e
l’uscita del sistema.
Ponendo ẇ = 0 si trova che l’uscita dell’allocatore a regime risulta
∗
u = I−
−1
B⊥ BT
⊥ WB⊥
BT
⊥W
yc∗
(3.3.8)
che, si può dimostrare, è l’uscita che minimizza la funzione obiettivo
J (u) = uT Wu
(3.3.9)
u = yc + B⊥ w.
(3.3.10)
rispettando il vincolo
Per cui scegliendo una matrice W = I l’azione dell’allocatore tende a minimizzare a regime la somma dei quadrati degli ingressi. Scegliendo invece una matrice W
diagonale e definita positiva l’allocatore minimizzerà la somma pesata dei quadrati:
maggiore è il valore Wii corrispondente all’ingresso ui , più l’allocatore cercherà di minimizzare questo ingresso rispetto agli altri.
Per quanto riguarda la matrice K, come si può vedere dall’eq. (3.3.8), essa non
influenza gli ingressi a regime. Ciò che influenza sono le dinamiche di allocazione:
scegliendo K = ρI, con ρ > 0, il parametro ρ regola la velocità di convergenza del
vettore u al valore (3.3.8); scegliendo invece la matrice K diagonale e definita positiva, i valori sulla diagonale regoleranno la velocità di convergenza individualmente per
49
Cap. 3 Sistemi con ingressi ridondanti
§3.3 Allocazione dinamica degli ingressi
ogni direzione ridondante corrispondente alla base B⊥ scelta.
Se ciò che si vuole ottenere tramite l’allocazione degli ingressi non è minimizzarli
ma fargli inseguire dei riferimenti u0 , l’allocatore può essere modificato nel modo
seguente
ẇ = −KBT
⊥ W (u − u0 )
u = yc + B⊥ w.
(3.3.11)
In questo modo non saranno minimizzati gli ingressi u ma la loro differenza dai
riferimenti u0 .
Figura 3.4:
ridondanti.
Blocco allocatore per l’inseguimento di riferimenti per gli ingressi
Quelli sopra presentati sono solo i modi più semplici di utilizzare l’allocatore. Per
avere funzioni più complesse si possono costruire delle matrici K e W che varino
nel tempo, eventualmente in funzione dello stato del sistema o degli ingressi, purché
50
Cap. 3 Sistemi con ingressi ridondanti
§3.3 Allocazione dinamica degli ingressi
rimangano sempre rispettate le condizioni (3.3). Come è illustrato più avanti questo
metodo può essere utilizzato ad esempio per tenere gli ingressi lontani dai valori di
saturazione, o per abilitare o disabilitare alcuni ingressi in istanti diversi.
51
Capitolo 4
Progettazione dell’allocatore
In questo capitolo viene presentato il lavoro di progettazione svolto
presso il centro ricerche ENEA di Frascati. In particolare sono
mostrate le motivazioni e le specifiche di progetto da cui è partito
il lavoro, la realizzazione di un modello Simulink del sistema di
controllo e le simulazioni ottenute da quest’ultimo.
4.1
Obiettivi e specifiche di progetto
L’idea di questa tesi nasce da una concomitanza di situazioni e di motivazioni che
hanno portato alla scelta di implementare un controllo di elongazione sfruttando le
tecniche di allocazione dinamica di ingressi ridondanti.
Da parte dell’ENEA c’era la necessità di poter controllare in FTU l’elongazione del
plasma, un parametro che ne misura lo schiacciamento della sezione. Nonostante
FTU nasca con sezione circolare, infatti, i fisici del centro ricerche di Frascati sono
interessati a eseguire esperimenti con valori di elongazione diversi da 1, nonché stabili
durante l’esperimento.
Attualmente il sistema di controllo è implementato in maniera tale che l’avvolgimento
V e l’avvolgimento F collaborino per controllare la posizione orizzontale del plasma:
• V lavora ad anello aperto, ossia segue un preprogrammato senza un anello di
52
Cap. 4 Progettazione dell’allocatore
§4.1 Obiettivi e specifiche di progetto
retroazione, fornendo gran parte della potenza necessaria per il controllo
• F lavora in retroazione per correggere gli errori dovuti a disturbi ed incertezze
nel modello ed inseguire cosı̀ la posizione richiesta.
Come si è visto nel capitolo 2.1, il campo magnetico generato dall’avvolgimento F
agisce oltre che sulla posizione orizzontale del plasma, anche sulla sua elongazione,
per cui potrebbe essere utilizzato per controllare l’elongazione anziché la posizione
orizzontale, lasciando al V questo compito.
Purtroppo il V è più lento dell’F e perciò non è adatto ad eseguire da solo il controllo
di posizione.
Oltre al problema contingente da risolvere su FTU era interessante provare le tecniche
di allocazione degli ingressi esposte nel capitolo 3 su di un tokamak per darne una dimostrazione pratica dell’utilità in questo campo di ricerca. Infatti i tokamak sono un
ottimo esempio di sistemi con ingressi ridondanti: il JET è dotato di 8 avvolgimenti
poloidali per il controllo di posizione e forma, mentre ITER ne avrà 6. Inoltre nei
tokamak moderni si utilizzeranno avvolgimenti superconduttori, che presentano stringenti livelli di saturazione sulla pendenza delle correnti, in congiunzione con semplici
avvolgimenti conduttori, che invece possono sopportare correnti con pendenze maggiori, ma hanno grosse limitazioni sull’ampiezza. Questo problema, come si è visto nel
capitolo 3, può essere affrontato aggiungendo al sistema di controllo un blocco allocatore degli ingressi che suddivida l’azione di controllo tra i vari attuatori, lasciando le
dinamiche più veloci agli attuatori veloci e le dinamiche lente agli attuatori più lenti.
Nell’ambito di questa tesi quindi è stato progettato in ambiente Matlab/Simulink e
successivamente implementato in linguaggio c/c++ un allocatore per gli attuatori V
ed F di FTU. Lo scopo di tale allocatore è quello di demandare il controllo di posizione
53
§4.2 Progettazione di un allocatore lineare
Cap. 4 Progettazione dell’allocatore
orizzontale al V, per quanto riguarda le dinamiche lente, e lasciare all’avvolgimento F
solamente l’onere del controllo delle dinamiche più veloci; in questo modo F è libero
di inseguire un riferimento di corrente che controlli, in anello aperto, l’elongazione del
plasma.
4.2
Progettazione di un allocatore lineare
Come visto nel capitolo 3, per la progettazione dell’allocatore è necessario avere un
modello del sistema da controllare. Allo scopo di verificare l’applicabilità del metodo
in questo contesto, si è deciso di utilizzare un modello particolarmente semplificato del
comportamento di FTU per quanto riguarda il controllo della posizione orizzontale
del plasma, già usato in precedenza in altri lavori (v. [11],[12]).
Gli ingressi ridondanti del sistema sono le correnti negli avvolgimenti F e V, rispettivamente indicate con If e Iv . Ulteriori ingressi possono essere modellati come disturbi.
In particolare si è tenuta in considerazione la corrente di plasma Ip .
L’uscita di nostro interesse è la posizione orizzontale del plasma per la quale, come
visto nel paragrafo 2.2, non è disponibile una misura diretta. Tale posizione viene
quindi misurata indirettamente tramite la differenza di flusso magnetico ∆ψ, che sarà
assunta quindi come uscita del modello.
Il modello utilizzato è un modello lineare e stazionario del primo ordine, la cui funzione
di trasferimento nel dominio di Laplace è la seguente:
∆ψ(s) =
s
(Kfv u(s) + Kp d(s))
τs + 1
(4.2.1)
dove
54
§4.2 Progettazione di un allocatore lineare
Cap. 4 Progettazione dell’allocatore
u=
Kfv =
If
Iv
d=
Kf Kv
Ip
Kd =
(4.2.2)
Kp
(4.2.3)
con Kf , Kv , Kp coefficienti adeguati e τ che rappresenta la costante di tempo del
sistema, che si assume uguale per tutti gli ingressi.
La funzione di trasferimento può essere rappresentata con lo schema a blocchi in
Figura 4.1.
Figura 4.1: Modello lineare del plasma.
Per utilizzare i metodi descritti nel capitolo 3 è necessario riportare il sistema nella
rappresentazione in variabili di stato:
55
§4.2 Progettazione di un allocatore lineare
Cap. 4 Progettazione dell’allocatore
ẋ = Ax + Bu + Bd d
y = Cx + Du + Dd d
(4.2.4)
In questo caso le matrici risultano essere:
A = − τ1 B =
1
τ
Kf Kv
Bd =
1
τ
Kp
(4.2.5)
C = − τ1 D =
1
τ
Kf Kv
Dd =
1
τ
Kp
(4.2.6)
Appare immediatamente evidente come la matrice
B
D
1
=
τ
Kf Kv
Kf Kv
(4.2.7)
risulti essere singolare, ossia con determinante nullo, avendo due righe linearmente dipendenti. Dunque si può affermare che gli ingressi If e Iv sono strettamente
ridondanti poiché, come visto nel capitolo 3, risulta
Ker
B
D
6= 0
(4.2.8)
è possibile a questo punto trovare una matrice B⊥ che rappresenti una base del
kernel. Una possibile scelta, che risulta particolarmente comoda, è la seguente:
B⊥ =
b
−1
(4.2.9)
con
b=
Kv
Kf
(4.2.10)
56
§4.2 Progettazione di un allocatore lineare
Cap. 4 Progettazione dell’allocatore
Come si può vedere la matrice B⊥ ha dimensione 2×1, essendo il numero di ingressi
uguale a 2 e la dimensione del kernel uguale ad 1: esiste quindi una sola direzione nello
spazio degli ingressi lungo la quale l’effetto sull’uscita è nullo. Riprendendo quindi le
equazioni del capitolo 3 si può ora costruire un primo modello dell’allocatore, dato da
ẇ = −KBT
⊥ Wu
(4.2.11)
u = yc + B⊥ w.
(4.2.12)
L’allocatore risulta avere una sola variabile di stato, relativa all’unica direzione
del kernel, per cui la matrice K si riduce ad uno scalare
K=
k
;
(4.2.13)
scegliendo inoltre W diagonale
W=
w1 0
0 w2
(4.2.14)
il modello può essere rappresentato con lo schema a blocchi di Figura 4.2 e 4.3.
Figura 4.2: Schema a blocchi dell’anello di controllo con l’aggiunta dell’allocatore.
57
Cap. 4 Progettazione dell’allocatore
§4.2 Progettazione di un allocatore lineare
Poiché in questo caso l’obiettivo dell’allocazione è solo quello di far inseguire ad
If un profilo di riferimento senza cambiare l’uscita ∆ψ, l’andamento della corrente Iv
viene lasciato decidere all’allocatore, senza fornire per essa un riferimento; per questo
il peso w2 può essere preso uguale a 0, continuando a rispettare la condizione (3.3).
Figura 4.3: Ingrandimento dell’allocatore.
Per quanto riguarda la scelta del parametro k, che come abbiamo visto influenza
la velocità con cui l’allocatore assesta gli ingressi sui valori di riferimento, sono state
realizzate delle simulazioni ed è stato scelto un valore che non portasse a pendenze
eccessive per gli avvolgimenti. Di seguito sono illustrati i risultati di alcune di queste
simulazioni.
58
Cap. 4 Progettazione dell’allocatore
§4.2 Progettazione di un allocatore lineare
Nella prova graficata in Figura 4.4 è possibile vedere l’andamento delle correnti
simulate prima con il modello del sistema di controllo originale e successivamente con
l’aggiunta dell’allocatore. Come riferimento per la corrente If è stato utilizzato un
segnale costante, seguito perfettamente dall’avvolgimento F.
Figura 4.4: Simulazione con riferimento costante di -2000 A.
Figura 4.5: Simulazione con riferimento costante di 10000 A.
59
Cap. 4 Progettazione dell’allocatore
§4.2 Progettazione di un allocatore lineare
Si può osservare come la corrente Iv venga automaticamente diminuita in valore
assoluto per compensare la variazione ∆If richiesta, in modo da non variare l’uscita
∆ψ, che risulta infatti esattamente uguale nelle due prove. In Figura 4.5 è mostrata
una prova analoga con riferimento costante di valore differente.
Figura 4.6: Simulazione con riferimento costante con valore di k positivo.
La Figura 4.6 mostra come l’allocatore, per valori positivi del parametro k, diventi
instabile, portando le correnti ai livelli di saturazione. Sono state effettuate delle prove
con riferimento a onda quadra dalle quali risulta più evidente il ruolo del parametro
k. In particolare nel grafico 4.8 si può vedere come la corrente If insegua più o meno
velocemente lo stesso riferimento variando il valore di k.
60
Cap. 4 Progettazione dell’allocatore
§4.2 Progettazione di un allocatore lineare
Figura 4.7: Simulazione con riferimento ad onda quadra.
Figura 4.8: Simulazione con riferimento ad onda quadra con diversi valori di k.
Poiché l’allocatore è lineare, fornendo un riferimento a onda quadra di ampiezza
troppo elevata la corrente If varia con pendenze altrettanto elevate, come si può
61
Cap. 4 Progettazione dell’allocatore
§4.2 Progettazione di un allocatore lineare
vedere in Figura 4.9. Questo può portare dei problemi all’impianto reale. Già nel
sistema di controllo attuale è infatti presente una saturazione sulla pendenza delle
correnti richieste ai generatori. Inoltre è implementata una sequenza di sicurezza che
termina l’esperimento preventivamente nel caso in cui le pendenze saturino per troppo
tempo. Questo problema sarà affrontato nel prossimo paragrafo.
Figura 4.9: Simulazione con riferimento ad onda quadra di ampiezza elevata.
62
Cap. 4 Progettazione dell’allocatore
4.3
§4.3 Progettazione di un allocatore non lineare
Progettazione di un allocatore non lineare
All’allocatore iniziale visto nel paragrafo precedente sono state apportate varie modifiche, tutte con lo scopo di rendere l’allocatore meno invasivo nei confronti dell’impianto
e del sistema di controllo già esistente.
Per prima cosa, come si è visto, un valore di k troppo elevato può portare, se il riferimento presenta delle escursioni troppo ampie, a richiedere agli attuatori correnti con
pendenze troppo elevate. Per risolvere questo problema è stata inserita nell’allocatore
una saturazione sul segnale ẇ prima dell’integratore, che limita la pendenza ad un
valore prefissato.
Figura 4.10: Schema a blocchi dell’allocatore con saturazione sulla pendenza.
In questo modo, se per piccoli segnali di riferimento il tempo d’assestamento dipende dal valore di k, per segnali con grosse escursioni esso dipende prevalentemente
dal valore della saturazione.
Questa modifica non porta problemi di instabilità all’allocatore. L’aggiunta della
63
§4.3 Progettazione di un allocatore non lineare
Cap. 4 Progettazione dell’allocatore
saturazione può essere vista infatti come una sostituzione della matrice diagonale
costante K iniziale con una matrice K(u⊥ ) variabile data dall’equazione:
K (a) := diag (ksatm (a))
(4.3.1)
dove u⊥ = BT
⊥ Wu, m indica il vettore delle pendenze massime su ogni componente
ridondante
m :=
m1 ... mn
(4.3.2)
e la funzione ksatm (a) è definita come:



ksatm (a) := 


n
min k1 , sign (a1 )
.
.
n
m1
|a1 |
o 
mn
min kn , sign (an ) |a
n|




o 
(4.3.3)
La matrice K(u⊥ ) cosı̀ costruita risulta essere definita positiva per ogni valore di
u⊥ , continuando cosı̀ a rispettare le condizioni (3.3).
64
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Figura 4.11: Simulazione con riferimento ad onda quadra con e senza la saturazione
di pendenza.
In Figura 4.11 vengono mostrate la prova di Figura 4.9 insieme ad una nuova simulazione con lo stesso segnale di riferimento ma con la modifica all’allocatore appena
discussa, mostrandone l’effetto sulle correnti. Allo stesso modo la Figura seguente
(4.12) mostra come il tempo di salita sia determinato, per segnali di grande ampiezza, quasi solo dalla saturazione: il valore di k viene infatti lasciato costante nelle tre
prove, mentre viene variato il valore della saturazione.
65
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Figura 4.12: Simulazione con riferimento ad onda quadra con diversi valori di k.
è stata inoltre introdotta una saturazione anche dopo l’integratore, per permettere
ai fisici dell’ENEA di limitare l’ampiezza del contributo dell’allocatore.
Come si può vedere dalla prova di Figura 4.14 questa modifica porta con sé un problema: infatti, oltre a impedire all’allocatore di inseguire riferimenti troppo distanti
dai segnali di comando del PID, quando i segnali in uscita dall’allocatore saturano
provocano un effetto di windup, poiché per tutto il tempo in cui il segnale è saturato
l’integratore continua a caricarsi per cercare di diminuire l’errore; quando il riferimento esce dalla zona di saturazione, l’integratore, che si è caricato fino a quel momento,
necessita del tempo ulteriore per scaricarsi e ricominciare a inseguire il riferimento.
66
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Figura 4.13: Schema a blocchi dell’allocatore con l’aggiunta della saturazione sulle
uscite.
Figura 4.14: Simulazione con riferimento ad onda quadra con saturazione sulle uscite
dell’allocatore.
Nel prossimo capitolo è mostrato come si può risolvere questo problema implementando in campo discreto, invece di un integratore seguito da una saturazione,
direttamente un integratore saturato.
67
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Per evitare eventuali problemi nel caso in cui l’azione dell’allocatore portasse le
correnti negli avvolgimenti ai livelli di saturazione, per esempio a causa di riferimenti
sbagliati o di malfunzionamenti imprevisti, l’allocatore è stato modificato in modo
tale da mettersi da parte in queste situazioni e lasciare il controllo al solo PID. Per
fare questo si è pensato, invece di spegnere l’allocatore, di mandargli come riferimento
della corrente IV lo stesso preprogrammato che veniva seguito ad anello aperto nel
precedente sistema di controllo, e mettendo al posto della matrice costante W una
matrice W (u) variabile con gli ingressi. In questo modo si aggiunge un’ulteriore
non-linearità all’allocatore, che rimane però stabile a condizione che la nuova matrice
W (u) rispetti per ogni valore di u la condizione (3.3). Per semplicità è sufficiente
prendere una matrice W (u) diagonale e definita positiva.
Figura 4.15: Allocatore con pesi variabili in funzione degli ingressi.
L’idea di base è la seguente: in condizioni normali il peso w1 dell’errore della
corrente IF rispetto al riferimento è impostato a 1, mentre w2, relativo all’errore di
inseguimento della corrente IV , è impostato a 0. In questo modo l’allocatore lavora
col solo obiettivo di inseguire il riferimento di IF , senza preoccuparsi di quanto sta
modificando i comandi del PID. Quando invece l’azione dell’allocatore porta le correnti
68
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
troppo vicine ai livelli di saturazione, i pesi si invertono gradualmente fino ad portare
w1 a 0, e w2 ad 1: in questo caso estremo l’allocatore non si preoccupa più di inseguire
il riferimento di IF , ma cerca invece di far tornare le correnti come richieste dal PID.
Figura 4.16: Schema delle funzioni di peso.
Come si può capire dalla Figura 4.16 il peso w1 è calcolato come prodotto di due
valori ricavati con delle funzioni di peso relative rispettivamente a IF e IV . Queste due
funzioni, come spiegato più avanti, sono definite in modo tale da avere come risultato
1 per valori delle correnti lontani dai livelli di saturazione, per scendere gradualmente
a zero se queste vi si avvicinano troppo. Il prodotto delle due funzioni dà quindi a sua
69
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
volta un risultato compreso tra 0 e 1. Il peso w2 è quindi calcolato come complemento
ad 1 di w1, rimanendo cosı̀ anch’esso nel range tra 0 e 1.
Per quanto riguarda le funzioni di peso ne sono state implementate due tipi. Inizialmente si è scelta una funzione a trapezio computazionalmente semplice e con
parametri intuitivi da regolare. In Figura 4.17 è graficata la caratteristica statica
ingresso-uscita. I quattro parametri possono essere decisi in base ai valori di saturazione degli attuatori, a quanto ci si vuole tenere lontani da questi e a quanto si vuole
che l’arresto dell’allocatore sia morbido o brusco.
Figura 4.17: Caratteristica statica ingresso-uscita della funzione di peso trapezoidale.
70
§4.3 Progettazione di un allocatore non lineare
Cap. 4 Progettazione dell’allocatore
Successivamente è stata cercata una funzione derivabile dalle caratteristiche simili,
in modo da avere un comportamento più morbido. Una possibile scelta è la seguente:


k

y(x) = (k − 1) 1 − 1 + k − sat (x−x̄)
∆ (4.3.4)
con
0<k<1
xu − xl
2
xu + xl
x̄ =
2
1<s
 1
s
−1 < s < 1
sat (s) =

−1
s < −1
∆=
(4.3.5)
(4.3.6)
(4.3.7)
(4.3.8)
dove sono indicati con xu e xl rispettivamente l’upper-bound e il lower-bound
della saturazione. Il parametro k va scelto all’interno del range (0, 1) e permettere
di regolare quanto è rapido il passaggio della caratteristica tra 0 e 1: come mostrato
nelle Figure 4.3, 4.3 e 4.3, in cui è graficata la caratteristica ingresso-uscita per diversi
valori di k, più quest’ultimo è prossimo allo zero, più la curva è ripida e la zona di
funzionamento normale è ampia.
Figura 4.18: Caratteristica ingresso-uscita della funzione peso con valori di k
rispettivamente uguali a 0.1,0.01, 0.001.
71
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Sebbene questa seconda implementazione abbia il vantaggio di essere liscia, richiede molti più calcoli e le piccole differenze in fase di simulazione non sembrano
suggerirne l’utilizzo.
Le Figure 4.19, 4.20 e 4.21 mostrano i risultati di alcune simulazioni eseguite con la
matrice W (u) variabile implementata con la funzione di peso a trapezio. Nelle prime
due si vede come la corrente IF smette progressivamente di seguire il riferimento
man mano che questo porta la IV ai limiti di saturazione, rispettivamente inferiore e
superiore. La curva color magenta mostra come il peso w1 passa dal valore 1 a valori
vicino allo 0. Nella terza immagine viene mostrato lo stesso comportamento nel caso
in cui sia IF ad avvicinarsi ai limiti di saturazione. In questa Figura la curva magenta
mostra il peso w2 che, al contrario di w1, dal valore 0 passa a valori prossimi a 1 nei
momenti critici.
Figura 4.19: Intervento della funzione di peso trapezoidale in caso di un riferimento
che porta IV verso il limite superiore di saturazione.
72
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Figura 4.20: Intervento della funzione di peso trapezoidale in caso di un riferimento
che porta IV verso il limite inferiore di saturazione.
Figura 4.21: Intervento della funzione di peso trapezoidale in caso di un riferimento
che porta IF verso il limite superiore di saturazione.
73
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
L’ultima modifica è stata quella di inserire un segnale esterno di attivazione dell’allocatore, per permetterne un avvio e uno spegnimento graduali. La motivazione
principale è che il modello dell’impianto utilizzato per la progettazione dell’allocatore
può essere considerato soddisfacente solo in fase di flat-top, quando cioè il plasma è
già stato formato e la corrente di plasma è a regime. Durante le fasi di ramp-up e
ramp-down invece il comportamento del plasma è più complesso e non ci sono al momento modelli che ne descrivano adeguatamente l’evoluzione: si è preferito per questo
lasciare il compito del controllo durante queste fasi al sistema di controllo attuale.
Come si può vedere in Figura 4.22 il segnale di attivazione va a moltiplicare il peso w1
là dove agiscono le funzioni di peso; deve perciò anche esso variare nell’intervallo [0,1]
per mantenere gli stessi criteri spiegati precedentemente riguardo queste funzioni.
Figura 4.22: Modifica al blocco W dei pesi per comandare l’allocatore con un segnale
di attivazione.
Nelle simulazioni mostrate di seguito si può osservare l’effetto del segnale di attivazione sull’andamento delle correnti.
74
Cap. 4 Progettazione dell’allocatore
§4.3 Progettazione di un allocatore non lineare
Figura 4.23: Simulazione con riferimento ad onda quadra e con un diverso segnale di
attivazione.
Figura 4.24: Simulazione con riferimento ad onda quadra e con segnale di attivazione.
75
Capitolo 5
Implementazione dell’allocatore
In questo capitolo viene illustrata l’implementazione in linguaggio C++ dell’allocatore progettato e la sua integrazione all’interno
dell’attuale software per il controllo real-time.
5.1
Discretizzazione dell’allocatore
Il primo passo per poter implementare a livello software il compensatore progettato
è senza dubbio quello di convertirlo da tempo-continuo a tempo-discreto, in quanto
i dati aggiornati relativi alle misure sono disponibili solo ad ogni colpo di clock,
che avviene ad intervalli regolari uguali al tempo di campionamento del sistema di
controllo.
L’unica parte dinamica dell’allocatore, che va quindi convertita in tempo-discreto,
è l’integratore. Il metodo utilizzato per la discretizzazione è quello di Tustin, che
approssima l’area sottesa alla curva x(t) tra i due istanti tk−1 e tk con l’area del
trapezio che ha per basi i valori x(tk−1 ) = xk−1 e x(tk ) = xk e per altezza il tempo di
campionamento Ts , come mostrato in Figura 5.1.
76
§5.1 Discretizzazione dell’allocatore
Cap. 5 Implementazione dell’allocatore
Figura 5.1: Metodo di discretizzazione di Tustin.
La generica funzione integrale
Z
y(t) =
x(t)dt
(5.1.1)
viene quindi approssimata con
yk = yk−1 +
Ts (xk + xk−1 )
2
(5.1.2)
che può essere rappresentato tramite lo schema a blocchi di Figura 5.2.
Figura 5.2: Integratore a tempo discreto approssimato con il metodo di Tustin.
77
Cap. 5 Implementazione dell’allocatore
§5.1 Discretizzazione dell’allocatore
Come accennato nel Capitolo 4 inserendo una saturazione in cascata all’integratore, sorge un indesiderato effetto di windup, che può essere risolto a questo punto
spostando il blocco di saturazione all’interno dell’integratore stesso, passando cosı̀
dallo schema a blocchi di Figura 5.3 a quello di Figura 5.4.
Figura 5.3: Integratore a tempo discreto seguito da un blocco di saturazione.
Figura 5.4: Integratore saturato a tempo discreto.
In Figura 5.5 è confrontata l’uscita dei due schemi ora illustrati, con l’uscita di
un semplice integratore a tempo continuo, ponendo in ingresso a ciascuno lo stesso
segnale sinusoidale. Come si può notare mentre l’integratore in cascata esce dalla
saturazione solo quando ne uscirebbe anche quello in tempo continuo, l’integratore
saturato esce dalla saturazione appena c’è un cambio di pendenza.
78
Cap. 5 Implementazione dell’allocatore
§5.1 Discretizzazione dell’allocatore
Figura 5.5: Confronto tra le uscite di un saturatore continuo, un saturatore discreto
seguito da una saturazione e un integratore discreto saturato.
Come si può vedere in Figura 5.6, nella quale sono confrontati i risultati della prova
di Figura 4.14 e quelli della stessa prova eseguita dopo aver sostituito l’integratore,
l’integratore saturato permette di eliminare l’effetto di windup.
79
Cap. 5 Implementazione dell’allocatore
§5.2 Implementazione del codice c++
Figura 5.6: Confronto dei risultati di simulazione utilizzando l’allocatore senza
saturazione, quello con sturazione in cascata e quello con integratore saturato.
5.2
Implementazione del codice c++
Il blocco allocatore é stato implementato in linguaggio C come un modulo a sé stante,
che puó essere chiamato dal resto del codice.
É stata implementata una funzione
.
.
.
80
Cap. 5 Implementazione dell’allocatore
§5.3 Verifica del codice su VM
.
5.3
Verifica del codice su VM
.
.
.
.
81
Capitolo 6
Conclusioni e sviluppi futuri
In questa tesi è stato illustrato il lavoro svolto presso il Centro Ricerche ENEA di
Frascati. Lo scopo del lavoro era quello di dotare il tokamak FTU di un controllo di
elongazione. Questo è stato fatto con l’utilizzo di una tecnica di allocazione dinamica
di ingressi ridondanti, nel caso specifico gli avvolgimenti poloidali F e V, che ha permesso di ridistribuire in modo automatico i compiti di controllo tra i due.
In particolare è stato possibile trasferire il compito del controllo di posizione orizzontale al V lasciando libero F di occuparsi dell’elongazione, salvo per quanto riguarda
le dinamiche veloci che solo F è in grado di compensare.
A questo scopo è stato realizzato un modello Simulink dell’allocatore che successivamente è stato implementato in linguaggio C++ ed integrato all’interno dell’attuale
software di controllo real-time.
Le simulazioni effettuate con il modello, inserito all’interno dell’intero anello di controllo, hanno dimostrato la validità del metodo utilizzato. Per verificare la correttezza
del codice C++, sono state fatte delle simulazioni su Virtual Machine (VM) che risultano perfettamente in accordo con quelle del modello.
Il passo successivo, che non è stato possibile effettuare nell’ambito di questa tesi
82
Cap. 6 Conclusioni e sviluppi futuri
a causa di guasti all’impianto, è senza dubbio la sperimentazione su quest’ultimo del
funzionamento del codice prodotto.
Inoltre le simulazione eseguite utilizzano un modello semplificato del plasma che
ha permesso di validare solamente la corretta suddivisioni delle correnti tra V ed F,
ma non di confermarne gli effetti sull’elongazione del plasma. Per fare ciò sarebbe
utile un modello di plasma più completo, sia lineare che non lineare, da sostituire
nell’anello di controllo.
Un’altro miglioramento al sistema sviluppato può essere quello di chiudere l’anello
di controllo dell’elongazione; per ora infatti quest’ultima è controllata solamente in
feedforward.
Per poter inoltre verificare anche il codice C++ in anello chiuso sarebbe necessario
integrare l’emulatore su VM con il modello Matlab.
Lo scopo della tesi era anche quello di mostrare l’applicabilità e l’utilità del metodo
di allocazione nell’ambito del controllo di posizione e forma del plasma nei tokamak.
Nel caso esaminato gli ingressi ridondanti erano due, quindi la direzione ridondante
era solamente una. La teoria su cui è basato l’allocatore, illustrata nel Capitolo 3,
ha comunque validità più generale e può essere applicata a casi N-dimensionali. Un
successivo sviluppo del lavoro, probabilmente il più interessante, può quindi essere la
realizzazione e la sperimentazione di un controllo analogo per il tokamak JET, dotato
di 8 avvolgimenti poloidali e quindi di numerose direzioni ridondanti.
83
Appendice A
Codice c++ dell’allocatore
vme fbcor all.c
#include ” v m e f b c o r a l l . h”
/∗ 1 |
//
|
|
//
|
|
//
|
|
//
|
|
// 0 |
|
//
ti
∗/
f l o a t spegnimento ( f l o a t tempo , a l l p a r p a r a m e t r i )
{
f l o a t spegnimento ;
\
\
\
\
|
\
tf low
tempo
tf up
i f ( tempo<p a r a m e t r i . t i )
spegnimento = 0 . 0 ;
e l s e i f ( tempo<p a r a m e t r i . t f l o w )
spegnimento = 1 . 0 ;
e l s e i f ( tempo<p a r a m e t r i . t f u p )
spegnimento =(tempo − p a r a m e t r i . t f u p ) / ( p a r a m e t r i . t f l o w − p a r a m e t r i .
tf up ) ;
else
spegnimento = 0 . 0 ;
return spegnimento ;
}
84
Cap. 6 Conclusioni e sviluppi futuri
/∗ 1 |
//
|
/
//
|
/
//
|
/
//
|
/
/
|
// 0 |
//
min low
min up
//
∗/
float a l f a ( float corrente IV , a l l p a r parametri )
{
float peso ;
\
\
\
\
|
\
max low
IV
max up
c o r r e n t e I V = p a r a m e t r i . segnoV ∗ c o r r e n t e I V ;
i f ( c o r r e n t e I V <p a r a m e t r i . min low )
peso =0.0;
e l s e i f ( c o r r e n t e I V <p a r a m e t r i . min up )
p e s o =( c o r r e n t e I V − p a r a m e t r i . min low ) / ( p a r a m e t r i . min up − p a r a m e t r i .
min low ) ;
e l s e i f ( c o r r e n t e I V <p a r a m e t r i . max low )
peso =1.0;
e l s e i f ( c o r r e n t e I V <p a r a m e t r i . max up )
p e s o =( c o r r e n t e I V − p a r a m e t r i . max up ) / ( p a r a m e t r i . max low − p a r a m e t r i .
max up ) ;
else
peso =0.0;
return p e s o ;
}
void m a t r i c e p e s i ( f l o a t tempo , f l o a t c o r r e n t e I V , f l o a t ∗ w1 , f l o a t ∗ w2 , a l l p a r
parametri )
{
∗w1 = spegnimento ( tempo , p a r a m e t r i ) ∗ a l f a ( c o r r e n t e I V , p a r a m e t r i ) ;
∗w2 = 1 . 0 − ∗w1 ;
}
85
Cap. 6 Conclusioni e sviluppi futuri
void v m e f b c o r a l l ( f l o a t
rif IF ,
float
rif IV ,
float
tempo ,
float
rif b1 ,
float
rif k ,
float
rif sat ,
float ∗ corrente IF ,
float ∗ corrente IV ,
float ∗ delta IF ,
float ∗ delta IV ,
f l o a t ∗ w der ,
f l o a t ∗ on ,
a l l p a r parametri
)
{
static float w[ ] = {0.0 ,0.0};
s t a t i c f l o a t w punto [ ] = { 0 . 0 , 0 . 0 } ;
s t a t i c f l o a t tempo prec = 0 . 0 ;
f l o a t w1=0;
f l o a t w2=0;
// a l l ’ i n i z i o d i o g n i s p a r o r i a z z e r a g l i s t a t i
i f ( tempo prec > tempo ) {
w[ 0 ] = 0 . 0 ;
w[ 1 ] = 0 . 0 ;
w punto [ 0 ] = 0 . 0 ;
w punto [ 1 ] = 0 . 0 ;
}
tempo prec = tempo ;
// s e l ’ a l l o c a t o r e è s p e n t o
i f ( p a r a m e t r i . a l l o n ==0){
// non v a r i o l e c o r r e n t i
// i s e g n a l i i n t e r n i rimangono a z e r o
∗ d e l t a I F =0;
∗ d e l t a I V =0;
∗ w der =0;
}
// s e l ’ a l l o c a t o r e è a c c e s o
else {
// a g g i o r n o l e u s c i t e
∗ delta IF = rif b1 ∗ w[ 1 ] ;
∗ corrente IF = ∗ corrente IF + ∗ delta IF ;
∗ d e l t a I V = p a r a m e t r i . b2 ∗ w [ 1 ] ;
∗ corrente IV = ∗ corrente IV + ∗ delta IV ;
86
Cap. 6 Conclusioni e sviluppi futuri
// c a l c o l o d e l l a m a t r i c e d e i p e s i
m a t r i c e p e s i ( tempo , ∗ c o r r e n t e I V ,&w1,&w2 , p a r a m e t r i ) ;
∗on = w1 ;
w punto [ 0 ] = − r i f k ∗ ( r i f b 1 ∗ w1 ∗ ( ∗ c o r r e n t e I F −r i f I F ) + p a r a m e t r i .
b2 ∗ w2 ∗ ( ∗ c o r r e n t e I V −r i f I V ) ) ;
∗ w der = w punto [ 0 ] ;
// s a t u r a z i o n e s u l l a d e r i v a t a
i f ( w punto [0] >= r i f s a t )
w punto [ 0 ] = r i f s a t ;
i f ( w punto [0]<− r i f s a t )
w punto [ 0 ] = − r i f s a t ;
/∗
// zona morta
i f ( w punto [0]>=−1e−7&&w punto [0] <1 e −7)
w punto [ 0 ] = 0 ;
∗/
// i n t e g r a l e
w [ 0 ] = w [ 1 ] + 0 . 5 ∗ p a r a m e t r i . Ts ∗ ( w punto [ 0 ] + w punto [ 1 ] ) ;
// s a t u r a z i o n e
i f (w[0] >= p a r a m e t r i . max w )
w [ 0 ] = p a r a m e t r i . max w ;
i f (w[0] < p a r a m e t r i . min w )
w [ 0 ] = p a r a m e t r i . min w ;
}
// s h i f t
w[ 1 ] = w[ 0 ] ;
w punto [ 1 ] = w punto [ 0 ] ;
}
87
Cap. 6 Conclusioni e sviluppi futuri
vme mod3 fb.c
/∗
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
∗
ENEA F r a s c a t i & Univ . d i Roma Tor Vergata
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
∗ Filename
: vme mod3 fb . c
∗
∗ Description
:
∗
∗ C r e a t i o n Date
: 12/07/2007
∗
∗ Author
: Liberato Fiasca ( l i b e r a t o . fiasca@poste . i t )
∗
∗ Version
: 0.8
∗
∗ M o d i f i c a t i o n Date :
∗
∗ Change D e s c r i p t i o n : Feedback on LF Framework i n t e g r a t i o n
∗
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
∗/
#define DUEPIGRECO 6 . 2 8 3 1 8 5 3
#include <math . h>
#include ” d e f g l o b . h”
#include ” vme glob . h”
#include ” vme mod var . h”
#include ” vme fbcor comp . h”
#include ” v m e f b c o r a l l . h”
#include ” F e e d b a c k D e f i n i t i o n s . h”
#include ” vme in n . h”
#include ” v m e m a i n c o n f i g . h”
#include <s y s /mman. h>
#define SMORZT2 1 . 0 2 9
#define SMORZT 1 . 0 0 5 2 7 5 2
/∗
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
∗
∗
∗
∗
Method Name : mod3 fb
C l a s s Name
:
88
Cap. 6 Conclusioni e sviluppi futuri
∗ Return Type : v o i d
∗
∗ Description :
∗
∗ Parameters :
∗
: void
∗
∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
∗/
void mod3 fb ( void )
{
float
float
float
float
float
de ;
rp =0.0 ,msp = 0 . 0 ;
i t f 3 =0.0;
itm =0.0 , d i p = 0 . 0 ;
i f v a r =0.0 , i f c r =0.0 , i f c r 1 = 0 . 0 ;
float
float
ipvo =0.0;
i h 1 =0.0 , ihm =0.0 , h a t t = 0 . 0 ;
float
float
float
dmfpl = 2 . 0 e−5 f ;
f b ip r o =0.0;
f b i r o =0.0 , f b i c o = 0 . 0 ;
int
icxma =0;
float
r p l =0.0 ,
drp1 =0.0 ,
o f f s e t =0.0 ,
o f f s e h =0.0 ,
v a t t =0.0 ,
t a t t =0.0 ,
f a t t =0.0 ,
p d i t =0.0 ,
d e l t a i v =0.0 ,
d e l t a i t =0.0 ,
d e l t a i f =0.0 ,
d e l t a i h =0.0;
s t a t i c int f l p l a s m a =0;
s t a t i c int c o u n t d i s r =0;
s t a t i c int c o u n t i n c i p =0;
static float
f b s c t =1.0;
mvp0 = 8 0 . 0 e−6 f ;
msp0 = 0 . 6 5 e−6 f ;
mvs = 8 9 . 7 e−6 f ;
mts = 0 . 3 8 e−6 f ;
mtp = 1 1 0 . 0 e−6 f ;
89
Cap. 6 Conclusioni e sviluppi futuri
l p 0 = 2 . 1 4 e−6 f ;
kv0 = 2 7 . 2 e−6 f ;
ks = 0 . 7 3 6 e−6 f ;
k f 0 = 6 . 2 6 e−6 f ;
r s = 0 . 2 5 e−3 f ;
l s = 5 . 0 e−6 f ;
ts = 0.02 f ;
dmv = 1 7 1 . 0 e−6 f ;
dms = 4 . 4 4 e−6 f ;
dkv = −12.8 e−6 f ;
d k f = 6 . 5 6 e−6 f ;
tc = 0.001 f ;
dmhpl = 1 . 5 e−4 f ;
f b t a u h = 2 . 0 e−3 f ;
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
// A t t u a l i z z a z i o n e d i a l c u n i d a t i che verranno u t i l i z z a t i p e r
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
// CONTROLLO RUN−AWAY
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
fbipro = fbcor r ip s ;
icxma = 10/SW TO HW CLK;
i f ( ( f b i n a m r i s > f b s c 2 ) | | ( i c x > icxma ) )
{
i c x ++;
i f ( i c x < icxma )
{
fbsc8 = 1.0 f ;
goto e s c i ;
}
i f ( i c x == icxma ) f i p l o = f b i p r o ;
fbipro = fiplo ;
i f ( runaway < 0 && FTU time < 1 . 6 )
runaway = FTU time ;
i f ( f b s c 8 >= 1 . 0 e−3 )
{
f b s c 8 = f b s c 8 /SMORZ1;
}
else fbsc8 = 0 . 0 ;
}
else
{
fbsc8 = 1.0;
icx = 1;
90
Cap. 6 Conclusioni e sviluppi futuri
}
esci :
fbiro = fbipro ∗ fbsc8 ;
fbico = fbip m i ∗1.0 f ;
i f ( FTU time < 0 )
{
c o u n t d i s r =0;
t d i s r u p t i o n=d i s r u p t i o n= −1;
c o u n t d i s r =0;
c o u n t i n c i p =0;
ipmax =0;
f b s c t =1;
}
i f ( ( FTU time >= 0 . 0 4 0 ) && ( f a b s ( f b i c o ) <= 1 2 0 0 0 0 . 0 ) )
{
fbcor r alx = 0.0;
i f ( f b s c 6 >= 1 . 0 e−3 ) f b s c 6 = f b s c 6 /SMORZ2;
else fbsc6 = 0.0 f ;
}
else
{
i f ( f a b s ( f b i c o ) > 1 2 0 0 0 0 . 0 ) noplasma =0;
fl plasma = 0;
f b s c t =1.0;
fbsc6 = 1.0 f ;
fbcor r alx = 5.0 f ;
}
f b s c 7 =1.0 f ;
i f ( f b s c 4 <= 0 . 0 )
{
f b s c 6 =1.0 f ;
i f ( f b s c 4 == 0 . 0 ) f b s c 7 =0.0 f ;
}
drp1 = drp ;
i f ( FTU time <= 0 . 1 1 0 ) drp1 =0.0 f ;
rp = ( f b r p i m l u n + f b r p e m l u n ) / 2 . 0 f ;
drp = ( rp − f b l u n r r s ) ;
msp = msp0 + dms∗ drp1 ;
91
Cap. 6 Conclusioni e sviluppi futuri
offset =
f b i n d r l i p s ∗ f b s c 1 ∗( −1.0 f ) ;
// d e l t a f b m f l u x è l ’ u s c i t a d e l compensatore d i Francesco Mecocci
float d e l t a f b m f l u x =0.0;
//Ts è f b d e l t a t
// c o r r e n t e I F r i c h i e s t a è f b c o r r a l f
// c o r r e z i o n e d e l t a p s i è d e l t a f b m f l u x
f b c o r c o m p ( f b d e l t a t , f b c o r r a l f , lowerbound , higherbound ,
d e l t a f b m f l u x , ALFantiwndp ) ;
if var
ifc0 =
/∗ p a r t e d i
ifcr =
= ( f b m f l u x+d e l t a f b m f l u x+o f f s e t ) / dmfpl ∗( −1.0 f ) ;
if var ;
c o d i c e s o s t i t u i t a da A l l o c a t o r e Gianluca
p i d b a c k w ( i f c 0 , f b d e l t a t , f b t a u f , f b k p f s , f b k i f s , f b k d f s , u1 , y 1 ) ;
i f ( fl plasma )
f b c o r r a l f =c f p r e c ∗ f b s c 3 ∗ f b s c 6 ;
else
f b c o r r a l f =( i f c r ∗ f b s c 7 + f b c o r r a l f s ) ∗ f b s c 3 ∗ f b s c 6 ;
fbtauv = 0.0;
i f c r 1 = p i d b a c k w ( i f c 0 , f b d e l t a t , f b t a u v , f b k p v s , f b k i v s , f b k d v s , u10 , y 1 0 ) ;
// new L u i g i
i f ( fl plasma )
f b c o r r a l v=c v p r e c ∗ f b s c 1 ∗ f b s c 3 ∗ f b s c 6 ;
else
fbcor r alv = ( ifcr1 ∗ fbsc7 + fbcor r alv s )∗ fbsc1 ∗ fbsc3 ∗ fbsc6 ;
f i n e p a r t e d i c o d i c e s o s t i t u i t a da A l l o c a t o r e Gianluca ∗/
// A l l o c a t o r e Gianluca
//PID F e V
i f c r = pid backw ( i f c 0 , f b d e l t a t , f b t a u f , f b k p f s , f b k i f s , f b k d f s , u1 , y 1 ) ;
fbtauv = 0 . 0 ;
i f c r 1 = pid backw ( i f c 0 , f b d e l t a t , fbtauv , f b k p v s , f b k i v s , f b k d v s , u10 , y 1 0 ) ;
fbcor r alf = fbcor r alf s + ifcr ;
fbcor r alv = fbcor r alv s + ifcr1 ;
// A l l o c a t o r e
float a l l d e l t a I F = 0 . 0 ;
float a l l d e l t a I V = 0 . 0 ;
92
Cap. 6 Conclusioni e sviluppi futuri
float all w der = 0 . 0 ;
float al l on = 0 . 0 ;
vme fbcor all ( all ref IF ,
fbcor r alv s ,
FTU time ,
all ref b1 ,
all ref k ,
all ref sat ,
&f b c o r r a l f ,
&f b c o r r a l v ,
&a l l d e l t a I F ,
&a l l d e l t a I V ,
&a l l w d e r ,
&a l l o n ,
all params ) ;
//
//
// i n g r e s s o a l PID
APPO6 = f b m f l u x+d e l t a f b m f l u x+o f f s e t ;
APPO5=i f c r ;
// u s c i t a d e l PID
APPO1 = a l l r e f I F ; // r i f e r i m e n t o p e r l a c o r r e n t e i n F
APPO3 = a l l r e f k ; // r i f e r i m e n t o p e r i l guadagno d e l l ’ a l l o c a t o r e
APPO4 = a l l r e f s a t ;
// r i f e r i m e n t o p e r l o s l e w r a t e d e l l ’ a l l o c a t o r e
APPO5 = a l l r e f b 1 ; // r i f e r i m e n t o p e r i l p e s o d e l l a c o r r e n t e V r i s p e t t o a
F
APPO6 = a l l d e l t a I F ;
// c o r r e z i o n e d e l l ’ a l l o c a t o r e s u l l a c o r r e n t e i n F
APPO7 = a l l w d e r ;
// d e r i v a t a non s a t u r a t a d e l l o s t a t o d e l l ’
allocatore
APPO8 = a l l o n ;
// s e g n a l e d i a t t i v a z i o n e d e l l ’ a l l o c a t o r e
if ( fl plasma )
{
f b c o r r a l f = cfprec ∗ fbsc3 ∗ fbsc6 ;
f b c o r r a l v = cvprec ∗ fbsc1 ∗ fbsc3 ∗ fbsc6 ;
}
e l s e i f ( f b s c 7 ==1.0)
// f b s c 4 < 0
{
f b c o r r a l f = f b c o r r a l f ∗ fbsc3 ∗ fbsc6 ;
fbcor r alv = fbcor r alv ∗ fbsc1 ∗ fbsc3 ∗ fbsc6 ;
}
else
// f b s c 4 == 0
{
f b c o r r a l f = f b c o r r a l f s ∗ fbsc3 ∗ fbsc6 ;
fbcor r alv = f b c o r r a l v s ∗ fbsc1 ∗ fbsc3 ∗ fbsc6 ;
}
// f i n e A l l o c a t o r e Gianluca
ipvo = f b c o r r i p s ;
r p l = f b t e n r v p s / ( i p v o +.01 f ) ;
93
Cap. 6 Conclusioni e sviluppi futuri
dip = f b i c o − f b i r o ;
p d i t = −( l p 0 ∗ d i p ) / mtp ;
de = f a b s ( d i p ) /SW TO HW CLK;
if (
{
de > 1 . 5 e5 && FTU time < 1 . 6 )
i f ( c o u n t d i s r ==0)
{
c o u n t d i s r =1;
t d i s r u p t i o n = d i s r u p t i o n=FTU time ;
}
else
{
++c o u n t d i s r ;
}
}
i f ( f a b s ( f b i c o ) > f a b s ( ipmax ) )
{
i f ( countincip > 5)
{
t d i s r u p t i o n=d i s r u p t i o n= −1;
c o u n t d i s r =0;
ipmax=f b i c o ;
c o u n t i n c i p =0;
}
else
c o u n t i n c i p ++;
}
else
c o u n t i n c i p =0;
i t f 3 = pdit ;
itm = pid backw ( i t f 3 , f b d e l t a t , f b t a u t , f b k p t s , f b k i t s , f b k d t s , u2 , y 2 ) ;
if ( fl plasma )
{
f b c o r r a l t=c t p r e c /SMORZT;
}
else
f b c o r r a l t = ( f b c o r r a l t s − itm ∗ f b s c 7 ) ∗ f b s c 1 ∗ f b s c 3 ∗ f b s c 6 ;
94
Cap. 6 Conclusioni e sviluppi futuri
o f f s e h = f b a d m r b p s ∗ f b s c 1 ∗( −1.0 f ) ;
ih1 =
ihm =
if ( fl
fbcor
else
fbcor
( f b m r i s + o f f s e h ) /dmhpl ∗( −1.0 f ) ;
pid backw ( ih1 , f b d e l t a t , fbtauh , f b k p h s , f b k i h s , f b k d h s , uh , yh ) ;
plasma )
r a l h=c h p r e c ∗ f b s c 3 ∗ f b s c 6 ;
r a l h = ( ihm∗ f b s c 7 + f b c o r r a l h s ) ∗ f b s c 3 ∗ f b s c 6 ;
if ( fbcor r alf > up alf )
f b c o r r a l f=u p a l f ;
i f ( f b c o r r a l f < down alf )
f b c o r r a l f=d o w n a l f ;
if ( fbcor r alt > up alt )
f b c o r r a l t=u p a l t ;
i f ( f b c o r r a l t < down alt )
f b c o r r a l t=d o w n a l t ;
i f ( f b c o r r a l v > up alv )
f b c o r r a l v=u p a l v ;
i f ( f b c o r r a l v < down alv )
f b c o r r a l v=down alv ;
i f ( f b c o r r a l h > up alh )
f b c o r r a l h=u p a l h ;
i f ( f b c o r r a l h < down alh )
f b c o r r a l h=down alh ;
d e l t a i v = ( f b c o r r a l v − cvprec ) ;
i f ( f a b s ( d e l t a i v ) > cvmax )
{
v a t t = c v p r e c + devmax ;
i f ( d e l t a i v <= 0 . 0 )
v a t t = c v p r e c − devmax ;
fbcor r alv = v att ;
k d i v += 1 ;
}
else
kdiv = 0 ;
i f ( k d i v >= ktmax )
{
i f ( k v t a b o r t >= 1 . e −03 )
k v t a b o r t = k v t a b o r t /SMORZ3;
95
Cap. 6 Conclusioni e sviluppi futuri
else
kvtabort = 0;
}
f b c o r r a l v = kvtabort ∗ f b c o r r a l v ;
i f ( FTU time > 0 . 1 0 )
{
deltait = ( f b c o r r a l t − ctprec ) ;
i f ( f a b s ( d e l t a i t ) > ctmax )
{
t a t t = c t p r e c + detmax ;
i f ( d e l t a i t <= 0 . 0 )
t a t t = c t p r e c − detmax ;
fbcor r alt = t att ;
k d i t += 1 ;
}
else
kdit = 0;
}
i f ( k d i t >= ktmax )
{
i f ( k v t a b o r t >= 1 . 0 e−3 )
{
k v t a b o r t = k v t a b o r t /SMORZ2;
}
else
kvtabort = 0;
}
i f ( f l p l a s m a == 0 ) f b c o r r a l t ∗= k v t a b o r t ;
i f ( f b s c 6 != 1 . 0 )
{
i f ( f l p l a s m a ==0 && k v t a b o r t != 1 )
{
fbsc6 = kvtabort ;
fl plasma = 1;
}
kvtabort = 1 . 0 ;
}
deltaif = ( fbcor r alf − cfprec ) ;
i f ( f a b s ( d e l t a i f ) > cfmax )
96
Cap. 6 Conclusioni e sviluppi futuri
{
f a t t = c f p r e c + defmax ;
i f ( d e l t a i f <= 0 . 0 )
f a t t = c f p r e c − defmax ;
fbcor r alf = f att ;
k d i f += 1 ;
}
else
kdif = 0;
i f ( k d i f >= kfmax )
{
i f ( k f a b o r t >= 1 . 0 e−3 )
k f a b o r t = k f a b o r t /SMORZ3;
else
kfabort = 0;
}
f b c o r r a l f ∗= k f a b o r t ∗ k v t a b o r t ;
d e l t a i h = ( f b c o r r a l h − chprec ) ;
i f ( f a b s ( d e l t a i h ) > chmax )
{
h a t t = c h p r e c + chmax ;
i f ( d e l t a i h <= 0 . 0 )
h a t t = c h p r e c − chmax ;
fbcor r alh = h att ;
}
f b m c i a c m i = ctmax ;
fbmcibc m i = ctprec ;
cvdprec
cviprec
cfdprec
cfiprec
cfprec
cvprec
ctprec
chprec
fbcor
fbcor
fbcor
fbcor
fbcor
=
=
=
=
=
=
=
=
r
r
r
r
r
y
y
y
y
10 [ 0 ] ;
10 [ 1 ] ;
1 [0];
1 [1];
fbcor
fbcor
fbcor
fbcor
alv
alf
alt
alh
alx
s
s
s
s
s
=
=
=
=
=
r
r
r
r
alf
alv
alt
alh
;
;
;
;
fbcor
fbcor
fbcor
fbcor
fbcor
r
r
r
r
r
alv
alf
alt
alh
alx
;
;
;
;
;
}
97
Cap. 6 Conclusioni e sviluppi futuri
vme main.cfg
################# WARNING ######################
#
ONLY LETTERS AND NUMBERS For SECTION NAMES
#
####################################################
allowed only for values
#
# () [ ] /
####################################################
[LFAPPLGLOBALS]
#This i s t o change t h e working d i r
#l f a p p l h o m e = ” ”
#This i s t o change t h e default l o g f i l e
#l f a p p l l o g f i l e = ” ”
#Maximum s i z e f o r l o g f i l e s
l f a p p l m a x l o g s i z e = 32768
#The f o l l o w i n g i s t o switch t h e l o g a c t i v i t y
lfnolog = false
#The f o l l o w i n g i s t o switch t h e debug a c t i v i t y
l f d e b u g o n = true
#The f o l l o w i n g i s t o s e t t h e debug l e v e l (0 −5)
lfdebuglevel = 5
#The f o l l o w i n g i s t o p e r m i t two i n s t a n c e s r u n n i n g
l f c l o n e s = false
[VMEMAIN]
#This i s t h e l o c a t i o n where t h e c o n f i g f i l e s f o r t h e measures a r e s t o r e d
sharepath = / fdbck share
#This i s a l i s t o f c r i t i c a l f i l e s t o backup b e f o r e s i m u l a t e
backuplist = . . / conf / backuplist . cfg
#This i s t h e r u n n i n g mode . P o s s i b l e v a l u e s a r e ” Primary ” or ” Secondary ”
ru n a s = Secondary
#The f i l e i n d i c a t i n g measures t o s t o r e when i n s i m u l a t i o n mode
s i m m e a s f i l e = . . / c o n f /SIM MEASURE . l i s
98
Cap. 6 Conclusioni e sviluppi futuri
[ ALF ]
#This a c t i v a t e t h e antiwindup c o n t r o l f o r F ALIMENTATION ( by F r a n c e s c o
Mecocci )
antiwndp = f a l s e
#l o w e r and h i g h e r l i m i t s f o r compensator
lowerbound = 1500
higherbound = 2000
[ALLOCATOR]
#A t t i v a l ’ a l l o c a t o r e
all on = 1
#Guadagno d e l l ’ a l l o c a t o r e
k = 7.0
#m a t r i c e Bperp
b1 = 4 . 3 1 7 4 6
b2 = −1.0
#s a t u r a z i o n e d e r i v a t a
max wp = 1 0 0 0 0 . 0
min wp = −10000.0
#s a t u r a z i o n e
max w = 5 0 0 0 0 . 0
min w = −50000.0
#f u n z i o n e spegnimento
t i = 0.5
tf low = 1.2
tf up = 1.3
#f u n z i o n e a l f a
min low = 1 0 0 . 0
min up = 1 0 0 0 . 0
max low = 1 9 0 0 0 . 0
max up = 1 9 5 0 0 . 0
# do not delete t h i s l i n e
99
Elenco delle figure
1.1
Reazione di fusione nucleare tra due nuclei di deuterio. . . . . . . . .
1.2
Energia di legame per nucleone dei nuclei di tutti gli elementi chimici
e dei loro isotopi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
8
Esempi di plasmi caratterizzati da diverse condizioni di densità e temperatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
7
9
Valori del prodotto triplo, indice della capacità di confinamento, dei
principali esperimenti di fusione nel mondo. In alto è mostrata la soglia
di ignizione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5
Confronto dell’avanzamento tecnologico nel tempo nel campo della
fusione, della microelettronica e degli acceleratori di particelle. . . . .
1.6
18
Particelle cariche in un campo magnetico uniforme seguono traiettorie
elicoidali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7
17
20
Schema di base degli avvolgimenti in un tokamak. A causa della corrente di plasma e della corrente negli avvolgimenti poloidali, si genera
una componente di campo poloidale. Per questo le linee di flusso del
campo magnetico risultano elicoidali. . . . . . . . . . . . . . . . . . .
21
1.8
Linee di flusso in configurazione limiter (a sinistra) e divertor (a destra). 24
1.9
Parametri descrittivi di posizione e forma della sezione poloidale del
plasma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
100
ELENCO DELLE FIGURE
ELENCO DELLE FIGURE
2.1
Porte di accesso alla camera da vuoto toroidale. . . . . . . . . . . . .
31
2.2
Sezione dell’avvolgimento T e linee di campo magnetico da esso prodotte. 32
2.3
Sezione dell’avvolgimento H e linee di campo magnetico da esso prodotte. 33
2.4
Sezione dell’avvolgimento V e linee di campo magnetico da esso prodotte. 34
2.5
Sezione dell’avvolgimento F e linee di campo magnetico da esso prodotte. 35
2.6
Limiter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
2.7
Calcolo del ∆ψ dalle misure e i preprogrammati dei raggi. . . . . . .
42
3.1
Generico sistema di controllo in retroazione. . . . . . . . . . . . . . .
46
3.2
Sistema di controllo in retroazione con aggiunta del blocco allocatore.
47
3.3
Blocco allocatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.4
Blocco allocatore per l’inseguimento di riferimenti per gli ingressi ridondanti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.1
Modello lineare del plasma. . . . . . . . . . . . . . . . . . . . . . . .
55
4.2
Schema a blocchi dell’anello di controllo con l’aggiunta dell’allocatore.
57
4.3
Ingrandimento dell’allocatore. . . . . . . . . . . . . . . . . . . . . . .
58
4.4
Simulazione con riferimento costante di -2000 A. . . . . . . . . . . . .
59
4.5
Simulazione con riferimento costante di 10000 A. . . . . . . . . . . . .
59
4.6
Simulazione con riferimento costante con valore di k positivo. . . . . .
60
4.7
Simulazione con riferimento ad onda quadra. . . . . . . . . . . . . . .
61
4.8
Simulazione con riferimento ad onda quadra con diversi valori di k. .
61
4.9
Simulazione con riferimento ad onda quadra di ampiezza elevata. . . .
62
4.10 Schema a blocchi dell’allocatore con saturazione sulla pendenza.
. .
63
4.11 Simulazione con riferimento ad onda quadra con e senza la saturazione
di pendenza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
101
ELENCO DELLE FIGURE
ELENCO DELLE FIGURE
4.12 Simulazione con riferimento ad onda quadra con diversi valori di k. .
66
4.13 Schema a blocchi dell’allocatore con l’aggiunta della saturazione sulle
uscite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
4.14 Simulazione con riferimento ad onda quadra con saturazione sulle uscite
dell’allocatore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
4.15 Allocatore con pesi variabili in funzione degli ingressi. . . . . . . . . .
68
4.16 Schema delle funzioni di peso. . . . . . . . . . . . . . . . . . . . . . .
69
4.17 Caratteristica statica ingresso-uscita della funzione di peso trapezoidale. 70
4.18 Caratteristica ingresso-uscita della funzione peso con valori di k rispettivamente uguali a 0.1,0.01, 0.001. . . . . . . . . . . . . . . . . . . . .
71
4.19 Intervento della funzione di peso trapezoidale in caso di un riferimento
che porta IV verso il limite superiore di saturazione. . . . . . . . . . .
72
4.20 Intervento della funzione di peso trapezoidale in caso di un riferimento
che porta IV verso il limite inferiore di saturazione. . . . . . . . . . .
73
4.21 Intervento della funzione di peso trapezoidale in caso di un riferimento
che porta IF verso il limite superiore di saturazione. . . . . . . . . . .
73
4.22 Modifica al blocco W dei pesi per comandare l’allocatore con un segnale
di attivazione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
4.23 Simulazione con riferimento ad onda quadra e con un diverso segnale
di attivazione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
4.24 Simulazione con riferimento ad onda quadra e con segnale di attivazione. 75
5.1
Metodo di discretizzazione di Tustin. . . . . . . . . . . . . . . . . . .
77
5.2
Integratore a tempo discreto approssimato con il metodo di Tustin. .
77
5.3
Integratore a tempo discreto seguito da un blocco di saturazione. . . .
78
102
ELENCO DELLE FIGURE
ELENCO DELLE FIGURE
5.4
Integratore saturato a tempo discreto.
. . . . . . . . . . . . . . . . .
5.5
Confronto tra le uscite di un saturatore continuo, un saturatore discreto
seguito da una saturazione e un integratore discreto saturato. . . . . .
5.6
78
79
Confronto dei risultati di simulazione utilizzando l’allocatore senza saturazione, quello con sturazione in cascata e quello con integratore
saturato. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
103
Bibliografia
[1] L. Zaccarian, “On dynamic control allocation for input-redundant control systems”,
Conference on Decision and Control, New Orleans (LA), USA, December 2007.
[2] R. Albanese - F. Villone, “The linearized CREATE-L plasma response model for
the control of current, position and shape in tokamaks”, NUCLEAR FUSION,
1998.
[3] R. Albanese - F. Villone - G. Ambrosino - M. Ariola - G. Calabrò - V. Cocilovo
- F. Crisanti - A. Pironti, “Plasma modeling for position and current control in
FTU”, Fusion Engineering and Design, 2003.
[4] A. Pironti - M. Walker, “Control of Tokamak Plasmas”, IEEE Control Systems
Magazine, 2005.
[5] A. Pironti - M. Walker, “Fusion, Tokamaks, and Plasma Control”, IEEE Control
Systems Magazine, 2005.
[6] A. Beghi - A. Canadese,
“Advances in Real-Time Plasma Boundary
Reconstruction”, IEEE Control Systems Magazine, 2005.
[7] M. Ariola - A. Pironti, “Plasma shape control for the JET Tokamak”, IEEE
Control Systems Magazine, 2005.
104
BIBLIOGRAFIA
BIBLIOGRAFIA
[8] G. Ambrosino - R. Albanese, “Magnetic Control of Plasma Current, Position, and
Shape in Tokamaks”, IEEE Control Systems Magazine, 2005.
[9] F. Sartori, G. De Tommasi - F. Piccolo, “The Joint European Torus”, IEEE
Control Systems Magazine, 2006.
[10] J.B. Lister - A. Portone - Y. Gribov, “Plasma Control in ITER”, IEEE Control
Systems Magazine, 2006.
[11] L. Pangione, “Sistema operativo open source Linux-RTAI: impiego in un sistema
real-time per esperimenti di fusione nucleare”, Tesi di Laurea Universit‘a di Roma
Tor Vergata, 2003.
[12] D. Cascone, “Studio del sistema di controllo della posizione orizzontale del plasma
di FTU in ambiente Matlab/Simulink”, Tesi di Laurea Universit‘a di Roma Tor
Vergata, 2006.
[13] R. Andreani, “The Frascati Tokamak Upgrade Project”, Energia Nucleare, 1985.
[14] J. Wesson, “The Science of JET”, 2000.
[15] L. Fiasca, “Integrazione e Virtualizzazione del Controllo del Sistema di Fusione
Termonucleare FTU”, Tesi di Laurea Universit‘a di Roma Tor Vergata, 2007.
[16] F. Alladio, F. Crisanti, “Analysis of MHD Equilibria by Toroidal Multipolar
Expansions”, Nuclear Fusion, 1986
105
Scarica