UNIVERSITÀ DEGLI STUDI DI PADOVA DIPARTIMENTO DI TECNICA E GESTIONE DEI SISTEMI INDUSTRIALI CORSO DI LAUREA MAGISTRALE IN INGEGNERIA MECCATRONICA TESI DI LAUREA MAGISTRALE Modeling and Control of actuators based on antagonistic pairs of SMA wires Relatore: Prof. Roberto Oboe Correlatore: Dott. Riccardo Antonello Laureando: Alessandro Di Flumeri 1013147-IMC ANNO ACCADEMICO: 2014-15 a Michela “... avevamo un sogno e anche senza un soldo contava solo quello che ci univa poteva opporsi tutto il mondo ma noi lo sentivamo che dalla nostra parte stava il Cielo ...” — 1972 - The Sun SOMMARIO In questo lavoro vengono presentate la modellizzazione ed il controllo di attuatori basati su coppie antagoniste di fili a memoria di forma. Poiché tali leghe presentano importanti fenomeni di tipo isteretico, per controllare la movimentazione dei fili, si è scelto di implementare due differenti sistemi di controllo della posizione. In entrambi i casi è stato utilizzato un semplice controllore PI ma la differenza principale risiede nell’anello di retroazione. Nel primo caso, infatti, si è scelto di sfruttare un sensore di posizione per valutare l’effettivo spostamento del cursore. Nel secondo caso, invece, si è optato per l’impiego di uno stimatore al fine di ottenere un controllo di tipo sensor-less. La non perfetta conoscenza del sistema in esame non ha permesso di conseguire risultati soddisfacenti con questa tipologia di controllo. Viceversa, l’utilizzo del sensore di posizione ha consentito di ottenere un errore di inseguimento piuttosto ridotto, garantendo, al sistema di attuazione, prestazioni adeguate. Oltre al sistema di controllo, nell’elaborato viene presentato anche un modello matematico in grado di determinare il comportamento qualitativo del sistema. Infine, viene mostrato uno strumento di generazione automatica del codice che ha permesso di ridurre i tempi di progettazione e realizzazione del programma relativo al sistema di controllo. v Sono felice che tu sia qui con me. Qui, alla fine di ogni cosa, Sam. — Frodo RINGRAZIAMENTI Ho scelto di iniziare i ringraziamenti riportando questa bella citazione perché senza dubbio si può dire che il mio è stato un lungo cammino, quasi come quello intrapreso da Frodo, e in questo percorso ho avuto molti compagni di viaggio che voglio ringraziare per essere stati con me. Il primo e doveroso ringraziamento va al prof. Oboe il quale, dopo avermi supportato alla laurea triennale, mi ha concesso di lavorare nuovamente con Lui. Grazie quindi per le indicazioni che mi ha fornito, per la passione con cui svolge il Suo lavoro e per tutti gli insegnamenti che mi ha trasmesso a lezione. Un grazie sincero al dott. Antonello, lavoratore instancabile e sempre disponibile a sostenermi davanti ad ogni difficoltà incontrata. La sua capacità di assistere ogni persona che glielo chiede, oltre all’eccezionale preparazione, fa di lui una persona straordinaria, prima ancora che un ottimo ingegnere. Grazie Riccardo! Con profonda riconoscenza voglio, poi, ringraziare la mia famiglia: grazie perché mi avete permesso di intraprendere questo percorso di studi spronandomi a non mollare fin dal primo anno di università; grazie perché nonostante le difficoltà incontrate nel cammino non avete mai smesso di credere in me e di sostenermi; infine, grazie per l’affetto che ogni giorno mi dimostrate con i vostri piccoli gesti. Ringrazio profondamente anche mio Nonno, le sue parole e il suo esempio di instancabile lavoratore, nonostante le numerose difficoltà che nella sua vita ha incontrato, sono per me fonte di ispirazione. A causa del diverso ritmo con cui ognuno di noi ha intrapreso questo viaggio nell’ultimo anno ci siamo un po’ persi di vista, ma senza dubbio devo ringraziare ognuno di voi per aver reso le giornate di lezione e di studio più leggere e divertenti, quindi, grazie Simone, Marco, Francesco, Antonio, Davide, Paolo e Mattia. Grazie agli amici di sempre: siete un costante e grandissimo riferimento nella mia vita. Vi sono grato per tutto ciò che abbiamo condiviso insieme, per tutte le esperienze e i viaggi fatti. Un grandissimo grazie anche ai nuovi amici “spirituali” conosciuti in questi ultimi anni; nonostante il poco tempo trascorso insieme reputo un grande privilegio avervi incontrato ed è un piacere condividere con voi il dono della Fede. Un grazie speciale va a tutti i cellulini: grazie per la vostra amicizia, per il sostegno e le preghiere con le quali mi avete accompagnato in vii questi ultimi mesi. Ringrazio di cuore don Francesco: sacerdote, amico, preziosa guida e strumento del Signore. Grazie a te, Michela: grazie perché da nove anni mi sopporti; grazie per avermi aiutato a crescere e migliorare; grazie per i sorrisi, gli sguardi e le risate; infine, grazie per aver scelto di condividere con me il dono della Fede che ha contribuito a trasformare il nostro Amore. Da ultimo, ma non per ultimo, il mio ringraziamento più grande va a Chi di dovere: grazie Gesù per tutte le persone che hai messo al mio fianco; grazie per questo traguardo, tanto rincorso e finalmente raggiunto; grazie per tutto ciò che hai compiuto e continui a compiere nella mia vita; ma soprattutto grazie per il dono della Famiglia, della Fede, dell’Amicizia e dell’Amore. viii INDICE 1 2 3 4 5 6 introduzione 1 proprietà fisiche degli sma e il modello matematico che li descrive 3 2.1 Introduzione delle proprietà generali degli SMA 3 2.2 Composizione chimica e processi di produzione del Nitinol 8 2.3 Modello matematico di un filo SMA 12 2.3.1 Heat transfer 13 2.3.2 Electrical resistance 14 2.3.3 Caratteristica ξ-T 16 2.3.4 Force-elongation characteristic 19 tipologie di attuatori sma 23 3.1 Constant loaded SMA 23 3.2 Spring loaded SMA 24 3.3 Antagonistic SMAs 25 3.3.1 Controllo in catena chiusa con sonda laser 28 3.3.2 Controllo in catena chiusa con retroazione di resistenza 31 apparato sperimentale e automatic code generation 35 4.1 Apparato sperimentale 35 4.1.1 ST M32F407 discovery 37 4.1.2 Sensore laser di spostamento a triangolazione 39 4.1.3 Power board 41 4.1.4 Serial to USB converter 43 4.1.5 Cella di carico 44 4.2 Generazione automatica del codice 46 4.2.1 Panoramica sull’STM32 Embedded Target 48 4.2.2 ADC 49 4.2.3 GPIO 53 4.2.4 Timers 55 4.2.5 USART 58 presentazione dei risultati ottenuti dalle simulazioni 61 5.1 Risultati simulazione e modello open-loop 61 5.1.1 Risultati simulazione open-loop 65 5.2 Risultati simulazione e modello closed-loop 70 5.2.1 Risultati simulazione closed-loop 72 presentazione dei risultati sperimentali 77 6.1 Risultati sperimentali sistema Open-loop 78 6.2 Risultati sperimentali sistema Closed-loop 85 6.2.1 Sistema Closed-loop con sensore di posizione 85 ix x indice 6.2.2 Conclusioni Risultati sperimentali sistema Sensor-less 97 91 Appendix 99 a calcolo della posizione del carrello 101 b codice programma phidgetsbridge.exe 103 c programma di post-elaborazione dei dati della cella di carico 107 d schema di controllo in catena chiusa con retroazione di resistenza 109 e schema di controllo in catena aperta 111 f schema di controllo in catena chiusa con retroazione di posizione 113 bibliografia 115 ELENCO DELLE FIGURE Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8 Figura 9 Figura 10 Figura 11 Figura 12 Figura 13 Figura 14 Figura 15 Figura 16 Figura 17 Cambiamento di fase, da martensite ad austenite. 4 Allungamento vs Temperatura con evidenziazione delle temperature di transizione di fase. 5 Comportamento termo-meccanico di un filo Ni0 to ), 4 Ti: shape memory effect ( pseudoela5 to ). 10 stic loop ( 6 Misura della temperatura di inizio fase austenitica As rispetto al contenuto di titanio caricato (bianco) e misurato (giallo). 11 Diagramma a blocchi del singolo filo SMA. 13 Isteresi relativa al rapporto frazione di martensite ξ-temperatura T. 16 (a) funzioni pendenza scalate, (b) integrali delle funzioni Gaussiane. 18 Metodo per ottenere il modello differenziale per gli anelli minori. 18 Caratteristiche ottenute dal modello matematico: (a) Martensite fraction vs temperature, (b) Strain vs temperature. 19 Caratteristica forza su allungamento: (a) fase martensitica (b) fase austenitica. 20 Attuatore composto da SMA sottoposto ad un carico costante. 23 Attuatore composto da SMA con molla antagonista. 24 Schema di un miscelatore attuato da una molla SMA. 25 Attuatore composto da una coppia antagonista di fili SMA. 25 Schema a blocchi del sistema di controllo di posizione: (a) sfruttando l’utilizzo della sonda laser, (b) sfruttando la resistenza del filo come sensore di posizione. 27 Primo stadio di condizionamento del segnale. 29 Partitore di tensione per ottenere Va desiderata all’ingresso non invertente dell’AO. 30 xi xii Elenco delle figure Figura 18 Figura 19 Figura 20 Figura 21 Figura 22 Figura 23 Figura 24 Figura 25 Figura 26 Figura 27 Figura 28 Figura 29 Figura 30 Figura 31 Figura 32 Figura 33 Figura 34 Figura 35 Figura 36 Figura 37 Figura 38 Figura 39 Andamento dello spostamento del carrello rispetto alla variazione di resistenza dei singoli fili (a) e rispetto alla variazione di resistenza differenziale ∆R = R1 − R2 (b). 32 Prova sperimentale in catena aperta: caratteristica allungamento su differenza di resistenza. 33 Apparato sperimentale utilizzato nelle prove. 35 ST M32F407 discovery. 38 Sensore laser di posizione a triangolazione Keyence LK-G32. 40 Schema del circuito di azzeramento della sonda laser. 41 Schema di principio della misurazione di tensione e corrente del filo. 42 Droids 990.004 USB to Serial Micro Converter. 43 Funzionamento di uno strain gauge applicato ad una struttura sottoposta a deformazione: (a) condizione di riposo, (b) condizione di tensione, (c) condizione di compressione. 44 Cella di carico e relativa scheda per l’acquisizione dei dati. 45 Blockset STMicroelectronics all’interno del Simulink Library Browser. 48 Finestra di inizializzazione dell’ADC. 51 Schema concettuale per la scelta del fronte del segnale di trigger. 52 Allineamento dei dati a destra di un ADC a 12-bit. 53 Blockset delle GPIO. 54 Blocco Simulink: GPIO_Write. 55 Esempio di finestra di configurazione dei timer. 55 Schema concettuale del funzionamento del timer in modalità Output_PWM. 56 Finestra di configurazione della comunicazione USART. 58 Stateflow chart per la decodifica dei byte ricevuti dalla control board. 60 Andamento della temperatura T rispetto alla variazione di duty cycle D. 63 Schema a blocchi del modello matematico del sistema. 63 Elenco delle figure Figura 40 Figura 41 Figura 42 Figura 43 Figura 44 Figura 45 Figura 46 Figura 47 Figura 48 Figura 49 Figura 50 Risultati simulazione sistema controllato in tensione con riferimento a rampa. (a) Temperatura vs duty cycle (SMA wire 1). (b) Spostamento vs temperatura. (c) Forza vs spostamento. (d) Resistenza elettrica vs duty cycle (SMA wire 1). (e) Spostamento vs resistenza elettrica. (f) Spostamento vs resistenza elettrica differenziale. 68 Risultati simulazione sistema controllato in tensione con Tamb variabile. (a) Spostamento vs temperatura. (b) Resistenza elettrica vs duty cycle (SMA wire 1). (c) Spostamento vs resistenza elettrica. (d) Spostamento vs resistenza elettrica differenziale. 70 Schema a blocchi del modello closed-loop 71 Risultati simulazione sistema a catena chiusa con riferimento ad onda quadra. (a) Spostamento vs resistenza elettrica. (b) Spostamento vs resistenza elettrica. (c) Resistenza elettrica vs duty cycle. (d) Spostamento vs duty cycle. (e) Spostamento vs resistenza elettrica differenziale. (f) Spostamento carrello vs riferimento di posizione. 73 Risultati simulazione sistema a catena chiusa con riferimento a gradini. (a) Spostamento vs resistenza elettrica. (b) Spostamento vs resistenza elettrica. (c) Resistenza elettrica vs duty cycle. (d) Spostamento vs duty cycle. (e) Spostamento vs resistenza elettrica differenziale. (f) Spostamento carrello vs riferimento di posizione. 75 Confronto della caratteristica forza-spostamento riportata in [1] ed ottenuta sperimentalmente. 78 Confronto tra i risultati sperimentali riportati in [1] e le prove del sistema open-loop con riferimento sinusoidale. 79 Confronto risultati della simulazione con quelli sperimentali del sistema open-loop con riferimento ad onda quadra. 81 Confronto valori di resistenza in prove con precarico differente. 82 Spostamento del carrello nella prova open-loop con riferimento ad onda quadra. 84 Risultati sperimentali sistema a catena chiusa con riferimento ad onda quadra. 86 xiii Figura 51 Figura 52 Figura 53 Figura 54 Figura 55 Figura 56 Figura 57 Andamento dello stress sui fili ad alimentazione costante. 88 Risultati sperimentali sistema a catena chiusa con riferimento a gradini. 90 Variazione dello spostamento del carrello rispetto alla differenza di resistenza dei due fili. 92 Rette determinate da differenti prove open-loop con riferimento ad onda quadra. 93 Risultati sperimentali sistema sensor-less con riferimento ad onda quadra (durata 60 secondi). 94 Risultati sperimentali sistema sensor-less con riferimento ad onda quadra (durata 400 secondi). 95 Schema a blocchi Valore ADC Laser to x [mm] 101 E L E N C O D E L L E TA B E L L E Tabella 1 Tabella 2 Tabella 3 Tabella 4 Tabella 5 Tabella 6 Tabella 7 xiv Valori proposti in [1] del modulo di Young per ogni fase. 20 Comandi di comunicazione con il sistema di controllo. 59 Parametri della simulazione. 66 Coefficienti delle rette relative ad ogni curva. 83 Errore medio di inseguimento del riferimento e relativa deviazione standard. 89 Coefficienti delle rette relative ad ogni curva (riferimento a gradini di posizione). 91 Errore di inseguimento del riferimento di posizione. 94 1 INTRODUZIONE Negli ultimi anni, in ambito commerciale, si è assistito sempre più spesso alla progressiva riduzione delle dimensioni e del peso dei sistemi di attuazione. La richiesta, derivante dal mercato, di ridurre la grandezza degli attuatori, ha portato a studiare e sviluppare nuove tipologie di sistemi di movimentazione non considerati negli anni precedenti. A partire da questa considerazione si è scelto di analizzare la fattibilità di impiegare le leghe a memoria di forma, come attuatori lineari di dimensioni ridotte, a basso costo e peso. Si è scelto, dunque, di studiare e, successivamente, sfruttare l’effetto memoria di forma che caratterizza tali materiali. L’effetto memoria di forma, o shape memory effect (SME), consente a questi particolari materiali di recuperare la loro forma originaria dopo che sono stati deformati. In questo lavoro di tesi si vedrà che, per il caso degli attuatori, tale deformazione è causata dalla presenza di un elemento che successivamente sarà indicato con il termine elemento di contrasto o elemento passivo. Nel passato le leghe a memoria di forma sono state analizzate ed impiegate in numerose applicazioni che, tuttavia, non richiedono un’attuazione ciclica. Questo è il caso degli stent e delle graffette ossee, utilizzati in ambito cardiovascolare e ortopedico. Il primo dispositivo viene impiegato a supporto di pareti vascolari indebolite od occluse, infatti, sfruttando l’effetto memoria di forma, gli stent possono essere inseriti nelle vene, tramite cateteri, quando si trovano nella loro conformazione chiusa e, successivamente, recuperano la loro forma originaria (aperta) una volta entrati in contatto con il flusso sanguigno e grazie alle condizioni termiche del corpo umano. Anche il meccanismo di funzionamento delle graffette ha permesso di effettuare importanti considerazioni. Esse vengono utilizzate per accelerare il processo di ricostruzione ossea e, quindi, di guarigione. Il dispositivo viene impiantato nella zona in cui si vuole che avvenga la ricostruzione dell’osso fratturato e, successivamente, la graffetta viene riscaldata fino a quando non assume la sua configurazione originaria, associata alla fase austenitica, la quale consente di esercitare sull’osso una forza di compressione che consente di velocizzare i tempi di guarigione. Dalle due applicazioni qui riportate, si comprende come i materiali a memoria di forma possano essere di dimensioni contenute e, nonostante ciò, esercitare delle forze sufficientemente elevate. Alla luce di tali risultati sono iniziati ad emergere degli studi riguardanti l’applicazione degli SMA come attuatori, sfruttando la forza che essi 1 2 introduzione generano nella fase di recupero della forma. In letteratura si possono, quindi, reperire diversi lavori nei quali questa tipologia di attuatori utilizza, come elementi di contrasto, delle molle o dei carichi costanti. Questo lavoro di tesi prende spunto, tuttavia, da quanto viene presentato in [1], ovvero, utilizzando la configurazione a due fili contrapposti, presentata nell’articolo, è stato progettato un sistema di controllo, sia con sensore di posizione che sensor-less, in grado di movimentare correttamente un carrello opportunamente connesso ai due fili. Prima della fase di progettazione è stato, dunque, effettuato uno studio approfondito del sistema impiegato, con la realizzazione di modelli matematici in grado di determinarne il comportamento sia in catena aperta che in catena chiusa. Lo scopo di questo lavoro è, quindi, quello di realizzare un sistema di controllo per un attuatore basato su due fili SMA contrapposti che sia in grado, dopo opportune modifiche, di movimentare il sistema di stabilizzazione della fotocamera di uno smartphone presentato dell’ing. Pagani nel suo lavoro di tesi [7]. In seguito verranno presentate, dunque, le proprietà generali delle leghe a memoria di forma ed il modello matematico che consente di descrivere il funzionamento di un filo SMA. Successivamente, il modello sarà esteso al caso in esame dei due fili contrapposti e, grazie a tale estensione, sarà possibile simulare il comportamento del sistema considerato. Infine, verranno presentati i risultati ottenuti sperimentalmente sia in catena aperta che in catena chiusa. Di quest’ultima tipologia di controllo verrà riportato anche il caso sensor-less che, tuttavia, mostrerà non poche problematiche. 2 P R O P R I E TÀ F I S I C H E D E G L I S M A E I L M O D E L L O M AT E M AT I C O C H E L I D E S C R I V E Lo scopo di questo capitolo è quello di presentare le proprietà generali delle diverse tipologie di leghe a memoria di forma (SMA - Shape Memory Alloys), soffermandosi, in particolare, sul Nitinol, lega dei fili con i quali sono state effettuate le prove che verranno riportate nei capitoli successivi. In seguito verrà approfondito il comportamento fisico degli SMA e le equazioni che lo descrivono, al fine di ottenere un modello matematico che permetta, mediante il software Simulink, di valutare l’andamento delle loro principali grandezze come ad esempio: resistenza, allungamento, temperatura. 2.1 introduzione delle proprietà generali degli sma Le leghe a memoria di forma (SMA) sono speciali leghe metalliche che hanno la capacità di recuperare, continuamente e in modo ripetibile, una forma prestabilita quando risultano essere soggette ad un appropriato ciclo termico. Questa caratteristica, chiamata shape memory effect, è resa possibile grazie al passaggio, reversibile, tra due diverse fasi del materiale. La prima fase, a bassa temperatura, è la fase Martensitica, mentre la fase ad alta temperatura viene chiamata fase Austenitica. Quando si trova in fase martensitica, il materiale può essere facilmente deformato e allungato ma la sua forma originale può essere recuperata, rispetto a qualsiasi deformazione plastica, in fase austenitica, semplicemente riscaldando il materiale. Tra le varie tipologie di shape memory alloys, il più diffuso risulta essere il Nitinol, Nichel Titanium Naval Ordinance Laboratory. Questa lega è stata scoperta nel 1960 nel Naval Oridinance Laboratory, ed è una lega composta, con percentuali più o meno uguali, da Nichel e Titanio. Il Nitinol, essendo una lega a memoria di forma, gode anch’esso della proprietà comune a tutti gli SMA, ovvero è in grado di recuperare, attraverso un ciclo di riscaldamento, la deformazione a cui viene sottoposto. Per meglio comprendere questa particolare caratteristica si consideri la Fig.1, dalla quale risulta più semplice capire come sia possibile passare da una fase all’altra attraverso la deformazione meccanica e il successivo riscaldamento del materiale. Dalla figura si può notare che nella fase austenitica (a temperatura elevata) il reticolo cristallino del materiale risulta essere fortemente simmetrico. Tuttavia, quando una lega a memoria di forma in fase austenitica subisce un ciclo di raffreddamento, essa cambia di fase e 3 4 proprietà fisiche degli sma e il modello matematico che li descrive passa, da un reticolo estremamente simmetrico, ad un reticolo monoclino che presenta una scarsa simmetria, tipico della fase martensitica. In assenza di forze esterne applicate, il reticolo si riorganizza, quindi, in modo autonomo (Twinned martensite), con il risultato di una variazione di forma non osservabile macroscopicamente. Quando il materiale si trova nella fase twinned martensite, è possibile deformarlo meccanicamente fino ad un valore inferiore al 6%. L’applicazione di un carico meccanico comporta, perciò, una deformazione anelastica macroscopica che forza il reticolo a riorientarsi. Questo comportamento è ciò che in figura viene induviduato come la fase Detwinned martensite. Dopo un ciclo di riscaldamento, oltre certe temperature, la fase martensitica torna, dunque, alla fase austenitica e la deformazione anelastica viene così recuperata. Questo particolare comportamento degli SMA è, quindi, ciò che in precedenza abbiamo definito con il temine shape memory effect. Figura 1: Cambiamento di fase, da martensite ad austenite. Il lavoro meccanico generato nella fase di recupero della forma da parte del materiale rende, perciò, gli SMA adatti a lavorare come attuatori attivati termicamente. Infatti, comparati con le altre tipologie di attuatori, gli SMA risultano avere molte caratteristiche importanti come leggerezza, compattezza, basso costo, bio-compatibilità, minor rumore di funzionamento, self-sensing, facilità di miniaturizzazione, che li rendono ideali per molte applicazioni meccatroniche nell’automotive, in ambito biomedico, robotico, e nei campi dell’ingegneria civile e aerospaziale. L’energia termica richiesta dagli SMA per la transizione da fase martensitica a fase austenitica (reverse transition) viene generalmen- 2.1 introduzione delle proprietà generali degli sma te fornita sfruttando la resistenza elettrica intrinseca del materiale e quindi l’effetto Joule. Per quanto riguarda invece il processo di raffreddamento, necessario per passare dalla fase austenitica alla fase martensitica (direct transition), esso si basa tipicamente sulla convezione forzata o naturale e risulta essere, perciò, più lento rispetto al processo di riscaldamento; questa risulta essere, quindi, la principale causa che limita la frequenza di funzionamento degli SMA nelle operazioni cicliche. Entrambe le transizioni, sia quella diretta che quella inversa, si verificano fra due temperature definite austenite start (As ), austenite stop (Af ) e martensite start (Ms ), martensite stop (Mf ). Le temperature ( start e stop ) dipendono, inoltre, dal livello di stress meccanico applicato al materiale: si può così ottenere, ad esempio, una trasformazione di fase anche a temperatura costante purché sia applicata all’SMA una forza appropriata. Dalla Fig.2 si può notare come vi sia una significante isteresi termica ( tipicamente dell’ordine di 20 - 40 °C ), tra la transizione diretta e quella inversa, che evidenzia un comportamento termo-meccanico non lineare degli SMA. Al fine di comprendere meglio tale caratteri- Figura 2: Allungamento vs Temperatura con evidenziazione delle temperature di transizione di fase. stica, si consideri il diagramma di Fig.3 presentato in [9]. La figura mostra il comportamento termo-meccanico di un filo a memoria di forma testato in un bagno d’acqua a temperatura controllata. Il diagramma è stato ottenuto iniziando la prova con il campione a bassa 0 in figura). Sottemperatura e senza alcuna forza esterna applicata ( to tali condizioni il materiale si trova, dunque, nella fase twinned martensite. Successivamente viene applicato al campione un ciclo di carico e 0 a ), 2 scarico a temperatura costante e relativamente bassa (da du- 5 6 proprietà fisiche degli sma e il modello matematico che li descrive Figura 3: Comportamento termo-meccanico di un filo NiTi: shape memory 0 to ), 4 5 to ). 10 effect ( pseudoelastic loop ( rante il quale la fase del materiale varia da twinned a detwinned martensite nel periodo di applicazione del carico. Come si può notare dalla figura, al termine di questo ciclo il materiale presenta una deformazione apparentemente permanente di circa il 5% della sua lunghezza. Il campione viene, quindi, sottoposto ad un incremento di tempe2 a ) 5 ratura (da tenendo il carico ad un piccolo valore positivo e si nota che all’aumentare della temperatura la fase del materiale passa da detwinned martensite ad austenite: si verifica quindi l’effetto memoria di forma mostrato precedentemente in Fig.1. Durante la transi3 a ) 4 zione di fase da detwinned martensite ad austenite (da si ha un’ulteriore deformazione del materiale, la quale ripristina la forma originaria dell’SMA. Il lavoro che compie il materiale per tornare alla forma iniziale è proprio ciò che si vuole sfruttare per utilizzare gli SMA come attuatori lineari. Una volta in fase austenitica il campione viene nuovamente sotto5 a ), 10 posto ad un ciclo di carico-scarico (da in questo caso ad una temperatura leggermente superiore rispetto alla sua temperatura di trasformazione. Si può notare che a carico costante, di circa 0.5 GPa, il materiale subisce una deformazione che varia dall’ 1% fino al 7% durante la quale il materiale passa dalla fase austenite alla detwin6 a ). 7 ned martensite (da Invece, nel ciclo di scarico, si nota che ad un livello di carico inferiore, circa 0.2 GPa, il materiale ritorna alla fase austenite, che risulta essere l’unica stabile a tali temperature, e la 8 a ). 9 forma originaria del materiale viene così ripristinata (da 2.1 introduzione delle proprietà generali degli sma In questo caso vale la pena sottolineare che il recupero della forma non avviene in seguito all’applicazione di calore, come succede 3 a , 4 da ma a causa di una riduzione dello stress del filo. Tale capacità degli SMA di recuperare la propria forma dopo che si è verificata una grande deformazione viene chiamata super-elasticità (o Pseudoelasticity). La deformazione indotta dalla trasformazione da fase austenitica a martensitica generalmente si verifica solo per temperature leggermente superiori alla temperatura di arresto della fase austenitica (Af ). Per temperature molto elevate questa proprietà non si presenta e il comportamento del materiale risulta essere simile a quello di un comune materiale elastico [1]. Poiché, come mostrato in Fig.1, la trasformazione diretta, da austenite a martensite, avviene senza alcun cambiamento nella forma del materiale, per ripristinare la deformazione e per riportare il materiale nella fase detwinned, sarà, perciò, necessario applicare nuovamente una sollecitazione esterna. Questo lavoro di tesi consiste nel determinare la fattibilità dell’utilizzo dei fili a memoria di forma come attuatori lineari, quindi, l’affermazione appena fatta risulta essere di fondamentale importanza poiché senza alcuna forza esterna che agisca sull’SMA non sarebbe possibile alcuna attuazione ciclica. Proprio per questo motivo ogni attuatore composto da un singolo SMA presenta un elemento attivo ( il filo a memoria di forma ) e un elemento passivo che contrasta l’azione dell’attuatore permettendo così al filo, dopo la trasformazione diretta, di ripristinare la deformazione iniziale. Tipicamente l’elemento attivo è un SMA che ha la forma di un filo o di una molla, a causa della facilità di produzione, mentre l’elemento di contrasto può essere un carico costante, un peso, una molla oppure, come nel caso in esame, un altro elemento SMA antagonista al precedente. Grazie all’azione dell’elemento passivo, l’SMA risulta, quindi, essere pre-tensionato quando si trova nella fase martensitica subendo così una deformazione che verrà poi ripristinata durante la fase di riscaldamento, nella quale il filo subirà una contrazione. Tuttavia la forza generata dall’elemento passivo garantirà un’ulteriore deformazione dell’elemento attivo una volta avvenuta la transizione diretta, cioè quando il materiale passerà dalla fase austenitica alla fase martensitica a causa del ciclo di raffreddamento. Si può, dunque, comprendere come al termine del ciclo di riscaldamento-raffreddamento, il sistema si trovi ad essere nuovamente nella condizione iniziale di deformazione garantendo così la possibilità di una lavorazione ciclica. Nei successivi capitoli verrà comunque approfondita la scelta dell’utilizzo di un filo SMA come elemento di contrasto e verrà presentato in modo più esauriente la costituzione del banco di prova. Sebbene la forma risulti essere la proprietà più nota di un SMA che varia durante la fase di trasformazione del materiale, ci sono tuttavia 7 8 proprietà fisiche degli sma e il modello matematico che li descrive molte altre proprietà fisiche e chimiche che vengono alterate durante la trasformazione. Quindi, nonostante l’effetto memoria di forma possa sembrare banale e di facile comprensione, risulta essere tuttavia molto complesso proprio a causa del cambiamento di fase. Una delle proprietà degli SMA più rilevante dal punto di vista ingegneristico risulta essere la resistenza elettrica, poiché consente a queste particolari leghe di essere utilizzate non solo come attuatori ma anche come sensori estensimentrici o addirittura di temperatura. Questo risulta essere un notevole vantaggio perché l’SMA può diventare così un attuatore con capacità di self-sensing della posizione e può, quindi, essere impiegato in molte applicazioni sensor-less di controllo della movimentazione. Nonostante ciò la principale problematica risulta essere la variazione della resistenza durante il cambiamento di fase. Infatti, come verrà mostrato successivamente, il rapporto deformazione del materiale su resistenza presenta un comportamento non lineare e isteretico che complica notevolmente l’utilizzo degli SMA come attuatori self-sensing. 2.2 composizione chimica e processi di produzione del nitinol Il Nitinol è un materiale impiegato in un numero sempre più crescente di applicazioni, soprattutto in campo biomedico dove negli ultimi anni viene utilizzato con successo nella produzione di stent, protesi ortopediche e strumenti chirurgici. Tuttavia gli SMA, e in particolare il Nitinol, possono essere impiegati anche nel campo dell’automotive e nel settore degli elettrodomestici i quali possono trarre vantaggio dall’utilizzo di dispositivi basati su queste particolari leghe: basti pensare che un moderno veicolo è composto da oltre 60 attuatori elettromeccanici i quali potrebbero essere facilmente sostituiti da attuatori SMA. Una delle problematiche legate all’utilizzo di questi materiali è dovuto alle proprietà degli SMA disponibili in commercio, poiché le prestazioni dei materiali possono variare e modificarsi durante le fasi di produzione e training dei dispositivi SMA. Integrare quindi la cooperazione tra i produttori delle leghe e i progettisti dei dispositivi è la chiave per creare processi di produzione su misura che permettano di ottenere le prestazioni desiderate. La conoscenza delle temperature alle quali il dispositivo lavorerà risulta essere, infatti, una delle specifiche di fondamentale importanza nella produzione del Nitinol poiché, nonostante il NiTi sia una lega binaria quasi equiatomica di nichel e titanio, può capitare, in fase di produzione, che vi siano intrusioni di altri elementi chimici, quali ossigeno, azoto, idrogeno e carbonio, responsabili dell’alterazione dello stato di purezza della lega, della temperatura di trasformazione di fase, della biocompatibilità e del grado delle proprietà meccaniche 2.2 composizione chimica e processi di produzione del nitinol della stessa. In particolare ossigeno e azoto presentano effetti dannosi sulla duttilità del materiale mentre l’idrogeno provoca, inoltre, una variazione nelle temperature di trasformazione di fase. A seconda della temperatura di funzionamento dei dispositivi SMA risulta, quindi, possibile introdurre nella lega altri elementi al fine di modificarne le temperature di trasformazione. Ad esempio, l’introduzione di materiali quali cromo, ferro e cobalto causano l’abbassamento del valore della temperatura di fine trasformazione martensitica Ms , mentre l’introduzione di rame, platino e zirconio ne provoca un innalzamento. Inoltre, come è stato accennato in precedenza, il Nitinol è composto da percentuali pressoché uguali di nichel e titanio, quindi, poiché presenta una percentuale elevata di titanio, risulta essere un materiale fortemente reattivo all’ossigeno. Perciò, per evitare che la lega presenti ossidazioni, di solito il Nitinol viene prodotto in condizioni di vuoto. I processi comunemente utilizzati per la produzione di Nitinol in ambito industriale sono la fusione sotto vuoto per induzione (VIM - vacuum induction melting) e la fusione sotto vuoto ad arco (VAR vacuum arc remelting); tuttavia altri processi quali la fusione a fascio di elettroni (EBM - electron beam melting) e la fusione al plasma, vengono utilizzati in particolare nelle fasi di sperimentazione. Vediamo quindi cosa distingue i diversi processi: • Fusione a vuoto VIM: è una tecnica nata inizialmente per soddisfare le esigenze metallurgiche di industrie specializzate; tuttavia si sta rivelando sempre più determinante nella produzione di materiali ad alte prestazioni. Il processo VIM comporta la fusione dei metalli ottenuta per mezzo di un campo elettromagnetico ad induzione, applicato in condizioni di vuoto. La fusione ha luogo in un forno costituito da un rivestimento refrattario, o un crogiolo, collocato all’interno di una bobina ad induzione. Lo svantaggio di tale tecnica è dovuto principalmente alla contaminazione della lega causata dal crogiolo che è generalmente costituito da grafite. • Fusione a vuoto VAR: in tale processo i materiali da fondere vengono caricati in un forno composto da due gruppi meccanici che vengono uniti per formare il recipiente sottovuoto nel quale avviene la fusione. La testa mobile del forno costituisce la sezione superiore del recipiente dove un pistone, integrato e altamente sofisticato, supporta e controlla il movimento di un elettrodo. L’elettrodo è bloccato sull’estremità inferiore e costituisce il catodo del processo di fusione ad arco. La stazione fusoria fissa è, invece, la parte inferiore del contenitore sottovuoto ed è costituita da un crogiolo amovibile. La progettazione e la costruzione del crogiolo, anche in questo caso, sono fattori 9 10 proprietà fisiche degli sma e il modello matematico che li descrive critici rispetto l’obiettivo di ottenere una soddisfacente fusione finale. Dopo aver abbassato la testa mobile del forno all’interno della stazione fusoria, viene creata la condizione di vuoto e successivamente un’elevata corrente continua viene applicata all’elettrodo generando così la formazione di un arco tra il catodo e il lingotto (anodo), provvedendo, in tal modo, alla fusione del materiale. • Fusione a fascio di elettroni EBM: è una tecnologia mediante la quale una sorgente di elevata energia, composta da una fascio opportunamente concentrato e accelerato di elettroni, colpisce un materiale in forma “micro granulometrica” provocandone la fusione completa. Questo procedimento, che parte direttamente dal metallo puro allo stato di polvere, permette di ottenere pezzi finiti privi di vuoti. L’EBM è attualmente utilizzato con successo nel settore aeronautico, aerospaziale e biomedicale, in particolare nella fusione di titanio in lega (come il Nitinol) per la creazione di protesi articolari. • Fusione al plasma: i forni ad arco di plasma utilizzano torce al plasma invece di elettrodi di grafite. Ognuna di queste torce è costituita da un involucro dotato di un ugello collegato ad un tubo dal quale avviene la fornitura del gas (azoto o argon) che genera il plasma. All’interno della tubazione vi è poi un elettrodo cilindrico di grafite che permette la ionizzazione del gas. Anche questo processo di fusione viene ampiamente utilizzato per la produzione di leghe di titanio. In [8] viene spiegato come ogni procedimento di fusione utilizzato per produrre leghe di titanio, risulti valido anche per la produzione del Nitinol. Tuttavia la procedura più utilizzata risulta essere la VIMVAR, che consiste nel preparare un primo lingotto della lega mediante la fusione a vuoto per induzione (VIM) alla quale segue una rifusione ad arco (VAR) per migliorare l’omogeneità della microstruttura del materiale. Nei processi di produzione del Nitinol ci si trova quindi a dover fronteggiare problematiche di diversa natura, quali: • la sensibilità all’ossigeno e alla contaminazione da carbonio; • la precisione nel controllo della composizione chimica della lega; • micro e macro segregazioni nel materiale le quali possono essere minimizzate con opportune condizioni nella fase di raffreddamento; • evitare inclusioni non metalliche. 2.2 composizione chimica e processi di produzione del nitinol Figura 4: Misura della temperatura di inizio fase austenitica As rispetto al contenuto di titanio caricato (bianco) e misurato (giallo). Nell’articolo vengono, inoltre, esposti alcuni accorgimenti da considerare per far fronte alle problematiche esposte sopra; in particolare risulta essere di fondamentale importanza la fase di raffreddamento della lega. Una fase di raffreddamento rapida garantisce, infatti, una minor segregazione all’interno del materiale, oltre a favorire una buona dispersione delle particelle come carburi e composti metallici. Poiché nei processi VIM vengono utilizzati crogioli in grafite, un’altra delle problematiche da affrontare in fase di produzione, è il possibile contenuto elevato di carbonio all’interno del materiale. Tuttavia evitando il contatto diretto tra il titanio e il crogiolo e mantenendo la temperatura di fusione al di sotto di 1450 °C, è possibile ottenere una bassa concentrazione di carbonio nella lega. I requisiti generali che il Nitinol deve rispettare sono contenuti nella normativa internazionale ASTM F2063-00. Per quanto riguarda le temperature di trasformazione del materiale, esse possono essere definite con un errore di ±5°C, per lingotti relativamente piccoli ottenuti con la tecnica di fusione VIM, ma risulta decisamente più complicato controllare le micro e macro segregazioni all’aumentare delle dimensioni dei lingotti. Per questo motivo viene perfezionata la microstruttura del materiale attraverso la rifusione ad arco (VAR), la quale permette di generare un lingotto più omogeneo e con molta meno segregazione. Il controllo preciso della composizione chimica del NiTi è un altro aspetto di fondamentale importanza. Infatti si è notato che, per leghe con concentrazione di nichel superiori al 55%, una variazione dell’1% di nichel o titanio si traduce in una variazione della temperatura di trasformazione di circa 100°C. Nonostante ciò, poiché non esistono tecniche analitiche che permettono di predire con precisione quali saranno le temperature di cambiamento di fase della lega, si preferisce controllare il comportamento del metallo misurando accuratamente la composizione, come mostrato in Fig.4. 11 12 proprietà fisiche degli sma e il modello matematico che li descrive Anche l’azienda produttrice dei fili SMA utilizzati nelle prove sperimentali adotta come tecnica realizzativa la fusione a vuoto per induzione VIM [12]. Partendo da dei granulati di nichel e titanio realizzano dei primi lingotti del peso di circa 5 kg l’uno e, successivamente, ogni lingotto viene ripassato nel forno ad induzione al fine di ottenere un lingotto più grande del peso di 20 kg circa. Da questi lingotti, attraverso tecniche di estrusione diretta o inversa, si ottengono delle barre che vengono poi opportunamente lavorate in modo tale da rimuovere gli ossidi e lo strato di rame, presente nel caso di estrusione inversa, prima della fase di laminazione. Il semilavorato ottenuto viene poi sottoposto ad un ciclo termico caldo-freddo a stress costante, che è noto come fase di training del materiale. Ciò viene fatto poiché la lega, dopo la fase di laminazione, non presenta ancora il tipico effetto memoria di forma. In quest’ultima fase, il controllo del carico, della temperatura e della durata del ciclo, sono aspetti cruciali per garantire la stabilizzazione delle proprietà funzionali dei fili a memoria di forma. 2.3 modello matematico di un filo sma Questo lavoro di tesi e, in particolar modo, lo sviluppo del modello matematico che descrive il comportamento dell’attuatore SMA trattato, prende spunto dal modello presentato in [1]. In letteratura sono presenti diversi studi e modelli che descrivono sistemi basati su attuatori SMA che presentano come elementi passivi molle o carichi costanti. Per questa tipologia di sistemi, sia la caratteristica sforzo su allungamento che allungamento su resistenza, per carichi differenti, sono state ampiamente analizzate. Gli autori di questo articolo hanno deciso, quindi, di soffermarsi sul caso particolare di due fili SMA contrapposti ,in quanto, un lavoro approfondito di analisi, per questa particolare configurazione, risultava essere ancora mancante. Visti i risultati ottenuti con il modello presentato e la buona validazione dei dati mediante la prova sperimentale, si è deciso di considerare tale modello come la base di partenza per il nostro lavoro. In questa parte ci si soffermerà, in particolare, sulla presentazione dettagliata di ogni blocco che compone il modello matematico dei fili SMA; nei capitoli successivi verranno presentati, invece, i risultati ottenuti dalle simulazioni e il riscontro dell’analisi sperimentale. Poiché il sistema considerato è composto da due fili SMA e da una slitta, modellabile come una semplice massa, la parte principale dell’ attività di modellizzazione è, quindi, quella di determinare un modello adatto alla descrizione del comportamento del singolo filo SMA, che verrà poi esteso al sistema composto da due fili contrapposti. Si prenda, quindi, come riferimento la Fig.5, la quale rappresenta lo schema a blocchi di un filo SMA, di tale diagramma verrà ana- 2.3 modello matematico di un filo sma Figura 5: Diagramma a blocchi del singolo filo SMA. lizzato ogni singolo modulo al fine di far comprendere al meglio il modello matematico considerato. 2.3.1 Heat transfer Per determinare il legame tra la potenza elettrica e la temperatura del filo, è stata fatta una prima ipotesi che consiste nel considerare il filo di lunghezza infinita. Poiché la lunghezza del filo risulta essere notevolmente maggiore rispetto al suo diametro, tale ipotesi può essere considerata valida. Questa supposizione permette, quindi, di sfruttare il noto modello termodinamico del cilindro con generazione interna di calore, in questo caso, per effetto Joule dovuto alla corrente che percorre il filo causandone il riscaldamento. La corrente, come in qualsiasi conduttore, risulta, dunque, essere la causa dell’aumento della temperatura del filo, il quale genera calore che viene poi scambiato con l’ambiente circostante. Il fatto che vi sia un legame tra la corrente e la temperatura è un notevole vantaggio perché permetterà di controllare l’effetto memoria di forma del filo semplicemente aumentando o diminuendo la corrente che lo percorre. In [2] viene illustrato come sia possibile effettuare la modellizzazione considerando lo scambio termico governato dalla sola convezione naturale. Infatti, come verrà mostrato successivamente, i fili del banco di prova saranno sospesi in aria e risultano essere a contatto solamente con due viti alle loro estremità. Questo permette di dire che lo scambio termico per conduzione risulta essere trascurabile rispetto a quello che si ha per convezione, poiché la superficie di contatto tra filo e viti è di molto inferiore rispetto alla superficie sulla quale avviene lo scambio convettivo. Inoltre, per quanto riguarda l’irraggiamento, si ipotizza che non vi siano fonti esterne che scambino calore con il filo. Assumendo, quindi, che il filo scambi calore con l’esterno solamente attraverso la convezione naturale e siano: 13 14 proprietà fisiche degli sma e il modello matematico che li descrive ρ densità dell’SMA c calore specifico dell’SMA L0 lunghezza dell’SMA quando è nella fase A al 100% d0 diametro dell’SMA h coefficiente termico di convezione v tensione applicata ai fili i corrente che percorre gli SMA Tamb temperatura ambiente allora la temperatura del filo viene determinata dalla seguente equazione: ρc πd20 L0 dT = v · i − πd0 L0 h(T − T amb) 4 dt (1) dalla quale si può notare che la velocità con cui la temperatura del filo varia dipende dal calore prodotto nel filo dalla corrente per effetto Joule e dal calore scambiato per convezione naturale con l’ambiente circostante. Generalmente il coefficiente termico di convezione h risulta essere dipendente dalla temperatura e, negli SMA, anche c dipende dalla temperatura. In [2] vengono, quindi, presentate delle espressioni per h e c che permettono di definire il loro andamento al variare della temperatura; tuttavia, poiché tali espressioni sono state ottenute mediante l’elaborazione di dati sperimentali, si è preferito prendere spunto da quanto riportato in [4], considerando i due coefficienti costanti, al fine di valutare un comportamento generico rendendo, inoltre, il modello matematico del filo il più semplice possibile. Sfruttando, dunque, l’equazione (1) è possibile ricavare la relazione tra la potenza elettrica (v·i) fornita al sistema e la temperatura del filo, definendo così il modello matematico che descrive il blocco Heat transfer di Fig.5. Successivamente si vedrà come questa equazione sia rilevante ai fini dello studio degli SMA: infatti, riuscire a stimare la temperatura del filo attraverso la relazione (1), è di fondamentale importanza per determinare poi le altre grandezze fisiche necessarie per modellare correttamente il filo. 2.3.2 Electrical resistance Nella sezione 2.1 si è visto come la conoscenza della resistenza del filo sia utile ai fini della definizione di un controllo di posizione sensorless. Per studiare, quindi, il comportamento della resistenza al variare della temperatura è stato introdotto nel modello il blocco Electrical Resistance nel quale viene modellata la resistenza elettrica del filo SMA come una funzione della frazione di martensite ξ, della temperatura T e dell’allungamento del filo x. 2.3 modello matematico di un filo sma La frazione di martensite ξ determina il grado di trasformazione austenite-martensite del materiale ed è definita come la frazione di volume della fase martensitica presente nell’ SMA in ogni istante. Analogamente è possibile definire come ξa = 1 − ξ, la frazione residua di austenite presente nel materiale. Nel seguito verrà esposto nel dettaglio come è stata modellata questa particolare caratteristica degli SMA. Riprendiamo, dunque, la modellizzazione della resistenza considerando il lavoro svolto in [2] e definiamo con Ra/m e con ρa/m rispettivamente la resistenza e la resistività elettrica delle fasi 100% austenite e martensite. È possibile esprimere la resistenza elettrica di ogni fase secondo la seguente espressione Ra/m = 4L0 (1 + 2) ρa/m (T ) πd20 (2) nella quale rappresenta la deformazione totale del filo. Le due fasi del materiale possono essere considerate in parallelo, come proposto in [3], e ciò permette di definire la resistenza elettrica R dell’ SMA come 1 1−ξ ξ = + R Ra Rm (3) dove ξ funge da coefficiente di combinazione delle due conduttanze. Sostituendo in (3) le espressioni in (2) di Ra ed Rm , si ottiene infine: πd20 1−ξ 1 ξ = + (4) R 4L0 (1 + 2) ρa (T ) ρm (T ) Come si può notare da (4) la resistività elettrica dipende dalla temperatura e va, dunque, opportunamente modellata. Anche in questo caso, poiché in [2] vengono presentate delle equazioni non lineari ottenute dall’elaborazione di dati sperimentali, si è preferito considerare le resistività ρa e ρm linearmente dipendenti rispetto alla temperatura T, come proposto in [3], definendole, quindi, come ρa = ρa0 + ρa1 T ρm = ρm0 + ρm1 T (5) in questo modo la resistenza di ogni fase può essere facilmente definita come segue l Ra/m = ρa/m (6) A dove l e A denotano rispettivamente la lunghezza e l’area della sezione del filo. Da quest’ultima equazione si nota come la resistenza del filo dipende sia dalla temperatura, poiché governa la variazione della resistività elettrica, che dalla lunghezza del filo stesso; si vedrà che questa risulta essere una problematica rilevante nello studio del controllo sensorless perché, come mostrato in Fig.2, la caratteristica allungamento 15 16 proprietà fisiche degli sma e il modello matematico che li descrive su temperatura presenta una marcata isteresi che provoca inevitabilmente un’ isteresi di resistenza la quale ne rende più complicata la stima. 2.3.3 Caratteristica ξ-T Si vuole ora definire nel dettaglio il modello matematico che rappresenta la trasformazione da austenite a martensite e, in particolare, il comportamento della frazione di martensite all’interno dell’ SMA al variare della temperatura. Come anticipato in precedenza, la conoscenza della frazione residua di martensite ξ è di fondamentale importanza in quanto, in quasi tutte le equazioni del modello, funge da coefficiente di combinazione tra le due fasi del materiale. Le proprietà degli SMA, infatti, sono direttamente associate a ξ e, quindi, la definizione di un modello matematico in grado di descriverne l’andamento al variare della temperatura T consente di ottenere un modello preciso del nostro sistema; inoltre tale modulo permette di esprimere, con un concetto fisico, il passaggio di fase da martensite ad austenite. La trasformazione che avviene nell’ SMA non può essere considerata come un fenomeno istantaneo ma va analizzata come un passaggio di fase graduale nel quale compare un’ isteresi; perciò, anche il rapporto tra la frazione di martensite ξ e la temperatura T presenta un comportamento isteretico, come viene mostrato in Fig.6. L’anello più esterno dell’isteresi viene chiamato loop principale e corrisponde alla completa trasformazione austenite-martensite. Trasformazioni incomplete producono, invece, cicli d’isteresi minori interni all’anello principale. Il modello matematico, proposto in [2] per l’isteresi, è un modello Duhem differenziale: si consideri, quindi, un ingresso variabile (indipendente) u(t), un’uscita variabile (dipendente) v(t) e un rapporto Figura 6: Isteresi relativa al rapporto frazione di martensite ξ-temperatura T. 2.3 modello matematico di un filo sma d’isteresi sul piano ingresso-uscita. Allora il modello Duhem segue intuitivamente dal fatto che se u(t) è una funzione crescente, allora v(t) aumenta lungo un percorso, mentre se u(t) è una funzione decrescente, allora v(t) decresce lungo un altro percorso e le pendenze dei due percorsi vengono fornite rispettivamente dalle funzioni g+ e g− (funzioni pendenza). In accordo con quanto esposto nell’articolo, le funzioni g± sono state scelte come funzioni Gaussiane, di media µ± e varianza σ2± , definite dall’equazione 1 u − µ± 2 g± (u) = √ (7) exp − √ 2πσ± 2σ± dove i simboli + e - denotano rispettivamente la curva crescente e decrescente. L’uscita v rappresentante il loop principale è data dalla relazione Zu 1 u − µ± 0 0 √ v± = h± (u) = g± (u )du = 1 + erf (8) 2 σ± 2 −∞ e quindi l’equazione differenziale del loop principale sarà 2 (u−µ ) 1 + √ exp − 2σ2 u˙ > 0 dv 2πσ+ + = 2 du 1 −) exp − (u−µ u˙ < 0 √2πσ 2σ2 − (9) − Consideriamo ora gli anelli minori dell’isteresi e osserviamo che le loro pendenze possono essere ottenute moltiplicando le funzioni pendenza del ciclo principale espresse in (7) per un opportuno fattore di scala ni± [0,1] dove i = 1...N, da cui si ottengono le equazioni ni± u − µ± 2 gi± (u) = √ exp − √ (10) 2πσ± 2σ± le quali rappresentano le funzioni pendenza dell’i-esimo ciclo minore. In Fig.7(a) e Fig.7(b) sono riportati degli esempi di andamenti delle funzioni pendenza g± e delle curve h± . Come si può notare i loop d’isteresi in Fig.7(b) risultano corrispondenti ai cicli d’isteresi in Fig.6, se l’asse y fosse invertito. Ora, per ottenere un modello differenziale per i cicli minori dell’isteresi, resta da dimostrare che le costanti di scala di ciascuna curva minore, in qualsiasi istante di tempo t, possono essere espresse come funzioni della coppia (u(t), v(t)). Facendo riferimento alla Fig.8, si osserva che il fattore di scala n1− può essere espresso come: n1− (u, v) = b h1− (u) − h+ (u) v − h+ (u) = = a+b h− (u) − h+ (u) h− (u) − h+ (u) (11) pertanto la funzione pendenza g1− sarà uguale al fattore di scala n1− per la funzione pendenza g− (u) e risulta quindi g1− (u, v) = v − h+ (u) g− (u) h− (u) − h+ (u) (12) 17 18 proprietà fisiche degli sma e il modello matematico che li descrive (a) (b) Figura 7: (a) funzioni pendenza scalate, (b) integrali delle funzioni Gaussiane. Figura 8: Metodo per ottenere il modello differenziale per gli anelli minori. Un ragionamento analogo può essere fatto per le curve crescenti, ottenendo così il modello differenziale completo dell’isteresi, riportato in (13). h− (u)−v dv h− (u)−h+ (u) g+ (u) u˙ > 0 = (13) du v−h+ (u) g (u) u˙ < 0 h− (u)−h+ (u) − Sostituendo infine T ad u e ξa a v, dove ξa è la frazione residua di austenite nell’SMA in ogni istante, si ottiene il modello dell’isteresi ξa − T e, noto che ξ = 1 − ξa , si ottiene il modello ricercato ξ − T h− (T )+ξ−1 dξ h+ (T )−h− (T ) g+ (T ) T˙ > 0 = (14) h+ (T )+ξ−1 dT ˙ <0 g (T ) T − h− (T )−h+ (T ) dove le funzioni g± (x) e h± (x) determinano la forma del ciclo di istresi e sono ottenute rispettivamente da (7) e (8). Nelle Fig.9(a)-(b) vengono riportati gli andamenti della frazione di martensite e dell’allungamento rispetto alla variazione di temperatura del sistema, ottenuti dalla simulazione, per mostrare qualitati- 2.3 modello matematico di un filo sma vamente che il comportamento rispecchia quello della Fig.6 e della Fig.2. Inoltre si può vedere che entrambi i diagrammi presentano la caratteristica isteresi di temperatura che in questo caso specifico risulta essere di circa 20 °C. (a) (b) Figura 9: Caratteristiche ottenute dal modello matematico: (a) Martensite fraction vs temperature, (b) Strain vs temperature. 2.3.4 Force-elongation characteristic Viene, infine, presentato il modello matematico che definisce la relazione tra la forza e l’allungamento del filo, la quale risulta utile per determinare il valore della resistenza R. La caratteristica forza-allungamento (o stress-strain) F(x) dell’SMA, può essere modellata come la combinazione tra le caratteristiche stressstrain delle singole fasi dell’acciaio. Siano, dunque, Fa (x) e Fm (x) le relazioni forza-allungamento, rispettivamente, delle fasi austenite e martensite, la caratteristica generale risulta essere F(x) = (1 − ξ) · Fa (x) + ξ · Fm (x) (15) dove, anche in questo caso, la frazione residua di martensite ξ agisce da coefficiente di combinazione delle due funzioni. Basandoci quindi su [4], la caratteristica Fa (x) è stata scelta come una funzione lineare ed, in particolare, non è stato considerato l’effetto super-elastico che si presenta superata la temperatura di fine transizione austenitica (vd. paragrafo 2.1). Invece, per quanto riguarda la fase martensitica, Fm (x) è stata modellata come una funzione lineare a tratti. Le equazioni che modellano Fa (x) e Fm (x) sono quindi Fa (x) = ka · x k ·x m y Fm (x) = Fm (xy m ) + kt (x − xm ) d Fm (xd m ) + kd (x − xm ) 0 6 x 6 xy m d xy m < x 6 xm x > xd m (16) 19 20 proprietà fisiche degli sma e il modello matematico che li descrive Ea Modulo di Young fase Austenite 36000 MPa Em Modulo di Young fase 100% twinned Martensite 20500 MPa Et Modulo di Young fase parzialmente twinned Martensite 800 MPa Ed Modulo di Young fase detwinned Martensite 17000 MPa Tabella 1: Valori proposti in [1] del modulo di Young per ogni fase. Figura 10: Caratteristica forza su allungamento: (a) fase martensitica (b) fase austenitica. dove ka è la rigidezza della fase austenitica, mentre km , kt e kd sono rispettivamente la rigidezza della fase twinned martensite, parzialmente twinned e detwinned martensite. I valori della rigidezza di ogni fase sono stati ottenuti dall’equazione k=E A L0 (17) con A che definisce l’area della sezione del filo, L0 la lunghezza del filo ed E che rappresenta il modulo di Young, il quale assume valori differenti a seconda della fase in cui si trova il filo (Tab.1). In Fig.10a e 10b vengono riportati i grafici delle caratteristiche forzaallungamento per entrambe le fasi dell’SMA dove xy m definisce l’allungamento prodotto dalla fase twinned martensite e xd m il minimo allungamento prodotto dalla fase detwinned martensite. Dalle equazioni riportate in (16) e dal modello matematico della resistenza, definito in 2.3.2, si comprende che l’allungamento dell’ SMA svolge un ruolo fondamentale nella corretta determinazione del valore della forza e della resistenza del filo. Come è possibile notare dalla Fig.5, lo spostamento x del carrello, causato dalla contrazione e dal rilassamento dell’ SMA, dipende dal carico generato dall’elemento di contrasto. Nella letteratura sono state presentate tre differenti tipologie di elemento passivo: la prima tipologia prevede l’applicazione di un carico costante ad una delle estremità dell’elemento attivo, come, 2.3 modello matematico di un filo sma ad esempio, un peso; la seconda consiste nell’utilizzo di una molla, sfruttando la sua forza di richiamo per generare una deformazione dell’ SMA, quando si trova in fase twinned martensite; infine, l’ultima tipologia utilizza come elemento di contrasto un altro filo SMA. Nei paragrafi precedenti è stata già mostrata l’importanza della presenza di un elemento di contrasto nelle applicazioni che utilizzano attuatori SMA. Nel seguito verranno, dunque, presentate le diverse tipologie di attuazione e gli schemi che mostrano il principio di funzionamento. Inoltre verrà approfondito il caso dei due fili contrapposti in funzionamento push-pull, la quale risulta essere la modalità di attuazione utilizzata nel lavoro in esame. 21 3 T I P O L O G I E D I AT T U AT O R I S M A Nel Cap.2 è stata mostrata la necessità di avere un elemento passivo che contrasta l’azione del filo SMA. Ciò è dovuto, in particolare, al bisogno di ripristinare la deformazione del filo, in modo tale da poter garantire un funzionamento ciclico dell’attuatore. In letteratura sono state studiate e presentate diverse tipologie di elementi di contrasto che garantiscono, ai fili SMA, di poter lavorare come attuatori lineari. Si vogliono ora mostrare le tre differenti strutture, accennate nel capitolo precedente, che consentono agli SMA di essere utilizzati come attuatori in grado di lavorare ciclicamente. 3.1 constant loaded sma La prima configurazione che viene trattata è riportata in Fig.11. Come si può vedere dall’immagine, questa tipologia di sistemi sfrutta dei pesi, di valore noto, per generare, ai capi del filo, una forza di trazione che garantisca la deformazione ciclica dell’SMA quando si trova nella fase martensitica. SMA wire Const. load Figura 11: Attuatore composto da SMA sottoposto ad un carico costante. In questo caso si ha che, all’equilibrio, la forza generata dal filo sarà pari alla forza applicata ai suoi capi, a causa del peso. Sia, quindi, xp l’allungamento che subisce il filo, rispetto alla sua lunghezza L0 quando si trova in fase completamente austenitica, causato dalla forza del carico Fp ; allora nel punto di equilibrio si ha F(xp ) = Fp (18) dove la forza F del filo viene determinata secondo le formule presentate nel paragrafo 2.3.4. Ora, assumendo che lo spostamento x della slitta sia positivo se concorde con l’allungamento del filo, si ha che, dall’equazione che esprime il comportamento dinamico del sistema è possibile ricavare la posizione x del carrello. L’equazione che esprime il moto del sistema è la seguente: m¨x = −F(x) + Fp − bx˙ (19) 23 24 tipologie di attuatori sma dove m è la massa della slitta e bx˙ è la forza di attrito viscoso. 3.2 spring loaded sma La seconda tipologia di attuatori che viene presentata, utilizza come elemento passivo una comune molla. Lo schema concettuale del sistema è riportato in Fig.12 e permette di comprendere come l’elemento antagonista al filo generi una forza di richiamo che causa la deformazione dell’SMA. SMA wire spring Figura 12: Attuatore composto da SMA con molla antagonista. Per garantire il corretto funzionamento dell’attuatore, è necessario applicare al sistema una forza di precarico che viene indicata con il termine Fp . Tale forza causa l’allungamento del filo SMA e anche della molla. Siano, dunque, xpw e xps gli allungamenti, rispettivamente, del filo e della molla causati dalla forza di precarico; allora, in questo caso, nel punto di equilibrio vale l’equazione Fw (xpw ) = Fs (xps ) = Fp (20) dove Fw è la forza generata dal filo, mentre Fs è la forza della molla. Il totale pre-allungamento xp causato dal precarico sarà dato, quindi, dalla somma degli allungamenti xpw e xps . Assumendo, anche in questo caso, che lo spostamento positivo x della slitta, coincida con l’allungamento del filo SMA, è possibile ricavare l’equazione che determina la dinamica del sistema presentato: m¨x = −Fw (x) + Fs (xp − x) − bx˙ (21) Una delle applicazioni in cui viene utilizzata questa tipologia di attuazione è nelle valvole idrauliche. Si consideri la Fig.13; si può notare come, mediante l’utilizzo di una molla SMA che presenta una molla antagonista, sia possibile creare un miscelatore che mantenga l’acqua ad una determinata temperatura impostata dall’utilizzatore. In questo caso il precarico viene applicato intervenendo sulla manopola di controllo della temperatura, la quale genera una forza, più o meno grande, che agisce sulla molla antagonista all’SMA. La molla di contrasto aziona, quindi, il distributore, il quale va a comprimere la molla SMA che viene, dunque, deformata. È possibile intuire come la temperatura dell’acqua miscelata, che scorre all’interno del distributore, svolga un ruolo fondamentale al fine di ottenere il funzionamento desiderato. Infatti, nel caso in cui l’acqua risulti 3.3 antagonistic sma s Figura 13: Schema di un miscelatore attuato da una molla SMA. essere eccessivamente calda, la temperatura della molla inizia ad aumentare portando l’SMA in fase austenitica e, quindi, ripristinando la deformazione subita. L’SMA genera, così, una forza che spinge il distributore a chiudere o, comunque, limitare l’afflusso di acqua calda causando, perciò, un abbassamento della temperatura dell’acqua miscelata. Analogamente, se l’acqua risulta troppo fredda l’SMA tende ad essere in fase martensitica e, quindi, facilmente deformabile. In questo caso è l’elemento passivo che interviene sul distributore garantendo un maggior afflusso di acqua calda. 3.3 antagonistic sma s L’ultima configurazione che viene presentata prevede l’utilizzo di due fili SMA contrapposti con l’obiettivo di ottenere un funzionamento di tipo push-pull. Per determinare l’equazione di moto di questo sistema si consideri il modello riportato in Fig.14. SMA wire 1 SMA wire 2 Figura 14: Attuatore composto da una coppia antagonista di fili SMA. La lunghezza totale del sistema verrà indicata nel seguito con la lettera L e risulta essere pari alla somma delle lunghezze dei due fili. Nel caso presentato i due SMA hanno uguale lunghezza e L è una costante univocamente determinata dalla forza del precarico iniziale Fp , applicato ai fili, e dalle loro proprietà elastiche. Siano, dunque, xp1 e xp2 gli allungamenti dei due fili, rispetto alla loro lunghezza L0 25 26 tipologie di attuatori sma in fase completamente austenitica, causati dalla forza Fp ; allora nel punto di equilibrio si ha F1 (xp1 ) = F2 (xp2 ) = Fp (22) dove F1,2 sono le forze generate dai due fili, determinate secondo [3], una volta che la frazione di martensite ξ1,2 è nota. Il totale preallungamento xp causato dal precarico sarà, quindi, dato dalla somma degli allungamenti dei singoli fili, mentre la lunghezza totale del sistema viene determinata dall’espressione L = 2L0 + xp . Ricordando nuovamente che lo spostamento della slitta x viene considerato positivo se concorde con l’allungamento del primo filo (SMA wire 1), allora è possibile scrivere la seguente espressione che rappresenta il comportamento dinamico del sistema: m¨x = −F1 (x) + F2 (xp − x) − bx˙ (23) questa è, dunque, la relazione che completa il modulo force-elongation riportato in Fig.5, consentendo, così, di ricavare il modello matematico del sistema preso in esame, il quale permetterà di simularne il comportamento. Nei successivi capitoli verrà approfondita la fase di simulazione e verranno presentati ulteriori grafici che dimostreranno la bontà di questo modello matematico. In questo lavoro di tesi la scelta è ricaduta su questa particolare configurazione, poiché l’attuazione basata su di una coppia di fili antagonisti comporta un tempo di reazione minore rispetto alle altre soluzioni. Si vuole ora entrare più nel dettaglio presentando, in generale, la struttura del sistema e la scelta delle azioni di controllo implementate. Il sistema preso in esame risulta essere molto semplice, infatti è costituito da un carrellino, montato su una guida, al quale sono attaccati alle estremità due fili a memoria di forma di lunghezza L=18 cm circa e diametro d=100 µm. I fili vengono attuati secondo la logica push-pull che consiste nello scaldare un filo mentre l’altro si raffredda. L’utilizzo di tale modalità di attuazione permette, così, di deformare il filo in fase martensitica (filo freddo), grazie alla contrazione dovuta al passaggio in fase austenitica del filo più caldo. Questo comportamento consente di effettuare delle lavorazioni cicliche in quanto entrambi i fili, quando sono nella loro fase martensitica, vengono deformati dall’altro filo il quale funge sempre da elemento di contrasto. Per controllare la movimentazione del carrello risulta, perciò, necessario scaldare e raffreddare, in modo alternato, i due fili. Come si è visto in precedenza, per intervenire sulla temperatura di ogni SMA è necessario agire sulla corrente che lo attraversa: sfruttando, infatti, l’effetto Joule, si avrà che maggiore è la corrente fornita al filo, maggiore sarà il suo aumento di temperatura; viceversa, se al filo non 3.3 antagonistic sma s e Xref - x Controllore δ Attuatore Sonda Laser (a) Xcarrello Xref e - Controllore Xstimata x = f (R) δ Attuatore V, I Fili SMA Xcarrello Calcolo Resistenza (b) Figura 15: Schema a blocchi del sistema di controllo di posizione: (a) sfruttando l’utilizzo della sonda laser, (b) sfruttando la resistenza del filo come sensore di posizione. viene fornita potenza elettrica, il calore verrà dissipato per convezione e, quindi, la temperatura calerà permettendo al filo di raffreddarsi e di tornare in fase martensitica. Alla luce di questo comportamento dei fili, si è pensato di sfruttare come variabile di attuazione del sistema il duty cycle dei segnali PWM che comandano i circuiti di alimentazione degli SMA: infatti, attraverso una modulazione PWM, è possibile controllare la potenza media fornita ai fili e quindi, indirettamente, la loro temperatura. Si è scelto, poi, di progettare due differenti tipologie di controllo della posizione: la prima prevede l’utilizzo di un sensore di posizione che determina lo spostamento effettivo del carrello; la seconda strategia di controllo, invece, non prevede l’utilizzo di alcun sensore e determina, quindi, l’errore di posizionamento sfruttando una stima della posizione del carrello. Per comprendere il funzionamento delle due tipologie di controllo, si consideri la Fig.15. Tutto ciò che è mostrato nella figura è stato direttamente implementato in una scheda di controllo la quale presenta al suo interno il riferimento che il processo deve seguire, il sistema di controllo e la generazione del segnale PWM. Come si può vedere, il duty cycle (δ) della PWM viene fornito dal controllore che, in questo caso, è un comune PI avente la seguente struttura C(s) = Kp 1 + sTi sTi (24) dove Ti = Kp /Ki . La scelta di utilizzare un controllore PI deriva dalla semplicità di progettazione e dalle ottime prestazioni che permette di ottenere se opportunamente sintonizzato. La parte proporzionale del controllore consente di generare un segnale di controllo proporzionale all’errore di inseguimento e, quindi, un elevato guadagno Kp permette di 27 28 tipologie di attuatori sma ottenere una reattività maggiore del sistema. Tuttavia il solo controllo proporzionale non garantisce un errore nullo a regime poiché la generazione del comando (δ) è possibile solo se l’errore è diverso da zero. Per questo motivo è stata introdotta nel controllo anche la parte integrale. Il termine integrale consente, infatti, di ottenere un ottimo inseguimento anche a regime, quando l’errore è prossimo allo zero. Tale azione è proporzionale all’integrale nel tempo dell’errore di inseguimento, moltiplicato per la costante Ki . Questo permette al controllore di avere memoria dei valori passati del segnale di errore, garantendo un comando necessariamente non nullo quando è nullo l’errore. Questa proprietà dà al controllore la capacità di portare il processo esattamente al riferimento richiesto, cosa non possibile con il solo controllo proporzionale perché presenterebbe un comando nullo. Il segnale di comando generato dal controllore viene, quindi, fornito in ingresso ad un timer il quale genera due PWM complementari alla frequenza di 1 kHz. I segnali generati comandano i gain dei mosfet i quali aprono e chiudono i circuiti di alimentazione dei fili e, poiché le PWM sono complementari, accade che, mentre un filo viene alimentato, e quindi riscaldato, l’alimentazione dell’altro filo risulta essere spenta e perciò il filo si raffredda. Poiché è il continuo movimento di contrazione e rilassamento dei fili che consente alla slitta di muoversi lungo la guida, determinare correttamente lo spostamento del carrello risulta essere la fase più difficoltosa nella progettazione del sistema di controllo sensor-less. Infatti, mentre nel caso di retroazione con sensore, la misura di posizione viene ottenuta direttamente dalla sonda laser, nel caso sensor-less è necessario definire una relazione che permetta, noti i valori delle resistenze del filo, di stimare correttamente la posizione del carrello. Si vogliono ora presentare le principali problematiche incontrate nella progettazione dei sistemi di controllo. 3.3.1 Controllo in catena chiusa con sonda laser Lo schema di controllo con il sensore di posizione non presenta particolari criticità, infatti, come mostrato in Fig.15(a), i blocchi che lo definisco risultano essere di facile comprensione. Durante la fase di progettazione del controllore l’unica difficoltà incontrata è stata interfacciare la sonda con la scheda di controllo al fine di poter chiudere correttamente l’anello di retroazione. La sonda laser utilizzata è in grado di determinare uno spostamento compreso in un range di funzionamento di ±5 mm. In uscita fornisce, invece, un segnale analogico proporzionale allo spostamento del carrello, secondo una determinata costante di proporzionalità, il quale varia tra ±10 V. Poiché sulla power board è richiesto che i segnali analogici in ingres- 3.3 antagonistic sma s Figura 16: Primo stadio di condizionamento del segnale. so varino da 0 a 10 V, è stato necessario intervenire progettando uno stadio di condizionamento adeguato per il segnale della sonda. In Fig.16 viene riportato il circuito elettronico di condizionamento che permette di scalare il segnale della sonda al fine di renderlo adeguato al range richiesto dai progettisti della scheda di potenza. Si noti che il segnale di uscita dall’amplificatore operazionale è dato da Vo = − 100k 300k 1 3 Vin + Va = − Vin + Va 200k 200k 2 2 (25) dove Vin è il segnale analogico di uscita della sonda e Va è un’opportuna tensione ottenuta sfruttando un partitore. Considerato che in (25), Vin viene dimezzato e cambiato di segno, si ha che 5V + cost se Vin = −10V Vo = (26) −5V + cost se Vin = 10V quindi per far sì che il segnale di uscita dello stadio di condizionamento vari tra 0 e 10 V, il termine costante dovrà essere pari a 5V. Dalla precedente affermazione si ottiene, quindi, la seguente espressione: 3 · k · Vdc = 5V 2 ⇒ k = 5V · 2 ∼ 0.24 = 0.238 = 3 · 14V (27) dove k è la funzione di trasferimento del partitore di tensione e Vdc è la tensione di alimentazione della power board. Ricordando, dunque, che la funzione di trasferimento di un partitore di tensione è k= R2 R1 + R2 (28) risulta semplice determinare il valore desiderato delle resistenze (si veda Fig.17). Dopo questo primo stadio di condizionamento, il segnale viene nuovamente ridotto per renderlo compatibile con il range di funzionamento dell’ADC presente sulla scheda di controllo, il quale è [0 ÷ 3.3] 29 30 tipologie di attuatori sma V. Questo secondo stadio di condizionamento è implementato direttamente sulla power board ed è del tutto analogo al precedente; inoltre, poiché, il massimo valore di Vo è 10 V e il range di funzionamento dell’ADC prevede una tensione massima di 3.3 V, si deduce che la funzione di trasferimento tra l’uscita e l’ingresso dell’operazionale deve essere circa 1/3. Il segnale così condizionato viene, quindi, fornito in ingresso ad un ADC a 12 bit che permette di ottenere una risoluzione di 3.3V = 805µV 212 (29) alla quale corrisponde una risoluzione di posizione pari a 2.4 µm. L’ADC fornisce in uscita un valore che varia tra 0 ÷ 4095 che corrisponde al livello del segnale quantizzato. Attraverso una serie di semplici operazioni (Allegato A) è, quindi, possibile determinare lo spostamento in millimetri misurato dalla sonda laser. Questo valore viene infine confrontato con il riferimento di posizione desiderato generando in tal modo l’errore che verrà nuovamente elaborato dal controllore chiudendo così il loop di retroazione. Nei successivi capitoli verranno mostrati nel dettaglio i risultati ottenuti dalle prove sperimentali grazie ai quali si potrà osservare come, da un lato la retroazione di posizione permetta di ottenere risultati soddisfacenti, mentre, dall’altro, il controllo sensor-less presenti alcune problematiche, non trascurabili, che tuttavia non verranno trattate in questo lavoro di tesi. Vdc R1 76 kΩ VA R2 24 kΩ Figura 17: Partitore di tensione per ottenere Va desiderata all’ingresso non invertente dell’AO. 3.3 antagonistic sma s 3.3.2 Controllo in catena chiusa con retroazione di resistenza Questa tipologia di controllo risulta essere notevolmente più complessa rispetto alla precedente, tuttavia riuscire a progettare un controllo di tipo sensor-less garantisce una notevole robustezza a tutto il sistema poiché, non essendoci alcun sensore, si prevengono tutte quelle problematiche associate ad eventuali rotture o mal funzionamenti dello stesso. Inoltre, per progettare un buon sistema di controllo, solitamente è necessario disporre di un sensore che presenti delle buone prestazioni, il che si traduce in un costo generalmente elevato del componente. Quindi, gli azionamenti di tipo sensor-less, oltre a rendere intrinsecamente robusto il sistema, permettono anche di risparmiare nei costi di produzione dell’azionamento stesso. Nonostante ciò, la progettazione di un controllo sensor-less non è applicabile a tutti i sistemi perché richiede una profonda conoscenza del comportamento fisico e meccanico di tutto il processo che si vuole controllare. Questo è, infatti, il più grande limite di tali tecniche di controllo poiché l’azionamento risulta tanto più performante quanto più è profonda la conoscenza del sistema. In Fig.15(b) è riportato lo schema a blocchi del controllo sensorless dal quale si può notare che la differenza sostanziale, rispetto al controllo con sensore, si ha nell’anello di retroazione. Infatti, si nota subito che, poiché la retroazione viene effettuata misurando la tensione e la corrente dei fili, la posizione del carrello non è misurata direttamente, ma indirettamente attraverso un blocco stimatore. Mentre il calcolo della resistenza viene effettuato sfruttando la nota legge di Ohm, il blocco che determina la stima della posizione in funzione della resistenza risulta essere notevolmente più complicato e la sua progettazione è, quindi, l’aspetto più delicato del controllo in quanto dal blocco descritto dipendono le prestazioni dell’intero sistema. È proprio in questa fase della progettazione che la conoscenza del sistema risulta rilevante: infatti, come si è precedentemente osservato, la resistenza dell’SMA dipende dalla temperatura e dalla lunghezza del filo e, poiché la temperatura presenta un’isteresi, inevitabilmente si avrà un’isteresi anche di resistenza. In Fig.18(a) e Fig.18(b) vengono riportati alcuni risultati delle simulazioni effettuate, dai quali si può notare che la funzione che associa ad una variazione di resistenza una variazione di spostamento, non risulta essere lineare o linearizzabile in quanto presenta una marcata isteresi. In letteratura sono presenti degli studi che hanno mostrato come sia possibile compensare tali isteresi al fine di ottenere un controllo migliore del sistema; tuttavia, in questo lavoro di tesi, non è stata utilizzata alcuna compensazione e la funzione f(R) definita nel siste- 31 tipologie di attuatori sma ma di controllo è stata determinata in modo molto approssimativo. Si comprende il motivo di questa scelta notando che in Fig.18(b), la pendenza dell’isteresi risulta essere quasi costante. Questo particolare comportamento del sistema ha permesso di fare alcune considerazioni, prima su tutte la scelta della retroazione. Poiché la caratteristica di Fig.18(a) presenta un’isteresi molto deformata, si è preferito effettuare una retroazione del valore differenziale della resistenza dei due fili, effettuando, dunque, il controllo sulla differenza delle resistenze (∆R) piuttosto che sulla resistenza dei singoli fili (R1 ed R2 ). Inoltre si è preferito non intervenire sulla compensazione dell’isteresi perché, dalle prime prove sperimentali effettuate in catena aperta pilotando il sistema con una PWM sinusoidale, si è notato che l’isteresi risultava essere molto meno marcata rispetto alla simulazione e tale da essere considerata lineare in un limitato intervallo di funzionamento (Fig.19). Come anticipato nel precedente paragrafo, il controllo sensor-less così implementato non ha fornito risultati soddisfacenti poiché si sono presentate diverse problematiche associate, in particolare, al drift durante le prove delle grandezze del filo e , specialmente, della grandezza di controllo ∆R. Questa è la principale causa dell’errato controllo della posizione, perché la retta utilizzata per stimare lo spostamento in funzione della differenza di resistenza non risulta essere corretta e, quindi, si ottiene una stima errata della posizione. Nell’ultimo capitolo verrà approfondita ulteriormente la questione legata al controllo sensor-less. Entrambi i sistemi di controllo, presentati in questa parte del capitolo, sono stati implementati su di un micro-controllore opportunamente programmato. Al fine di rendere la programmazione più semplice e di poter intervenire rapidamente per eventuali modifiche, si è scelto di sfruttare un particolare strumento di programmazione messo a disposizione da STMicroelectronics e Mathworks. Questo strumento è 2.0 R1 1.5 R2 1.0 x [mm] 1.0 x [mm] 32 0.0 0.5 0.0 -0.5 -1.0 -1.0 22 23 24 25 26 R [Ω] (a) 27 28 29 -1.5 -6 -4 -2 0 2 4 ∆R = R1 − R2 [Ω] 6 (b) Figura 18: Andamento dello spostamento del carrello rispetto alla variazione di resistenza dei singoli fili (a) e rispetto alla variazione di resistenza differenziale ∆R = R1 − R2 (b). 3.3 antagonistic sma s Figura 19: Prova sperimentale in catena aperta: caratteristica allungamento su differenza di resistenza. l’Automatic Code Generation il quale permette di generare in modo automatico il codice C o C++ che descrive i diagrammi Simulink, le flow chart del pacchetto Stateflow e le funzioni di Matlab. Nel prossimo capitolo sarà presentato nel dettaglio ogni componente dell’apparato sperimentale e si mostrerà in modo approfondito lo strumento di generazione del codice per il micro-controllore. 33 4 A P PA R AT O S P E R I M E N TA L E E A U T O M AT I C C O D E G E N E R AT I O N In questo capitolo si vuole mostrare la struttura dell’apparato sperimentale utilizzato e lo strumento di generazione automatica del codice. Il capitolo è stato, quindi, diviso in due sezioni: nella prima viene presentata la struttura generale del sistema, entrando poi nel dettaglio di ogni componente che lo costituisce; nella seconda parte si è cercato, invece, di mostrare il funzionamento dell’Automatic Code Generation. Poiché la comprensione di questa tesi esula dalla perfetta conoscenza del meccanismo di generazione del codice, si è preferito non entrare troppo nel dettaglio presentando solamente una panoramica generale del suo funzionamento. 4.1 apparato sperimentale Si consideri la Fig.20 nella quale è rappresentato l’apparato sperimentale utilizzato. Prima di presentare il comportamento e la funzione di ogni componente si vuole illustrare, in generale, quali sono gli elementi che compongono la struttura del sistema in esame. Il componente principale, che costituisce il cuore del sistema, è la Serial to USB Converter Control Board Laser Probe Power Board Cart Pretensioner SMA Wire 2 SMA Wire 1 Load cell Figura 20: Apparato sperimentale utilizzato nelle prove. 35 36 apparato sperimentale e automatic code generation scheda di controllo (control board) ST M32F407 discovery. Questa scheda è fondamentale poiché gestisce tutto il sistema e svolge numerose funzioni, come: determinare l’errore di inseguimento, generare il segnale di comando PWM per i fili, azzerare la sonda laser ad ogni prova e infine trasmettere i dati più significativi del sistema, quali tensioni, correnti, riferimento e misura di posizione, al computer per la post elaborazione. La control board consente, dunque, di determinare la posizione della slitta (sfruttando il sensore di posizione o ricavandone una stima) e, dopo averla confrontata con il riferimento desiderato, permette di definire l’opportuno segnale di controllo per il sistema. La scheda di controllo viene interfacciata con un’altra scheda, la power board, che consente di pilotare il processo sfruttando i comandi generati dalla control board. Questa seconda scheda permette, quindi, di attuare i fili SMA applicando i segnali di comando definiti dal sistema di controllo implementato sulla ST M32F407 discovery. Sulla scheda di potenza sono, infatti, implementati tutti i circuiti elettrici che consentono di acquisire segnali dal sistema, come nel caso della sonda laser, e di alimentare correttamente i fili. Inoltre, la funzione più importante di questa scheda è la misurazione della corrente che scorre sugli SMA; successivamente verrà mostrato nel dettaglio come viene effettuata. Per poter controllare, dopo ogni prova, il corretto funzionamento del sistema, si è scelto di inviare al PC una serie di informazioni attraverso la comunicazione seriale di una delle porte USART della scheda discovery. Poiché il computer utilizzato non presentava porte seriali, è stato utilizzato un chip che permette di convertire la comunicazione seriale in una comunicazione USB facilitando, così, l’interfacciamento con il PC. Oltre all’invio dei dati, questo modulo consente all’utente di comunicare alla control board una serie di comandi che permettono di avviare o fermare il sistema di controllo. In questo lavoro di tesi ci si è limitati ad inviare alla scheda una serie di comandi semplici come, ad esempio, la richiesta di azzerare la sonda laser, di attivare o escludere l’anello di controllo, di abilitare il segnale di riferimento preimpostato sulla scheda e la possibilità di inviare al controllore il valore dei guadagni da utilizzare. In possibili sviluppi futuri potrebbe essere utile implementare questa comunicazione tra computer e control board al fine di poter scegliere, mediante l’invio di semplici comandi, il riferimento da utilizzare, la tipologia di controllo e altre impostazioni che renderebbero più flessibile il sistema. Nella parte bassa di Fig.20 si può vedere l’azionamento vero e proprio: il sistema è costituito da una guida su cui è montato un carrello al quale, alle estremità, sono collegati i due fili SMA (evidenziati dal tratteggio nero). Sopra alla guida, in posizione ortogonale rispetto alla slitta, è montato un sensore laser a triangolazione che permette di 4.1 apparato sperimentale misurare lo spostamento del carrello mentre, all’estremità del filo 2, è presente una vite micrometrica, che funge da pretensionatore; infatti, ruotando la vite, si va ad agire sulla lunghezza complessiva del sistema, aumentando o diminuendo il precarico iniziale. La presenza del pretensionatore consente al sistema di funzionare correttamente, infatti, nel paragrafo 3.3, è stata mostrata l’importanza del precarico al fine di ottenere un deformazione iniziale dei fili, necessaria per l’azionamento in configurazione push-pull. Infine, la forza applicata ai fili viene misurata da una cella di carico posta sull’attacco fisso del filo 1. Questo sensore viene opportunamente interfacciato con il computer attraverso una scheda di conversione. La cella di carico è stata inserita nel sistema per permettere di determinare gli stessi diagrammi ottenuti in simulazione, anche attraverso le prove sperimentali. Poiché il comportamento e il funzionamento dei fili è stato ampiamente trattato nel Cap.2, ora verranno illustrati nel dettaglio tutti gli altri componenti che costituiscono il sistema. 4.1.1 ST M32F407 discovery La scheda ST M32F407 discovery è una scheda commerciale prodotta da STMicroelectronics. Il cuore di questa scheda è un processore ARM Cortex-M4 a 32-bit ed ha 1 MB di memoria flash disponibile per la programmazione e 192 kB di memoria RAM. La scheda può essere alimentata in due modi: • attraverso il Bus dell’USB: questa modalità di alimentazione è stata sfruttata principalmente durante le fasi di programmazione e debug dei programmi. • attraverso la fornitura di una tensione di alimentazione pari a 5 V: nel caso considerato, l’alimentazione viene fornita direttamente dalla power board che, oltre ad alimentare i fili, alimenta anche la scheda di controllo. Per la programmazione e il debugging è possibile utilizzare il modulo ST-LINK/V2 presente sulla board, oppure tale modulo può essere disabilitato, semplicemente modificando la configurazione di un jumper della scheda, e, sfruttando il connettore SWD della board, è possibile utilizzare un debugger esterno. A bordo la scheda presenta molti altri componenti interessanti come, ad esempio, un accelerometro a tre assi, un microfono audio digitale omnidirezionale, un convertitore DAC audio, un connettore jack per le cuffie, un tasto User programmabile dall’utente per diverse funzioni e infine una micro-USB che permette la comunicazione scheda-PC. Tuttavia non tutti i componenti della scheda sono stati utilizzati in questo lavoro di tesi: alcuni, come l’accelerometro, o il microfo- 37 38 apparato sperimentale e automatic code generation Figura 21: ST M32F407 discovery. no, perché non erano funzionali rispetto l’obiettivo stabilito; altri, come l’USB OTG, che avrebbe permesso di comunicare direttamente tra scheda e computer senza utilizzare il convertitore seriale, perché lo strumento di programmazione messo a disposizione da STMicroelectronics non prevedeva il modulo di configurazione della micro-USB. Oltre le sopracitate caratteristiche, la scheda presenta 3 ADC aventi 16 canali ognuno e che possono essere impostati per funzionare con diverse risoluzioni (6-bit, 8-bit, 10-bit o 12-bit) a seconda delle necessità. Inoltre gli ADC possono lavorare in diverse modalità: in particolare, possono acquisire segnali in Single conversion mode, che consente di effettuare una sola conversione per un solo canale dell’ADC, quando viene richiesto dall’utente; in Continuous conversion mode, ovvero continuando a convertire il segnale in ingresso ad un determinato canale dell’ADC; oppure in Scan conversion mode, cioè effettuando la conversione sequenziale di tutti i canali abilitati dall’utente. Quest’ultima modalità è stata quella utilizzata per leggere contemporaneamente le tensioni dei fili e il segnale di uscita della sonda laser. Gli ADC presenti sulla scheda permettono, inoltre, di avere un trigger comune in modo da effettuare la conversione dei segnali tutti nello stesso istante. Dalla documentazione, reperibile sul sito della STMicroelectronics, si può osservare che il segnale di trigger può essere fornito come un ingresso esterno, oppure può essere generato dalla scheda stessa. Nel caso in esame, si è preferito generare il segnale di trigger con uno dei Timer messi a disposizione dalla scheda. 4.1 apparato sperimentale Un altro componente importante che abbiamo utilizzato nel sistema di controllo è, dunque, il Timer. La board dà la possibilità di utilizzare 14 differenti Timer, alcuni dei quali hanno delle modalità di funzionamento particolari. Oltre al timer impiegato per generare il segnale di trigger degli ADC, ne è stato configurato un altro per produrre il segnale PWM necessario per comandare i fili. Infine la scheda presenta anche 5 porte aventi 16 Pin completamente indipendenti e configurabili secondo le necessità dell’utente. In questo caso sono stati configurati alcuni Pin come ingressi analogici per leggere, mediante gli ADC, le tensioni e le correnti dei fili, oltre al segnale in uscita dalla sonda laser. Altri Pin sono stati impostati, invece, come uscite digitali al fine di comandare i mosfet e il reset della sonda laser. Da ultimo, due Pin sono stati utilizzati per la comunicazione seriale con il computer in modo tale da riuscire a trasmettere tutti i dati elaborati dalla scheda. Nella sezione 4.2 verrà presentata nel dettaglio la configurazione di ogni periferica della scheda. 4.1.2 Sensore laser di spostamento a triangolazione Esistono diverse tipologie di sensori che permettono di determinare lo spostamento di un oggetto; in particolare nel sistema considerato, viene utilizzato un sensore laser a triangolazione. Il vantaggio di questo strumento consiste nella possibilità di ottenere misure accurate di posizione senza entrare in contatto diretto con la superficie dell’oggetto che si vuole misurare, e questo permette di impiegarlo in tutte quelle applicazioni in cui l’utilizzo di un accelerometro può influire notevolmente sulla massa del sistema e, quindi, sulla sua dinamica. Nonostante la sonda consenta di effettuare misurazioni a distanza, non è possibile utilizzarla in qualsiasi applicazione, poiché il suo impiego deve rispettare dei vincoli di vicinanza con l’oggetto che deve misurare; considerando la Fig.22 cerchiamo di comprenderne meglio il motivo. La misurazione effettuata da una sonda laser a triangolazione si basa sulla riflessione, da parte dell’oggetto da misurare, di un raggio laser. La sonda emette, quindi, un raggio che viene riflesso dalla superficie dell’oggetto in movimento. Il raggio riflesso viene captato da una serie di sensori i quali permettono di determinare la posizione dell’oggetto. Poiché il sensore ha una grandezza finita, è importante che il fascio del raggio riflesso vada a colpire esattamente il punto in cui è presente il sensore (la “finestra” azzurra nella figura). Per questo motivo la sonda deve essere posta ad una distanza tale da consentire al raggio riflesso di avere un’angolazione che gli permetta di restare confinato entro la superficie del sensore. 39 40 apparato sperimentale e automatic code generation In questo caso è stata utilizzata una sonda Keyence LK-G32, che richiede di essere posizionata ad una distanza nominale di 25-35 mm, a seconda dell’oggetto che si deve misurare. Poiché la misurazione si basa sulla riflessione del raggio laser, la finitura superficiale dell’oggetto risulta essere di fondamentale importanza affinchè il raggio riflesso si presenti uniforme, sufficientemente intenso e diretto sulla superficie del sensore. Tuttavia lo strumento di misura utilizzato permette di ottenere misurazioni con elevata precisione anche su oggetti trasparenti o semitrasparenti e, oltre al vantaggio di poter misurare diverse superfici, questo strumento consente, inoltre, di compensare le riflessioni multiple della luce attraverso degli algoritmi implementati all’interno dell’elettronica della sonda. Questo è indubbiamente un vantaggio perché consente di avere una misura “pulita” garantendo, così, la compensazione degli effetti dovuti a finiture superficiali non perfette, che sono la causa delle riflessioni multiple. La scheda di controllo della sonda, presenta, inoltre, una serie di ingressi esterni. Attraverso tali ingressi è possibile intervenire sulla taratura del laser ed in particolare consentono di ridefinire la posizione dello zero all’inizio di ogni esperienza. L’ingresso della scheda che permette di reimpostare lo zero della sonda è il pin ZERO. Tale pin richiede un segnale in ingresso di almeno 10 V per fare in modo che il sistema di controllo del laser riconosca la richiesta di azzeramento da parte dell’utente. Poiché i pin della scheda di controllo STM possono fornire una tensione di uscita massima di 3 V, è stato progettato un opportuno circuito elettrico in Figura 22: Sensore laser di posizione a triangolazione Keyence LK-G32. 4.1 apparato sperimentale +14 V R1 Vin + Vr Vo - R2 Figura 23: Schema del circuito di azzeramento della sonda laser. modo tale da riuscire a comandare correttamente l’azzeramento della sonda. Lo schema del circuito elettrico è riportato in Fig.23 e, come si può notare, risulta essere molto semplice. È stato utilizzato un amplificatore operazionale come comparatore. Il comparatore ha un funzionamento molto intuitivo: confronta le due tensioni sui morsetti di ingresso e, se la differenza è positiva, in uscita fornisce la tensione di alimentazione positiva, se invece è negativa, l’uscita assume il valore della tensione di alimentazione negativa. Nel caso presentato, per limitare il numero di generatori di tensione da utilizzare per alimentare tutto il sistema, si è scelto di sfruttare la tensione di alimentazione della scheda di potenza come tensione positiva dell’amplificatore operazionale. Attraverso un partitore di tensione, si è poi definita la tensione di riferimento Vr pari a 2 V. La tensione Vin , fornita dalla scheda di controllo del sistema abilitando il pin 4 della porta D, può assumere solamente due valori, 0 e 3 V. Perciò, quando la tensione Vin è pari a zero Volt, la differenza Vin − Vr è minore di zero e quindi la tensione di uscita del comparatore sarà 0 V; mentre, quando Vin è pari a 3 V, la differenza tra le due tensioni sarà positiva e quindi Vo sarà pari a 14 V, abilitando, così, l’azzeramento della sonda laser. 4.1.3 Power board Viene presentato ora il funzionamento e l’importanza della scheda di potenza al fine di ottenere un controllo adeguato del comportamento del sistema. La scheda è costituita da quattro canali indipendenti, ognuno dei quali è in grado di comandare la movimentazione di un filo. Per ogni canale è stato, quindi, progettato un circuito di misurazione della tensione e uno per il sensing della corrente. Come anticipato in preceden- 41 42 apparato sperimentale e automatic code generation vsense Misurazione Corrente 14 V Misurazione Tensione vSMA Rsense iSMA SMAwire D PWM G S Figura 24: Schema di principio della misurazione di tensione e corrente del filo. za, la scheda presenta sette ingressi, con range di tensione [0 ÷ 10] V, i quali permettono di interfacciarla con altri dispositivi come è stato fatto, ad esempio, per la sonda laser. Si è anche già accennato all’importanza della control board, in quanto consente di elaborare i segnali acquisiti dal campo e di generare opportuni segnali di controllo che permettano al sistema di seguire la dinamica desiderata. Il comando generato dalla scheda di controllo è un segnale di tensione modulato PWM, con un opportuno duty cycle, che consente alla scheda di potenza, attraverso dei mosfet, di alimentare opportunamente i fili SMA. Cerchiamo, quindi, di entrare più nel dettaglio presentando il sistema di alimentazione dei fili e di misurazione della corrente. Dalla Fig.24 si può notare che, se la tensione tra Gate e Source è nulla, il mosfet si comporta come un interruttore aperto e quindi sul filo non scorre corrente. Se invece tra Gate e Source vi è una tensione sufficiente, la corrente entrante dal Drain esce dal terminale Source e la tensione tra Drain e Source risulta essere prossima allo zero. In questo caso il mosfet si comporta come un interruttore chiuso e sul filo sarà, quindi, presente una corrente che in figura viene indicata con il termine iSMA . Per misurare questa corrente viene utilizzata una resistenza di sensing, vale a dire che si usa una resistenza che abbia un valore noto e molto piccolo (Rsense ) in modo tale da non causare grandi cadute di potenziale. La tensione ai capi della resistenza viene misurata e amplificata utilizzando un circuito adeguato; successivamente il segnale passa per un ulteriore stadio di condizionamento nel quale viene opportunamente scalato e, infine, fornito in ingresso ad uno degli ADC della scheda di controllo. Noti, quindi, il valore della resistenza Rsense , della tensione misurata vsense e i guadagni di ogni stadio di condizionamento, viene immediato risalire al valore della corrente 4.1 apparato sperimentale iSMA che scorre nel filo. La misurazione della tensione, invece, risulta essere più semplice: infatti, è stato utilizzato un comune amplificatore operazionale che funge da inseguitore di tensione. Il segnale in uscita dall’operazionale, anche in questo caso, viene fornito in ingresso ad uno degli ADC della control board. Queste operazioni di sensing, di tensione e corrente dei fili, sono fondamentali soprattutto nel controllo di resistenza; tant’è vero che, mentre nel controllo basato sulla retroazione della posizione, le misurazioni vengono effettuate solamente per determinare le caratteristiche di funzionamento dei fili, nel controllo di resistenza la misurazione accurata delle correnti e delle tensioni è un aspetto essenziale al fine di ottenere un controllo preciso. 4.1.4 Serial to USB converter Il dispositivo utilizzato per la comunicazione tra la scheda di controllo e il computer è un convertitore da USB a seriale che consente di emulare una porta COM permettendo così, attraverso una porta USB, di comunicare con dispositivi seriali UART a livelli TTL. Figura 25: Droids 990.004 USB to Serial Micro Converter. Esistono molti dispositivi di questo tipo in commercio. Nel progetto considerato si è utilizzato il convertitore Droids 990.004 riportato in Fig.25. Questo modulo può essere alimentato sia a 5 che a 3 volt e presenta una serie di Pin che permettono di inviare e ricevere dati dalla mini-USB. Per monitorare visivamente il corretto funzionamento della comunicazione seriale sono presenti due led sulla scheda: il primo (giallo) individua la ricezione dei byte da parte del computer (Rx); il secondo, invece, si accende ogni volta che viene inviato un comando alla scheda di controllo (Tx - arancio). 43 44 apparato sperimentale e automatic code generation 4.1.5 Cella di carico La cella di carico è un componente che viene utilizzato per misurare la forza applicata ad un oggetto. È costituita da una struttura metallica, opportunamente progettata, sulla quale sono montati degli estensimetri. Gli strain gauge (o estensimentri) sono dispositivi utilizzati per misurare la deformazione di un oggetto. Essi sono costituiti da un supporto flessibile isolante che sostiene una struttura in lamina metallica. La misurazione della forza, all’interno della cella di carico, viene, dunque, effettuata con l’ausilio di questi piccoli circuiti stampati. Poiché gli strain gauge sono costituiti da una lamina metallica, essi sono particolarmente dipendenti dalle variazioni di temperatura. Per questo motivo, le celle di carico più sofisticate, sono costituite da più estensimetri in modo tale che siano tutti soggetti alla stessa variazione di resistenza al fine di compensare gli effetti associati alla temperatura. La cella di carico viene, quindi, opportunamente applicata all’oggetto che si vuole monitorare e, quando l’oggetto si flette, le lamine metalliche degli estensimetri al suo interno si deformano causando la variazione della loro resistenza elettrica. Questa variazione di resistenza, solitamente misurata utilizzando un ponte di Wheastone, è associata ad una variazione di lunghezza dell’estensimetro attraverso una quantità nota come gauge factor. Il principio di funzionamento degli strain gauge è molto semplice. Si consideri Fig.26. È noto che, quando un conduttore viene allungato, sempre entro i limiti della sua elasticità in modo tale da non causare (a) (b) (c) Figura 26: Funzionamento di uno strain gauge applicato ad una struttura sottoposta a deformazione: (a) condizione di riposo, (b) condizione di tensione, (c) condizione di compressione. 4.1 apparato sperimentale PhidgetBridge 1046 SMA wire 1 Load Cell Figura 27: Cella di carico e relativa scheda per l’acquisizione dei dati. deformazioni permanenti, la sua forma diventa più stretta e lunga. Ricordando che la resistenza elettrica è definita dalla formula R=ρ L S (30) dove ρ è la resistività del conduttore, L la sua lunghezza e S la sezione, se ne deduce che, per le condizioni citate sopra, si avrà un aumento di resistenza. Nel caso in cui lo strain gauge venga compresso, la sua forma sarà, invece, più corta e diventerà più larga. Quindi se L diminuisce ed S aumenta si ha una diminuzione della resistenza R. Considerando che, nel sistema presentato, la cella di carico è attaccata all’estremità del filo 1; si intuisce che, la deformazione che gli estensimetri al suo interno subiscono, è dovuta alla forza applicata dai fili. Poiché il precarico interviene notevolmente sul comportamento del sistema, la necessità di utilizzare la cella di carico è legata essenzialmente alla sua misurazione, oltre alla caratterizzazione di tutti i legami riguardanti lo stress del filo. Le celle di carico di tipo estensimetrico convertono, quindi, la forza agente su di esse in segnali elettrici ma, poiché tali segnali risultano essere molto piccoli, è necessario utilizzare un opportuno stadio di amplificazione. In questo caso, l’amplificazione viene effettuata dalla scheda PhidgetBridge 1046 la quale misura e amplifica tutti i segnali in uscita dalla cella di carico. Attraverso opportune API la scheda consente, inoltre, di comunicare con facilità con il computer al fine di trasmettere tutti i valori misurati. La scheda fornisce in uscita una misurazione in mV V , quindi il costruttore richiede di effettuare un’operazione di taratura del sensore in modo tale da determinare correttamente la retta di conversione delle misurazioni. La retta è definita dalla nota equazione y = m·x+q (31) perciò la procedura di taratura serve per determinare i coefficienti incogniti, m e q, della retta. 45 46 apparato sperimentale e automatic code generation Tale procedura è molto semplice: sfruttando il programma Phidgets Control Panel, viene richiesto di effettuare due misurazioni, la prima a vuoto, in modo da determinare l’offset, che nella formula (31) è definito dal coefficiente q, mentre per la seconda prova si richiede di applicare un carico noto in modo tale da determinare il coefficiente angolare m della retta. Terminata la procedura di taratura il programma fornisce l’espressione della retta che consente di ricavare il valore del carico, in grammi, applicato alla cella di carico. I valori misurati dalla cella vengono, dunque, inviati al computer e successivamente post-processati in modo da ottenere il valore, in Newton, della forza che agisce sul filo e il valore di stress in MPa. Quest’ultimo dato permette di determinare tutti i diagrammi riguardanti lo stress. Poiché i dati della cella di carico vengono acquisiti attraverso un’apposita scheda che li invia direttamente, e in modo indipendente, al computer, la problematica principale da risolvere riguarda la sincronizzazione fra l’acquisizione dei dati ricevuti dall’estensimetro e quelli forniti dalla scheda di controllo. Infatti, mentre i dati acquisiti dalla sonda laser vengono elaborati direttamente dalla scheda di controllo del sistema, e ,quindi, sono implicitamente sincronizzati con la movimentazione, i dati della cella di carico, invece, vengono raccolti e inviati direttamente al PC senza alcuna elaborazione da parte della control board. Per sincronizzare l’acquisizione dei dati è stato, perciò, realizzato un programma eseguibile (Allegato B) che viene invocato da Matlab un’istante prima dell’invio del comando di inizio esperimento. Si è scelto di intervenire in questo modo poiché la scheda di acquisizione della cella di carico non permetteva di essere interfacciata correttamente con Matlab, quindi, sfruttando il linguaggio di programmazione C++ e le API messe a disposizione dalla Phidgets è stato possibile regolare la sincronizzazione. Quando viene avviato l’esperimento, il programma genera un processo in background che comunica con la scheda di acquisizione dei dati della cella di carico salvando, infine, tutte le misurazioni in un unico file. I dati salvati vengono poi post-elaborati in modo tale da consentire la corretta interpolazione con quelli provenienti dalla sonda laser. Sfruttando, quindi, il codice Matlab riportato nell’Allegato C è stato possibile ricavare la relazione stress-strain del sistema considerato. 4.2 generazione automatica del codice In questa seconda parte del capitolo viene presentato il funzionamento generale del meccanismo di generazione automatica del codice. Come è stato anticipato precedentemente, non è scopo di questa tesi la spiegazione esauriente del funzionamento del sistema di scrittura 4.2 generazione automatica del codice del codice, ci si limiterà, quindi, a presentare solamente come è stato configurato Simulink ed il relativo blockset utilizzato per definire il sistema di controllo. Per ulteriori informazioni, relative all’Automatic Code Generation, si rimanda, dunque, alla documentazione presente sul sito della Mathworks [5][6]. Nel paragrafo 4.1.1 si è osservato che il cuore della scheda di controllo è un microprocessore ARM Cortex-M4. Generalmente, prima di implementare sul micro-controllore tutto il sistema di controllo, vengono effettuate delle simulazioni al computer per valutarne il comportamento e, nel caso in cui siano state effettuate delle operazioni di identificazione del sistema, anche le prestazioni. La fase di programmazione del controllore è, quindi, lo step successivo ed è, inoltre, la fase che richiede tempistiche maggiori, a seconda della complessità del sistema di controllo. Durante la scrittura del programma, infatti, il programmatore deve convertire tutti gli algoritmi di controllo in linguaggio C, e, inoltre, ha il compito di inizializzare e configurare tutte le periferiche, quali ADC, GPIO, Timers, utilizzate per controllare il sistema. Ogni produttore di micro-controllori mette, perciò, a disposizione dei programmatori delle librerie che contengono gli strumenti necessari a configurare e comunicare con ogni periferica. Si intuisce, dunque, come il lavoro di programmazione risulti essere complesso e dispendioso in termini di tempo, soprattutto per chi si approccia alla programmazione per la prima volta. Tuttavia, nel febbraio del 2013, la STMicroelectronics, insieme alla ARM, ha annunciato una collaborazione con Mathworks al fine di rendere automatica la generazione del codice dei modelli Simulink dei micro-controllori della famiglia STM32, basati su processori ARM Cortex-M. Si può cogliere, quindi, la potenza dello strumento messo a disposizione, poiché esso permette, terminata la fase di simulazione, di generare in modo rapido e automatico il programma in linguaggio C da caricare nel micro-controllore. Questa nuova modalità di programmazione della control board consente, dunque, di ridurre i tempi di produzione del software, oltre agli eventuali costi di sviluppo, nel caso di processi industriali. Sia Mathworks che STMicroelectronics, hanno messo a disposizione degli sviluppatori due differenti blockset, per Simulink, contenenti le periferiche fondamentali dei controllori STM32. Nonostante il pacchetto Mathworks (Embedded Coder Support Package for STMicroelectronics STM32F4-Discovery Board) permetta al sistema di funzionare anche in External Mode1 , si è optato per l’utilizzo del blockset della STMicroelectronics (STM32 Embedded Target), poiché risulta essere più 1 La modalità External Mode di Simulink consente di creare un’interfaccia di comunicazione tra il programma, in esecuzione sulla control board, e il PC. In questo modo gli sviluppatori possono visualizzare a video il comportamento del sistema e sono in grado di intervenire sul processo modificando i parametri del controllore senza dover fermare l’esperimento. 47 48 apparato sperimentale e automatic code generation completo: infatti, il pacchetto Mathworks non dispone di alcuni blocchi necessari per il corretto funzionamento del sistema di controllo considerato. In seguito verrà mostrato come configurare i blocchi messi a disposizione da STMicroelectronics per ottenere il sistema di controllo desiderato. 4.2.1 Panoramica sull’STM32 Embedded Target Dopo averlo scaricato ed installato, il blockset STM si presenta come in Fig.28. Dalla figura si può notare che il produttore ha definito Figura 28: Blockset STMicroelectronics all’interno del Simulink Library Browser. dei blocchi per le principali periferiche della scheda. In particolare, la scelta è ricaduta su questo blockset poiché, rispetto a Mathworks, sono stati resi disponibili anche i blocchi di comunicazione USART ed i Timer, i quali risultano avere un ruolo molto importante nel sistema che si sta descrivendo. In precedenza si è visto, infatti, quanto siano fondamentali i timer al fine di generare il segnale PWM per i mosfet, oltre alla necessità di utilizzarli come trigger per garantire l’acquisizione in contemporanea dei segnali degli ADC. Per ogni periferica, generalmente, vi sono due blocchi, il primo, indicato con il termine _Config, o _Init, serve per configurare o inizializzare la periferica, mentre il secondo blocco serve, solitamente, per definire la tipologia di funzionamento della periferica, o una sua azione. Poiché la famiglia di prodotti STM32 è composta da diverse schede di controllo, il produttore ha creato un blockset piuttosto generico, nel quale non tutti i blocchi funzionano con la scheda STM32F407 discovery, qui utilizzata. Si considerino, ad esempio, le GPIO, le quali permettono di definire il funzionamento dei pin della scheda: nel pacchetto c’è la possibilità di configurare 10 differenti porte, dalla A 4.2 generazione automatica del codice fino alla I, ma, come mostrato in 4.1.1, la control board qui utilizzata presenta solo 5 porte. Ne segue che, nel caso di utilizzo di blocchi rappresentanti porte non presenti sul dispositivo, il codice generato potrebbe risultare non funzionante. Prima di cimentarsi nella configurazione delle periferiche è bene, quindi, studiare il dispositivo al fine di non compiere errori grossolani dovuti alla configurazione di periferiche non presenti sulla scheda. Per garantire il corretto funzionamento dello strumento di generazione del codice è necessario configurare correttamente Simulink. Viene, perciò, richiesto all’utente di definire, nella finestra Configuration Parameters→Code Generation, l’opportuno System target file. Dall’elenco che compare deve essere selezionato stm32F4xx.tlc, il quale risulta essere il file relativo al blockset utilizzato. In questo modo il compilatore è in grado di identificare, e convertire in codice, tutti i blocchi impiegati nello schema. Sempre nella finestra Code Generation è possibile selezionare, inoltre, il linguaggio di programmazione desiderato. Nell’esperienza in esame si è optato per il linguaggio C. Un altro vantaggio del blockset STM è la generazione automatica di un progetto, contenente tutti i file creati, associato ad uno dei tre software di programmazione supportati (Atollic, IAR e Keil). Nella scheda Code Generation→STM32F4xx Option si richiede, quindi, di indicare la ToolChain che si vuole utilizzare. Poiché lo strumento di STMicroelectronics non supporta la connessione attraverso il modulo ST-Link/V2, se si utilizza il software IAR, si è scelto, dunque, di sfruttare, per la programmazione e il debugging, il programma Atollic TrueSTUDIO. In questo modo, quando il compilatore Simulink ha terminato di generare il codice, viene aperto automaticamente il progetto in Atollic consentendo, così, di caricare rapidamente il software nella scheda di controllo. Anche in questo caso si è voluto dare una panoramica generale delle impostazioni richieste per il corretto funzionamento del sistema di generazione del codice; per un maggior approfondimento di ogni parametro si rimanda, perciò, alla documentazione STM del blockset. Nello schema di controllo progettato per questo lavoro, sono state utilizzate tutte le periferiche presenti in Fig.28, tranne il blocco Interrupts. Ora verrà presentata nel dettaglio ogni periferica della scheda e verrà mostrato come è stata configurata al fine di ottenere il comportamento desiderato. 4.2.2 ADC Per configurare gli ADC, STMicroelectronics mette a disposizione tre differenti blocchi, aventi ognuno una funzione diversa. Di seguito viene presentato nel dettaglio il funzionamento di ogni blocco e le impostazioni selezionate in questo lavoro. 49 50 apparato sperimentale e automatic code generation Il primo è il blocco STM32_ADC_Common_Init, che permette, attraverso dei semplici menù a tendina, di definire i parametri comuni degli ADC. Per comprendere meglio il vantaggio di una programmazione di questo tipo, basta considerare il fatto che, ciò che viene definito attraverso quattro semplici menù a tendina, in linguaggio C corrisponde alla creazione di un’opportuna struttura, ADC_CommonInitTypeDef, la quale deve essere poi passata come parametro alla funzione ADC_ CommonInit(), che permette di inizializzare tutti gli ADC. La struttura ADC_CommonInitTypeDef richiede che venga definita la modalità di funzionamento degli ADC (ADC_Mode); la frequenza del clock, che è comune a tutti gli ADC ed è ottenuta attraverso un prescaler (ADC_prescaler); la modalità di accesso diretto alla memoria (ADC_DMAAccessMode); infine, il ritardo tra due fasi di campionamento (ADC_TwoSamplingDelay). Si comprende, perciò, come la generazione automatica del codice consenta di risparmiare tempo nella programmazione, poiché, selezionate le funzionalità desiderate dai menù del blocco, è compito del compilatore definire le strutture e chiamare le funzioni opportune. Per questo lavoro si è lasciato invariato ogni parametro riportato in STM32_ADC_Common_Init, ovvero è stata mantenuta la modalità di funzionamento ADC_Mode_Independent poiché permette agli ADC di acquisire i segnali in modo indipendente l’uno dall’altro. Si è scelta questa modalità perchè nel sistema di controllo progettato si è preferito acquisire con due diversi ADC il valore delle correnti dei fili, mentre il terzo è stato impostato per ricavare il valore delle tensioni dei due canali e il segnale di posizione fornito dalla sonda laser. Il secondo blocco da configurare per far funzionare correttamente gli ADC è il blocco ADC_Init. Mentre il primo blocco permette di configurare tutti e tre gli ADC della scheda contemporaneamente, il blocco ADC_Init, consente di configurare il funzionamento di un solo ADC, quindi, a seconda del numero di ADC che vengono utilizzati, è necessario avere altrettanti blocchi di inizializzazione. Come anticipato, qui si è scelto di utilizzare tutti e tre gli ADC presenti sulla scheda che sono stati configurati nel seguente modo: l’ADC1 acquisisce, in modalità multichannel, i segnali di tensione di entrambi i canali e il segnale della sonda laser; l’ADC2 misura la corrente del primo filo; l’ADC3 misura la corrente del secondo filo. Sia l’ADC2 che l’ADC3 sono, dunque, impostati nella modalità di funzionamento One_channel e tutti e tre gli ADC risultano essere triggerati con il segnale PWM generato dal Timer TIM2. L’utilizzo di un unico segnale di trigger per gli ADC nasce dalla necessità di garantire il sincronismo delle acquisizioni in modo tale che, soprattutto nel controllo sensor-less, vi sia la certezza che la stima della resistenza sia corretta e determinata da tensioni, e correnti, acquisiste nello stesso istante di tempo. Si prenda in considerazione, quindi, la Fig.29 per comprendere me- 4.2 generazione automatica del codice Figura 29: Finestra di inizializzazione dell’ADC. glio come sono stati impostati i parametri. Il primo menù consente di sceglie l’ADC che si vuole configurare; in questo caso viene riportata la configurazione del solo ADC1 poiché è quello che ha creato maggiori problemi in fase di regolazione. Ricordando che ogni ADC è in grado di convertire 16 canali, nella seconda finestra è stata mantenuta la scelta su Regular, la quale permette di effettuare la conversione sequenziale di un numero di canali variabile, fino al valore massimo di 16. Ogni canale dell’ADC corrisponde ad un determinato pin della scheda e, nella finestra Channel Selection, è presente l’elenco di tutti i pin associati all’ADC selezionato. In questa finestra è, perciò, possibile selezionare i canali che si vogliono abilitare per la conversione. Se i canali selezionati sono più di uno, come nel caso dell’ADC1, è necessario impostare, nella finestra Scan mode, la modalità Multichannels, la quale permette di effettuare un numero variabile di conversioni, indicato nel menù Nbr of conversion. Affinché la modalità multichannel funzioni correttamente, è necessario impostare anche il DMA (Direct Memory Access) che consente di trasferire, dopo ogni conversione, il dato nella SRAM. Infatti, generalmente, dopo ogni conversione, gli ADC rendono disponibili i dati della conversione in un opportuno registro, il quale viene sovrascritto ad ogni nuova acquisizione. Si comprende, quindi, come l’abilitazione del DMA, nel funzionamento multichannel, risulta essere fondamentale al fine di prevenire la sovrascrittura dei dati convertiti. Nella modalità One_channel, invece, il DMA è stato disabilitato, poiché, 51 52 apparato sperimentale e automatic code generation PWMtrigger PWMSMA iSMA Inizio conversione ADC Figura 30: Schema concettuale per la scelta del fronte del segnale di trigger. dovendo convertire un solo canale, non vi è pericolo di sovrascritture. Le ultime tre finestre non ancora esaminate sono di comprensione piuttosto semplice. Come già anticipato, tutti gli ADC hanno un trigger comune in modo tale da iniziare la conversione sempre nello stesso istante. Il produttore ha messo a disposizione per gli ADC, 16 differenti segnali di trigger, di cui 15 sono associati a predeterminati canali dei timer, mentre l’ultimo può essere un segnale generato esternamente. Nel caso in esame, il segnale di trigger è un segnale PWM generato dal canale 2 del timer TIM2 e, quindi, nella finestra Ext.Trig .conversion è stato selezionato il parametro ADC_ExternalTrigConv_T 2_CC2, il quale abilita, per l’ADC selezionato, l’opportuno segnale di trigger. Quando viene abilitato il trigger, l’ADC richiede che sia specificato se la conversione deve essere avviata sul fronte di salita o di discesa, del segnale. In questo caso è stato selezionato il parametro ADC _ExternalTrigConvEdge_Falling, ovvero si è deciso di iniziare la conversione quando viene individuato il fronte di discesa del segnale di trigger. Per comprendere al meglio questa scelta, è necessario fare alcune precisazioni. Poiché i Timers hanno tutti lo stesso clock, i segnali PWM da loro generati risultano essere perfettamente sincronizzati. Ricordando, poi, che la corrente scorre nel filo solamente quando il segnale PWM è alto, in modo tale da permettere al mosfet di essere considerato un interruttore chiuso, allora è semplice dedurre che, se si fosse impostato il fronte di salita, per l’inizio della conversione, la corrente misurata dall’ADC risulterebbe essere ancora in fase di transizione. Considerando, invece, il fronte di discesa del segnale PWM, si ha la certezza che la corrente, che scorre nel filo, ha già raggiunto il suo valore di regime, garantendo, così, una corretta misurazione (Fig.30). L’ultimo parametro che resta da definire è l’allineamento dei dati (Data align). Il produttore consente di scegliere tra un allineamento dei dati a sinistra, oppure a destra. Poiché per comodità nella tra- 4.2 generazione automatica del codice smissione dei dati si è scelto di considerare il byte di destra come quello meno significativo, coerentemente con la scelta effettuata, è stato richiesto agli ADC di eseguire l’allineamento dei dati a destra (ADC_DataAlign_Right). Si consideri la Fig.31: ogni ADC, terminata la conversione del segnale in ingresso, salva due byte in un apposito registro. Di questi due byte, solamente 12 bit risultano essere significativi e rappresentano il livello di quantizzazione del segnale convertito. La scelta dell’allineamento consente, dunque, di definire la posizione del bit meno significativo, infatti, come è possibile osservare in figura, allineare i dati a destra implica il fatto che il bit meno significativo dell’ADC, è il primo a destra. Figura 31: Allineamento dei dati a destra di un ADC a 12-bit. L’ultimo blocco che viene messo a disposizione per configurare gli ADC, è il blocco ADC_Read. È facile comprendere che tale blocco consente di leggere dal registro di conversione, o dalla memoria, il dato convertito dall’ADC. La configurazione di questo blocco è molto semplice: nella prima scheda che compare è necessario impostare il numero dell’ADC utilizzato; successivamente, selezionando il menù Channel Selection, è possibile scegliere il canale che si vuole leggere. Effettuata la selezione, la figura del blocco cambia e presenta tante uscite quanti sono i canali selezionati dall’utente. Ognuna di queste uscite rende disponibili i 16 bit, che sono il risultato della conversione del canale desiderato. 4.2.3 GPIO In Fig.32 è possibile vedere come si presenta il blockset relativo alle GPIO. Anche in questo caso è facile individuare i tre blocchi che consentono di configurare e utilizzare le GPIO nel modo desiderato. Per ogni porta presente sulla scheda, esiste un blocco _Config che permette di configurare ogni singolo pin della porta desiderata. I pin presentano, infatti, diverse funzionalità che possono essere facilmente definite nella finestra di configurazione. Scelto il blocco relativo alla porta di interesse, è possibile abilitare, selezionando la casella Pin used, tutti i pin desiderati. Per definire il funzionamento di ogni pin si seleziona, poi, la finestra Configuration mode, la quale consente di effettuare quattro differenti scelte: • GPIO_Mode_IN: imposta il pin come un ingresso digitale. 53 54 apparato sperimentale e automatic code generation Figura 32: Blockset delle GPIO. • GPIO_Mode_OUT: • GPIO_Mode_AF: consente di definire un funzionamento alternativo del pin. Quando viene selezionata questa modalità, compare un’altra finestra che permette di selezionare una delle “funzioni speciali” che il produttore ha definito per il pin selezionato. Ad esempio, come è stato anticipato in precedenza, i Timers consentono di generare dei segnali PWM su dei pin predefiniti dal produttore. Per utilizzare questa funzionalità è, quindi, necessario selezionare questa funzione e, nella finestra Alternate Function scegliere la modalità GPIO_AF_TIM la quale permette di effettuare un’associazione tra il Timer e il pin selezionato. • GPIO_Mode_AN: imposta il pin come un’uscita digitale; questa è la modalità utilizzata per abilitare l’azzeramento della sonda laser. imposta il pin come un ingresso analogico; questa modalità è stata utilizzata su tutti i pin associati ai canali degli ADC utilizzati per la conversione dei segnali del sistema. Gli altri due blocchi messi a disposizione da STMicroelectronics, sono i blocchi GPIO_Read e GPIO_Write, i quali consentono di determinare lo stato dei pin digitali. Come si può intuire, il blocco _Read permette di leggere il valore della porta desiderata; esso, infatti, restituisce un valore uint16 che consente di determinare quali pin hanno valore 1 e quali 0. La configurazione di questo blocco è molto semplice: è sufficiente selezionare solamente la lettera della porta che si vuole leggere. Il blocco GPIO_Write, invece, rende possibile la scrittura sui pin in funzionamento digitale. Anche in questo caso la configurazione non presenta difficoltà rilevanti: basta, infatti, selezionare la lettera della porta desiderata e scegliere il numero dei pin sui quali si intende intervenire. Abilitando la funzione Enable input compare sul blocco 4.2 generazione automatica del codice un ingresso, attraverso il quale è possibile modificare lo stato del pin semplicemente fornendo un valore uint16 che presenti un uno o uno zero in corrispondenza del numero dell’uscita desiderata. Si intuisce, dunque, che quando il bit ha valore uno, il pin di uscita avrà tensione logica alta, mentre, quando il bit ha valore zero, il pin avrà tensione nulla. Figura 33: Blocco Simulink: GPIO_Write. 4.2.4 Timers I Timers presentano un unico blocco per la loro configurazione. Anche in questo caso definire il funzionamento risulta essere piuttosto intuitivo. Come si può vedere dalla Fig.34, la finestra di definizione dei parametri presenta una prima scheda, chiamata Global, nella quale è possibile stabilire la modalità di utilizzo del timer selezionato. In particolare, è possibile scegliere tra tre tipologie di funzionamento: • Output_PWM; • Input_Capture; • Encoder. La prima modalità consente di generare un segnale PWM alla frequenza desiderata e definita all’interno della finestra Signal output frequency (Hz). Concettualmente la generazione della PWM è molto comprensibile: attraverso alcune operazioni, viene determinato il Figura 34: Esempio di finestra di configurazione dei timer. 55 56 apparato sperimentale e automatic code generation Counter period TPWM 1 TPWM2 Time [s] PWM Output 1 Time [s] PWM Output 2 Time [s] Figura 35: Schema concettuale del funzionamento del timer in modalità Output_PWM. numero di impulsi corrispondenti alla frequenza desiderata per il segnale di uscita; infatti, il timer presenta un clock che deve avere una frequenza superiore rispetto a quella del segnale desiderato, e, in questo caso, è stata impostata a 42MHz. Quando il contatore raggiunge il valore impostato, viene alzato il livello di tensione del pin sul quale deve essere generato il segnale PWM consentendo, così, di ottenere la forma d’onda voluta (per comprendere meglio il funzionamento è possibile fare riferimento alla Fig.35). Nella finestra di configurazione del timer, oltre alla scheda Global , sono presenti altre tre schede denominate: CH1, CH2 e CH3. Ognuna di queste consente di abilitare il segnale PWM sul canale indicato e di definire degli ulteriori parametri di configurazione. Ogni timer dispone di quattro canali, come riportato dal manuale della control board, tuttavia il blockset consente di configurare solamente i primi tre. Questa risulta essere una limitazione per tutte quelle applicazioni che richiedono di generare quattro segnali PWM. Poiché, in questo lavoro, sono stati utilizzati solamente due fili SMA, non è stato riscontrato alcun problema di configurazione, tuttavia l’estensione del progetto al controllo della fotocamera di uno smartphone, richiede l’attuazione contemporanea di quattro canali, considerato che i fili che sostengono il modulo ottico sono quattro. Se ne deduce che, il file generato dal Code Generation di Mathworks, dovrà essere opportunamente modificato dal programmatore, il quale avrà il compito di abilitare anche il quarto canale del timer. Un’altra soluzione percorribile, consiste nell’utilizzare due differenti timer 4.2 generazione automatica del codice per generare le PWM, comandando, quindi, due soli canali per timer. Questa scelta richiederebbe, però, di modificare il layout della power board, al fine di interfacciare correttamente i pin, associati ai timer, con i Gain dei mosfet relativi ad ogni filo. I canali dei timer vengono abilitati selezionando la voce Enable Channel, attraverso la quale è possibile accedere ad un elenco di funzionalità. In particolare, vi è una voce che consente di selezionare il valore di duty cycle del segnale generato. Poichè nel sistema di controllo qui presentato il duty cycle risulta essere la variabile di comando, se ne deduce che esso non può essere un valore statico ma necessariamente deve variare a seconda delle necessità del controllo. Per questo motivo è stata spuntata la voce Duty cycle is an input port, che consente di “passare” il valore del duty cycle attraverso una porta del blocco Timers. L’ultimo parametro che si richiede di impostare è Output polarity, che consente di definire se, in corrispondenza del duty cycle desiderato, l’uscita sarà a livello logico alto oppure basso. In questo caso è stato lasciato invariato il parametro, considerando, così, il duty cycle come la percentuale del periodo in cui il segnale presenta un livello di tensione alto (TIM_OCPolarity_High). Le altre due modalità, Input_Capture ed Encoder, consentono, rispettivamente, di determinare la frequenza di un segnale in ingresso su un determinato pin e di far funzionare il timer come il contatore degli impulsi di un encoder. Poiché per questo lavoro l’interesse era rivolto solamente al funzionamento PWM del timer, le altre tipologie di utilizzo non sono state indagate nel dettaglio. Per eventuali approfondimenti si rimanda, quindi, alla documentazione riportata in [10] e [11], messa a disposizione da STMicroelectronics. 57 58 apparato sperimentale e automatic code generation 4.2.5 USART La periferica USART viene sfruttata per comunicare al computer i dati di interesse relativi agli esperimenti effettuati. Per configurare questa periferica si utilizza il blocco USART_Config che presenta il pannello riportato in Fig.36. I primi sei parametri che si richiede di impostare sono piuttosto intuitivi e determinano le funzionalità della trasmissione seriale; in modo specifico viene richiesto all’utente di definire quale porta di comunicazione utilizzare e la velocità con cui si vogliono trasferire i dati. In questo caso è stata utilizzata la porta USART numero 3, che fa riferimento al pin 10 e 11 della porta C, rispettivamente per trasmettere (Tx) e per ricevere (Rx) i dati al PC. Come si può notare dal parametro Data bits, i dati vengono spediti al computer in pacchetti di 8 bit, corrispondenti ad 1 byte. Nella porta Nb2Send, del blocco USART_Send, l’utente deve, dunque, definire il numero di byte che vuole inviare al computer ad ogni clock del sistema. I byte contenenti i dati, invece, devono essere resi disponibili in ingresso alla porta SendVal del blocco USART, il quale, nel caso si volesse introdurre anche un controllo sui dati inviati, presenta un’uscita (NbSent) che fornisce il numero di byte che sono stati correttamente spediti. Tuttavia, in questo lavoro, non è stato implementato alcun sistema di controllo dei dati inviati e ricevuti dal computer. Come è stato anticipato nel paragrafo 4.1, la comunicazione USART non è stata utilizzata solamente per ricevere sul computer i risultati delle esperienze, ma è servita anche per inviare degli appositi comandi che permettessero il corretto svolgimento delle prove. Attraverso Figura 36: Finestra di configurazione della comunicazione USART. 4.2 generazione automatica del codice il blocco USART_Receive è, infatti, possibile ricevere dal computer dei byte contenenti dei comandi; nel caso che si sta descrivendo, è stato creato un protocollo di comunicazione che consentisse all’utente di controllare alcune funzionalità del sistema. Sfruttando, perciò, una serie di semplici comandi, risulta possibile azzerare la sonda laser, prima dell’inizio di ogni prova; abilitare o fermare il sistema di controllo; e, in alcuni casi, variare anche il riferimento. Nello specifico, nello schema closed-loop di resistenza (Allegato D), è stato implementato un sistema di comunicazione che permettesse, inoltre, di inviare anche i parametri Kp e Ki del controllore. Vengono, quindi, riportati in Tab.2 i principali comandi utilizzati per controllare il corretto funzionamento del sistema. Codice comando 114 1 Funzione Comanda l’azzeramento della sonda laser Abilita l’invio dei dati attraverso la porta seriale 253 Abilita il controllore 115 Abilita il riferimento preimpostato nel microcontrollore 254 Ferma il controllo e azzera il riferimento 255 Resetta il sistema riportandolo alle condizioni iniziali Tabella 2: Comandi di comunicazione con il sistema di controllo. La procedura di invio dei parametri risulta essere un pò diversa, poiché richiede che siano inviati al micro-controllore quattro comandi consecutivi. Il primo comando è il codice “103” il quale “informa” il sistema che il byte successivo contiene il valore del parametro Kp del controllore. Il secondo comando che deve essere inviato è, quindi, il valore del guadagno proporzionale del controllore PI. Ricevuto il valore di Kp , il sistema viene nuovamente messo in attesa con l’invio del comando “110” al quale segue il parametro Ki , contenete il valore del guadagno integrale. Questo sistema di comunicazione è stato implementato per evitare di richiedere a Simulink di generare il codice C per la scheda ogni volta che si vuole variare un parametro del controllore PI. Ciò rappresenta un grande vantaggio in termini di tempo: per questo motivo, potenziare il sistema di comunicazione tra PC e scheda, inserendo, ad esempio, l’invio del riferimento da seguire, consentirebbe di velocizzare la configurazione degli esperimenti. Il sistema che gestisce i comando inviati dal computer è implementato sul micro-controllore all’interno di una flow chart, riportata in Fig.37. Per garantire la corretta decodifica dei byte spediti alla scheda, è, dunque, necessario rispettare un determinato ordine di invio. Nella parte di codice riportata viene, dunque, mostrato un esempio della sequenza di comandi che permette di inizializzare correttamente le prove sperimentali relative al controllo sensor-less. 59 60 apparato sperimentale e automatic code generation Figura 37: Stateflow chart per la decodifica dei byte ricevuti dalla control board. % Invio parametri controllore fwrite(dev_handle, 103); fwrite(dev_handle, Kp); fwrite(dev_handle, 110) fwrite(dev_handle, Ki); % Azzeramento sonda Laser fwrite(dev_handle, 114); pause(0.1); % Abilitazione USART Send fwrite(dev_handle, 1); pause(1); % Abilitazione Controllo fwrite(dev_handle, 253); 5 P R E S E N TA Z I O N E D E I R I S U LTAT I O T T E N U T I DALLE SIMULAZIONI In questo capitolo ci si pone come obiettivo la presentazione dei dati ottenuti mediante la simulazione del modello matematico presentato nel paragrafo 2.3. Per verificare la bontà del modello utilizzato, nel prossimo capitolo, verrà effettuato un confronto qualitativo dei diagrammi ottenuti dalle simulazioni e dalle prove sperimentali (in catena aperta e catena chiusa). Poiché non è stata eseguita alcuna azione di identificazione del processo in esame, non sarà possibile stabilire se il modello matematico rispecchi il comportamento reale del sistema. Tuttavia si vedrà che, per uguali riferimenti di posizione e di duty cycle, il comportamento del modello, e del sistema considerato, risultano essere pressoché uguali. Il capitolo sarà così strutturato: nella prima parte verranno presentati lo schema Simulink e i risultati ottenuti nella fase di simulazione del processo a catena aperta; nella seconda parte, invece, verrà mostrato il comportamento del sistema in presenza dell’anello di retroazione della posizione (processo in catena chiusa). Per entrambe le simulazioni verranno presentati i diagrammi che associano tra loro le principali grandezze dei fili SMA. 5.1 risultati simulazione e modello open-loop Nel lavoro presentato in [1], vengono proposte due differenti strategie di azionamento dei fili in catena aperta: la prima consiste nel fornire al sistema un riferimento di temperatura, ipotizzando, quindi, di poter controllare direttamente, e in modo indipendente, la temperatura dei fili, ad esempio, immergendoli in bagni d’acqua a temperatura controllata; la seconda prevede, invece, il controllo della tensione applicata agli SMA. In questo lavoro di tesi, la scelta della variabile di controllo è ricaduta sulla seconda strategia di attuazione, poiché, nel laboratorio utilizzato per le prove, non è ancora stato implementato un sistema che consenta di controllare la temperatura dei fili. Inoltre, dal punto di vista pratico, si è pensato che sia più utile studiare un sistema comandato in tensione e, quindi, facilmente realizzabile industrialmente, piuttosto che un sistema che richiede un accurato controllo della sua temperatura. Inizialmente lo studio dei fili, come azionamenti SMA, era cominciato con l’obiettivo di movimentare la fotocamera di uno smartpho- 61 62 presentazione dei risultati ottenuti dalle simulazioni ne al fine di ridurre le vibrazioni generate dal corpo umano durante lo scatto di una foto. Si è scelto, quindi, di analizzare il comportamento dei fili in funzionamento push-pull per comprendere se fosse possibile un controllo accurato della loro movimentazione. Tuttavia, è facile comprendere che l’utilizzo di un banco di prova che presenti un meccanismo per il controllo della temperatura del sistema non fornirebbe risultati adeguati all’ambiente di utilizzo del prodotto finale. Infatti, poiché gli smartphone sono sottoposti a variazioni di temperatura elevate, basti pensare allo sbalzo termico che subiscono se posizionati sul cruscotto di una macchina, si è preferito analizzare il comportamento dei fili controllandoli solamente in tensione. Il modello matematico descritto nel paragrafo 2.3, e completato con la presentazione del sistema di funzionamento a due fili, è stato utilizzato per stimare la risposta pseudo-statica del sistema di attuazione controllato in tensione. Nel modello si assume, quindi, di controllare direttamente la tensione applicata ai fili sfruttando la modulazione PWM. Presentati, dunque, i motivi che hanno spinto a scegliere un controllo di tensione per il sistema, si procede con l’esposizione del modello Simulink del processo. Riprendendo il modello matematico del trasferimento di calore, definito in 2.3.1 dall’equazione (1) e qui riportata in (32), è possibile notare che la temperatura del filo, a regime, è direttamente proporzionale alla potenza elettrica media fornita ad esso. cρV dT = Ri2 − hAl (T − T amb) dt (32) La potenza elettrica applicata al filo è definita come: Pi = 2 Vsupply R · Di i = 1, 2 (33) dove Di è il duty cycle della tensione modulata ai capi del filo. In precedenza (Fig.6) è stato mostrato come la caratteristica, frazione di martensite rispetto alla variazione di temperatura, presenti una marcata isteresi. Poiché secondo il modello presentato in [1], la resistenza del filo dipende dalla percentuale di martensite presente, si può dedurre che, il rapporto tra il duty cycle e la temperatura del filo risulta essere non lineare e isteretico in quanto la potenza media è inversamente proporzionale alla resistenza. È possibile comprendere meglio il comportamento appena descritto guardando la Fig.38 nella quale viene presentato il risultato di una simulazione del modello. Considerato che la temperatura governa direttamente, o indirettamente, come nel caso della forza dei fili, il comportamento delle principali grandezze del sistema, ci si aspetta che i grafici ricavati dalla simulazione presentino tutti un andamento isteretico. In Fig.39 viene proposto lo schema a blocchi del modello Simulink utilizzato. Si noti che, il comando PWM fornito ai fili è un’onda quasi 5.1 risultati simulazione e modello open-loop 120 → T1 [◦ C] 100 80 → 60 40 20 0 20 40 60 D1 [%] 80 100 Figura 38: Andamento della temperatura T rispetto alla variazione di duty cycle D. Figura 39: Schema a blocchi del modello matematico del sistema. triangolare che fa variare lentamente il duty cycle in un range compreso tra 0 e 100%. Il segnale di riferimento non è esattamente un’ onda triangolare poiché è stato definito in modo tale da mantenere il valore massimo, e minimo, del duty cycle, per un intervallo di tempo pari al 2% del periodo di simulazione. Dal momento che ai due fili è richiesto di lavorare in funzionamento push-pull, il riferimento del duty cycle del primo filo è stato definito in modo complementare a quello del secondo così da garantire che, quando un filo avrà duty cycle pari a 0 e sarà, quindi, in fase martensitica, l’altro filo avrà duty cycle massimo e si troverà in fase austenitica. Il riscaldamento, in fase austenitica, causa la contrazione del filo che implica la deformazione dell’ SMA antagonista, in fase martensitica. Questo procedimento viene ripetuto, a ruoli invertiti, durante il secondo semi-periodo del riferimento. 63 64 presentazione dei risultati ottenuti dalle simulazioni Il valore del duty cycle viene successivamente moltiplicato per la tensione di alimentazione dei fili determinando, così, il potenziale applicato ad essi. Nota, quindi, la tensione dei fili e calcolato il valore della resistenza attraverso il modello definito in 2.3.2, sfruttando l’equazione (32) è possibile determinare la variazione di temperatura del filo. A questo punto sorge un problema, poiché la resistenza dipende, oltre che dalla lunghezza del filo, anche dalla temperatura e dalla frazione di martensite nell’SMA, la quale varia anch’essa in funzione della temperatura, è stato, quindi, necessario definire delle opportune condizioni iniziali che consentissero di configurare correttamente la simulazione. Si è, dunque, ipotizzato che il primo filo sia caldo e in fase 100% austenitica, ad una temperatura di 110 °C, mentre il secondo filo sia nella fase complementare al primo, ovvero in fase 100% martensitica, ad una temperatura di 20 °C (pari al valore impostato per la temperatura ambiente)1 . La scelta delle condizioni iniziali consentono di completare il blocco Heat Transfer di Fig.39, il quale permette di stimare l’andamento della temperatura degli SMA durante tutta la simulazione. Il valore di temperatura del filo viene successivamente fornito in ingresso al modello matematico che determina la percentuale di volume di martensite presente nell’SMA. Questo blocco è stato definito in accordo con quanto presentato nel paragrafo 2.3.3 e sono, dunque, state fissate delle opportune funzioni pendenza (g± ) che caratterizzano l’isteresi presente nel rapporto tra la frazione di martensite ξ e la temperatura T . Nel blocco Martensite Fraction, oltre alle funzioni pendenza, vengono anche calcolati i valori delle funzioni h± e, sfruttando la relazione (14), si ottiene una stima del parametro dξ. Il valore ottenuto viene, quindi, integrato in modo tale da ricavare l’andamento della frazione di martensite ξ durante tutto il periodo di simulazione. Nota la frazione di martensite e stimato l’allungamento x che subiscono i fili, secondo il modello matematico riportato in 2.3.4, è stato definito il blocco SMA wire forces. Nel blocco vengono, perciò, implementate le equazioni relative a Fa e Fm , presentate in (16). Poiché il calcolo corretto della forza richiede la conoscenza della posizione del carrello, e, quindi, della deformazione subita dai fili, anche in questo caso è necessario fissare delle opportune condizioni iniziali. Riprendendo ciò che è stato detto in 3.3, si ha che l’allungamento totale xp del sistema, causato dal precarico impostato, è dato dall’allungamento che subisce il filo in fase austenitica, più l’allungamento del filo in fase martensitica. Ricordando, quindi, che lo spostamento positivo del carrello corrisponde all’allungamento del primo filo (SMA wire 1), è stata impostata come condizione iniziale, per il primo 1 I valori delle temperature della fase martensitica e austenitica sono stati ricavati dalla letteratura. 5.1 risultati simulazione e modello open-loop SMA, lo spostamento subito dalla slitta a causa del precarico. La condizione iniziale del secondo filo si ricava intuitivamente sottraendo, all’allungamento totale del sistema, il valore di deformazione iniziale del primo filo. Così definiti, i blocchi SMA wire forces, consentono di determinare, istante per istante, la forza dei due fili al variare del loro allungamento e della frazione di martensite presente in essi. La conoscenza delle forze generate dai due SMA permette, così, di ricavare la posizione del carrello sfruttando l’equazione di moto del sistema definita dall’espressione (23). Da ultimo viene presentato il blocco che consente di determinare la resistenza. L’importanza di questo modello deriva dal fatto che, la stima del valore della resistenza del filo permette di ricavare una stima della temperatura dell’SMA. All’inizio del capitolo è stato, infatti, mostrato come la temperatura dei fili sia direttamente proporzionale alla potenza elettrica fornita ad essi, e, quindi, risulta essere proporzionale alla resistenza degli SMA. Tuttavia, in 2.3.2, si è visto come la resistenza dipenda dalla temperatura poiché la resistività elettrica dei fili è stata definita linearmente dipendente da T. Nota, dunque, la temperatura iniziale del filo, la sua lunghezza deformata e la frazione di martensite che lo compone, è possibile ricavare una stima della sua resistenza. Nel blocco resistance sono, quindi, state implementate le equazioni (5), (6) e (3), che consentono di determinare rispettivamente: il valore della resistività al variare della temperatura T; la resistenza del filo, al variare della lunghezza, relativa ad entrambe le fasi del materiale; la resistenza totale del filo associata alla variazione della frazione di martensite ξ. Il modello così definito ed inizializzato, consente di simulare il comportamento del sistema in esame relativo al controllo in catena aperta. 5.1.1 Risultati simulazione open-loop In questa parte del capitolo verranno presentati i diagrammi ottenuti effettuando la simulazione del sistema in catena aperta, nella Tab.3 vengono riportati i valori dei parametri utilizzati i quali sono stati ottenuti dal data sheet dei fili SMA, fornito dal produttore, e dagli articoli presenti in letteratura. Si ricorda nuovamente che, poiché non è stata effettuata alcuna operazione di identificazione dei parametri del sistema, ci si aspetta che i diagrammi mostrino solamente un comportamento qualitativo del processo analizzato. Nel caso in cui si volesse effettuare uno studio più approfondito del comportamento dei fili, dal punto di vista quantitativo, risulta necessario impostare una serie di prove che consentano di determinare i valori dei parametri in gioco, in modo tale 65 66 presentazione dei risultati ottenuti dalle simulazioni µ+ , σ + ξ vs T hysteresis (+) params 85 °C, 7 °C µ− , σ − ξ vs T hysteresis (-) params 60 °C, 7 °C L0 wire lenght (100% A-phase) 20 cm wire diameter 100 µm Ea d Young modulus A-phase 36000 MPa Em Young modulus fully twinned M-phase 20500 Mpa Et Young modulus partially twinned M-phase 800 MPa Ed Young modulus de-twinned M-phase 17000 MPa y m yield strain of twinned M-phase 0.1 d m minimum strain of de-twinned M-phase 0.15 ρm0 resistivity constant term for M-phase 9 × 10−7 Ωm ρm1 resistivity slope coefficient for M-phase 2.5 × 10−9 Ωm°C−1 ρa0 resistivity constant term for A-phase 8 × 10−7 Ωm ρa1 resistivity slope coefficient for A-phase 8.3 × 10−10 Ωm°C−1 ρ mass density 6500 Kgm3 c specific heat 460 Jkg−1 °C−1 h convection heat transfer coefficient 70 Wm−2 °C−1 Tamb ambient temperature 20°C Vsupply wire supply voltage 3.3 V m slider mass 0.1 kg b viscous friction coefficient 0.5 Nsm−1 Tabella 3: Parametri della simulazione. da rendere il modello matematico il più reale possibile. La discrepanza principale tra il sistema analizzato e il modello determinato riguarda, in particolare, la tensione di alimentazione. Durante la fase di simulazione è, infatti, stata definita una tensione di 3.3 V, la quale è nettamente inferiore rispetto ai 6 V impostati durante le prove sperimentali. La necessità di scegliere un potenziale più alto nelle prove effettuate è dovuta al fatto che, per tensioni troppo basse (inferiori ai 4 V), i circuiti implementati sulla power board non sono in grado di determinare variazioni apprezzabili delle correnti che scorrono nei fili. Inoltre non è stato possibile modificare il parametro Vsupply , al fine di rendere il modello più simile al processo reale, poiché crea degli errori nella risoluzione dello schema. Tali errori riguardano il calcolo del valore dξ e richiedono, dunque, di intervenire anche sui parametri µ± e σ± che consentono di determinare le funzioni g± e h± . Per mancanza di tempo e difficoltà nel reperire in letteratura un metodo che consentisse di definire correttamente i parametri relativi all’isteresi, si è preferito, quindi, non intervenire sul modello matematico garantendone, tuttavia, la bontà ai fini di un’analisi qualitativa del sistema. Nella sezione in cui vengono presentate le proprietà degli acciai a memoria di forma (paragrafo 2.1) viene mostrato come il livello di stress del filo intervenga nella trasformazione di fase del materiale. In questa prima simulazione si è scelto, perciò, di effettuare quattro 5.1 risultati simulazione e modello open-loop prove a differenti valori di precarico iniziale in modo tale da comprendere al meglio come il precarico influisca sul comportamento del sistema. Dai risultati che verranno presentati si vedrà come le caratteristiche variano, in alcuni casi anche di molto, a seconda della forza Fp che viene applicata al filo. La scelta dei parametri da analizzare e, quindi, delle caratteristiche che verranno riportate, è ricaduta su quanto è stato presentato in [1], poiché, come è stato anticipato alla fine del Cap.3, i diagrammi mostrati nell’articolo hanno permesso di individuare il parametro da utilizzare per la retroazione del controllo sensor-less. In Fig.40 vengono, quindi, riportati i diagrammi ritenuti più significativi ricavati dalla simulazione. Tali caratteristiche sono state ottenute variando lentamente il duty cycle dal 100% fino a 0, per il filo 1, e viceversa per il filo 2. Verranno ora presentati nel dettaglio i grafici in modo da comprendere al meglio cosa accade nel sistema quando si interviene sul precarico iniziale. Si considerino, dunque, le Fig.40(a) e (b); le due caratteristiche qui riportate consentono di verificare che, per differenti valori di precarico, la temperatura dei fili subisce una variazione. Dalle figure, infatti, si nota che all’aumentare del precarico corrisponde una, seppur lieve, diminuzione di temperatura. Ciò permette di confermare quanto è stato riportato in 2.1 quando si è detto che si può ottenere una trasformazione di fase anche a temperatura costante, purché sia applicata all’SMA una forza appropriata. La Fig.40(b) consente, inoltre, di verificare che, per un crescente valore del precarico iniziale, lo spostamento della slitta risulta essere decisamente più ampio. Questo comportamento è associato al fatto che il filo subisce una deformazione tanto maggiore, quanto maggiore è la forza ad esso applicata e, quindi, all’aumentare della sua temperatura la contrazione, dovuta al cambio di fase, causa uno spostamento più grande del carrello. La Fig.40(c) riporta, invece, l’andamento della forza del primo filo rispetto allo spostamento del carrello. Anche da questa figura è possibile notare come, per valori inferiori del precarico, lo spostamento risulti essere nettamente minore, tuttavia, ridurre il precarico garantisce che la forza agente sul filo sia limitata durante tutto il periodo della simulazione. Poiché temperatura e allungamento del filo intervengono direttamente nella determinazione della resistenza dell’SMA, è lecito aspettarsi che anche la resistenza del filo subisca una variazione dovuta all’aumento del precarico. Si considerino, dunque, le Fig.40(d), (e) ed (f); specialmente in Fig.40(d) è possibile notare che, al diminuire della forza di precarico, la resistenza del filo tende ad essere mediamente inferiore. Ciò è dovuto al fatto che, nonostante la resistenza elettrica sia direttamente proporzionale sia alla temperatura che alla lunghezza del filo, la riduzione della deformazione, dovuta al minor precarico, risulta essere prevalente rispetto al piccolo aumento di temperatu- 67 68 presentazione dei risultati ottenuti dalle simulazioni (a) (b) (c) (d) (e) (f) Figura 40: Risultati simulazione sistema controllato in tensione con riferimento a rampa. (a) Temperatura vs duty cycle (SMA wire 1). (b) Spostamento vs temperatura. (c) Forza vs spostamento. (d) Resistenza elettrica vs duty cycle (SMA wire 1). (e) Spostamento vs resistenza elettrica. (f) Spostamento vs resistenza elettrica differenziale. ra che esso comporta. Le Fig.40(e) ed (f) consentono, inoltre, di verificare come, all’aumentare del precarico applicato al filo, la pendenza delle curve risulti essere sempre maggiore. Questo particolare comportamento è stato riscontrato anche sperimentalmente e, in seguito, verrà mostrato come tale variazione di pendenza comporti tutta una serie di problematiche associate al controllo di tipo sensor-less. Come è stato anticipato nel paragrafo 3.3.2, l’analisi di queste ulti- 5.1 risultati simulazione e modello open-loop me due figure ha permesso di determinare quale fosse il miglior parametro da utilizzare per la retroazione del controllo sensor-less. La scelta è ricaduta sulla resistenza elettrica differenziale poiché, come si può notare dalla Fig.40(f), il suo andamento presenta un’isteresi con un comportamento decisamente più lineare rispetto alle resistenze dei singoli fili. Per semplificare al massimo il controllo di resistenza, si è scelto, dunque, di approssimare semplicemente con una retta tale caratteristica al fine di ottenere una relazione lineare tra lo spostamento e la differenza di resistenza. Tuttavia, nel prossimo capitolo, si vedrà come, a causa della variazione del precarico, la determinazione di tale retta non garantisca comunque una buona stima della posizione del carrello. Oltre alle prove appena presentate sono state effettuate altre due differenti tipologie di simulazione in catena aperta: nella prima è stato modificato il riferimento imponendo una variazione di duty cycle ad onda quadra; nella seconda si è scelto, invece, di intervenire sul parametro che definisce la temperatura ambiente. La scelta di effettuare una simulazione modificando il duty cycle è dovuta al fatto che, nella prova sperimentale, si è preferito imporre come riferimento un’onda quadra al fine di riuscire ad individuare visivamente un netto movimento del carrello. Poiché i risultati ottenuti da questo tipo di simulazione presentano gli stessi comportamenti definiti in precedenza e mostrati in Fig.40, si è deciso di non riportare i diagrammi ricavati. Più volte in questo lavoro di tesi è stato mostrato il forte legame presente tra la variazione di temperatura e il comportamento dei fili, inoltre, si è già anticipato il motivo della scelta di far lavorare il sistema in un ambiente a temperatura non controllata. Nonostante ciò, per semplificare il modello, tutte le precedenti simulazioni sono state effettuate considerando la temperatura ambiente come una costante pari a 20 °C. A causa delle osservazioni qui riportate, si è preferito, quindi, eseguire una simulazione con il parametro Tamb variabile al fine di verificare come la temperatura ambiente intervenga sulle caratteristiche del sistema. Per simulare la variazione di temperatura è stata utilizzato un segnale sinusoidale avente media 20 °C e ampiezza 0.5 °C. A tale segnale è stato sommato un valore generato casualmente che varia tra ±0.2 °C, in modo tale da rendere la variazione di temperatura abbastanza casuale da poter simulare eventuali flussi d’aria dovuti ad agenti esterni. Poiché durante le prove sperimentali non è mai stata monitorata la temperatura della stanza, anche questa simulazione risulta utile solamente per comprendere il comportamento qualitativo del sistema rispetto ad una variazione casuale, ma limitata, della temperatura ambiente. I risultati ottenuti dalla simulazione sono rappresentati in Fig.41, si è scelto di riportare in grigio gli andamenti delle caratteristiche 69 70 presentazione dei risultati ottenuti dalle simulazioni (a) (b) (c) (d) Figura 41: Risultati simulazione sistema controllato in tensione con Tamb variabile. (a) Spostamento vs temperatura. (b) Resistenza elettrica vs duty cycle (SMA wire 1). (c) Spostamento vs resistenza elettrica. (d) Spostamento vs resistenza elettrica differenziale. riguardanti la prova con Tamb costante, mentre i grafici in nero raffigurano le prove con la temperatura ambiente variabile. Dalle figure è possibile notare che, per una temperatura ambiente variabile, i grafici presentati mostrano un’isteresi leggermente ridotta. Nel capitolo successivo verranno presentati i risultati sperimentali e dalle figure ottenute si potrà vedere che le isteresi risultano essere decisamente meno marcate rispetto a quelle determinate dalla simulazione. Probabilmente ciò è dovuto a discrepanze tra i parametri del modello matematico e quelli del sistema reale, tuttavia, visto il comportamento riportato in Fig.41, non si esclude che anche la temperatura ambiente abbia contribuito alla riduzione delle isteresi. 5.2 risultati simulazione e modello closed-loop In questa sezione del Cap.5 verrà introdotto il modello del sistema closed-loop e, successivamente, verranno presentati i risultati ottenuti dalle simulazioni. Il modello matematico dei fili è lo stesso riportato nella sezione precedente, l’unica differenza che è stata introdotta in questo schema 5.2 risultati simulazione e modello closed-loop Figura 42: Schema a blocchi del modello closed-loop è l’anello di retroazione il quale garantisce il corretto controllo della posizione del carrello. Lo schema è riportato in Fig.42 e, come si può notare, il segnale di controllo (duty cycle) viene determinato da un semplice controllore di tipo PI. Come è già stato anticipato nei capitoli precedenti, la scelta è ricaduta su un controllore di tipo PI per garantire il perfetto inseguimento del riferimento e a causa della semplicità della sua taratura. Anche in questo caso sono stati utilizzati due diversi riferimenti di posizione: il primo consiste in un riferimento a gradini di ampiezza 0.1 mm che varia sinusoidalmente in un range compreso tra ±0.5 mm; il secondo, invece, è un riferimento ad onda quadra di ampiezza ±0.5 mm e frequenza 0.1 Hz. Rispetto alla prova precedente sono state effettuate alcune modifiche alle condizioni iniziali dovute all’introduzione del sistema di controllo. Infatti, affinché i due fili funzionino correttamente in configurazione push-pull, è necessario che il segnale di comando che viene fornito al primo filo sia complementare a quello generato per il secondo e, quindi, ricordando che il carrello compie uno spostamento positivo quando il primo filo si allunga, si intuisce che il comando generato dal controllore, per il filo 1, deve avere segno negativo, mentre quello per il filo 2 deve essere uguale ma di segno opposto. In questo modo l’incremento e il decremento del duty cycle dei singoli fili fa si che si generi il corretto funzionamento push-pull. Tuttavia, per definizione, il duty cycle non può assumere valori negativi. Si è scelto, perciò, di impostare un valore costante attorno al quale far variare il duty cycle sommando, o sottraendo, il comando generato dal controllore. Dalla Fig.42 è possibile vedere che il valore scelto, al quale verrà opportunamente aggiunto il segnale di controllo, è il 50% del periodo della PWM. In questo modo, infatti, si garantisce che il comando generato per entrambi i fili, abbia lo stesso range di escursione. Questa scelta fa cadere, però, alcune delle ipotesi fatte in precedenza sul sistema, in particolare, non è più possibile considerare, come condizione iniziale, i fili nelle due fasi differenti poiché il duty cycle iniziale ad essi applicato è lo stesso. In queste prove si è, quindi, ipotizzato che entrambi gli SMA siano nella fase di transizione tra uno stato e l’altro. 71 72 presentazione dei risultati ottenuti dalle simulazioni Come condizione iniziale è stata, dunque, impostata una frazione di martensite pari al 50% del volume dei fili e, poiché non si conosce correttamente la temperatura corrispondente a tale condizione di transizione, si è scelto di impostare come valore 65 °C2 lasciando che il sistema converga secondo le equazioni definite. Le condizioni iniziali, così impostate, permettono di considerare i due fili nella loro fase di transizione tra uno stato e l’altro; in questo modo, quando viene avviata la simulazione, il filo al quale viene sommato il segnale di comando tenderà a passare alla fase austenitica, viceversa l’altro SMA passerà alla fase martensitica. Per garantire il corretto funzionamento del modello è stato necessario introdurre un ultimo accorgimento riguardante il segnale di riferimento. Poiché i due fili, così considerati, causano uno spostamento iniziale del carrello, a causa della loro contrazione dovuta al valore iniziale non nullo del duty cycle, si è scelto di definire i riferimenti attorno al punto di equilibrio del sistema, in modo tale da garantire, rispetto ad un sistema di riferimento relativo, il corretto spostamento della slitta. Per questo motivo, come si può vedere in Fig.42, al riferimento di posizione è stato sommato il punto di lavoro determinato, dovuto al pretensionamento e alle condizioni iniziali dei fili (wp.x). 5.2.1 Risultati simulazione closed-loop Le simulazioni effettuate in catena chiusa sono di due tipi: la prima considera un riferimento ad onda quadra; la seconda, invece, utilizza un riferimento che varia a gradini. La scelta di entrambi i riferimenti è dovuta a delle considerazioni effettuate durante le prove sperimentali, infatti, poiché gli spostamenti richiesti al sistema sono piuttosto piccoli, si è preferito utilizzare dei riferimenti a gradini in modo tale da osservare dei netti cambiamenti di posizione da parte del carrello. Nel seguito verranno presentati i diagrammi più significativi ottenuti dalle due simulazioni, in particolare, nella Fig.43 sono stati riportati i diagrammi della prova avente come riferimento l’onda quadra, mentre, in Fig.44, vengono proposti i risultati sperimentali della prova con riferimento a gradini. Si consideri la Fig.43(d); come si può notare, il duty cycle è stato limitato entro il range di funzionamento [5 ÷ 95]%, ciò è dovuto al fatto che, in particolar modo nel controllo sensor-less, è richiesto che il duty cycle non sia mai nullo poiché non risulterebbe possibile misurare la corrente e, di conseguenza, la resistenza degli SMA. Questa limitazione si traduce in una minor reattività del sistema, infatti, dalla Fig.43(f) si può vedere che il tempo di salita è, mediamente, di 0.5 secondi, tuttavia, dai risultati delle prove sperimentali, si vedrà che questo non risulta essere un vero e proprio limite del sistema poiché il processo reale risulta essere più reattivo rispetto al modello simulato. 2 Valore medio del range di escursione definito nella precedente simulazione. 5.2 risultati simulazione e modello closed-loop (a) (b) (c) (d) (e) (f) Figura 43: Risultati simulazione sistema a catena chiusa con riferimento ad onda quadra. (a) Spostamento vs resistenza elettrica. (b) Spostamento vs resistenza elettrica. (c) Resistenza elettrica vs duty cycle. (d) Spostamento vs duty cycle. (e) Spostamento vs resistenza elettrica differenziale. (f) Spostamento carrello vs riferimento di posizione. Nelle Fig.43(a), (b), (c) ed (e), si è scelto di riportare le caratteristiche ottenute da tre differenti simulazioni. Come nella prova openloop, anche in questo caso, il parametro che è stato fatto variare è il precarico. Il motivo per il quale ci si è soffermati principalmente su questa “leva” è dovuta al fatto che, dalle misurazioni della cella di carico durante le prove sperimentali, anche in presenza di un comando costante il precarico tende a variare in modo caotico. Nel prossimo ca- 73 74 presentazione dei risultati ottenuti dalle simulazioni pitolo verrà approfondito questo aspetto e verranno presentate le ipotesi effettuate circa le cause che generano questo comportamento del sistema, tuttavia si sono voluti verificare anche in fase di simulazione gli effetti che tale variazione produce. La simulazione ha permesso, dunque, di verificare che una diminuzione del precarico iniziale, oltre a ridurre la pendenza della caratteristica dello spostamento rispetto alla resistenza elettrica differenziale (Fig43(e)), come già mostrato precedentemente nelle simulazioni open-loop, genera anche un aumento del range di variazione delle resistenze. Infatti, dalla Fig.43(c), è possibile notare che, per una forza di precarico pari a 5 N, la variazione di resistenza è di poco inferiore ad 1 Ω, mentre, al diminuire della forza, l’isteresi tende progressivamente ad aumentare fino a poco più di 3 Ω. Dai risultati sperimentali sarà possibile vedere che una delle problematiche del sistema è il drift dei suoi parametri, da quanto si evince dalle Fig.43(a), (b) e (c), si può ipotizzare, quindi, che una delle cause potrebbe essere proprio la non perfetta costanza del precarico. Un’altra delle problematiche che sono state individuate dalle tre simulazioni effettuate, è il peggioramento dell’inseguimento del riferimento di posizione. La sintonizzazione del controllore PI è stata effettuata considerando il precarico pari a 5 N. In queste condizioni l’errore medio di inseguimento del riferimento è risultato essere circa 0.261 mm con una deviazione standard di 0.37 mm. Dalle prove effettuate con precarichi minori, si nota che, per una forza applicata al filo di 3 N, si ottiene un aumento dell’errore medio, e della sua deviazione standard, di circa il 18%. L’incremento dell’errore arriva fino al 41% quando il valore del precarico viene fatto scendere fino a 2 N. Dai risultati ottenuti si intuisce, dunque, come la forza applicata ai fili svolga un ruolo fondamentale anche dal punto di vista delle prestazioni del sistema. Come già anticipato, nella Fig.44 sono stati riportati i diagrammi ottenuti dalla prova con il riferimento di posizione a grandini. Le considerazioni appena fatte, come si vede dalle immagini, possono essere estese anche a questa tipologia di simulazione. Anche in questo caso, infatti, è possibile notare come la diminuzione del precarico generi un aumento del range di variazione delle resistenze dei due fili SMA. Inoltre, come è stato più volte mostrato in questo capitolo, maggiore è la forza applicata ai fili, maggiore risulta essere la pendenza della curva raffigurante lo spostamento del carrello rispetto alla variazione della resistenza elettrica differenziale. Un’ulteriore conferma di quanto è stato detto a riguardo della precedente simulazione deriva dal fatto che, anche durante queste prove, l’errore medio di inseguimento del riferimento aumenta al diminuire della forza di precarico. La sintonizzazione del controllo PI è stata effettuata, come nel caso precedente, considerando la forza applicata ai fili pari a 5 N. In queste condizioni è stato ottenuto un errore medio 5.2 risultati simulazione e modello closed-loop (a) (b) (c) (d) (e) (f) Figura 44: Risultati simulazione sistema a catena chiusa con riferimento a gradini. (a) Spostamento vs resistenza elettrica. (b) Spostamento vs resistenza elettrica. (c) Resistenza elettrica vs duty cycle. (d) Spostamento vs duty cycle. (e) Spostamento vs resistenza elettrica differenziale. (f) Spostamento carrello vs riferimento di posizione. di inseguimento pari a 17 µm, con una deviazione standard di 23.7 µm. Tali valori vengono incrementati del 17%, per un precarico di 3 N, mentre aumentano fino al 47% per una forza di precarico di 2 N. Questa simulazione, come quelle precedenti, evidenzia come il precarico influisca notevolmente sul comportamento del sistema considerato. Nel prossimo capitolo verranno, dunque, presentati i risultati ottenuti dalle prove sperimentali in catena aperta e chiusa e verranno, inoltre, mostrati dei diagrammi che rappresentano il comporta- 75 76 presentazione dei risultati ottenuti dalle simulazioni mento instabile del precarico anche in assenza di comandi ai fili. Da tale andamento, e dalle considerazioni appena fatte, si comprenderanno tutte le difficoltà incontrate durante la fase di progettazione e realizzazione del sistema di controllo sensor-less. 6 P R E S E N TA Z I O N E D E I R I S U LTAT I S P E R I M E N TA L I L’obiettivo di questo capitolo è quello di presentare, in modo esaustivo, i dati ottenuti dalle prove sperimentali. Per chiarezza espositiva si è scelto, quindi, di suddividere il capitolo in tre sezioni: nella prima parte verranno presentati i risultati ottenuti dalle prove in catena aperta, dai quali sarà possibile valutare la bontà del modello matematico utilizzato nella simulazione; nella seconda parte, invece, saranno riportati i risultati del sistema closed-loop con sonda laser; infine, nella terza sezione del capitolo, verranno riportati i dati ottenuti dalle prove sperimentali del sistema sensor-less. I risultati presentati nei primi due paragrafi consentiranno di compiere una validazione qualitativa del modello matematico, presentato nel Cap.2 e, successivamente, utilizzato in fase di simulazione. Inoltre, sarà possibile determinare la validità del sistema di controllo proposto per il caso a catena chiusa, oltre alla bontà della scelta delle condizioni iniziali effettuata durante la fase di simulazione. Dai diagrammi che verranno presentati sarà, quindi, possibile vedere come i risultati della simulazione consentano di determinare il comportamento generale del sistema costituito da due fili SMA in configurazione push-pull. Tuttavia, poiché la simulazione non tiene conto di eventuali fattori esterni che possono intervenire sul sistema, prima fra tutti la temperatura ambiente, si vedrà che alcune ipotesi effettuate durante la fase di simulazione verranno smentite dai dati sperimentali. Saranno, dunque, presentate ulteriori ipotesi, che per essere confermate, richiedono delle analisi aggiuntive del sistema con strumentazioni delle quali non si dispone. Per questo motivo, basandosi sulle prestazioni ottenute dal sistema, ci si limiterà solamente a verificare la validità della scelta di utilizzare i fili SMA come attuatori lineari, senza analizzare in modo approfondito tutte le cause che generano un variazione nel loro comportamento. L’apparato sperimentale utilizzato nelle tre prove è quello presentato nella Fig.20 del Cap.4. Rispetto alla simulazione, si è scelto di considerare come positivo, lo spostamento causato dalla contrazione del filo 1 e, di conseguenza, negativo quello generato dal suo allungamento. Al fine di rendere confrontabili i diagrammi ottenuti dalla simulazione, con quelli ricavati sperimentalmente, la resistenza elettrica differenziale, in questo caso, è stata definita come ∆R = R2 − R1 , in modo tale da ottenere un grafico a pendenza positiva. 77 presentazione dei risultati sperimentali 6.1 risultati sperimentali sistema open-loop Rispetto al lavoro proposto in [1], si è scelto di utilizzare due differenti riferimenti di duty cycle: il primo consiste nel far variare il duty cycle, dal 5% fino al 95%, in modo sinusoidale; l’altro riferimento impiegato, invece, fa variare bruscamente il duty cycle dal suo valore minimo, al valore massimo, secondo un andamento ad onda quadra. La scelta di utilizzare il riferimento sinusoidale al posto dell’onda triangolare, impiegata dagli autori di [1], è dovuta al fatto che si voleva verificare quanto la variazione del segnale di comando al processo risultasse essere influente sul comportamento del sistema. Quindi, poiché in [1], è già stata indagata la risposta del sistema ad un segnale triangolare, si è scelto di utilizzare un riferimento sinusoidale ed uno ad onda quadra. Nelle Fig.45 e 46, viene, dunque, riportato il confronto tra i diagrammi sperimentali presentati in [1] e quelli ottenuti dalle prove in catena aperta con riferimento sinusoidale. La prima cosa che si può notare dalle figure proposte è che, nonostante i riferimenti del duty cycle siano diversi, l’andamento delle grandezze del sistema risulta essere lo stesso. L’utilizzo, in entrambe le prove, di riferimenti lentamente variabili, garantisce, quindi, di riuscire a ricavare la risposta pseudo-statica del sistema, la quale, come mostrato dalle Fig.45 e 46, non dipende dalla tipologia di riferimento applicato. Confrontando queste caratteristiche con quelle ottenute dalla simulazione, riportate in Fig.40, si può verificare che la variazione dei parametri risulta essere qualitativamente la stessa. Ciò consente di affermare che nonostante non sia stata effettuata alcuna identificazione delle principali grandezze del sistema, il modello matematico utilizzato in fase di simulazione permette di determinarne il comportamento. Inoltre, come si vedrà dai risultati della prova con riferimento ad onda quadra, il modello consente di valutare gli effetti causati sul sistema dovuti alla variazione di parametri quali, ad esempio, la forza di precarico e la temperatura ambiente. 4.6 4.4 4.2 F1 [N] 4.0 → 3.8 3.6 → 78 3.4 3.2 -4 -3 -2 -1 0 1 x [mm] 2 (a) Force vs displacement [1] 3 4 (b) Force vs displacement Figura 45: Confronto della caratteristica forza-spostamento riportata in [1] ed ottenuta sperimentalmente. 4 3 ← R2 2 R1 → 1 0 -1 -2 -3 -4 20 21 22 23 24 25 26 27 28 R [Ω] → → x [mm] 6.1 risultati sperimentali sistema open-loop 28 27 26 25 24 23 22 21 20 0 (b) Displacement vs electrical resitance → → R [Ω] (a) Displacement vs electrical resitance [1] ↑ R1 R2 ↓ 10 20 30 40 50 60 70 80 D [%] (c) Electrical resitance vs duty cycle [1] (d) Electrical resitance vs duty cycle 4 0 → → x [mm] 2 -2 -4 3 3.5 4 4.5 5 5.5 6 6.5 7 ∆R = R1 − R2 [Ω] (e) Displacement vs differential electrical resi- stance → 4 3 2 1 0 -1 -2 -3 -4 0 (f) Displacement vs differential electrical resi- → x [mm] stance [1] 10 20 30 40 50 60 70 80 D1 [%] (g) Displacement vs duty cycle [1] (h) Displacement vs duty cycle Figura 46: Confronto tra i risultati sperimentali riportati in [1] e le prove del sistema open-loop con riferimento sinusoidale. Prima di analizzare i diagrammi ricavati con il secondo riferimento, ci si vuole soffermare sul fatto che tutti i grafici ottenuti dalle prove 79 80 presentazione dei risultati sperimentali sperimentali presentano un’asimmetria nello spostamento del carrello. Questo comportamento viene analizzato anche dagli autori di [1], i quali riportano nell’articolo i risultati di una simulazione effettuata considerando i fili di lunghezza differente. Nonostante, in questo lavoro, l’intenzione fosse di utilizzare due fili di uguale lunghezza, durante la fase di realizzazione del banco di prova, sono state riscontrate diverse difficoltà nell’ancorare gli SMA alla struttura. Ciò si è tradotto in una complessità nella determinazione dell’effettiva lunghezza dei due fili, la quale risulta essere differente di circa 1 cm. Dai grafici che gli autori presentano in [1], e che qui non vengono riportati per non appesantire troppo la trattazione, si può vedere un comportamento del tutto analogo a quello delle Fig.45 e 46. Ciò permette, quindi, di confermare i risultati riportati nell’articolo considerando la differenza di lunghezza degli SMA come la principale causa dell’asimmetria nello spostamento del carrello. In precedenza è stato detto che il modello matematico dei fili a memoria di forma ha permesso di valutare gli effetti causati dalla variazione di parametri come la forza di precarico. Per verificare che quanto è stato riportato nel Cap.5 corrisponde all’effettivo comportamento del sistema, si è scelto, per la prova con riferimento ad onda quadra, di ricavare l’andamento delle grandezze del sistema per quattro differenti valori della forza di precarico. Per facilitare il confronto tra la prova sperimentale e i risultati della simulazione, in Fig.47, sono stati riportati gli andamenti di entrambe le prove. Dalle immagini riportate emerge subito una discrepanza tra le prove sperimentali e i diagrammi ottenuti dalla simulazione. Si considerino le Fig.47(a) e (b), nelle quali viene riportata la variazione della resistenza del primo filo rispetto al duty cycle. Si può notare che, nella simulazione, ad un decremento della forza di precarico corrisponde un, seppur lieve, abbassamento dei valori della resistenza. Nel Cap.5 la causa di questo comportamento era stata individuata nella variazione di lunghezza del filo. Si è, infatti, ipotizzato che la deformazione subita dall’SMA, a causa del precarico, risulti essere preponderante rispetto alla piccola diminuzione di temperatura che il filo subisce. Evidentemente, tale ipotesi, fatta considerando i soli risultati della simulazione, viene completamente smentita dalle prove sperimentali. Infatti, dalla Fig.47(b), si nota un comportamento inverso rispetto alla simulazione, ovvero al diminuire della forza di precarico si ha un aumento del valore della resistenza del filo. Si ipotizza, dunque, che nella realtà la variazione del valore di resistenza del filo sia dovuta prevalentemente alla temperatura. Per confermare questa ipotesi sarebbe necessario effettuare delle prove a temperatura controllata in modo tale da confermare, o smentire, quanto detto. Tuttavia, come già anticipato, la mancanza di strumentazione adeguata per questo tipo di prova non ha permesso di verificare 6.1 risultati sperimentali sistema open-loop (a) Simulation result (b) Experimental result (c) Simulation result (d) Experimental result (e) Simulation result (f) Experimental result (g) Experimental result Figura 47: Confronto risultati della simulazione con quelli sperimentali del sistema open-loop con riferimento ad onda quadra. 81 82 presentazione dei risultati sperimentali l’ipotesi fatta. Un’ulteriore differenza che è stata individuata nei grafici riportati è il valore delle resistenze. Infatti, mentre nei risultati della simulazione i valori delle resistenze ciclano sempre attorno ad un valore medio simile, anche al variare del precarico (vd. Fig47(a)), dai test sperimentali si nota che le resistenze, nelle quattro prove riportate, ciclano attorno a valori anche molto diversi tra loro. In particolare, dalla Fig.47(b), si può notare che il range di variazione della resistenza R1 , nella prova con precarico 195.6 MPa, è poco più di 2.5 Ω e varia attorno ad un valore medio di circa 22 Ω. Considerando, invece, la prova con minor precarico (137.3 MPa), si nota che la variazione è sempre di circa 2.5 Ω, tuttavia il valore medio di resistenza è di circa 24 Ω. Tra le due esperienze vi è, quindi, una differenza di 2 Ω. Si è ipotizzato che tale discrepanza sia dovuta a delle variazioni della temperatura ambiente. È stato notato, infatti, che l’aria spostata dalla presenza di una persona vicino all’apparato sperimentale causava importanti variazioni nel funzionamento dei fili. In particolare, se un flusso d’aria incideva su uno dei due SMA, ne causava un rapido rilassamento dovuto all’abbassamento della sua temperatura ed, essendo la temperatura direttamente legata alla resistenza, ciò si traduce in una diminuzione del suo valore. Un’altra ipotesi che è stata avanzata per spiegare questo comportamento, è che a causa delle prove successive che sono state effettuate, si pensa che in alcuni casi il filo non sia stato in grado di smaltire il calore accumulato nella prova precedente, il quale ha causato, come si può vedere dalla Fig.48, condizioni di resistenza iniziale differenti per le diverse prove. Dalla Fig.48(a) è, inoltre, possibile notare il fenomeno del drift delle resistenze verso valori leggermente più bassi. Nella parte del capitolo in cui verrà trattato il controllo sensor-less verranno approfondite le problematiche che questo comportamento causa. (a) Precarico 137.3 MPa (b) Precarico 195.6 MPa Figura 48: Confronto valori di resistenza in prove con precarico differente. Quelle appena fatte sono, tuttavia, solo ipotesi effettuate alla luce di alcune prove sperimentali, anche in questo caso, per avere la 6.1 risultati sperimentali sistema open-loop certezza che questo comportamento sia dovuto principalmente alla variazione della temperatura dei fili, è necessario compiere un’analisi con una termocamera, in modo tale da verificare l’andamento della temperatura durante tutta l’esperienza. Purtroppo, non disponendo di questo strumento, in questo lavoro non è stato possibile effettuare alcuna analisi delle temperature. Si considerino ora le Fig.47(c) e (d); il comportamento appena descritto causa delle differenze negli andamenti che ci si aspettava considerando i risultati della simulazione. Infatti, come si può vedere dalle figure, mentre in simulazione il precarico interviene solo sulla pendenza della curva, nelle prove sperimentali si verifica anche una traslazione. Dalle numerose prove che sono state effettuate è stato riscontrato un legame diretto tra l’aumento del precarico e la maggior pendenza delle curve, tuttavia non è stato possibile stabilire con certezza alcuna relazione tra la traslazione della curva ed il precarico. Poiché dalla Fig.47(d) risulta difficile verificare l’effettivo aumento della pendenza delle curve, in Tab.4 vengono riportate le rette ai minimi quadrati associate ad ogni curva. Si ricorda che la resistenza Preload [MPa] m q 137.3 -0.6177 0.0908 152.2 -0.8911 0.9493 177.1 -0.9463 0.2402 195.6 -0.9346 -0.0392 Tabella 4: Coefficienti delle rette relative ad ogni curva. differenziale è stata definita come ∆R = R1 − R2 , tuttavia per poter confrontare i risultati sperimentali con quelli della simulazione, i grafici sono stati ottenuti considerando ∆R = R2 − R1 , quindi è normale che le rette vengano riportate con pendenza inversa rispetto a quella dei grafici. Dai valori presentati in Tab.4, si può notare che all’aumentare del precarico, come ci si aspettava, anche la pendenza delle rette tende ad aumentare. Dalle prove effettuate si evince, però, che non sempre tale comportamento è verificato, infatti, come si può vedere negli ultimi valori della tabella, nonostante il precarico aumenti notevolmente, la pendenza della retta tende a calare. Si è cercato di indagare questo comportamento raccogliendo un numero elevato di dati dai quali è emerso che, tendenzialmente, all’aumentare del precarico le rette aumentano la loro pendenza, tuttavia, vi sono dei fattori esterni che intervengono sul sistema influenzandone il comportamento. Anche in questo caso, l’ipotesi effettuata, è che la temperatura esterna e il calore residuo nei fili, dovuto alle diverse prove, generino dei comportamenti anomali del processo, i quali rendono molto difficile 83 84 presentazione dei risultati sperimentali Figura 49: Spostamento del carrello nella prova open-loop con riferimento ad onda quadra. la determinazione di una retta univoca che rappresenti la relazione tra lo spostamento del carrello e la resistenza elettrica differenziale. Si ribadisce ancora una volta, che la difficoltà nella determinazione di un’unica retta è la causa degli scarsi risultati ottenuti con il controllo sensor-less. Questo aspetto sarà comunque approfondito nel paragrafo 6.2.2. Prima di terminare questa prima parte del capitolo, si vuole presentare un ultimo diagramma ottenuto dalle prove in catena aperta. Nella Fig.49 si è scelto di riportare il grafico rappresentante lo spostamento del carrello relativo alle quattro prove presentate in precedenza. Da questa immagine è possibile verificare nuovamente che lo spostamento risulta essere asimmetrico rispetto allo zero e, inoltre, conferma quanto è stato affermato nel Cap.5, ovvero che all’aumentare del precarico lo spostamento del carrello tende ad essere maggiore. Alla luce di quanto è stato presentato in questo paragrafo si può, quindi, dire che il modello matematico utilizzato in fase di simulazione consente di determinare qualitativamente il comportamento del sistema in catena aperta, anche al variare di alcuni suoi parametri. Tuttavia non è stato possibile stabilire con certezza quanto la temperatura ambiente, e il calore residuo nei fili, influenzino l’andamento delle principali grandezze del sistema. Nell’Allegato E viene riportato lo schema di controllo del sistema in catena aperta, implementato nella control board, che ha permesso di effettuare le prove presentate in questo paragrafo. 6.2 risultati sperimentali sistema closed-loop 6.2 risultati sperimentali sistema closed-loop 6.2.1 Sistema Closed-loop con sensore di posizione In questa parte del capitolo verranno presentati i risultati sperimentali ottenuti dal sistema in catena chiusa con retroazione della posizione. L’obiettivo di questa esperienza è quello di confermare, o smentire, il comportamento del sistema analizzato in fase di simulazione, inoltre, si vuole verificare se i due fili SMA in configurazione push-pull sono in grado di movimentare il carrello mantenendo un errore di inseguimento ridotto. Basandoci, dunque, sulle prove effettuate in fase di simulazione, si è scelto di utilizzare due differenti riferimenti di posizione per il sistema. Anche in questo caso il primo riferimento è un’onda quadra che varia nel range ±0.5 mm, mentre il secondo è un riferimento a gradini identico a quello presentato nel paragrafo 5.2.1. Dai grafici che verranno riportati sarà possibile vedere come l’andamento dei parametri rispecchi quello ottenuto durante le simulazioni, inoltre, rispetto alle prove open-loop, verranno fatte ulteriori considerazioni a riguardo dell’importanza del precarico e della temperatura ambiente. 6.2.1.1 Riferimento di posizione ad onda quadra Come per i diagrammi ricavati in simulazione, si vuole iniziare presentando i risultati ottenuti con il riferimento ad onda quadra. Si consideri, dunque, Fig.50. Nelle prime due immagini si è scelto di riportare l’andamento della posizione del carrello rispetto al riferimento (Fig.50(a)) e al valore del segnale di comando (Fig.50(b)). Da queste prime figure è possibile notare come il carrello sia in grado di seguire il segnale di riferimento imposto, tuttavia, si nota che il segnale risulta essere molto disturbato quando viene raggiunto il valore massimo, o minimo, di spostamento. Alla luce di questi risultati, si è ipotizzato che la temperatura ambiente possa fungere da azione di disturbo per il sistema impedendo al carrello di mantenere correttamente una posizione costante, oltre al fatto che è possibile che il carrello risenta anche di fenomeni di impuntamento meccanico. Nonostante questa difficoltà nel mantenere il valore di regime sia positivo, che negativo, rispetto ai risultati della simulazione si è ottenuto un netto miglioramento, infatti, l’errore medio di inseguimento e la deviazione standard delle prove sperimentali sono risultati inferiori del 72%. Ciò permette di comprendere che senza un’adeguata identificazione dei parametri del sistema, i risultati ottenuti in fase di simulazione sono puramente indicativi e consentono di determinare qualitativamente il solo andamento delle grandezze in gioco. Dalla Fig.50(b), infatti, è possibile vedere che il segnale di comando generato nella prova sperimentale, rispecchia quello ottenuto in fase 85 86 presentazione dei risultati sperimentali simulativa (Fig.43(d)). Ciò dimostra nuovamente che il modello matematico utilizzato consente di valutare il comportamento del sistema reale. Le ultime quattro immagini, riportate in Fig.50, permettono di comprendere quanto sia difficile studiare il comportamento del sistema senza poter conoscere l’andamento delle temperature dei fili. Infatti, rispetto alla prova in catena aperta precedentemente presentata, il comportamento del sistema torna ad essere lo stesso ipotizzato durante la fase di simulazione, ovvero si può notare dalle Fig.50(c), (e) ed (f), che all’aumentare della forza di precarico corrisponde un incremento netto del valore delle resistenze. Tuttavia è necessario tenere in considerazione alcune differenze (a) Cart displacement - preload 261.2 MPa (b) Displacement vs duty cycle - preload 261.2 MPa (c) Electrical resitance vs duty cycle (d) Displacement vs differential electrical resistance (e) Displacement vs electrical resistance (f) Displacement vs electrical resistance Figura 50: Risultati sperimentali sistema a catena chiusa con riferimento ad onda quadra. 6.2 risultati sperimentali sistema closed-loop piuttosto rilevanti tra le prove in catena chiusa, qui riportate, e quelle in catena aperta di Fig.47. Si può vedere che, nelle prove closed-loop, la forza di precarico applicata ai fili è superiore rispetto alle prove open-loop. Tale osservazione consente di dire che, per bassi valori di precarico, è più facile che si verifichi il rilassamento degli SMA, dovuto alle variazioni della temperatura ambiente, il quale causa inevitabilmente una riduzione della resistenza. Invece, come mostrato in Fig.50(c), (e) ed (f), tale comportamento sembra non verificarsi per elevati valori di precarico e ciò permette, quindi, di ipotizzare che se il valore del precarico è basso, la variazione della temperatura del filo risulta essere prevalente, nella determinazione della resistenza dell’SMA, rispetto alla variazione di lunghezza causata dal precarico. Dalle Fig.50(e) ed (f), nelle quali viene riportato l’andamento della posizione del carrello al variare delle resistenze dei fili, è possibile individuare, nella prova con precarico 345.8 MPa, un evidente drift del valore delle resistenze. Infatti si può vedere che, durante l’esperienza, entrambe le resistenze si spostano su valori inferiori, rispetto a quelli di inizio prova, di circa 0.5 Ω. Questo comportamento causa, ovviamente, un drift anche nella caratteristica riportata in Fig.50(d) mostrando, ancora una volta, la difficoltà di determinare un ciclo d’isteresi univoco. Con questa tipologia di riferimento sono state effettuate diverse prove, le quali hanno mostrato che il sistema è in grado di seguire un riferimento di posizione ad onda quadra in modo molto accurato, infatti, l’errore medio ottenuto nelle esperienze presentate in figura è di 73.3 µm, con una deviazione standard di 102 µm. Anche la reattività del sistema risulta essere notevolmente elevata, si è visto che, su di un periodo di 25 secondi, il tempo di salita per passare dal valore minimo (−0.5 mm) del riferimento, al suo valore massimo (0.5 mm), è di circa 0.19 secondi. Poiché il sistema viene comandato secondo la logica push-pull, anche il tempo di discesa (dal valore massimo al valore minimo) risulta essere di 0.19 secondi. Ciò consente di affermare che il sistema presenta un’eccellente reattività ed ha, inoltre, un comportamento simmetrico, dovuto alla scelta di utilizzare, come elemento antagonista, un altro filo SMA. Durante i test di laboratorio è stato, inoltre, notato che, se la tensione di alimentazione dei fili viene aumentata di 1 V, le prestazioni di inseguimento del riferimento migliorano del 16.5% e il tempo di salita viene ridotto del 37%. Tuttavia, applicare agli SMA una tensione di alimentazione troppo elevata porta il sistema a lavorare a livelli di stress maggiori con il rischio di ridurre la vita dei fili. Prima di analizzare i risultati ottenuti dalla prova con riferimento a gradini, si vogliono effettuare ulteriori considerazioni riguardanti l’effetto del precarico sul sistema. Nel Cap.5, al paragrafo 5.2.1, è stato detto che la diminuzione della forza di precarico causa anche 87 88 presentazione dei risultati sperimentali Figura 51: Andamento dello stress sui fili ad alimentazione costante. un peggioramento delle prestazioni, tale considerazione può essere confermata da alcune osservazioni riguardanti il sistema. Più volte, in questo lavoro, è stato detto che sono state riscontrate delle difficoltà nel determinare il corretto valore del precarico in quanto presenta un andamento piuttosto variabile anche a comando costante. Per comprendere meglio tale comportamento in Fig.51 viene riportato il diagramma del precarico ottenuto mantenendo costante, al 50%, il valore del duty cycle. Dall’immagine è possibile notare che il range di variazione del precarico, nonostante il segnale di comando dei fili fosse costante, è di circa 30 MPa. Anche in questo caso sono state avanzate alcune ipotesi circa le cause del comportamento mostrato in figura: si è, dunque, ipotizzato che tale andamento sia dovuto a delle problematiche nell’alimentazione dei fili, la quale, se non perfettamente costante, può causare la contrazione e il rilassamento degli SMA; oppure, come più volte detto, a degli agenti esterni non tenuti in considerazione come, ad esempio, la temperatura ambiente. Poiché la board di potenza è stata più volte controllata e ritenuta funzionante, si considera più probabile la seconda ipotesi, che potrebbe essere facilmente confermata effettuando una prova a temperatura controllata. 6.2.1.2 Riferimento di posizione a gradini I risultati ottenuti in simulazione, e riportati nel Cap.5, ricavati dalla prova con riferimento a gradini, hanno mostrato che all’aumentare del precarico corrisponde una diminuzione del range di variazione delle resistenze, una maggior pendenza della caratteristica rappresentante lo spostamento del carrello rispetto alla resistenza differenziale e, infine, una diminuzione dell’errore medio. Dai grafici della prova sperimentale si vogliono, dunque, verificare le osservazioni che sono state effettuate in fase di simulazione. 6.2 risultati sperimentali sistema closed-loop Preload [MPa] µ [µm] σ [µm] 71.4 15.6 21.3 110.9 14.6 19.9 128.7 14.2 19.5 224.7 16.7 23.1 Tabella 5: Errore medio di inseguimento del riferimento e relativa deviazione standard. Si consideri, quindi, la Fig.52(a). In tale figura viene riportato l’andamento della posizione del carrello rispetto al riferimento di posizione imposto. Come nella prova, presentata nel paragrafo precedente, anche in questo caso sono state ottenute delle prestazioni piuttosto soddisfacenti. In Tab.5 vengono presentati i valori dell’errore medio, e della deviazione standard, relativi ad ogni prova riportata in Fig.52. Come si può vedere dalla tabella, non sempre ad un aumento del precarico corrisponde un miglioramento delle prestazioni del sistema. La causa, probabilmente, è dovuta al fatto che il controllore PI è stato tarato in una prova che presentava un valore di precarico più vicino al terzo riportato in tabella. Da questi dati si può, quindi, dire che, come era stato anticipato dalla simulazione, il precarico interviene anche sulle prestazioni del sistema e il loro peggioramento è da attribuire alla non perfetta taratura del controllore. Proseguendo con l’analisi dei diagrammi ricavati sperimentalmente, dalla Fig.52(b), è possibile notare che l’andamento della posizione del carrello rispetto al duty cycle risulta essere del tutto analogo a quello ottenuto in simulazione. Anche questa prova conferma, dunque, che il modello matematico e le condizioni iniziali impostate in fase di simulazione, consentono di determinare l’andamento qualitativo delle grandezze del sistema. Un commento analogo può essere fatto per la Fig.52(c), infatti, confrontandola con la Fig.44(c) del Cap.5, è possibile vedere come la variazione della resistenza rispetto al duty cycle sia del tutto simile in entrambe le prove. Come per le precedenti esperienze, si è scelto di riportare le caratteristiche che rappresentano lo spostamento del carrello rispetto alla variazione delle resistenze elettriche. Dalle Fig.52(e) ed (f) si può notare, come per la prova precedente, che all’aumentare del precarico non sempre corrisponde un incremento di resistenza, tuttavia, riprendendo l’ipotesi fatta nel paragrafo 6.2.1.1, si può dire che, tendenzialmente, la resistenza è maggiore quando il precarico assume valori più elevati, anche se, come si evince dai dati fino qui riportati, il comportamento risulta essere piuttosto variabile e richiede, dunque, ulteriori indagini per individuare correttamente la causa. Nonostante la difficoltà riscontrata durante le prove sperimentali 89 90 presentazione dei risultati sperimentali (a) Cart displacement - preload 110.9 MPa (b) Displacement vs duty cycle - preload 110.9 MPa (c) Electrical resitance vs duty cycle - preload 110.9 MPa (e) Displacement vs electrical resistance (d) Displacement vs differential electrical resistance (f) Displacement vs electrical resistance Figura 52: Risultati sperimentali sistema a catena chiusa con riferimento a gradini. nel determinare le cause che generano un comportamento anomalo del sistema, è stato possibile vedere che, come era stato anticipato dai risultati della simulazione, la diminuzione del precarico causa un aumento del range di escursione delle resistenze. Nelle Fig.52(e) ed (f) si può notare, infatti, che le resistenze R1 ed R2 presentano un range di escursione molto più ampio nella prova a precarico basso (curva grigio chiaro), rispetto a quella con precarico elevato (curva nera). Un’ulteriore considerazione che riguarda il precarico, e che era stata prevista in simulazione, si può osservare in Fig.52(d). Da tale figura si può vedere che, come nel caso open-loop, all’aumentare del precarico le caratteristiche riportate tendono ad incrementare la loro pendenza. Poiché nell’immagine risulta difficile distinguere correttamente la 6.2 risultati sperimentali sistema closed-loop Preload [MPa] m q 71.4 -0.9973 0.3742 110.9 -1.0039 0.6314 128.7 -1.1106 0.7499 224.7 -2.4880 0.6808 Tabella 6: Coefficienti delle rette relative ad ogni curva (riferimento a gradini di posizione). pendenza delle curve, nella Tab.6, vengono riportati i coefficienti m e q delle rette associate ad ogni caratteristica. Anche in questo caso il valore del coefficiente angolare delle rette viene riportato con il segno negativo perché, come verrà mostrato nel controllo sensor-less, lo spostamento associato alla variazione di resistenza differenziale è stato determinato con tali coefficienti. Sebbene, anche nella prova con riferimento ad onda quadra, all’aumentare del precarico è stato individuato un generale incremento delle pendenze delle rette, si è scelto di non riportare i valori dei parametri, in quanto, essendo le isteresi piuttosto ampie (vd. Fig.50(d)), le rette individuate non erano in grado di approssimare correttamente le caratteristiche. In conclusione, nonostante le difficoltà riscontrate nel determinare con precisione le cause che generano una variazione così marcata dei parametri del sistema, grazie alla retroazione con il sensore di posizione è stato comunque ottenuto un ottimo inseguimento del riferimento. 6.2.2 Risultati sperimentali sistema Sensor-less Prima di presentare i risultati ottenuti in questa esperienza, si vuole ribadire il concetto di controllo di tipo sensor-less. Questa tipologia di controllo, rispetto alla precedente, non utilizza alcun sensore per determinare la posizione effettiva del carrello. Il fatto di non impiegare sensori nel controllo è indubbiamente un vantaggio, perché permette di eliminare le problematiche assiociate a rotture o malfunzionamenti dello strumento. Tuttavia, come è già stato detto in precedenza, i sistemi di controllo sensor-less richiedono una profonda conoscenza del processo da controllare. Considerando i risultati, in catena aperta e chiusa presentati in questo capitolo, e le considerazioni su di essi effettuate, si può dire che del sistema in esame è stato studiato solamente il comportamento generale e che non si conoscono ancora le cause che generano una variazione anomala delle sue grandezze. Per questo motivo, da questa tipologia di controllo, non ci si aspetta di ottenere risultati 91 92 presentazione dei risultati sperimentali Figura 53: Variazione dello spostamento del carrello rispetto alla differenza di resistenza dei due fili. soddisfacenti. Analizzando il comportamento del sistema nelle diverse prove effettuate in catena aperta, si nota che, sia nel caso di PWM sinusoidale che per quella ad onda quadra, l’isteresi della caratteristica, rappresentante lo spostamento del carrello rispetto alla variazione di resistenza elettrica differenziale, risulta essere molto stretta (Fig.53). Da tale osservazione si è, quindi, ipotizzato che il comportamento del sistema può essere considerato lineare entro un certo intervallo e, dunque, approssimabile con una retta. Nel controllo sensor-less si è, perciò, scelto di stimare la posizione del carrello, nota la differenza di resistenza tra i due fili (∆R), semplicemente sfruttando la retta che ne approssima la caratteristica. Ovviamente questa è un’approssimazione piuttosto forte che non considera tutte le problematiche associate al precarico, alla temperatura ambiente, alla non linearità delle caratteristiche ed alla possibile presenza di calore residuo nei fili. Per determinare la retta è stata fatta una prima analisi dei dati raccolti nelle prove in catena aperta. Poiché, come si può vedere dalla Fig.54, dalle esperienze effettuate sono state ricavate rette che presentano coefficienti anche molto diversi tra loro, si è scelto di compiere una prova aumentando il periodo del duty cycle con l’obiettivo di riuscire a determinare il ciclo d’isteresi principale della caratteristica. Dalla prova effettuata sono stati ricavati i parametri m e q che definiscono la seguente retta: x = −0.9573 · ∆R + 0.3562 (34) la quale è stata utilizzata per stimare lo spostamento del carrello a partire dai valori delle resistenze dei singoli fili. Conoscere tensione e corrente di ogni SMA ha permesso, infatti, di determinare semplicemente il valore della loro resistenza e, mediante un’opportuna 6.2 risultati sperimentali sistema closed-loop Figura 54: Rette determinate da differenti prove open-loop con riferimento ad onda quadra. operazione di sottrazione, è stata ricavata la resistenza elettrica differenziale utilizzata nella prova in catena chiusa per determinare la retroazione di posizione (Allegato D). In questa configurazione sono state effettuate numerose prove. Per rendere più semplice l’analisi dei risultati si è scelto di riportare i grafici ottenuti da due sole esperienze: la prima è una prova di durata ridotta (60 s) con un riferimento di posizione ad onda quadra di periodo 25 secondi (Fig.55); nella seconda è stato utilizzato lo stesso riferimento ma sono stati raccolti dati per 400 secondi (Fig.56). Si è scelto di riportare i risultati di queste due prove perché essi rappresentano il comportamento che è stato riscontrato in tutti i test effettuati, ovvero, poiché il sistema di controllo implementato è stato definito in modo piuttosto approssimativo, nelle diverse esperienze sono stati ottenuti dei diagrammi discreti, come in Fig.55, dove l’errore di inseguimento è elevato ma sufficientemente contenuto, ed altri decisamente non adeguati (Fig.56) nei quali lo spostamento del carrello non risulta essere conforme alle aspettative. Dalle caratteristiche riportate, in particolare dalle Fig.55-56(b) e (c), è possibile vedere che gli andamenti della resistenza, e dello spostamento del carrello, rispetto al duty cycle, risultano essere piuttosto coerenti con quelli ricavati con il sensore di posizione, presentati nelle Fig.50(b) e (c). Tuttavia, nonostante il comportamento del sistema sia molto simile, i risultati risultano essere piuttosto scadenti. Si considerino le Fig.55-56(a), nelle quali viene riportato lo spostamento del carrello durante le due prove effettuate. Come anticipato in precedenza, dalla Tab.7, si può vedere che nella prima prova (Fig.55(a)), l’errore di inseguimento è sufficientemente limitato. Nonostante i coefficienti della retta utilizzata per stimare la posizione siano stati mantenuti uguali in tutte le prove, in tabella e dalla Fig.56(a), si può notare un netto peggioramento delle prestazioni. Dalle numerose esperienze effettuate è stato, dunque, riscontrato 93 94 presentazione dei risultati sperimentali Time [s] µ [µm] σ [µm] 60 135.3 216.3 400 242.9 465.6 Tabella 7: Errore di inseguimento del riferimento di posizione. un grande problema nella ripetibilità delle prove, infatti, nonostante lo stimatore impiegato sia lo stesso, si possono ottenere anche comportamenti divergenti. Dall’andamento del carrello, riportato in Fig.56(a), si deduce che rispetto al caso precedente, la variazione di resistenza differenziale comporta, infatti, uno spostamento più ampio (a) Slider displacement (b) Slider displacement vs duty cycle (c) Electrical resitance vs duty cycle (d) Electrical resistance (e) Differential electrical resistance Figura 55: Risultati sperimentali sistema sensor-less con riferimento ad onda quadra (durata 60 secondi). 6.2 risultati sperimentali sistema closed-loop (a) Slider displacement (b) Slider displacement vs duty cycle (c) Electrical resitance vs duty cycle (d) Electrical resistance (e) Differential electrical resistance (f) Displacement vs differential electrical resistance Figura 56: Risultati sperimentali sistema sensor-less con riferimento ad onda quadra (durata 400 secondi). del cursore. La difficoltà, riscontrata negli esperimenti presentati nei precedenti paragrafi, di valutare le cause che generano una variazione dei valori delle resistenze in prove successive soggette alle stesse condizioni iniziali, portano ad ottenere prestazioni di questo tipo, ovvero, impossibilità di produrre spostamenti ripetibili a parità di riferimento ∆R applicato. Dalle Fig.55-56(e), è possibile vedere come il riferimento di posizione, che attraverso la retta di conversione si traduce in un riferimento di resistenza differenziale, venga perfettamente inseguito ottenendo errori di circa 86 mΩ con deviazione standard 125 mΩ. Ciò fa comprendere che, nonostante il sistema di controllo della resisten- 95 96 presentazione dei risultati sperimentali za differenziale funzioni perfettamente in entrambi i casi, lo stimatore della posizione utilizzato non è in grado di prevedere correttamente lo spostamento che subirà il carrello causando, come si può vedere dalle figure riportate, comportamenti piuttosto differenti. Dai risultati ricavati e qui presentati si può, quindi, dire che il sistema di controllo sensor-less, così implementato, non è in grado di fornire prestazioni ripetibili e soddisfacenti. Al fine di ottenere un controllo migliore è necessario, dunque, indagare a fondo le cause che generano una variazione così marcata del comportamento del sistema effettuando, ad esempio, prove a temperatura controllata in modo tale da verificare sperimentalmente il legame tra la temperatura degli SMA e la loro deformazione. Inoltre, sarebbe bene compiere anche delle prove a precarico costante, così da riuscire a valutare correttamente i suoi effetti sul sistema, in modo tale da permettere, eventualmente, una loro compensazione. Infine, potrebbe essere utile valutare l’applicazione delle tecniche di compensazione delle isteresi presenti in letteratura al fine di rendere migliore la stima dello spostamento del carrello. CONCLUSIONI Nel lavoro proposto sono stati presentati gli attuatori a memoria di forma, e, in particolare, sono state analizzate le loro proprietà fisiche, il loro comportamento e la fattibilità del loro impiego in applicazioni industriali. Dall’analisi teorica e dai risultati ottenuti dalle simulazioni in catena aperta, si è visto quanto sia difficile comprendere, e prevedere, il comportamento di tali materiali, a causa della presenza di fenomeni isteretici non trascurabili. Partendo da queste considerazioni, si è cercato di definire un sistema di controllo che consentisse la corretta attuazione dei fili secondo la logica push-pull. La prima tipologia di controllo che è stata progettata si basa su di una retroazione del segnale di posizione del carrello, generato da una sonda laser. I risultati relativi a questo tipo di controllo in catena chiusa, hanno permesso di affermare che il controllore, così progettato, risulta essere piuttosto robusto rispetto alle variazioni dei parametri del sistema. Dai dati presentati è, infatti, emerso che, nonostante il valore del precarico incida anche sulle prestazioni dell’attuatore, l’errore di inseguimento del riferimento resta comunque limitato. Al fine di rendere il sistema di attuazione robusto rispetto ad eventuali malfunzionamenti o rotture del sensore di posizione, è stato progettato il controllo di tipo sensor-less. Tuttavia, le prestazioni ottenute da questa tipologia di controllo, sono risultate del tutto inadeguate. I risultati presentati mostrano, infatti, un netto peggioramento delle prestazioni rispetto al controllo con il sensore di posizione. Inoltre, il controllo sensor-less, non garantisce la ripetibilità delle prove. Le problematiche associate al controllo di tipo sensor-less sono state attribuite alla non perfetta conoscenza del comportamento dei materiali a memoria di forma e, quindi, l’impossibilità di compiere uno studio approfondito del sistema, non ha permesso di definire uno stimatore che fosse in grado di determinare la corretta posizione del carrello. Un’ulteriore problematica deriva dalla fase di realizzazione degli attuatori, infatti, poiché il comportamento del sistema dipende dalla lunghezza dei fili e dalla forza di precarico ad essi applicata, è necessario che, in fase di produzione industriale, vengano definite delle azioni che permettano a tutti gli attuatori di avere fili di uguale lunghezza e precarico. In questo modo è possibile eliminare due delle cause che generano una variazione nel comportamento del sistema. L’obiettivo di questo lavoro di tesi era quello di valutare la possibilità di utilizzare i fili SMA, in configurazione push-pull, come degli attuatori lineari. Tuttavia, le diverse prove effettuate hanno permesso 97 98 presentazione dei risultati sperimentali di ottenere dei risultati collaterali. Dalle diverse esperienze e dai dati raccolti è stato possibile compiere delle osservazioni riguardanti il modello matematico presentato in [1] e riproposto nell’analisi teorica del sistema. In particolare, i risultati che sono stati presentati hanno permesso di considerare valido il modello matematico, il quale, nonostante non sia stata effettuata alcuna operazione di identificazione dei parametri, consente di simulare il comportamento qualitativo del sistema sia in catena aperta che in catena chiusa. Un altro importante risultato collaterale ottenuto in questo lavoro deriva dall’impiego dello strumento di generazione automatica del codice per la scheda di controllo. Tale strumento consente, infatti, di rendere decisamente più rapida la fase di progettazione e programmazione dello schema di controllo. Inoltre, grazie alla sua semplicità, consentirà, in eventuali sviluppi futuri, di implementare con facilità anche sistemi di controllo più complessi. Alla luce di quanto è stato presentato si può, quindi, sostenere che la conoscenza attuale del sistema in esame non ha permesso di definire un controllo sensor-less adeguato e, dunque, l’impiego di fili SMA come attuatori lineari necessita l’utilizzo di un sensore di posizione per chiudere l’anello di retroazione del controllo. In conclusione, si può affermare che per ottenere risultati soddisfacenti anche con il controllo di tipo sensor-less, sarà necessario compiere delle prove in condizioni isoterme, al fine di caratterizzare il funzionamento del dispositivo quando la temperatura ambiente non è più una variabile. Inoltre, sarà utile implementare una procedura di identificazione del sistema in modo tale da riuscire a determinare i parametri esatti dei fili a memoria di forma. Infine, l’introduzione nel sistema di controllo, di tecniche di compensazione dell’isteresi potrebbero garantire un miglioramento delle prestazioni del sistema. APPENDIX 99 A CALCOLO DELLA POSIZIONE DEL CARRELLO Figura 57: Schema a blocchi Valore ADC Laser to x [mm] In Fig.57 viene riportato lo schema a blocchi implementato su Simulink, che rappresenta lo stadio di conversione del valore ottenuto dall’ADC, del segnale in uscita dalla sonda. Poiché l’ADC fornisce in uscita il livello del segnale quantizzato, per confrontare lo spostamento misurato dalla sonda laser, con il riferimento di posizione, è necessario convertire in millimetri il segnale generato dell’ADC. Per fare ciò sono state sfruttate delle semplici operazioni di somma, prodotto e divisione. Prima di tutto si ricorda che l’ADC ha 12 bit e fornisce, dunque, 4096 livelli di quantizzazione (compreso lo zero). Per comodità nell’invio al PC del valore misurato dalla sonda, il segnale di uscita dell’ADC viene diviso in due byte, il più significativo, individuato in figura come In1, e il meno significativo, individuato da In2. Il primo blocco sommatore consente di ricostruire il segnale dell’ADC, quindi, in uscita dal blocco Add4 è presente un segnale che varia tra 0 e 4095. Questo valore, nelle seguenti equazioni, verrà indicato con la lettera L. Successivamente, viene eseguita la conversione vera e propria ripercorrendo, al contrario, tutti gli step effettuati per passare dalla misurazione della posizione al segnale quantizzato, attraverso tutti gli stadi di condizionamento. Il primo blocco che si inconta è un guadagno del valore 10/4095, questo valore è stato ottenuto dalle seguenti espressioni: ricordando che Vo0 = 3.3 ·L 4095 (35) dove Vo0 è il segnale condizionato in ingresso e L è il livello di quantizzazione fornito in uscita dall’ADC. Inoltre, sia Vo l’uscita del primo stadio di condizionamento, la quale corrisponde all’ingresso del secondo stadio, definita come, Vo = 100 · Vo0 33 (36) 101 102 calcolo della posizione del carrello poiché, come è stato mostrato in 3.3.1, il secondo stadio deve ridurre il segnale di ingresso di circa 1/3. Sostituendo l’equazione (35) in (36), si ottiene Vo = 100 3.3 10 · ·L = ·L 33 4095 4095 (37) che rappresenta, quindi, l’uscita del blocco Gain2 rappresentato in figura. Ora ricordando che il primo stadio di condizionamento, definito in 3.3.1, genera il seguente segnale di uscita: 1 Vo = − · Vin + 5V 2 (38) invertendo l’equazione è possibile ricavare il valore del segnale analogico in uscita dalla sonda laser Vin . Si ottiene, quindi: Vin = 2 · (−Vo + 5) (39) Quest’ultima equazione, nello schema Simulink di Fig.57, è stata implementata all’interno della MATLAB Function. Considerando sempre ciò che è stato riportato nel paragrafo 3.3.1, è possibile determinare la costante di proporzionalità della sonda, infatti, considerando che il range di funzionamento è ±5 mm e che l’uscita varia tra ±10 V, si deduce che il guadagno della sonda laser è 2. Quindi dividendo il segnale Vin per 2 è possibile ottenere lo spostamento del carrello in millimetri. Durante le prove sperimentali è stato notato che, in assenza di tensione sui fili e, dunque, a sistema fermo, la misura di posizione presentava un offset. Tale offset è stato, quindi, misurato e compensato al fine di ottenere una corretta determinazione dell’errore di inseguimento. B CODICE PROGRAMMA PHIDGETSBRIDGE.EXE In questa appendice viene riportato il codice C++ utilizzato per acquisire i dati dalla cella di carico. Il programma generato consente di salvare tutti i dati inviati dalla scheda di acquisizione in un file .txt. In questo file i dati vengono disposti su due colonne, la prima contenente gli istanti di tempo delle misurazioni, mentre la seconda colonna presenta i valori mV V misurati dall’estensimetro. // PhidgetsBridge.cpp : definisce il punto di ingresso dell’applicazione console. // #include #include #include #include "stdafx.h" <stdio.h> <stdlib.h> "phidget21.h" #pragma warning( disable : 4996 ) /* Global vars */ double *measure; int i; int data_rate, n_samples; char *file_name; /* Start */ int CCONV AttachHandler(CPhidgetHandle phid, void *userPtr) { CPhidgetBridgeHandle bridge = (CPhidgetBridgeHandle)phid; CPhidgetBridge_setEnabled(bridge, CPhidgetBridge_setEnabled(bridge, CPhidgetBridge_setEnabled(bridge, CPhidgetBridge_setEnabled(bridge, 0, 1, 2, 3, CPhidgetBridge_setGain(bridge, CPhidgetBridge_setGain(bridge, CPhidgetBridge_setGain(bridge, CPhidgetBridge_setGain(bridge, PHIDGET_BRIDGE_GAIN_128); PHIDGET_BRIDGE_GAIN_16); PHIDGET_BRIDGE_GAIN_32); PHIDGET_BRIDGE_GAIN_64); 0, 1, 2, 3, PTRUE); PFALSE); PFALSE); PFALSE); CPhidgetBridge_setDataRate(bridge, data_rate); printf("Attach handler ran!\n"); return 0; } int CCONV DetachHandler(CPhidgetHandle phid, void *userptr) { printf("Detach handler ran!\n"); return 0; } int CCONV ErrorHandler(CPhidgetHandle phid, void *userptr, int ErrorCode, const char *errorStr) { printf("Error event: %s\n", errorStr); return 0; 103 104 codice programma phidgetsbridge.exe } #define FREQS_SIZE 20 double bridges[FREQS_SIZE] = { 0 }; int CCONV data(CPhidgetBridgeHandle phid, void *userPtr, int index, double val) { CPhidgetBridgeHandle bridge = (CPhidgetBridgeHandle)phid; i++; if (i <= n_samples) { printf("%d) %lf V\n", i, val); measure[i - 1] = val; return 0; } else { CPhidget_close((CPhidgetHandle)bridge); CPhidget_delete((CPhidgetHandle)bridge); return 1; } } void display_generic_properties(CPhidgetHandle phid) { int sernum, version; const char *deviceptr; CPhidget_getDeviceType(phid, &deviceptr); CPhidget_getSerialNumber(phid, &sernum); CPhidget_getDeviceVersion(phid, &version); printf("%s\n", deviceptr); printf("Version: %8d SerialNumber: %10d\n", version, sernum); return; } void test() { const char *err; int result; CPhidgetBridgeHandle bridge; FILE *output; // Allocate buffer for bridge measurements measure = (double*)malloc(sizeof(double)*n_samples); CPhidgetBridge_create(&bridge); CPhidget_set_OnAttach_Handler((CPhidgetHandle)bridge, AttachHandler, NULL) ; CPhidget_set_OnDetach_Handler((CPhidgetHandle)bridge, DetachHandler, NULL) ; CPhidget_set_OnError_Handler((CPhidgetHandle)bridge, ErrorHandler, NULL); CPhidgetBridge_set_OnBridgeData_Handler(bridge, data, NULL); CPhidget_open((CPhidgetHandle)bridge, -1); //Wait for 10 seconds, otherwise exit if (result = CPhidget_waitForAttachment((CPhidgetHandle)bridge, 1000)) { CPhidget_getErrorDescription(result, &err); printf("Problem waiting for attachment: %s\n", err); return; codice programma phidgetsbridge.exe 105 } display_generic_properties((CPhidgetHandle)bridge); // Wait for n_sample while (i <= n_samples){}; // Open output file output = fopen(file_name, "w"); if (output == NULL) { printf("Unable to open file\n"); free(measure); exit(0); } // Get data rate CPhidgetBridge_getDataRate(bridge, (int*)&data_rate); // Save data to file for (int j = 0; j<n_samples; j++) { fprintf(output, "%lf %lf \n", (double)j*data_rate / 1000, measure[ j]); } printf("Closing...\n"); // Close file fclose(output); // Release memory free(measure); } int main(int argc, char* argv[]) { if (argc < 4) { printf("ERROR %d", argc); return 0; } else { data_rate = atoi(argv[1]); printf("Data rate: %d \n", data_rate); n_samples = atoi(argv[2]) + 1; printf("Number of samples: %d \n", n_samples); file_name = argv[3]; printf("File name: %s \n", file_name); test(); } return 0; } C P R O G R A M M A D I P O S T - E L A B O R A Z I O N E D E I D AT I DELLA CELLA DI CARICO In questo allegato vengono riportati tre file di Matlab: il primo è il file utilizzato per post-elaborare i dati acquisiti dalla cella di carico. In tale file si può notare che viene definita la funzione fcal, questa funzione determina i valori misurati dallo strain gauge sfruttando i coefficienti m e q determinati in fase di taratura della cella (4.1.5). Successivamente viene calcolato il valore della forza applicata al filo, in Newton, e lo stress in MPa. Infine viene creata una struttura chiamata bridge contenente tutti i valori determinati. %% Define bridge calibration function fcal = inline(’963.5367*x + 5.3958’); %% Import data % extract data bdata = importdata(strcat(path_bridge, filename_bridge)); t = bdata(:,1); yV = bdata(:,2); % yg yg0 yg get force [g] = fcal(yV); = 29.1; = yg-yg0; % yN get force [N] = 9.81*1e-3*yg; % get stress [MPa] d = 100e-6; yMPa = yN/(pi*d^2/4)/1e6; %% Pack data into bridge struct bridge.t bridge.yg bridge.yN bridge.yMPa %% = = = = t; yg; yN; yMPa; Save ppdata filename = strcat(path_ppdata, filename_ppdata); if exist(filename, ’file’), save(filename, ’-append’, ’bridge’); else save(filename, ’bridge’); end; Nel secondo file che riportiamo, viene sfruttata la struttura creata precedentemente per tracciare il diagramma della variazione dello stress del filo rispetto al tempo. Questo codice non viene commentato perché è di facile comprensione. 107 108 programma di post-elaborazione dei dati della cella di carico %% Load post-processed data load(strcat(path_ppdata, filename_ppdata)); %% Plot results figure; plot(bridge.t, bridge.yMPa, ’.-’); ylabel(’Stress [MPa]’); xlabel(’Time [s]’); title(’Load cell measurement’); grid on; Infine, l’ultimo file che viene riportato consente di adeguare i dati ottenuti dalla cella di carico con il numero di dati acquisiti dalla sonda laser, in questo modo risulta possibile tracciare il diagramma stress-strain di nostro interesse. %% Get force and displacement data % select indexes at the end of each PWM duty cycle step N = length(t); Ns = 1000; kv = 1:1:N; % select time instants at the end of each PWM duty cycle step ts = t(kv); % get force and displacement at the selected time instants yN = (-1)*interp1(bridge.t, bridge.yN, ts); %yum = interp1(t, x, ts); %% Plot force vs displacement figure; plot(x,yN) title(’Force vs displacement’) xlabel(’x [mm]’) ylabel(’F [N]’) grid on D S C H E M A D I C O N T R O L L O I N C AT E N A C H I U S A CON RETROAZIONE DI RESISTENZA 109 E S C H E M A D I C O N T R O L L O I N C AT E N A A P E R TA 111 F S C H E M A D I C O N T R O L L O I N C AT E N A C H I U S A CON RETROAZIONE DI POSIZIONE 113 BIBLIOGRAFIA [1] R. Antonello, S. Pagani, R. Oboe, M. Branciforte, and M.C. Virzi. “Use of Antagonistic Shape Memory Alloy Wires in Load Positioning Applications”. In Industrial Electronics (ISIE), 2014 IEEE 23rd International Symposium on, pages 287–292, June 2014. [2] S.M. Dutta and F.H. Ghorbel. “Differential hysteresis modeling of a shape memory alloy wire actuator”. Mechatronics, IEEE/ASME Transactions on, 10(2):189–197, April 2005. [3] K. Ikuta, M. Tsukamoto, and S. Hirose. “Mathematical model and experimental verification of shape memory alloy for designing micro actuator”. In Micro Electro Mechanical Systems, 1991, MEMS ’91, Proceedings. An Investigation of Micro Structures, Sensors, Actuators, Machines and Robots. IEEE, pages 103–108, Jan 1991. [4] D. Madill and D. Wang. “Modeling and L2-stability of a shape memory alloy position control system”. Control System Technology, IEEE/ASME Transactions on, 6(4):473–481, Jul 1998. [5] Mathworks. “Embedded Coder”, . URL http://www.mathworks. it/products/embedded-coder/. [6] Mathworks. “Simulink Coder”, . URL http://www.mathworks. it/products/simulink-coder/. [7] S. Pagani. “Microactuator based on antagonist pairs of SMA wires”. Tesi di laurea magistrale in Ingegneria Meccatronica, Università degli studi di Padova, 2013. [8] L. McD. Schetky and M. H. Wu. “Issues in the Further Development of Nitinol Properties And Processing for Medical Device Applications”. Memry white paper - SAES group. [9] J. Shaw. “A thermomechanical model for 1-d shape memory alloy wire with propagating instabilities”. International Journal of Solids and Structures, 39(5):1275–1305, 2002. [10] STMicroelectronics. “Description of STM32F2xx Standard Peripheral Library”, 2011. URL http://www.st.com/st-web-ui/ static/active/en/resource/technical/document/user_ manual/DM00023896.pdf. [11] STMicroelectronics. “Reference Manual”, 2013. URL http://www.st.com/web/en/resource/technical/document/ reference_manual/DM00031020.pdf. 115 116 bibliografia [12] A. Tuissi, P. Bassani, A. Mangioni, L. Toia, and F. Butera. “Fabrication Process and Characterization of NiTi Wires for Actuators”. Memry white paper - SAES group.
© Copyright 2025 ExpyDoc