Internet delle cose si riferisce a una tendenza in crescita a collegare non solo le persone e i computer ma qualsiasi tipo di oggetto a Internet. In applicazioni quali stabilimenti industriali o progetti di infrastrutture di grandi dimensioni, collegare un numero maggiore di sensori (o attuatori) in un numero maggiore di punti può aumentare l’efficienza e il livello di sicurezza, e rendere possibili modelli di business interamente nuovi. Anziché dover far fronte al problema e al costo della posa di cavi in vari punti di un impianto, ora è possibile installare robusti e affidabili sensori wireless di qualità industriale in grado di funzionare per anni alimentati da una piccola batteria o anche immagazzinando l’energia generata da sorgenti già disponibili, come luce, vibrazioni o gradienti di temperatura. Linear Technology offre tutti i componenti necessari per progettare reti di sensori wireless a bassa potenza, affidabili e dalle prestazioni elevate. Il presente caso di studio illustra un progetto reale che combina un sensore di temperatura ad alta risoluzione, un circuito di gestione della potenza alimentato da energia solare, quando questa è disponibile, e da una batteria di riserva quando necessario, e un modulo radio a bassa potenza che forma automaticamente un’affidabile rete mesh per collegare in modalità wireless tutti i sensori a un punto di accesso centrale. Il sensore di temperatura è basato su un termistore polarizzato da un riferimento di tensione LT6654 a basso rumore. Il convertitore A/D delta-sigma a 24 bit LTC2484 rileva la tensione del termistore e indica il risultato tramite l’interfaccia Spi. L’LTP5901 è il modulo radio, che contiene anche il firmware necessario per formare automaticamente un rete mesh basata su IP; inoltre incorpora un microprocessore che legge la porta Spi del convertitore A/D LTC2484 e gestisce la sequenza di alimentazione dei componenti della catena del segnale. L’LTC3330 è un alimentatore doppio a commutazione a bassa potenza alimentato dal pannello solare quando c’è luce a sufficienza, mentre passa a usare la batteria quando necessario per assicurare la regolazione continua della tensione di uscita; inoltre include un Ldo utilizzato per alimentare secondo un determinato duty cycle il sensore di temperatura.
La catena del segnale
In questo progetto si impiega un termistore per misurare la temperatura. I termistori sono adatti per misure di temperatura in un intervallo ben oltre le tipiche temperature ambiente tollerabili dalle persone. Sono resistori con una forte dipendenza dalle variazioni di temperatura e coefficiente di temperatura negativo; per esempio, la resistenza del termistore codice KS502J2 (prodotto da US Sensor) è uguale a 5 kiloohm a 25°C e varia da 88 kiloohm a 875 ohm nell’intervallo da -30°C a +70°C. Il termistore di questo progetto è collegato in serie con due resistori di precisione da 49,9 kiloohm e polarizzato a tensione positiva dal riferimento di tensione di precisione LT6654. Il convertitore A/D delta-sigma LTC2484 misura il rapporto del partitore resistivo con risoluzione di 24 bit; l’errore non corretto totale del convertitore A/D è di 15ppm, che per la pendenza di questo termistore corrisponde a un’incertezza di temperatura minore di 0,05°C. Il termistore è specificato con una precisione di 0,1°C, così che è possibile misurare la temperatura con tale precisione senza bisogno di alcuna taratura. Il rumore del convertitore A/D è inferiore a 4µVpp, che corrisponde a una variazione della temperatura minore di 0,005°C. Quindi, con una fase di taratura, questo sistema sarebbe utilizzabile per eseguire misure di temperatura con altissima risoluzione. Poiché il convertitore A/D misura il rapporto tra la tensione del termistore e la tensione di riferimento, a rigor di termini non è necessario che il riferimento sia preciso, però deve essere a basso rumore, poiché variazioni della tensione di riferimento durante il periodo di funzionamento del convertitore A/D potrebbero produrre errori. Il convertitore A/D LTC2484 presenta una struttura d’ingresso Easy Drive: le correnti di campionamento differenziali nette durante un periodo di conversione sono quasi nulle, per cui non risulta nessun errore di misura dalla corrente di campionamento d’ingresso che circola nella rete resistiva del termistore; ne consegue che non è necessario un buffer ad amplificatore operazionale separato. Condensatori di bypass forniscono un percorso ad alta impedenza a frequenze basse. In molti casi non è necessario misurare la temperatura costantemente, ma solo una volta al secondo o anche al minuto. Ha senso ridurre il consumo di potenza nei periodi di tempo in cui il sistema non misura la temperatura e questo circuito applicativo esegue proprio questa operazione, come descritto di seguito. La rete di resistori assorbe fino a 25µA dal riferimento a 2,5V. Per evitare questa attenuazione della potenza tra una misura e l’altra, il duty cycle dell’alimentatore del riferimento viene impostato in modo che l’alimentatore sia inserito solo durante le misure. La costante di tempo RC all’ingresso del convertitore A/D è pari a circa 5ms. Inserendo l’alimentatore 80ms prima dell’esecuzione di una misura, si assicura l’assestamento completo all’ingresso del convertitore A/D. Infatti, poiché entrambi i nodi d’ingresso si inseriscono alla stessa pendenza, le letture sono precise ben prima del tempo di assestamento teorico. L’LT6654 è alimentato dall’uscita Ldo a 3 V dell’LTC3330. Il microprocessore LTP5901 porta il pin enable Ldo dell’LTC3330 allo stato alto o basso ai corretti istanti prima e dopo l’esecuzione di una lettura di temperatura. L’LTC2484 passa automaticamente alla modalità di sospensione quando non esegue conversioni e in questa modalità la corrente è pari a 1 µA, bassa in confronto a quella, già bassa, del modulo radio wireless; quindi, non è necessario che il convertitore A/D sia alimentato secondo un duty cycle: mantenendolo costantemente alimentato tramite la stessa tensione di alimentazione dell’LTP5901, si assicura che i livelli logici all’interfaccia Spi siano identici, il che contribuisce alla semplicità del progetto. Dopo aver fornito un risultato di conversione attraverso la porta Spi, l’LTC2484 inizia automaticamente una nuova conversione e memorizza il risultato nel suo registro interno finché l’utente non chiede di leggerlo nuovamente. Ciò può essere comodo in sistemi che richiedono letture frequentissime della temperatura. Tuttavia, è possibile che alcune applicazioni a potenza ultrabassa attendano un lungo tempo tra una lettura e l’altra. Per far sì che la temperatura comunicata all’utente corrisponda sempre a una lettura aggiornata, questa applicazione prima inverte lo stato dei pin Csb e Sck per eliminare dal registro del convertitore A/D la vecchia lettura di temperatura. Questo avvia automaticamente una nuova conversione di temperatura. Il microprocessore attende finché la conversione non è completata, quindi legge il risultato attraverso la porta Spi. Anche se inizia di nuovo automaticamente una nuova lettura della temperatura, il sistema procede a disinserire la rete di termistori (disinserendo l’ODO) poiché successivamente il risultato di questa lettura aggiuntiva sarà ignorato. Il consumo di potenza complessivo dei circuiti del sensore di temperatura può essere stimato come segue. Anzitutto, sommare la corrente del riferimento (350 µA), della rete di termistori (25 µA) e del convertitore D/A (160 µA) quando quest’ultimo è in funzione, per un totale di 535 µA. Quindi, considerare per quanto tempo sarà presente questa corrente. Il convertitore A/D richiede circa 140ms per una conversione e prima di questa occorre attendere 80 ms, il tempo di assestamento del riferimento e dei termistori. Aggiungendo un certo tempo per la lettura della porta Spi si ottiene circa 300ms di tempo On. Un consumo di corrente di 535 µA durante 300 ms corrisponde a una carica di 160 µC, alla quale va aggiunta la carica necessaria per portare il condensatore di bypass dell’alimentatore, pari a 4,7 µF, al riferimento di tensione, poiché questo nodo viene ricaricato da 0 a 3 V a ogni lettura. Questa carica, corrispondente a 14 µC, porta il totale a 174 µC per ciascuna lettura di temperatura. Se si esegue una lettura di temperatura ogni 10 secondi, si ottiene un consumo di corrente medio pari a 17 µA.
La gestione della potenza
L’LTC3330 gestisce tutta la potenza per questa applicazione. Include due alimentatori a commutazione e un regolatore lineare in un package monolitico di ridotte dimensioni. Un convertitore buck-boost può essere alimentato dalla batteria per mantenere una tensione di uscita regolata (impostata a 3,6V per questa applicazione), mentre un convertitore buck separato può essere alimentato dal pannello solare per regolare pure la tensione di uscita allo stesso livello. Un circuito di prioritizzazione assicura che l’energia solare sia utilizzata quando possibile e inserisce la batteria solo quando necessario (Fig. 3). Per altre applicazioni, l’LTC3330 supporta anche sorgenti di immagazzinamento dell’energia, come i cristalli piezoelettrici che generano una tensione CA proporzionale all’energia vibrazionale. L’LTC3330 assorbe una corrente di riposo minore di 1 µA, per cui è adatto per questa applicazione wireless a bassa potenza. L’attenuazione della potenza nell’alimentatore è solo una piccola frazione dell’attenuazione totale di potenza, così che la maggior parte della potenza è disponibile per il carico, ossia il sensore di temperatura e la rete wireless. Oltre ai due alimentatori a commutazione, l’LTC3330 include un Ldo dotato di un pin enable separato, una caratteristica comoda per queste applicazioni con alimentazione a duty cycle. Il riferimento di tensione e la rete di termistori sono alimentati dall’Ldo; ciò non solo riduce il rumore di commutazione, ma inoltre consente all’applicazione di alimentare o no la catena del segnale, pur mantenendo sempre alimentato il modulo radio wireless. Sebbene quest’ultimo non consumi molta potenza fra una trasmissione e l’altra, è essenziale che rimanga sempre polarizzato affinché i timer continuino a funzionare correttamente e quindi l’intera rete rimanga sincronizzata. Il microprocessore incorporato nel modulo radio wireless comanda la sequenza del pin enable dell’Ldo ai corretti istanti per preparare la catena del segnale a una lettura di temperatura. L’LTC3330 genera un flag di uscita (EH_On) che informa il sistema se la potenza viene erogata dalla batteria o dal pannello solare; per gli utenti finali può essere utile avere accesso in tempo reale a questa informazione, per cui consentiamo al microprocessore incorporato nel modulo radio wireless di leggere questo flag di uscita e trasmetterlo attraverso la rete insieme ai dati stessi sulla temperatura. Il livello logico di questa uscita EH_On viene riferito a una tensione di polarizzazione interna dell’LTC3330, che varia secondo la modalità di funzionamento e può essere maggiore di 4V. Anziché collegare tale pin di uscita direttamente all’ingresso logico a tensione inferiore del modulo radio wireless, lo dividiamo per ridurlo e lo inviamo in un convertitore A/D a 10 bit che fa parte del microprocessore. In questo caso, ci limitiamo a usare tale convertitore A/D come un comparatore per indicare se l’LTC3330 è alimentato dalla batteria o dal pannello solare.
La rete wireless
L’LTP5901 è un modulo radio wireless completo, che include il transceiver radio, il microprocessore integrato e il software di rete. Il formato fisico è quello di una piccola scheda di circuiti stampati, facilmente saldabile sulla scheda di circuiti principali che contiene il resto dell’applicazione (circuiti della catena del segnale e della gestione di potenza). L’LTP5901 esegue due funzioni in questa applicazione: formazione della rete wireless e microprocessore di gestione (Fig. 4). Quando più nodi dell’LTP5901 sono alimentati presso un dispositivo di gestione di rete, ogni nodo rileva automaticamente gli altri e i nodi iniziano a formare una rete mesh wireless. L’intera rete viene sincronizzata automaticamente, per cui ciascun nodo viene alimentato solo per intervalli specifici, molto brevi. Quindi ogni nodo può funzionare non solo come sorgente di informazioni per il sensore, ma anche come nodo di instradamento per inoltrare al sistema di gestione i dati provenienti da altri nodi. Si crea così una rete mesh a bassa potenza e molto affidabile, dove sono disponibili più percorsi da ciascun nodo al sistema di gestione anche se tutti i nodi, compresi quelli di instradamento, funzionano a potenza molto bassa. Una portata tipica per questa tecnologia radio è di 100 m fra nodi; in condizioni all’aperto favorevoli è possibile una portata ancora maggiore. L’LTP5901 include un core a microprocessore Arm Cortex-M3 che esegue il software di rete e può anche essere programmato tramite firmware fornito dall’utente per eseguire operazioni specifiche dell’applicazione dell’utente. È così possibile costruire molte applicazioni senza bisogno di alcun microprocessore di terze parti. In questo esempio, il microprocessore incorporato nell’LTP5901 gestisce la sequenza di alimentazione del sensore di temperatura inserendo e disinserendo l’Ldo dell’LTC3330 ai corretti istanti, per preservare potenza fra una lettura di temperatura e l’altra. L’LTP5901 comunica direttamente con la porta Spi del convertitore A/D a 24 bit che legge il sensore di temperatura. Infine, l’LTP5901 legge il flag di uscita dello stato dell’alimentazione (EH_On) dall’LTC3330, che indica se il circuito è alimentato da luce solare o dalla batteria.
Il consumo di potenza del modulo radio wireless può essere stimato mediante lo strumento online SmartMesh disponibile sul sito web di Linear Technology.Per una tipica rete di 20 nodi sensori (mote), dove 10 mote hanno una connessione wireless diretta con il sistema di gestione (1 salto) e altri 10 hanno una connessione indiretta con il sistema di gestione (2 salti), il consumo di potenza medio è pari a circa 2 0µA per i nodi a 2 salti e 40 µA per i nodi a 1 salto. Questi valori si riferiscono a una configurazione in cui ciascun nodo indica la temperatura una volta ogni 10 secondi. Il motivo per cui i nodi a 1 salto consumano circa il doppio della potenza è che non solo trasmettono i propri dati di sensore ma funzionano anche da nodi di instradamento per inoltrare i dati di sensore provenienti da alcuni dei nodi a 2 salti. È possibile ridurre ulteriormente di un fattore pari circa a 2 i livelli di potenza menzionati sopra se si disattiva una funzione denominata “pubblicità”. Quando la funzione advertising è disattivata, la rete non rileva più nuovi nodi che vogliono unirsi alla rete stessa. A parte questo, non c’è altro effetto sul funzionamento della rete.
Il consumo complessivo di potenza
Il consumo totale di potenza del circuito applicativo completo dipende da vari fattori, tra i quali la frequenza con cui ciascun sensore misura la temperatura e la configurazione dei nodi nella rete. Il consumo tipico di potenza di un nodo sensore che indica la temperatura una volta ogni 10 secondi è inferiore a 20 µA per il solo sensore e può essere uguale a 20 µA per il modulo radio wireless, così che la corrente di carico media totale è pari a circa 40 µA. Un pannello solare compatto, da 5 x 5 cm (ad esempio, della serie Amorton) può generare 40 µA anche in condizioni di illuminamento interno relativamente moderato (200 lux), e molto di più con luminosità elevata; ciò significa che in molte condizioni questa applicazione potrebbe funzionare sfruttando esclusivamente la potenza generata dal pannello solare. Se il circuito è al buio e deve funzionare esclusivamente alimentato dalla batteria, una pila ministilo AA da 2,4A·h potrebbe alimentare questa applicazione per quasi 7 anni. In condizioni di illuminazione bassa o variabile, il circuito commuta automaticamente tra l’uso dell’energia solare e di quella della batteria, per cui ogni volta che la prima è disponibile, viene utilizzata per prolungare la durata della batteria.