Come costruire un rivelatore di particolato PM10 e PM2,5

In questo articolo vedremo come si può autocostruire un rivelatore di polveri sottili (PM10) e/o particolato fine (PM2,5) usando un sensore low-cost (come quelli che potete trovare qui) e la piattaforma open-source Arduino. Le indicazioni saranno specifiche e generali allo stesso tempo, in modo che possiate optare per il sensore e per il tipo di scheda Arduino (di entrambi i componenti ne esiste un’ampia scelta) che preferite.

Oggi è possibile costruire un rivelatore di particolato del genere con una spesa modesta – dell’ordine di 50-70 euro o anche meno, a seconda di dove acquistate i componenti (i siti più economici sono quelli cinesi, come ad es. Banggood, Alibaba, AliExpress, ma i tempi di consegna sono di circa 1 mese) – ed economie di scala si possono ottenere se acquistate componenti per più rivelatori in un unico ordine. Componenti analoghi possono venire acquistati, naturalmente, anche su Amazon o eBay, con spese di spedizione ormai irrisorie.

Non mostriamo link ai prodotti specifici a causa dell’elevato tasso di rotazione dei prodotti stessi su questi siti, ma cliccando sui link proposti sopra li troverete comunque. Dal momento che la piattaforma Arduino è open-source, le schede vendute online dai siti cinesi non sono vere Arduino. Sebbene questo sia legale, potrebbero non essere fatte con la stessa qualità delle vere schede Arduino e non funzionare come desiderato. Dato però che costano da 1/5 a 1/10 di quanto spenderemmo acquistandole in Italia, conviene comunque provarle, prima o poi.

Cosa vi occorre e lavoro preparatorio

A meno che non acquistiate un kit contenente già tutti i componenti seguenti, avrete bisogno di procurarvi i seguenti materiali, che a volte può essere necessario ordinare da fornitori diversi o perché hanno esaurito temporaneamente il pezzo che vi serve o perché, magari, avete optato per un sensore di particolato che non hanno in catalogo (questo vale per i siti specializzati, poiché su Amazon si trova quasi tutto):

  • una scheda Arduino (ad es. Arduino Uno R3 o Rev3, che è lo stesso)
  • uno o due sensori di particolato, uno per PM10 e l’altro per PM2,5 (ad es. lo Shinyei PPD42NS)
  • un cavetto con connettori per collegare il sensore alla scheda Arduino (di solito incluso)
  • cavetti singoli con connettori Maschio-Femmina (M-F) e M-M per le connessioni sulla scheda
  • un cavo per connettere la scheda Arduino alla porta USB di un PC
  • opzionale: un alimentatore da 5V per la scheda Arduino (in alternativa all’alimentazione via USB)

Nel caso del sensore Shinyei, occorre usare due sensori se si desidera monitorare sia il PM10 che il PM2,5, come nelle centraline professionali di qualità dell’aria. Infatti, ogni rivelatore Shinyei ha due uscite di segnale: una per il particolato piccolo e una per il particolato più grande. Lo potete ordinare, insieme alla scheda, sui siti per maker come Robot Italy (cercate “Grove – Dust Sensor”), Seed Studio, ma anche su Amazon, etc.

Si noti che la scheda creata dai co-fondatori del progetto Arduino è commercializzata, per tuttti i modelli ed i prodotti venduti al di fuori degli Stati Uniti, con il marchio Genuino, che certifica l’autenticità delle schede. Le schede Arduino condividono gli stessi componenti, le stesse caratteristiche e la stessa qualità delle schede Genuino, ma con tale marchio sono commercializzate negli Stati Uniti.

