Misura Dell'Occupancy Di Ambienti Interni Con Sensori Di Misura IR Black

23
0 UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea magistrale in Ingegneria Meccanica Misura dell'occupancy di ambienti interni con sensori di misura IR Prof. Ing. Enrico Primo Tomasini Relazione finale di: Federico Campi Francesco Diambrini Anno Accademico 2014/2015

description

Sistema e metodologia per la rilevazione di fonti di calore in ambianti indoor

Transcript of Misura Dell'Occupancy Di Ambienti Interni Con Sensori Di Misura IR Black

  • 0

    UNIVERSIT POLITECNICA DELLE MARCHE

    FACOLT DI INGEGNERIA

    Corso di Laurea magistrale in Ingegneria Meccanica

    Misura dell'occupancy di ambienti interni con

    sensori di misura IR

    Prof. Ing. Enrico Primo Tomasini

    Relazione finale di:

    Federico Campi

    Francesco Diambrini

    Anno Accademico 2014/2015

  • 1

    INDICE

    INDICE .................................................................................................................... 1

    1. INTRODUZIONE ................................................................................................ 2

    2. STRUMENTO DI MISURA .................................................................................. 3

    2.1. PRINCIPIO DI FUNZIONAMENTO .............................................................................................. 3

    2.2. TPA81 ..................................................................................................................................... 6

    2.3. SERVOMOTORI ........................................................................................................................ 9

    2.4. ARDUINO .............................................................................................................................. 11

    3. ALLESTIMENTO BANCO DI MISURA ................................................................ 13

    3.1. SKECTH ARDUINO .................................................................................................................. 13

    3.2. MISURA MAPPA DI TEMPERATURA ........................................................................................ 14

    4. RISULTATI ...................................................................................................... 16

    4.1. PROCESSAMENTO CON MATLAB: MAPPA DI TEMPERATURA .................................................. 16

    4.2. PROCESSAMENTO CON MATLAB: DATI DI OCCUPANCY .......................................................... 18

    5. CONCLUSIONI................................................................................................. 22

  • 2

    1. INTRODUZIONE

    La seguente relazione cercher di illustrare una metodologia per la misura dell'occupancy di

    ambienti interni (ovvero la presenza o meno di persone, o human detection, all'interno

    dell'ambiente) tramite l'individuazione delle sorgenti di calore.

    La misura a distanza delle temperature utilizzata in molti campi, dai sistemi di allarme agli

    impianti di climatizzazione. Grazie alla mappatura della distribuzione della temperatura in una

    stanza infatti non solo possibile individuare le persone presenti ma, abbinando alla mappa di

    temperatura altre variabili ambientali come pressione e umidit, possibile ottenere lindice di

    comfort nellambiente considerato.

    Il procedimento illustrato in questa relazione si basa sullutilizzo di un sensore di temperatura non

    a contatto, il TPA81, un array di 8 termopile che riesce a captare le radiazioni elettromagnetiche

    emesse dai corpi nellinfrarosso.

    Lo strumento utilizzato a basso costo e presenta ingombri molto pi contenuti rispetto ad altre

    tecniche di termovisione; inoltre esso pu essere facilmente comandato mediante luso di un

    microcontrollore, come ad esempio Arduino , il quale stato usato anche nelle misurazioni in

    seguito riportate.

    La prima parte dell'esperienza si basata sulla costruzione di uno sketch, cio un programma

    eseguibile, che permettesse di muovere il sensore in diverse posizioni per poter determinare

    completamente la mappa di temperatura della stanza (nel caso in analisi il laboratorio di

    vibrazioni).

    Dopo aver effettuato la misura della distribuzione della temperatura nellambiente si usato

    Matlab per elaborare i dati ottenuti, cos da ottenere, grazie ad un algoritmo che verr illustrato in

    seguito, i dati sulloccupancy che sono stati poi confrontati con il dato reale, cio le persone

    realmente presenti nella stanza.

  • 3

    2. STRUMENTO DI MISURA

    2.1. PRINCIPIO DI FUNZIONAMENTO

    Per misurare la temperatura delle pareti e del pavimento stato utilizzato un sistema di scansione

    basato sul sensore ad infrarossi TPA81 della Devantech mobilitato da due servomotori.

    Il TPA81 consiste fondamentalmente in una termopila, cio un insieme di termocoppie connesse in

    serie e montate su un microchip.

    La termopila uno dei principali strumenti di misura della potenza radiante ed usata anche

    come sistema primario per la calibrazione di altri apparecchi di misura nellultravioletto.

    Il principio di funzionamento si basa sulleffetto Seebeck; in altre parole si sfrutta la forza

    elettromotrice generata riscaldando una giunzione di due differenti metalli. Infatti, se in una

    catena bimetallica le due giunzioni vengono mantenute a differente temperatura si genera una

    corrente elettrica. Il rendimento di una termopila, generalmente modesto, definito dal rapporto

    tra la differenza di temperatura tra le giunzioni e la temperatura assoluta della giunzione calda.

    La forza elettromotrice che genera una termopila esprimibile dalla seguente formula:

    = ( + )

    Dove:

    la forza elettromotrice [V];

    la differenza di temperatura tra le giunzioni;

    il potere termoelettrico del semiconduttore positivo [V/C];

    il potere termoelettrico del semiconduttore negativo [V/C].

    Per migliorarne il rendimento, e quindi il segnale in uscita generato dalla FEM prodotta, si devono

    contenere al massimo le dispersioni di calore, cos da ottenere la massima differenza di

    temperatura tra le giunzioni.

  • 4

    Figura 1 Termopila

    La variazione di temperatura tra il giunto caldo e freddo provocata dal flusso radiativo

    proveniente dallambiente e diretto sulla lente della termopila.

    risaputo infatti che la luce e la radiazione di calore differiscono solo per la lunghezza donda;

    quindi possibile eseguire la misura della temperatura di un oggetto a distanza se lenergia irradiata

    dalloggetto raccolta da un assorbitore collegato alla giunzione di una termocoppia.

    La legge di Stefan-Boltzamann fornisce la relazione tra la potenza irradiata, lemissivit

    delloggetto e la sua temperatura, da cui possibile ricavare una misura indiretta della

    temperatura; tale legge espressa dalla formula:

    = 4

    Dove:

    la potenza irradiata dalloggetto;

    lemissivit delloggetto (ovvero il rapporto tra la radiazione emessa dall'oggetto e quella

    che emetterebbe un corpo nero alla stessa temperatura);

    la temperatura delloggetto;

    = 5,67 108

    24 la costante di Stefan-Boltzmann.

    Lenergia assorbita dal sensore sar quindi data dallenergia emessa dalloggetto alla propria

    temperatura meno lenergia emessa dal sensore a temperatura ambiente.

  • 5

    La differenza di temperatura, a causa delleffetto Seebeck descritto in precedenza, genera una

    tensione in uscita dalla termopila. Il legame tra queste due grandezze dato dalla legge:

    = [()4

    ()4]

    da cui si ricava la temperatura della superficie considerata e dove una costante di

    proporzionalit ricavata per via sperimentale. Nella rilevazione delle temperature superficiali

    lemissivit non viene considerata e il comportamento delle pareti si approssima a quello di un

    corpo nero.

    Una termopila quindi fornisce la differenza di temperatura tra ambiente e oggetto, un sensore

    passivo che non necessita di irradiare energia verso lambiente e non influenzata dalla riflettanza

    dei materiali presenti.

    Inoltre a differenza dei sistemi bolometrici, che misurano i gradienti di temperatura delloggetto

    tramite una variazione di resistenza del sensore, la termopila non necessita di una temperatura di

    stabilizzazione per evitare le deriva della misura (il sistema NUC delle termocamere).

    Quindi un sensore a termopila presenta, grazie alla costruzione pi semplice, un costo di circa 100-

    200 volte inferiore rispetto a una telecamera a infrarossi.

  • 6

    2.2. TPA81

    Il sensore TPA81 della Devantech un tipico sensore di temperatura per le misure non a contatto.

    Il suo nome sta per Thermopile Array 8x1, ed infatti composto da un array di 8 termopile. La

    superficie esterna di questo array si affaccia su una lente al silicio che serve a convogliare su di

    essa il flusso termico proveniente da una superficie.

    Figura 2 TPA81

    Come detto in precedenza questo sensore basa il suo principio di funzionamento sul metodo

    radiometrico, permettendo di ricavare la temperatura di una superficie in base allemissione

    radiativa proveniente da essa.

    La matrice costituita da sensori sensibili alla gamma infrarossa in banda larga (da 2m a 22m).

    La banda simile a quella rilevata dai sensori PIR che si trovano negli allarmi/antifurto o nei

    dispositivi che accendono le luci.

    Figura 3 Risposta spettrale del sensore

  • 7

    Il campo di temperatura delle pareti si pu collocare attorno ai 300K. Dalle curve di emissione

    spettrale di corpo nero vediamo che per questa temperatura la massima emissione si ha attorno ai

    10m, che corrisponde al campo di massima sensibilit del sensore.

    Figura 4 Caratterizzazione della risposta del sensore nel diagramma spettrale di Plank

    IL CAMPO DI VISTA DEL SENSORE (FOV-Field of View) 41x6, quindi 5.12x6 per ogni pixel. Il

    sistema di filtri e di lenti integrati nel sensore permette di inquadrare precisamente il punto

    considerato. Nel sensore presente anche un circuito integrato che permette di calcolare la

    temperatura di ciascun punto. Il campo di vista del Tpa81 varia con la distanza dalla superficie. Si

    pu notare come larea totale intercettata dal sensore aumenta con la distanza.

    Figura 5 Campo di vista del sensore

  • 8

    Il sensore collegato al microcontrollore Arduino tramite un bus I2C.

    Figura 6 Collegamenti TPA81

    Di seguito verranno elencate le caratteristiche tecniche dello strumento.

    CARATTERISTICHE TECNICHE

    Tensione operativa 5 V

    Range accuratezza tra 4-10C +/-3C

    Range accuratezza tra 10-100C +/-2C

    Emissivit di taratura 0.95

    Campo di rilevamento (FOV) 41x6 (8 pixel di 5 x 6)

    Uscite 1 ambiente+ 8 temp. degli 8 pixel

    Comunicazione Protocollo I2C

    Controllo Servomotore 32 passi per 180 di rotazione

    Dimensioni 31 x 18 mm

    Tabella 1 Caretteristiche tecniche TPA81

  • 9

    2.3. SERVOMOTORI

    Oltre allarray di termopile il sistema composto da due servomotori elettrici, che permettono

    lorientamento e il movimento del sensore.

    Figura 7 Servomotori

    I motori sono solidali con il sensore ed assemblati con il sistema di Pan & Tilt; essi sono posti con

    angoli di rotazione sfalsati di 90, ci permette di fare misure a scansione su una croce predefinita

    o di orientare il sensore nel punto in cui si desidera fare la misura.

    Figura 8 Sensore e sistema di movimentazione

    I servomotori HS-442 sono dei motori passo-passo il cui movimento basato sullinduzione

    magnetica. La corrente circolante negli statori eccita il rotore che ogni volta si orienter secondo il

    nord.

  • 10

    Figura 9 Schematizzazione funzionamento servomotori

    I servomotori sono gestiti dal microcontrollore Arduino. I collegamenti sono un filo per

    lalimentazione Vcc, di 5V, uno per la messa a terra GND e un filo collegato al pin digitale PWM

    (Pulse Wide Modulation, ovvero modulazione a larghezza dimpulso). Il PWM un pin speciale che

    permette di variare nel tempo il segnale di movimentazione del servomotore.

    Figura 10 Collegamento tra servomotori ed Arduino

    In questo modo il sistema consente di effettuare 32 step x 180 di rotazione.

    Il sistema cos costruito stato montato sul controsoffitto del laboratorio per garantire una

    scansione completa della stanza, come possibile osservare nella figura seguente.

    Figura 11 Sistema montato sul controsoffitto

  • 11

    2.4. ARDUINO

    La parte di gestione del sensore e controllo dei servomotori, nel sistema di misura utilizzato,

    spetta al microcontrollore Arduino. Arduino una piattaforma open source di physical computing

    basata su una semplice scheda input/output(I/O) e sullIDE di programmazione Processing, un

    ambiente di sviluppo facile da usare. Arduino un Hardware e software open source perch la

    scheda pu essere assemblata liberamente da chiunque a partire dal diagramma del circuito e da

    componenti preesistenti.

    La scheda composta da un micro-controller a 8-bit AVR prodotto dalla Atmel. La versione di

    Arduino utilizzata la ATmega2560.

    Il microcontrollore Arduino presenta queste specifiche tecniche:

    CARATTERISTICHE

    Microcontrollore ATmega2560

    Tensione di funzionamento 5V

    Tensione di ingresso (consigliato) 7-12V

    Tensione di ingresso (limiti) 6-20V

    Digital I / O Pins 54 (di cui 15 forniscono luscita PWM)

    Pins di ingresso analogico 16

    Corrente di CC per Pin O / I 40 mA

    Corrente DC per 3.3V Pin 50 mA

    Flash Memory 256 KB di cui 8 KB utilizzati dal bootloader

    SRAM 8 KB

    EEPROM 4 KB

    Frequenza di clock 16 MHz

    Tabella 2 Caratteristiche tecniche Arduino

  • 12

    Figura 12 Arduino ATmega2560

    Mediante lutilizzo della scheda ethernet shield, montata al di sopra del microcontrollore

    principale, lArduino ATmega2560, stato possibile salvare i dati registrati dal sensore su una

    microSD che veniva inserita allinterno dello slot predisposto allinterno della scheda.

    Figura 13 Ethernet shield

    Queste schede sono poste allinterno di un contenitore plastico modificato a cui si fornisce

    lalimentazione allo strumento via cavo, cos come vengono collegati tutti i cavi di interesse per il

    corretto funzionamento del dispositivo, cio quelli inerenti larray di termopile ed i 2 servomotori.

    Grazie ad una porta USB, inoltre, possibile scaricare sul microcontrollore tramite pc il

    programma scritto nel linguaggio Arduino che definisce i comandi che la scheda dovr inviare al

    sistema.

    Figura 14 Case contente i microcontrollori

  • 13

    3. ALLESTIMENTO BANCO DI MISURA

    3.1. SKECTH ARDUINO

    La programmazione della scheda Arduino facilitata dalle numerose guide presenti sulla rete.

    L'ambiente di sviluppo integrato (IDE) di Arduino un'applicazione multipiattaforma scritta in

    Java, ed derivata dall'IDE creato per il linguaggio di programmazione Processing.

    Per permettere la stesura del codice sorgente, l'IDE include un editor di testo dotato di alcune

    particolarit, come il syntax highlighting, il controllo delle parentesi, e l'indentazione automatica.

    L'editor inoltre in grado di compilare e lanciare il programma eseguibile in una sola passata e con

    un solo click.

    Per permettere la comunicazione tra Arduino e i vari sensori sono necessarie delle librerie, quelle

    utilizzate in questa esperienza sono le seguenti:

    VarSpeedServo.h: permette la movimentazione dei servomotori;

    Wire.h: per la comunicazione con il sensore TPA81;

    SD.h: consente la scrittura su scheda microSD.

    Gli skecth creati sono due, uno per le 4 pareti laterali della stanza, mentre laltro per il pavimento.

    Figura 15 Skecth Arduino

  • 14

    3.2. MISURA MAPPA DI TEMPERATURA

    Per la misurazione abbiamo diviso la stanza in 5 superfici piane, le 4 pareti laterali e il pavimento.

    Il laboratorio presenta le seguenti dimensioni (in metri):

    Figura 16 Pianta ambiente di misura

    La scansione delle superfici stata eseguita utilizzando due skecth separati per le pareti e per il

    pavimento, cos da tenere in considerazione i diversi movimenti che il sensore doveva svolgere per

    misurare tutta larea.

    Come si visto prima l'area del campo di vista del sensore cambia al variare della distanza delle

    superfici da misurare, si dunque tenuto conto di questa variazione nel dividere la stanza in

    diversi "rettangoli" che, sotto forma di matrice, ricoprissero tutta l'area di interesse.

    Gli sketch di Arduino implementati in questa misurazione consistono sostanzialmente in cicli "for",

    ovvero cicli di iterazione, che ripetono la misura per ogni posizione del sensore; le superfici da

    misurare sono state infatti suddivise secondo una griglia e il sensore stato posizionato, durante

    la misura, nelle diverse posizioni utilizzando un unico ciclo iterativo.

  • 15

    Il sensore, per ogni posizione, registra 5 valori di temperatura e Arduino scrive direttamente la

    media in un file .txt allinterno della schedaSD. Il sensore poi passa alla posizione successiva in

    modo da scansionare tutte le zone dellambiente.

    Mentre le pareti laterali sono state ricoperte completamente dal sensore, per il pavimento ci non

    stato possibile a causa di problemi di sovrapposizione del campo di vista. Nel pavimento si

    infatti optato per una scansione a croce cercando di coprire gli angoli bui con ulteriori quattro

    scansioni oblique (una per ogni angolo); ci dovuto esclusivamente ai movimenti consentiti dal

    servomotore, che ricopre una semisfera che riesce s a coprire l'intero spazio del pavimento, ma

    per farlo inclinerebbe il sensore. Un modo alternativo di procedere sarebbe stato l'effettuare una

    scansione per centri concentrici, ma ci avrebbe notevolmente complicato l'analisi a causa, come

    detto, della sovrapposizione di diversi pixel del sensore in misurazioni diverse. Si quindi optato

    per il compromesso migliore, che ha comunque consentito di ricoprire la maggior parte della

    superficie di interesse, escludendo soltanto aree molto marginali e, comunque, prive di persone al

    momento della misura.

    Alla fine della misurazione si sono quindi ottenuti due file con allinterno tutti valori di

    temperatura registrati dallo strumento. I due file sono stati poi processati con matlab per ottenere

    la mappa di temperatura e il dato sulloccupancy dellambiente.

  • 16

    4. RISULTATI 4.1. PROCESSAMENTO CON MATLAB: MAPPA DI TEMPERATURA

    Per processare i dati ottenuti con il sensore si utilizzato MatLab (acronimo di Matrix

    Laboratory),un ambiente per il calcolo numerico e l'analisi statistica scritto in C.

    MatLab consente di manipolare matrici, visualizzare funzioni e dati, implementare algoritmi,

    creare interfacce utente, e interfacciarsi con altri programmi.

    Inizialmente stata ottenuta la mappa di temperatura dellambiente, poi mediante luso

    dellalgoritmo citato nellarticolo Human Detection Using Thermopiles del 2008, si sono valutati i

    dati di occupancy.

    Nelle immagini sottostanti possibile vedere per prima la mappa di temperatura del pavimento, di

    seguito quella di tutto lambiente, con le pareti comprese; le aree in blu scuro identificano le zone

    non scansionate dal sensore e ad ogni "quadratino" corrisponde un pixel del sensore:

    Figura 17 Mappa di temperatura pavimento

  • 17

    Figura 18 Mappa di temperatura pavimento e pareti

    .

  • 18

    4.2. PROCESSAMENTO CON MATLAB: DATI DI OCCUPANCY

    Per ottenere il dato di occupancy dellambiente le misure derivanti dalle scansioni delle superfici

    sono state elaborate utilizzando lalgoritmo contenuto nellarticolo "Human Detection Using

    Thermopiles" del 2008 di Jos Luis Honorato, Ignacio Spiniak e Miguel Torres-Torriti.

    Lalgoritmo precedente stato usato solo parzialmente ed stato in parte modificato, poich esso

    utilizzato non tanto per la rilevazione statica di persone allinterno dellambiente, quanto

    piuttosto per rilevarne il loro passaggio al di sotto del sensore.

    Le modifiche principali che sono state adottate sono due: innanzi tutto non si utilizzato un valore

    medio delle temperature rilevate dai diversi pixel ma sono stati considerati tutti i dati provenienti

    da ogni singolo pixel in quanto, a differenza di quanto riportato nell'articolo citato, l'obiettivo della

    misura non era semplicemente rilevare se fosse presente una persona oppure no, ma anche

    localizzare le persone nello spazio. Infine stato modificato, sempre per lo stesso motivo, il valore

    soglia da 0.2 a 0.45 (l'utilizzo del valore si vedr in seguito) in quanto il primo risultava troppo

    basso rispetto alle esigenze e inadatto allo scopo della misura trattata in questa tesina.

    Lalgoritmo basato sul fatto che la radiazione emessa dal corpo umano molto maggiore di

    quella dellambiente circostante quindi, andando a normalizzare le temperature misurate e

    comparandole tra di loro, possibile rilevare se una persona si trova al di sotto del sensore oppure

    no.

    In pratica si fa risaltare leffetto termico del corpo umano rispetto al rumore di fondo

    dellambiente.

    Si inizia col normalizzare le temperature registrate dal sensore rispetto alla differenza di

    temperatura tra la massima temperatura prevista della pelle e la temperatura ambiente

    stimate considerando la formula:

    () =() ()

    () ()

    dove () sono le temperature registrate dal sensore.

  • 19

    Inoltre dipende dalla temperatura ambiente stimata attuale e per esprimere tale

    dipendenza stato utilizzata la seguente relazione:

    = c22 + c1 + c0

    dove:

    c0=6,037;

    c1=1,555;

    c2=-0,019799.

    Si pu quindi notare che la temperatura della pelle aumenta allaumentare della temperatura

    ambiente; questo importante per la scelta del parametro , da impostare a livelli bassi in

    ambienti in cui la temperatura diminuisce e viceversa a livelli alti in ambienti in cui la temperatura

    sale, al fine di evitare misurazioni sbagliate.

    La temperatura ambiente viene stimata utilizzando lapposito pixel nel sensore (il nono), facendo

    poi la media tra tutti valori registrati dal pixel durante la scansione.

    Lultimo passo riguarda il confronto della temperatura normalizzata con in valore di soglia che

    permette di identificare la presenza di persone:

    Il valore scelto in questo caso, in base alle temperature registrate, pari, come visto prima, a 0,45,

    e ci permette di identificare al meglio le sorgenti di calore.

    Di seguito verranno inserite le immagini sul dato di occupancy. Le zone rosse identificano la

    presenza di fonti di calore, prima del solo pavimento, poi di tutto lambiente, comprese le pareti.

  • 20

    Figura 19 Pavimento

  • 21

    Figura 20 Occupancy totale ambiente

  • 22

    5. CONCLUSIONI

    Confrontando i dati ottenuti con la posizione delle persone effettivamente presenti all'interno del

    laboratorio al momento della misura si visto che mobilitando adeguatamente un sensore TPA81

    tramite servomotori e applicando i giusti algoritmi effettivamente possibile localizzare con

    buona precisione spaziale la presenza di persone all'interno di una stanza. Questo un ottimo

    risultato considerando che sono stati utilizzati strumenti di costo relativamente basso rispetto a

    sistemi dalle prestazioni comparabili e utilizzati per gli stessi scopi; anche dal punto di vista

    software sono stati utilizzati programmi open source (arduino) o comunque facilmente reperibili e

    la stessa programmazione non ha richiesto particolari competenze informatiche rivelandosi s

    difficoltosa in un primo momento, ma tutto sommato snella e agevole una volta entrati nel

    meccanismo.

    Per contro il sistema utilizzato presenta ancora punti negativi che richiedono un ulteriore studio e

    una pi approfondita implementazione; non si stato infatti in grado di distinguere,

    nell'esperienza effettuata, le diverse fonti di calore tra loro: un sistema del genere, ad esempio,

    riconoscerebbe come persona anche un termoconvettore, un termosifone o una bocchetta d'aria

    calda posta sul soffitto, problema che, per altro, si presentato anche nel caso in analisi.

    Un altro aspetto negativo potrebbe essere la risposta dinamica del sistema; la scansione di

    un'intera stanza con un meccanismo come quello appena descritto richiede infatti che il

    servomotore si sposti consecutivamente in molte dimensioni diverse e, quindi, richiede tempo. Se

    durante il movimento del sensore una persona si spostasse in due posizioni diverse, e il sensore

    scansionasse le due posizioni consecutivamente tra loro, darebbe in uscita la presenza di due

    persone e non di una.

    Considerando un equilibrio tra i pregi (costi e semplicit) e i difetti, il sistema preso in analisi

    presenta comunque ottime potenzialit e merita uno studio pi approfondito.