Sei sulla pagina 1di 23

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

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

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.

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.

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 2 4 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.

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 100200 volte inferiore rispetto a una telecamera a infrarossi.

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

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

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

5V

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

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.

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

10

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

11

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

12

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

13

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.

14

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.

15

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

16

Figura 18 Mappa di temperatura pavimento e pareti

17

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:
() =

() ()

() ()

() sono le temperature registrate dal sensore.


dove

18

Inoltre dipende dalla temperatura ambiente stimata attuale e per esprimere tale
dipendenza stato utilizzata la seguente relazione:
= c2 2 + 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.

19

Figura 19 Pavimento

20

Figura 20 Occupancy totale ambiente

21

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 .

22

Potrebbero piacerti anche