11
CAPITOLO II Cenni di fisiologia e struttura del sistema
Paragrafo 2.1 Introduzione
Nel corso di questa tesi si è realizzato e messo a punto un dispositivo per l’acquisizione di due particolari segnali fisiologici generati, rispettivamente, dal movimento respiratorio e dal battito cardiaco. Daremo di seguito brevemente alcuni cenni della meccanica respiratoria umana per comprendere meglio come funziona il nostro dispositivo.
2.1.2 Cenni di Fisiologia Respiratoria
La meccanica del respiro umano si basa sostanzialmente su tre elementi: • I polmoni;
• I muscoli intercostali e toracici; • Il diaframma;
I polmoni sono il contenitore passivo in cui avvengono gli scambi gassosi che ossigenano il sangue. I muscoli sono invece il motore che alimenta questi scambi gassosi. Il movimento respiratorio si divide in due fasi l’inspirazione e l’espirazione. Durante l’ispirazione l’aria viene introdotta nei polmoni mentre durante l’espirazione l’aria viene espulsa fuori. Senza entrare in troppi
particolari anatomici, diciamo che ogni movimento della gabbia toracica provoca un movimento dei polmoni. Durante l'inspirazione, il diaframma si abbassa; i muscoli intercostali allargano le coste e queste ruotano ancora un po' verso l'esterno: tutto questo aumenta il volume della gabbia toracica, creando così un vuoto al suo interno (pressione negativa), che provoca l'aspirazione dell'aria.
12
Figura 1 Illustrazione del movimento respiratorio
L’espirazione è dovuta, nel corso della respirazione normale, cioè non volontaria, all'azione del tessuto polmonare che, essendo elastico, ha la tendenza a ritornare allo stato originario dopo la sua estensione, avvenuta durante l'inspirazione. A questo si aggiunge il movimento di ritorno, cioè di abbassamento del torace, dovuto semplicemente alla forza di gravità che fa ricadere la gabbia toracica per effetto del suo stesso peso. Il movimento espiratorio è dunque passivo.
Durante l’inspirazione quindi abbiamo prima una dilatazione della cassa toracica poi una dilatazione dell’addome che si sposta per compensare i movimenti verso il basso del diaframma, questo si comporta come un vero e proprio pistone abbassandosi e sollevandosi ritmicamente. Il volume di aria introdotto è strettamente correlato a questi movimenti.
Lo studio dei volumi polmonari è di grande interesse per i alcune applicazioni cliniche [35] ne è una dimostrazione le numerose apparecchiature messe a punto per effettuare la pletismografia, ad esempio all’interno della Life-Shirt è integrato un pletismografo induttivo (Respiratori Inductive Plethysmography RIP)[36]. Vi sono diversi altri dispositivi tra cui ad esempio citiamo la pletismografia optoelettronica OEP [37] che si effettua senza contatto fra sensori e pazienti.
Il nostro sistema segue un approccio innovativo abbiamo scelto, infatti, come sensori dei cavi piezoelettrici. Ci siamo basati su studi precedenti [33] in cui si mette in evidenza come questo tipo di sensore sia migliore per l’analisi del respiro, rispetto ad altre soluzioni commerciali indossabili, avendo un migliore comportamento in presenza di attività del soggetto in esame; inoltre ci
13 permette di ottenere delle informazioni sulla frequenza cardiaca senza l’uso di elettrodi o di altri sensori.
Di seguito è riportato il diagramma a blocchi che schematizza i vari stadi circuitali.,,
Figura 2 Diagramma a blocchi del sistema
Il segnale cardio-respiratorio è rilevato mediante l’impiego di due particolari cavi piezoelettrici, inseriti in due fasce di tessuto che cingono il torace e l’addome.
In cascata ai due sensori, troviamo lo stadio di pre-amplificazione, realizzato mediante due amplificatori di carica, cui segue la parte relativa al filtraggio. Infatti, in uscita al sensore del torace sono presenti, sommati, sia il segnale del respiro che quello del battito: per poter distinguere il segnale cardiaco da quello respiratorio-toracico è necessario sottoporre tale segnale ad un filtraggio. Il segnale proveniente dall’addome viene sottoposto ad un filtraggio per eliminare il disturbo dovuto agli artefatti da movimento. I due segnali respiratori consentono di avere una stima del volume di aria respirato. I tre segnali così filtrati vengono inviati all’ultimo stadio analogico, che ne adatta la dinamica a quella digitale.
La successiva parte digitale è il punto nodale del nostro circuito. Essa si occupa dell’analisi frequenziale, nonchè gestisce le comunicazioni con la postazione remota.
Oggetto dei successivi paragrafi è un’analisi dettagliata dei vari stadi facenti parte del nostro dispositivo, illustrando le scelte progettuali, che ci hanno portato alla scelta della componentistica utilizzata. Infine, nell’ultimo paragrafo è presente una breve descrizione dello strumento commerciale preso a riferimento per ottenere una stima dell’errore del nostro sistema.
14
Paragrafo 2.2 l sensori
La scelta dei sensori ha privilegiato due cavi piezoelettrici prodotti dalla Measurement Specialties [38], per la precisione il modello numero 1005646. Esso appartiene ad una famiglia di sensori a piezo polimero, realizzati nella forma di un cavo coassiale, in cui il polimero sostituisce il dielettrico tradizionale, tra il conduttore centrale e la calza.
Figura 3 Cavo piezoelettrico
Quando il cavo è compresso o deformato, viene generata una carica proporzionale allo stress subito. La forma coassiale garantisce che il cavo sia schermato, ciò ne permette l’utilizzo anche in situazioni dove sono presenti interferenze elettromagnetiche. Inoltre, la sua costruzione è molto robusta ed è facilmente collegabile ad un altro cavo coassiale passivo.
Il materiale piezoelettrico utilizzato è un copolimero in p(VDF-TrFE), dove VDF sta per fluoruro di vinildene e TrFE sta per trifluoroetilene; la scelta di un copolimero rispetto ad un polimero di PVDF puro è dovuta ad una più elevata risposta piezoelettrica, grazie ad una migliore cristallizzazione della struttura [39].
I polimeri piezoelettrici sono, in genere, caratterizzati da: un ampio range di frequenze di utilizzo, un’alta deformabilità elastica e rigidità dielettrica. E’ interessante notare che il modello di cavo da noi scelto presenta una risposta lineare alle sollecitazioni, ed ha un’alta sensitivity. Di seguito sono elencate nel dettaglio alcune delle sue caratteristiche tecniche, ha:
• un diametro complessivo di 2.8mm; • una capacità di 650 ± 150 pF/m; • una sensitivity di 20 ± 5 pC/N @ 0.1 N; • un peso di 17g/m;
15 In figura 3 sono riportati i grafici della linearità e della sensitivity effettuati dalla casa produttrice con appositi test.
Figura 4 caratteristiche del "piezo-cable"
Il circuito equivalente, compreso fra conduttore interno e la calza del coassiale, può essere schematizzato come un generatore di tensione con in serie una capacità passiva, come schematizzato in figura 4. Sia la carica sia il voltaggio sono direttamente proporzionali allo stress subito dal dielettrico.
La chiusura del sensore su un qualsiasi carico, come l’inserzione di una sonda dell’oscilloscopio, può creare una pesante alterazione del segnale in uscita al piezoelettrico. La presenza della sonda, infatti, può essere schematizzata con l’aggiunta di una resistenza, mostrata in figura 4b; il circuito così realizza un filtro passa alto del primo ordine, con frequenza di taglio pari a 1/2πRC, condizione inaccettabile in particolare per applicazioni a bassa frequenza.
16 Si deve, dunque, mettere a punto uno stadio opportuno di preamplificazione, che non interferisca con la banda del segnale su cui si lavora, che analizzeremo nel paragrafo successivo.
Il piezo-cable nel nostro prototipo è stato inserito in due fascie di tessuto, che cingono il torace e l’addome e di cui si può adattare la lunghezza con una serie di bottoni a scatto. Questa, tuttavia, rappresenta una configurazione sperimentale provvisoria, se ne prevede al più presto l’integrazione in una capo di vestiario.
I cavi piezoelettrici cingono il busto in due punti rispettivamente sul torace, al di sotto dei muscoli pettorali, e sull’addome, all’altezza dell’ombelico. I sensori sono in generale sensibili a qualsiasi stress meccanico che li interessa. In realtà, essi si possono schematizzare come un elastico aderente al busto che genera una tensione in Volt proporzionale alla sua deformazione. Nella figura sottostante è evidenziato il modello del sensore in due generici istanti dell’atto respiratorio. La posizione del sensore fa in modo che esso sia sollecitato quasi esclusivamente dai movimenti respiratori, che dilatano il perimetro del busto, e difficilmente dai movimenti naturali quali: il cammino, la corsa od il gesticolare.
Figura 6 Schema del movimento respiratorio
In questa maniera il nostro sensore si presenta particolarmente “robusto “ agli artefatti da movimento ed il segnale si presenta sempre poco rumoroso.
Per il battito cardiaco si è sfruttata un’altra proprietà del piezo-cable: la sensibilità alle onde di pressione acustiche e meccaniche( alcuni modelli prodotti da questa ditta sono così validi in questo settore da essere usati come “pick-up” in applicazioni musicali professionali ). Posizionando opportunamente il sensore intorno al torace questo è in grado di generare una carica dovuta alle onde prodotte dal cuore durante la sua attività. Naturalmente, il segnale generato dal cuore è di intensità inferiore a quello generato dai movimenti respiratori ed è affetto da maggiore
17 rumorosità, quest’ultima inevitabile, poiché, anche i movimenti ed i piccoli cambi di postura possono generare altre onde acustiche che si vanno a sovrapporre al segnale.
Figura 7 Unoi dei due sensori ed il box contenete l'elettronica
Paragrafo 2.3 Stadio di condizionamento
Oggetto di questo paragrafo è descrivere l’elettronica realizzata per il condizionamento del segnale. Essa è composta da tre stadi a valle del microcontrollore. Il primo stadio è un preamplificatore, studiato appositamente per adattarsi alle caratteristiche del nostro sensore. Il secondo stadio è uno banco di filtraggio, il terzo stadio è un traslatore, che adatta la dinamica in uscita dai filtri, compresa tra +5 Volt e -5 Volt, alla dinamica digitale, compresa tra 0 e 3,6 Volt. Lo stadio di filtraggio del torace divide il segnale in due canali a cui si aggiunge un canale di filtraggio per il segnale proveniente dall’addome. Abbiamo così tre segnali in ingresso allo stadio digitale: un primo generato dai movimenti respiratori del torace, l’altro generato dalle onde di pressione prodotte dal cuore mentre pulsa, ed un terzo segnale dovuto al movimento del diaframma durante la respirazione, che dilata e contrae ritmicamente l’addome.
2.3.1 Amplificatore di carica
Il primo stadio è uno stadio di preamplificazione ed ha principalmente lo scopo di adattarsi alle caratteristiche del sensore. In letteratura[14] per questo tipo di applicazioni lo schema che più si addice è un amplificatore operazionale , montato come amplificatore di carica. Questo montaggio è comunemente usato per identificare un circuito elettronico che converte una carica in ingresso
18 in una tensione proporzionale in uscita. E’ utilizzato comunemente come primo stadio per sensori piezoelettrici o fotodiodi.
Nel nostro circuito è stato utilizzato un OPA124, prodotto dalla Texas Instruments. Esso è un amplificatore operazionale a FET dielettricamente isolato[6], fra le sue caratteristiche spicca: il basso rumore, il bassissimo offset ottenuto mediante laser trimming, l’elevata impedenza di ingresso dell’ordine delle 107 MΩ, necessaria al corretto funzionamento in maniera da non
perturbare la carica presente sulla capacità del piezoelettrico. Nella figura 10 è riportato lo schema circuitale dell’amplificatore, la resistenza Rp è opportunamente dimensionata per evitare la saturazione dell’amplificatore operazionale.
Figura 8 Amplificatore di carica
Nel nostro dispositivo sono presenti due amplificatori di carica connessi in ingresso rispettivamente ai due sensori piezoelettrici ed in uscita ai due stadi di filtraggio.
19
2.3.2 Filtri
I segnali rilevati dal nostro sensore toracico sono essenzialmente due: uno connesso al movimento respiratorio, che comprime il piezoelettrico, ed il secondo dovuto alla pressione proveniente dal muscolo cardiaco. Essi lavorano in due bande di frequenza particolarmente vicine. Il respiro, benché, in media, abbia la sua componente principale intorno agli 0.2 Hz, presenta alcune piccole armoniche residue a frequenze più alte, che in alcuni casi si vanno a sovrapporre alle frequenze principali del battito cardiaco, concentrate intorno ad 1 Hz. Per limitare il sovrapporsi delle bande, è necessario procedere ad un’operazione di filtraggio dei due segnali in uscita dall’amplificatore. Per la realizzazione dei filtri sono state prese in considerazioni due possibili schemi circuitali. La prima, classica, ricorre alla presenza di celle di Sallen-Key e risponde all’esigenza di realizzare un sistema semplice ed a basso costo. La seconda scelta è basata su dei filtri a capacità commutate integrati prodotti dalla Maxim[40] Essa, sebbene dispendiosa, garantisce l’integrazione di due filtri in un unico circuito integrato, senza alcuna componente esterna e consentendo di intervenire maggiormente sulla compattezza del nostro dispositivo. Nello specifico i filtri adoperati sono i MAX260[41] della Maxim, la cui particolarità risiede nell’essere dei filtri universali, programmabili tramite microcontrollore. Tale modello consente di scegliere sia la frequenza di taglio che la frequenza di clock; in particolare per clock al di sotto di 400KHz, si possono scegliere frequenze di taglio comprese fra 0.01 Hz e 4 KHz, settando opportunamente i parametri del filtro seguendo le indicazioni fornite nei datasheet. I due blocchi di filtraggio di cui sono composti i filtri sono all’interno di in un unico package e possono essere programmati sia tramite microcontrollore che adoperando la porta parallela di un comune PC, grazie alla presenza di sei piedini dedicati con cui si interfaccia il circuito integrato, IC. La programmazione di ogni singlolo blocco è indipendente. Per testare questo componente abbiamo realizzato un piccolo circuito, schematizzato in figura 11, tramite cui l’IC è stato programmato, alimentato e studiato. Per la programmazione abbiamo sviluppato un codice in C++, che caricava sulla memoria del filtro i parametri opportuni ottenuti dalle tabelle messe a disposizione dal costruttore.
20
Figura 9 Schematico MAX260
Il clock ed i segnali di prova sono stati generati esternamente con un generatore di forme d’onda. Benchè il filtro si sia dimostrato efficace, esso ha, da subito, evidenziato un grave difetto: il consumo di energia. Fin dai primi utilizzi, esso si è rilevato parecchio elevato rispetto all’altra soluzione circuitale, circa 20 volte superiore. Motivo per il quale si è preferito adottare la seconda soluzione.
La seconda scelta prevede l’impiego delle celle di Sallen-Key. Il vantaggio di questa tipologia di filtri risiede nella semplicità. Il circuito fornisce una risposta a due poli (12dB/ottava) di tipo passo-basso, o passa-alto o passa-banda agendo sulla disposizione di due resistenze e due condensatori collegati ad un amplificatore operazionale. Introducendo delle resistenze in reazione non invertente sull’amplificatore, è possibile agire sul guadagno del sistema aumentandolo. Inoltre, essi hanno il vantaggio di essere poco sensibili alle tolleranze dei componenti. Filtri di ordine superiore si ottengono mettendo vari stadi in cascata.
Nella nostra applicazione abbiamo collegato due celle in cascata per ogni segnale.
In particolare, per il respiro sono state collegate in cascata rispettivamente una cella passa-alto, caratterizzata da una frequenza di taglio di 0,014 Hz, ed un passa-basso, la cui frequenza di taglio è 0,48 Hz.
Per il battito cardiaco, invece, si sono usate due celle in cascata di tipo passa banda per ottenere un filtro sempre passa banda più selettivo, con f0 pari ad 1,8 Hz ed una banda di 2 Hz. Nella figura 11 sottostante è riportato lo schema circuitale dello stadio di filtraggio.
21
Figura 10 Schematico filtri
2.3.3 traslatore di tensione
Lo stadio traslatore è uno stadio molto semplice, ma indispensabile. La dinamica dello stadio analogico è compresa fra -5 e + 5 Volt mentre la dinamica dell’ADC12 accetta in ingresso al micro segnali compresi tra 0 e Vdd: 3,3 Volt nel nostro caso.
Per la sua realizzazione è stato scelto uno schema semplice, mostrato nella figura seguente.
22 L’amplificatore adottato è un amplificatore da strumentazione, l’AD620, accostato a due potenziometri di cui il primo Rg serve a regolarne il guadagno, mentre il secondo Ro serve a traslare verso l’alto il segnale in ingresso. Grazie a questo stadio possiamo sfruttare a pieno e con la massima efficacia i 12 bit del successivo stadio digitale.
Paragrafo 2.4 Il microcontrollore
Il microcontrollore utilizzato è prodotto dalla Texas Instruments. Esso appartiene alla famiglia
MSP430 ed è il modello f2618. Questo microcontrollore lavora a tensioni comprese fra 1,8÷3,6
Volt, è stato progettato per bassi consumi di energia ed implementa 5 diverse modalità di funzionamento per minimizzare ulteriormente la potenza impiegata. Presenta: un’architettura RISC a 16 bit, un convertitore analogico digitale a 12 bit, una periferica USART integrata per l’interfacciamento seriale, 8Kb di RAM e 128Kb di memoria Flash.
2.4.1 Architettura
Il cuore del microcontrollore è una CPU di tipo RISC a 16 bit. La filosofia di progettazione RISC, come indica lo stesso acronimo Reduced Instruction Set Computer, prevede un set di istruzioni minime che possono essere eseguite in tempi simili (di solito un singolo ciclo di clock). Nello specifico, l’MSP430 adotta 27 istruzioni per il core e 7 tipi di indirizzamento. La CPU è connessa a due Bus anch’essi a 16 bit: il Memory Address Bus (MAB) ed il Memory Data Bus (MDB). La presenza dei due Bus è un vantaggio indiscusso in termini di prestazioni rispetto ad un dispositivo che segue l’architettura di Von Neumann. In questa, infatti, sia i dati sia le istruzioni viaggiano su di un unico bus causando spesso rallentamenti e colli di bottiglia: questo problema viene risolto dall’architettura del nostro microcontrollore, che può contare su due canali di comunicazione. Il core della CPU ha un design particolarmente studiato: è compatto per garantire il contenimento dei consumi e dei costi, ed allo stesso tempo è ottimizzato per la programmazione ad alto livello. Nell’integrato è presente un oscillatore di tipo DCO( Digitally Controlled Oscillator ) con caratteristica di tipo RC, può essere usato come clock e lavora di default ad una frequenza di circa 5 MHz, ma la flessibilità di utilizzo è assicurata dalla possibilità di introdurre 2 clock esterni, di cui il primo lavora a bassa frequenza, 32KHz, il secondo lavora ad alta frequenza e può far funzionare il dispositivo in un range da 4,15 MHz÷16 MHz, entrambi realizzati con un cristallo di quarzo. Combinando opportunamente i clock si può ottenere un sistema che rimane in stand-by, per
23 minimizzare i consumi, pronto a partire in pochi microsecondi quando richiesto, ed in grado di elaborare i segnali alla massima frequenza. Tali caratteristiche lo rendono ideale per lavorare su dispositivi portatili alimentati a batterie. Nello schema di figura 12 possiamo inoltre osservare l’ingresso per la JTAG ed il suo relativo blocco di debugging: questi dispositivi servono per caricare ed eventualmente emulare i programmi da eseguire.
Figura 12 Schema a blocchi della famiglia MSP430x26x
E’ presente un moltiplicatore hardware separato dalla CPU. Questo significa che la sua attività non rallenta i calcoli, anzi da un contributo notevole alla velocizzazione delle elaborazioni: il calcolo di un prodotto è così disponibile in un minor numero di cicli di clock.
Questa famiglia di microcontrollori dispone anche di un convertitore analogico digitale a 12 bit, di tipo SAR, in grado di lavorare su un massimo di 8 canali e con una frequenza di conversione massima di 200 Ksps.
Altri dispositivi e periferiche sono integrati nel microcontrollore. Abbiamo: tre timer, di cui uno con la funzione di whatch-dog; 6 porte di I/O; due periferiche USART per la comunicazione seriale; ed un comparatore.
24
2.4.2 Schema di funzionamento
Il microcontrollore rappresenta il nucleo del nostro sistema. In questo paragrafo ne analizzeremo l’utilizzo per la nostra applicazione, seguendo il flusso dei dati, come illustrato nella figura 13. La prima operazione che viene effettuata sui segnali in ingresso è quella di campionamento, passaggio che avviene grazie a due periferiche: l’ADC12 ed il TIMER_A.
L’ ADC12, come già accennato precedentemente, è l’unità atta a convertire i segnali dall’ analogico in digitale. Questa acquisisce i dati dal canale A0 A1 A2 in presenza di un impulso di trigger da parte del TIMER_A. Il TIMER_A, come suggerisce il suo nome, è un timer a 16 bit che, grazie ad un contatore ed un demoltiplicatore del clock principale, può fornire impulsi in maniera pienamente configurabile. Nel nostro caso gli impulsi sono stati mandati ad una frequenza di 5 Hz .
Figura 13 schema a blocchi di funzionamento
I campioni raccolti dall’ ADC12 sono espressi su 12 bit, ma, per adattarsi all’architettura del dispositivo interamente a 16 bit, vengono presentati anch’essi su 16 bit ed i primi 4 più significativi sono sempre 0. Questi vengono immagazzinati nella RAM ed elaborati dalla CPU, attraverso un algoritmo sviluppato in questa tesi. Il risultato dell’elaborazione viene trasmesso alla periferica USART.
25 La periferica USART permette la comunicazione secondo lo standard seriale, nel caso specifico è stato applicato lo standard EIA RS232. I dati sono così inviati ad un personal computer sul quale, grazie ad un interfaccia software, sono visualizzati.
2.4.3 Modulo per il microcontrollore
Prima di parlare delle schede che ospitano il microcontrollore, osserviamo brevemente che esso supporta la programmazione On-Board. Grazie all’ aggiunta di una porta JTAG e di altri pochi componenti può essere programmato direttamente sul circuito definitivo.
Nella figura 14 possiamo osservare lo schema circuitale e le connessioni dei componenti per la programmazione del dispositivo. Questo tipo di programmazione è molto flessibile; infatti, una volta approntata la scheda con le opportune componenti, si può aggiornare la parte software a piacere inserendo il programmatore nell’apposita porta JTAG.
Figura 14 Schema circuitale per la programmazione
Durante la tesi, ho approntato un primo prototipo di scheda su una “millefori”. Questa scheda è stata realizzata con l’intento di essere una “developer board”. Si è cercato di tenere il maggior numero possibile di terminali facilmente accessibili, in maniera da essere molto flessibile, rinunciando all’ottimizzazione delle dimensioni. Per alimentare il chip è stata scelta una tensione di circa 3.3 Volt, sufficientemente alta da garantire la possibilità di programmare il dispositivo e da
26 permetterne il funzionamento ad 8 MHz, condizione necessaria per fornire la sufficiente potenza di calcolo in fase di esecuzione del programma.
Nella figura 15 è illustrato un grafico delle possibili frequenze di clock in funzione della tensione di alimentazione.
Figura 15 Legame fra frequenza di clock ed alimentazione
Il circuito per l’alimentazione principale è stato realizzato con un regolatore di tensione LM317, dimensionandone opportunamente le resistenze. Sulla scheda sono stati inseriti due cristalli: uno secondario a bassa frequenza a 32 KHz, ed uno principale ad alta frequenza a 8 MHz. Insieme al DCO interno all’MSP430, i due cristalli permettono grande flessibilità nella scelta delle frequenze a cui operare.
Sulla scheda è stato inserito un tasto per effettuare il reset, particolarmente utile per riavviare i nuovi programmi dopo la loro memorizzazione.
Su questa scheda ha trovato posto, oltre all’ MSP430f2618, un altro integrato: il MAX232, che è indispensabile all’ interfacciamento con il PC per la traslazione dei livelli logici. Come abbiamo già detto, l’alimentazione del dispositivo è a 3.3 Volt, quindi anche il livello alto in uscita dall’ USART è di 3.3 Volt, valore troppo basso per lo standard di comunicazione seriale RS232. La traslazione dei livelli logici allo standard RS232 è effettuata dal MAX232 in serie al segnale. Per il suo corretto funzionamento è stato approntato un modulo di alimentazione secondario, in grado di fornire una tensione di alimentazione di 5 Volt e realizzato mediante un regolatore di tensione LM7805.
Il prototipo della scheda è servito per i primi esperimenti e per verificare il corretto dimensionamento di tutte le componenti; in questo prototipo erano accessibili tutte le principali porte, accorgimento grazie al quale si potevano tenere sotto controllo i vari parametri che
27 condizionano il funzionamento del microcontrollore. Ad esempio, erano accessibili: le uscite dei vari clock, quelle del TIMER_A, le porte USART ed altro ancora.
Su questa board preliminare sono stati effettuate le prime misurazioni, vincolati, però, dalla presenza del cavo seriale per la comunicazione fra circuito e PC.
Il passo successivo è stato realizzare una seconda board con l’intento di minimizzare le dimensioni, allo scopo di essere inserita nel box che contiene tutti gli altri dispositivi elettronici. A tal proposito, si è utilizzato il software CAD Altium Designer 2006 e grazie a questo abbiamo realizzato una PCB di dimensioni estremamente contenute, la quale si collega tramite un connettore al modulo di trasmissione ZigBee.
Figura 16 Scheda per l'analisi dei segnali
Paragrafo 2.5 Il modulo wireless
Il modulo di comunicazione wireless scelto per il sistema è prodotto dalla Maxstream [42] ed è denominato XBee.
E’ stato scelto questo tipo di protocollo (ZigBee) perché viene in contro alle specifiche progettuali. Esso, infatti, offre ad un costo contenuto una connessione senza fili in grado di trasmettere i dati a velocità fino ad 1Mb/s. Inoltre, ha consumi energetici inferiori rispetto ad altri protocolli di trasmissione, quali il Bluetooth o il Wi-Fi. Il circuito integrato preso in considerazione trasmette nel range di frequenze a cavallo dei 2,4GHz ed è dotato di un’antenna a chip integrata, che garantisce il miglior compromesso fra ridotti ingombri ed efficienza di trasmissione è in grado di coprire una distanza di 30m al chiuso e di un centinaio di metri all’aperto. Supporta svariati baud rate da 1200
28 a 115200 Kb/s. Il costruttore dichiara in trasmissione un consumo di corrente a 3,3 Volt di 50mA[www.maxstream.net] Esso è stato programmato per funzionare in maniera trasparente rispetto al microcontrollore, cioè riceve i dati direttamente dalla USART del micro e li trasmette con la stessa velocità e modalità alla sua unità gemella in ricezione. Durante questa modalità, il chip mette a disposizione del micro un ampio buffer di 100bytes, che è utilizzato affinché nessun dato venga perduto. Il ricevitore è minimale, composto da un modulo XBee e da un MAX232, che adatta i livelli logici da quelli tipici dell’XBee (0-3,3V) a quelli della seriale del PC(0-5V) al quale il max232 viene poi connesso attraverso un porta seriale standard.
Di seguito riportiamo la foto del ricevitore.
Figura 17 Circuito ricevitore
Paragrafo 2.6 L’alimentazione
L’ alimentazione è uno stadio fondamentale per ogni circuito elettronico.
Nel nostro caso sono necessarie tre tensioni di alimentazione: una +5 V e -5 V per lo stadio Analogico di condizionamento del segnale, ed una +3.3V per il microcontrollore. In concomitanza a queste tensioni necessarie, le altre specifiche da rispettare sono: il contenimento dei consumi ed il minimo ingombro possibile. Spinti da queste specifiche progettuali, la soluzione che risponde in pieno è un alimentatore switching.
Come ben sappiamo un alimentatore lineare [43] può funzionare solo in modalità step down; quindi, per ottenere un alimentazione di +5V,-5V è necessario utilizzare 2 batterie o pacchi di batterie di tensione di almeno 2 o 3 volt superiori, con un notevole ingombro, inoltre, circa metà dell’energia erogata viene dissipata sotto forma di calore sul regolatore. L’alimentazione
29 Switching, invece, riesce ad avere efficienze molto più elevate e, grazie alla configurazione step up, può erogare una tensione di uscita superiore a quella in ingresso.
Per il nostro circuito è stato scelto come IC l’ADP1111 della Analog Device. Questo circuito è flessibile e risponde alle nostre esigenze; infatti, può erogare, a partire da un tensione di ingresso di 2V, una tensione di uscita in modulo compresa tra i 3 e i 12 Volt.
L’ADP1111 è stato montato in due diverse configurazioni: quella step-up e quella positive to negative conversion, rappresentate nella figura sottostante.
Figura 18 a)Schema ADP1111 step-up b)Schema ADP1111 invertente
Spieghiamo brevemente il funzionamento di un alimentatore switching. Esso può essere schematizzato in alcuni componenti chiave: un interruttore, che si apre e si chiude ad una frequenza opportuna generata da onda PWM, un diodo raddrizzatore, un induttore, ed una capacità in serie. L’induttore e la capacità hanno il compito di immagazzinare l’energia necessaria al carico mentre l’interruttore è spento. Volendo trovare una similitudine meccanica per questo circuito potremmo usare un sistema pistone-volano, dove il volano immagazzina l’energia fra una spinta e l’altra del pistone.
30 Possiamo analizzare due momenti del funzionamento del circuito schematizzato nella figura soprastante. La prima quando l’interruttore è chiuso: durante questo semiperiodo la corrente fluisce attraverso l’induttore nel carico, ed attraverso la massa si richiude sulla sorgente. In questo semi periodo il diodo è polarizzato inversamente ed in esso non scorre corrente. Quando l’interruttore si apre, la corrente nell’induttanza non può avere discontinuità e così il diodo inizia a condurre, scaricando l’energia immagazzinata nel gruppo L-C. Quando l’interrutore si richiude il diodo si apre e la batteria eroga corrente sul carico e ripristina l’energia del gruppo L-C.
L’energia che fluisce sul carico è regolata dal Duty cicle dell’ interruttore.
La configurazione con inversione di polarità ha uno schematico simile, ma leggermente diverso. Esso è rappresentato nella figura sottostante.
Figura 20 Schema semplificato alimentazione switching con inversione di polarità
Questo schema è meno semplificato rispetto al precedente; al posto dell’interruttore, che è una schematizzazione ideale, troviamo un MOS pilotato da un generatore PWM che, a sua volta, viene controllato da un comparatore, che ha in ingresso una partizione opportuna della tensione da regolare. Anche in questo caso possiamo dividere il funzionamento del circuito in due semiperiodi. Quando il MOS conduce, la corrente scorre dall’alto verso il basso nell’induttanza ed il diodo è interdetto. Quando il MOS si interdice, la corrente nell’induttanza non può interrompersi istantaneamente e così il diodo D1 entra in conduzione. Sul carico scorre una corrente che genera una caduta di tensione di segno inverso a Vdc . La capacità C0, che si è caricata nel semiperiodo in
31 cui il MOS è interdetto a spese dell’energia dell’induttanza, si scarica sul carico quando il MOS conduce.
Di seguito riportiamo lo schema a blocchi dell’ADP1111 e lo confronteremo con lo schema precedente.
Figura 21 Schema a blocchi dell’ADP1111
Il terminale Vin è quello che riceve la tensione in ingresso da regolare. Essa genera una tensione costante, pari ad 1,25V, equivalente alla Vref dello schema precedente. Il blocco successivo è un comparatore sul cui ingresso FB ci va un’opportuna partizione della tensione d’uscita V0. L’oscillatore a 72KHz, il driver ed il BJT sono l’analogo dell’interruttore comandato dal PWM nel nostro schema semplificato. Il terminale Ilm serve nella configurazione step-down a limitare la corrente, mentre il blocco A2 serve a monitorare lo stato di carica della batteria. Con un opportuna partizione della Vin in ingresso, il terminale set produce un segnale in uscita quando la tensione scende sotto la soglia prefissata.
Una volta scelto il circuito integrato, si è passati alla scelta delle componenti. Esse, infatti, sono sottoposte a particolari condizioni di funzionamento, causate dall’accendersi e spegnersi cadenzato del circuito. In particolare c’è bisogno di induttanze e capacità in grado di accumulare l’energia necessaria al carico, e di un diodo sufficientemente veloce.
Il diodo infatti, deve commutare rapidamente rispetto alla frequenza del PWM che, nel nostro dispositivo, è a 72 KHz, e deve avere una bassa corrente di leakage che, altrimenti, disperderebbe
32 l’energia immagazzinata nel gruppo L-C. In generale, potremmo dire che un diodo Schottky è indicato allo scopo. Nella configurazione definitiva dell’alimentatore, abbiamo utilizzato un MBRS120T3G della OnSemiconductor: questo è un diodo Schottky, realizzato appositamente per questo tipo di applicazioni ed è esplicitamente consigliato nei Data Sheet dell’ADP1111.
Per quanto riguarda l’induttanza, dobbiamo invece tenere conte che, in essa, deve essere immagazzinata l’energia da cedere al carico. L’induttanza è attraversata da correnti piuttosto elevata (anche diverse centinaia di mA) e la sua resistenza dovrebbe essere minore possibile per non pregiudicare l’efficienza. Alla luce di queste specifiche è stata scelta un’induttanza della
MURATA LQH55DN220M03, che presenta una resistenza di appena 0,19 Ohm ed è in grado di
sopportare correnti di 1200mA.
La scelta delle capacità rappresenta anch’essa un punto delicato. Infatti, la presenza di una capacità inappropriata può causare bassa efficienza o un elevato ripple. I comuni condensatori elettrolitici sono molto economici, ma hanno una pessima resistenza equivalente serie. Si può ovviare a questo inconveniente usando dei condensatori al tantalio, tuttavia la scelta ottima consiste nell’utilizzare specifici condensatori brevettati dalla SANYO, denominati OS-CON. Essi, infatti, presentano un valore basso di resistenza serie equivalente ESR e garantiscono un ripple veramente contenuto.
Figura 22 Alimentatore switching SMD
Durante la tesi è stato realizzato anche un circuito di alimentazione con condensatori al tantalio. Di seguito riportiamo due screenshoot dell’oscilloscopio, rispettivamente, con la sonda inserita in uscita all’alimentatore con i condensatori al tantalio, e l’altro in uscita all’alimentatore con i condensatori della SANYO.
33
Figura 23 a)condensatori OS-CON b)condensatori tantalio
Per l’alimentazione in ingresso al micro di 3,3 Volt si è scelto un diverso compromesso. Grazie agli alimentatori switching, realizzati per alimentare la parte analogica, si è in grado di avere, a partire da due semplici batterie ministilo da 1,5 V, due tensioni rispettivamente a +5 e -5 Volt. Si sarebbe potuto realizzare un terzo blocco switching, che avesse in uscita 3,3V, ma esso era piuttosto costoso. E’ stato così scelto un regolatore a bassissimo drop-out, in particolare L’ LP2980 della
National Semiconductor. Esso riceve in ingresso una tensione di 5V dallo switching e la riduce a
3,3V per la parte digitale. Questa soluzione non è ottima dal punto di vista dell’efficienza energetica, ma è stata dettata dall’elevato costo dell’equivalente alimentazione switching. Questa, infatti, viene a costare diversi euro contro poche decine di centesimi dell’LP2980.
Fra gli obbiettivi del progetto primo fra tutti vi è il confort per il paziente. Ciò ha indotto ad usare l’alimentazione switching per lo stadio analogico che, in alternativa, avrebbe avuto un battery pack ben più ingombrante e pesante. Potendo utilizzare la tensione dello stadio analogico, opportunamente regolata per lo stadio digitale, il contenimento dei costi ha fatto propendere la scelta per il regolatore lineare a discapito di una piccola perdità di efficienza.
Paragrafo 2.7 Il Biopac
Per la validazione dei nostri risultati è stato usato un sistema commerciale prodotto dalla Biopac
Sistems Inc.[11], in particolare il sistema BSL. Esso permette di monitorare ed acquisire fino a
quattro parametri fisiologici contemporaneamente. La configurazione presente nel nostro laboratorio è dotata di: elettrodi per ECG, un pulsossimetro, un sensore per i movimenti respiratori ed uno stetoscopio digitale. Questo prodotto è corredato da un software per Personal Computer, che mostra i grafici degli ingressi delle sonde in tempo reale e ne permette la memorizzazione su file, nonché l’analisi. D’ora in avanti faremo riferimento al sistema BSL sviluppato dalla Biopac semplicemente come Biopac.
34 Il Biopac ha rappresentato, durante i nostri esperimenti, un punto di riferimento, sul quale abbiamo misurato l’errore del nostro dispositivo.
I dati raccolti dal dispositivo commerciale sono considerati esatti e dal confronto fra questi ed i nostri risultati abbiamo affinato il software e ne abbiamo calcolato l’errore commesso.