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