Una volta ordinati e arrivati questi pezzi, potete familiarizzare con la piattaforma Arduino, se non la conoscete. Innanzitutto, andate sul sito di Arduino (http://arduino.cc) e scaricate il relativo software gratuito, scegliendo naturalmente il programma che vi serve in base al tipo di sistema operativo che userete (Windows, Mac o Linux) e installandolo sul vostro computer.

Il software Arduino mentre esegue un semplice “sketch” didattico.

La piattaforma Arduino, infatti, è formata da due elementi essenziali: l’hardware, costituito dalla scheda (contenente un microprocessore programmabile) e il software, che va installato sul computer per programmare la suddetta scheda e che consiste in una serie di comandi da eseguire. Vi è, in realtà, anche un terzo elemento, la community su cui puoi fare affidamento se hai qualche problema.

I comandi che la scheda deve eseguire sono contenuti in uno sketch che scaricate da Internet e poi dovete caricare sulla scheda senza modifiche (almeno la prima volta) oppure previa modifica, se ad esempio volete apportare delle variazioni e imparare a programmare una scheda Arduino, cosa che comunque non è in realtà necessaria se trovate degli sketch già “pronti” per l’uso che vi serve.

Sappiate, comunque, che lo sketch è diviso a sua volta in due parti: il set up, che contiene le azioni che verranno eseguite al momento dell’accensione della scheda, e il loop, che contiene quei comandi che verranno continuamente ripetuti all’infinito. Inoltre, una volta caricato lo sketch, esso può venire eseguito anche a computer scollegato, se alimentate la scheda con un alimentatore adatto.

Assemblaggio corretto dell’hardware

Collega la scheda Arduino al tuo computer usando il cavo USB. Se non conosci già l’ambiente Arduino, familiarizza con alcuni dei piccoli “software” (chiamati sketch) che in generale puoi trovare già pronti per le applicazioni più comuni – i quali permettono alla scheda Arduino di “fare cose” (ad es. accendere un led a intermittenza) tramite prototipi di circuiti – e che puoi scaricare dal sito stesso di Arduino.

L’unica regola mentre stiamo facendo questa attività è: non attaccare mai fili o connettori o qualsiasi altra cosa sulla scheda Arduino mentre questa è alimentata, ad es. grazie al collegamento USB. Collegatela all’alimentazione solo quando tutti i fili sono in posizione e, se è necessario cambiare qualcosa, scollegate prima l’alimentazione. Se la scheda diventa calda, scollegatela, perché ciò è segno di un corto circuito, per cui occorre controllare gli errori nel cablaggio e ricollegarla una volta risolto il problema.

Se volete, nel sito web dell’EPA (trovate il link in bibliografia) potete scaricare uno sketch per il sensore Shinyei che permette di controllare di continuo se il sensore sta rivelando particelle o no. La quantità di inquinamento da particolato viene quindi determinata in base alla quantità di tempo in cui il sensore rileva particelle. Arduino accende quindi dei LED in base a quante particelle vede: 1 LED per un basso numero di particelle, 2 LED per una quantità moderata di particelle e 3 LED per una quantità elevata.

Il circuito proposto dall’EPA indica il livello di particolato con dei led. L’immagine mostra anche come devono essere collegati i tre fili del sensore alla scheda Arduino (fonte: EPA)

Quindi ciò che dovete fare, dopo aver preso confidenza con la scheda e con gli sketch di semplici applicazioni magari implementate con l’utilizzo di una cosiddetta “breadbord” per montare i circuiti dei vostri prototipi (se avete difficoltà nell’uso di Arduino, potete guardare qualche video introduttivo su YouTube), è procurarvi lo sketch adatto per il vostro sensore di particolato, che potete facilmente trovare con una ricerca su Google oppure in altri siti web dedicati all’argomento.

Un rilevatore di particolato usa un LED a infrarossi e un fotorilevatore per misurare la dispersione di particelle di piccole dimensioni presenti nell’aria. L’immagine qui sotto mostra un tipico sensore come lo Shinyei, di produzione giapponese. Poiché l’aria calda sale, un riscaldatore fa fluire l’aria attraverso il sensore. Perciò, il sensore deve venire montato verticalmente. Un LED illumina le particelle e la quantità di luce che viene deviata dalle particelle viene misurata da un recettore di luce.

La struttura interna di un sensore di particolato low cost come lo Shinyei. Sono anche indicati i pin sul sensore, per un facile e veloce collegamento dei fili alla scheda Arduino.

Questo tipo di rilevatore di particolato, in genere, vede particelle di diametro superiori a 1 micrometro, il che rende il sensore evidentemente più sensibile alle particelle più grandi, come la polvere, e meno sensibile alle particelle molto piccole che si formano nel fumo. Non a caso, sensori del genere vengono usati in alcuni apparecchi indoor per rivelare la necessità di purificare l’aria.

I circuiti interni trasformano l’uscita del fotorilevatore in segnali di uscita digitali. Normalmente il sensore emette un segnale a +5V, ma quando rileva delle particelle emette un impulso a bassa tensione (inferiore a 0,7 V). La frazione di tempo per la quale il segnale di uscita è basso o la cosiddetta “percentuale di occupazione dell’impulso basso” è proporzionale alla concentrazione di particolato nell’aria.

Cosa è la “percentuale di occupazione dell’impulso basso” (fonte: Shinyei)

Se quindi volete rivelare il livello di particolato nell’aria, dovete collegare il relativo sensore alla scheda Arduino. Lo schema qui sotto mostra il collegamento nel caso del sensore Shinyei. Ogni rivelatore Shinyei ha due uscite di segnale: una per il particolato piccolo (filo giallo al pin 4, o P1) e una per il particolato più grande (pin 2, o P2). Questi segnali di uscita vanno collegati agli ingressi digitali di Arduino.

Il rivelatore va alimentato fornendo + 5 V e massa collegandolo ai rispettivi piedini della scheda Arduino. In pratica, il filo nero proveniente dal sensore (pin 1) sarà collegato a GND sulla scheda, ed il filo rosso (pin 3) a 5VDC sulla scheda, mentre il filo giallo relativo al tipo di particolato che vogliamo rivelare (pin 4 o P1 per il PM10; pin 2 o P2 per il PM2,5, che consigliamo) andrà sull’ingresso digitale al pin 8 (D8). Il funzionamento di questo sensore, infatti, implica il campionamento, una funzione svolta solo da D8.

Primo uso del rivelatore di particolato

Le righe di codice per l’estrazione di dati grezzi dal dispositivo contenute nello sketch che dovrete procurarvi – come, ad esempio, quello di Seed Studio che trovate in bibliografia – fornirà le percentuali di “occupazione degli impulsi bassi” di un sensore come lo Shinyei PPD42 (o direttamente il valore stimato del particolato). Infatti, come detto, la frazione di tempo per la quale il segnale di uscita è basso – ovvero la “percentuale di occupazione dell’impulso basso” – è proporzionale alla concentrazione di particolato nell’aria.

Se lo sketch da voi trovato, o realizzato con l’aiuto di qualche maker, invia i dati a un display, basterà che vi procuriate un display LCD e le relative librerie e avrete finito, almeno per quanto riguarda il poter avere i primi dati grezzi dallo strumento appena realizzato. Se invece lo sketch – come è più probabile, invia i dati solo al vostro computer, a meno che non sappiate fare un programma per realizzare un grafico in tempo reale, potete graficare real-time con MegunoLink Pro i dati forniti dal rivelatore.

Un esempio di dati di Arduino acquisiti con il software MegunoLink per fare grafici.

MegunoLink è uno strumento di interfaccia personalizzabile per fare i grafici con i dati forniti da una scheda Arduino. La finestra di MegunoLink può essere riconfigurata per adattarsi alla propria applicazione. Inoltre, si possono aggiungere dei controlli “virtuali” alla scheda. I grafici possono essere facilmente copiati negli Appunti come immagini. Ed i dati numerici di ogni grafico possono venire esportati in Excel o in altro software per ulteriori analisi. Si può scaricare la versione free per una prova gratuita.

Il fatto che si possano facilmente esportare i dati con Excel è molto utile, poiché il sensore Shinyei ha un elevato “rumore”, come si vede anche dalle elevate fluttuazioni nei valori acquisiti dal sensore alla massima risoluzione temporale (v. figura sopra). Quindi, possiamo far emergere l’andamento del livello di particolato nell’aria calcolando con Excel un’opportuna media mobile dei dati grezzi per PM10 e PM2,5 (v. figura sotto). Ovviamente, nei rivelatori più sofisticati viene calcolata la media ad es. ogni 5 minuti e mostrato tale dato.

Il rumore del sensore (in alto) e l’utilità di calcolare una media dei dati (in basso).

Ma come trasformare i valori grezzi forniti dal sensore di particolato – ovvero la percentuale di occupazione dell’impulso basso – in dati scientificamente significativi? Per stimare le concentrazioni di particolato, potete utilizzare, per il fumo di sigaretta, la curva caratteristica fornita nel datasheet del sensore (v. figura qui sotto) e, per l’inquinamento, le informazioni contenute in un articolo scientifico di David Holstius, intitolato Field calibrations of a low-cost aerosol sensor at a regulatory monitoring site in California.

La curva caratteristica del sensore per il fumo di sigaretta all’uscita per il PM10 (pin 4 o P1).

Tale articolo mette in correlazione le uscite del sensore di polvere PPD42 di Shinyei con le misurazioni effettuate da una delle centraline fisse di monitoraggio della qualità dell’aria appartenenti alla rete nazionale statunitense gestita dall’Agenzia per la Protezione dell’Ambiente (EPA). Il grafico qui sotto, tratto dal lavoro in questione, mostra la linea di adattamento migliore per i dati. In pratica, potete approssimare la concentrazione di PM2,5 in microgrammi per metro cubo come:

PM2,5 (μg/mc) = 5 + 5 x (percentuale di occupazione dell’impulso basso su P2 o pin 2)

La curva di calibrazione del sensore Shinyei ottenuta con una centralina dell’EPA.

Dunque, il vostro rivelatore di particolato è già pronto per fornire ottime misure relative: ad esempio, per far vedere come i valori aumentino quando ci si avvicina a una sorgente di polveri sottili oppure quando si passi da un ambiente indoor a uno outdoor. Infatti, lo Shinyei può rivelare fino a 28.000 particelle/litro (pcs/L) per il PM2,5 e fino a 8000 pcs/L per il PM10. Tuttavia, a livello di valore assoluto, le misure ottenibili in questa fase si possono considerare valide soltanto in prima approssimazione.

Calibrazione per avere misure “assolute”

Se volete avere valori assoluti corretti e non solo relativi, la calibrazione del rivelatore di particolato è necessaria – come per qualsiasi strumento di misura – anche solo per tenere conto delle variazioni nei componenti, e soprattutto perché l’intensità di luce fornita dal LED e la sensibilità del fotodiodo non sono uguali in tutti i sensori, ed inoltre la prima tende a degradare nel tempo con l’uso (in sensori come ad es. lo Sharp GP2Y1010AU0F – che sconsigliamo – si ha un degrado del 50% in 5 anni).

Pertanto, non soltanto dovrà essere effettuata la calibrazione iniziale del proprio rivelatore di particolato con l’esposizione alle fonti che vi interessano in parallelo a strumenti standard ma, se l’utilizzo del rivelatore è esteso durante l’anno, tale operazione va ripetuta ogni 12 mesi, per evitare il rischio di sottostimare il livello effettivo di inquinamento da particolato.

La calibrazione del proprio rivelatore di particolato può venire fatta all’aperto misurando i vari possibili livelli di inquinamento dell’aria in parallelo con uno strumento di livello professionale. Non può venire invece usata come riferimento una centralina dellARPA, non tanto perché in pratica il relativo sito web fornisce i dati “del giorno prima”, ma perché essi sono soltanto una media giornaliera. Si noti, inoltre, che il sensore Shinyei necessita di un tempo di stabilizzazione di 3 minuti dopo l’accensione.

A priori, dunque, riguardo il sensore dovremmo essere scettici su qualsiasi legame quantitativo con particelle reali. Ciò perché qui si applicano i soliti problemi tipici dell’interpretazione dello scattering ottico. Le proprietà di scattering ottico degli aerosol variano ampiamente tra le diverse classi di particelle. Inoltre, si osserva in generale una notevole variazione all’interno di un aerosol eterogeneo di un tipo o da una fonte, dipendente da una serie di fattori e mutevole anche nel corso del tempo.

Nel caso del sensore Shinyei, non si tratta di un contatore di particelle – nel senso  che conta gli impulsi causati dalle singole particelle – né è un fotometro, che quantifica il livello generale di diffusione della luce in un volume più grande. È un ibrido. In pratica, la sua elettronica suggerisce che la risposta è una media di nuvole di molte particelle più piccole o di meno particelle più grandi che passano attraverso l’area di rilevamento in una concentrazione sostenuta abbastanza grande da spingere uno o entrambi i segnali del PM10 e del PM2,5 oltre le loro soglie per fornire un impulso alle uscite P1 o P2.

Se incontrate delle difficoltà durante la realizzazione del progetto, potete rivolgervi al FabLab più vicino o alla community di Arduino, che conta migliaia di appassionati anche in Italia.

 

Riferimenti bibliografici

One comment

  1. Complimenti, ottimo articolo, ricco di info utili. e finalmente qualcuno che mette i riferimenti biblio. veramente ottimo.
    Anche il sito in generale è una miniera di informazioni
    Grazie.
    Danilo.

Rispondi a Danilo Reale Annulla risposta

Il tuo indirizzo email non sarà pubblicato.