di Giuseppe la Rosa
Un preciso strumento che permette di tenere sotto controllo l’umidità relativa dell’aria e la temperatura ambientale. Dispone di un Display LCD 20×4 per la visualizzazione del grado di umidità e temperatura, di un tastierino per l’impostazione del valore dell’umidità e della temperatura desiderata e di due uscite a Relè per pilotare umidificatori e riscaldatori.
Il Termo-Igrostato è uno strumento molto utile in molti processi industriali e agricoli. Accoppiato ad umidificatori (a vapore, ultrasuoni) e a riscaldatori, è in grado di tenere sotto controllo il grado di umidità relativa (%Rh) e la temperatura (°C) ambientale.
[iscritti]
Esso può essere utilizzato per il controllo dell’umidità e della temperatura nelle serre di coltura, siano esse dedicate a specie rare di fiori o alla normale insalata. Questo dispositivo è indispensabile pure per garantire una temperatura e un’umidità costanti all’interno di terrari e incubatrici.
Viene spesso adoperato anche in molti processi industriali, nei quali c’è la necessità di rispettare certi valori di umidità e temperatura in maniera molto precisa come, ad esempio, nelle celle di lievitazione per il pane. Nel prossimo paragrafo analizzeremo nel dettaglio il funzionamento di questo dispositivo.
Il sensore DHT11
Il sensore DHT11 fornisce in uscita un segnale digitale proporzionale alla temperatura e all’umidità misurata dal sensore stesso. La tecnologia con cui è realizzato il sensore DHT11 assicura un’elevata affidabilità ed un’eccellente stabilità a lungo termine, nonché tempi di reazione molto rapidi. Ogni esemplare del DHT11 è accuratamente calibrato in laboratorio. Il coefficiente di calibrazione è memorizzato in una memoria OTP (One Time Programmable) interna e tale valore è utilizzato durante il processo di acquisizione. L’interfaccia seriale a singola linea rende semplice e veloce l’integrazione del sensore in sistemi a microcontrollore. Il sensore si interfaccia con l’esterno tramite un connettore a 3 piedini a passo 2,54 mm: +5V, GND e DATA (vedi Figura 2).
I primi due sono l’alimentazione e la massa necessaria per il funzionamento del dispositivo.
Il terzo piedino è quello del segnale utilizzato per comunicazione seriale verso il mondo esterno. Le sue ridottissime dimensioni (26,7×17,8 mm) ed il suo peso assai contenuto (solo 2,7 g) ne fanno la periferica ideale nei sistemi di monitoraggio ambientale.
Il circuito elettrico
In Figura 3 vediamo lo schema elettrico del Termo-Igrostato. Iniziamo la descrizione dal circuito di alimentazione. L’intero circuito funziona con una tensione di 12 V, assorbendo una corrente di circa 1 A. Pertanto è necessario che la sorgente di alimentazione sia in grado di fornire tale intensità di corrente. Per questo progetto è stato usato il comune integrato stabilizzatore L7805CV (IC1); esso fornisce la tensione a 5 V necessaria ad alimentare il microcontrollore IC2, il Display LCD 20×4 e il sensore DHT11, mentre la tensione per alimentare i due Relè K1 e K2 viene prelevata direttamente dall’ingresso del connettore J3.
Il microcontrollore IC2 (ATMEGA328P Arduino UNO) gestisce tutte le operazioni di comunicazione con il Display LCD 20×4 e il sensore DHT11. Il Display (collegato al connettore X4) è messo in comunicazione al microcontrollore tramite un modulo d’interfaccia I²C, che consente al Display LCD 20×4 con sole 2 linee di comunicazione (AD4 e AD5) di essere controllato tramite interfaccia I²C, quindi di ridurre il numero di I/O richiesti da questi Display LCD. L’I²C è un Bus bidirezionale di tipo seriale Multi – Master in cui più dispositivi possono assumere il controllo del Bus stesso.La trasmissione dei dati avviene, come accennato, per mezzo di due sole linee denominate rispettivamente SDA (Serial Data pin AD4) e SCL (Serial Clock pin AD5). Sulla prima viaggiano effettivamente i Bit d’informazione che microcontrollore e Display si scambiano; sulla seconda linea viaggia il segnale di Clock, generato sempre ed esclusivamente da un Master (IC2), il cui scopo è quello di sincronizzare i dispositivi stabilendo la validità e il significato dei Bit presenti sulla linea dati. Il sensore di temperatura e umidità relativa DTH11 (connesso al connettore X3) si interfaccia al microcontrollore tramite una sola linea di comunicazione (il pin IO2, DATA) fornendo un segnale seriale proporzionato alla temperatura e all’umidità misurata dal sensore. Al connettore J4 è connessa una tastiera in policarbonato a quattro tasti (normalmente aperti) utilizzata per il settaggio della temperatura di soglia e dell’umidità relativa. Il circuito di attuazione è composto dai Relè K1 e K2 essi sono pilotati dai Transistor T1 e T2 la cui base è connessa rispettivamente ai piedini IO7 o IO8. Il Relè K1 attiva il riscaldatore collegato al morsetto X2-3 e X2-4, mentre il Relè K2 attiva l’umidificatore connesso al morsetto X2-1 e X2-2. Nel prossimo paragrafo passiamo alla descrizione del Firmware e funzionamento del nostro Termo igrostato.
Firmware e Funzionamento
Il Firmware per il controllo della scheda è stato scritto in linguaggio C per Arduino UNO e ne è possibile il download al Link che troverete a fine articolo, completo delle librerie per il modulo I²C per il Display LCD e della libreria del sensore DHT11. Prima di passare alla compilazione bisogna installare le due librerie nell’IDE di Arduino UNO 1.0.1 e alla fine si può proseguire con la compilazione. Eseguita la compilazione con l’IDE di Arduino UNO 1.0.1 si può programmare la scheda se si dispone di un ATMEGA328P già con Bootloadercaricato si può passare al caricamento del Firmware tramite un convertitore seriale USB/TTL da collegare al connettore J2 presente sulla scheda, altrimenti prima bisogna caricare il Bootloader tramite un programmatore che va collegato al connettore J1.
Il funzionamento del Termo-Igrostato è molto elementare: tramite i tasti 1 (decrementa) e 2 (incrementa) del tastierino si può variare la temperatura di soglia del termostato, mentre con i tasti 3 (decrementa) e 4 (incrementa) si può modificare il limite dell’umidità relativa (vedi Figura 7).
Come si deduce dalla Figura 7 il Display LCD è stato diviso in due parti: nella porzione di sinistra si trovano tutti i parametri riguardanti la temperatura, mentre nella parte destra si trovano tutti i parametri inerenti all’umidità relativa.
Nella parte superiore delle due suddivisioni vengono visualizzate la temperatura (a sinistra) e l’umidità (a destra) istantanee, mentre più in basso si possono leggere le soglie fissate (sotto SET) rispettivamente per temperatura e umidità.
I due quadratini che si trovano in entrambe le parti del Display indicano rispettivamente l’accensione dei carichi collegati ai due Relè.
Con il quadratino vuoto si intende carico-disinserito, mentre con il quadratino pieno carico-inserito. In questa applicazione è stato necessario l’utilizzo dell’EPROM interna del microcontrollore ATMEGA328P per il salvataggio dei due valori di soglia di temperatura e umidità; questo permette di evitare la riprogrammazione dei due valori in caso di interruzione dell’energia elettrica.
È stata prevista nel sorgente pure l’isteresi che è possibile modificare in base alle proprie necessità, vedi riga 244 (accensione) e 263 (spegnimento) del listato per la variazione del valore dell’isteresi della temperatura.
Per quanto riguarda l’isteresi dell’umidità relativa, le modifiche vanno apportate alle righe 272 (accensione) e 291 (spegnimento).
Nel sorgente è stato adottato un valore d’isteresi di 0,1 per entrambe le grandezze. È raccomandato di non superare il valore di 0,9 perché il sistema diventa poco reattivo e crea sbalzi di temperatura e umidità troppo elevati. Dopo questa breve descrizione relativa al funzionamento del Firmware. Nel prossimo paragrafo procederemo alla descrizione delle fasi della realizzazione pratica.
Realizzazione Della Scheda e Collaudo
Passiamo adesso alla costruzione della scheda, che si presenta abbastanza semplice. È del tipo a doppia faccia con fori metallizzati e si prepara a partire dalle tracce di Figura 5.
Ottenuto il circuito stampato, iniziate a montare i componenti sulla scheda (seguendo il piano di montaggio Figura 4) e i componenti richiesti dall’“Elenco componenti”.
Per prima cosa saldate il piccolo fusibile F1 in contenitore SMD. Inserite tutte le resistenze come da “Elenco componenti”, proseguite con i diodi: D1, D2, e D3. Saldate lo zoccolo per l’integrato IC2, proseguite con i condensatori non polarizzati e poi gli elettrolitici, il quarzo Y1, gli STRIP J1, J2 e X3 maschi, i LED, i connettori X4 e J3, poi i transistor T1 e T2, IC1, ed i Relè K1 e K2, infine i morsetti X1 e X2.
Elenco componenti | |
R1 | Non utilizzata |
R2 | 470 Ω 1/4 W |
R3 | 10 KΩ 1/4 W |
R4 | 680 Ω 1/4 W |
R5÷R6 | 4,7 KΩ 1/4 W |
R7 | 680 Ω 1/4 W |
C1 | 100 µF 35 V elettrolitico |
C2 | 100 nF poliestere |
C3÷C4 | 100 µF 35 V elettrolitico |
C5÷C6 | 22 pF ceramico |
C7÷C9 | 100 nF poliestere |
C10÷C11 | 100 µF 35 V elettrolitico |
C12 | 100 nF poliestere |
D1÷D3 | 1N4007 diodo |
T1÷T2 | BC337 |
IC1 | L7805CV |
IC2 | ATMEGA328P |
LED1÷LED2 | LED 5 mm rosso |
LED3 | LED 5 mm verde |
Y1 | Quarzo 16 MHz |
K1÷K2 | Relè 12 V/6 A |
S1 | Pulsante c.s. |
J1 | Strip maschio 3+3 pin |
J2 | Strip maschio 5 pin |
J3 | Presa DC 90° 5,5×2,1 mm |
J4 | Strip maschio 5 pin |
X1 | Morsetto 2 poli |
X2 | Morsetto 4 poli |
X3 | Strip maschio 3 pin |
X4 | Connettore 4 poli maschio c.s. |
F1 | Fusibile 1 A SMD 1206 |
N.1 | Zoccolo 14+14 pin |
N.1 | Display LCD 20×4 blu |
N.1 | Modulo I2C per Display LCD 20×4 |
N.1 | Tastierino 1×4 |
N.1 | Sensore DHT11 |
N.1 | Cavetto 3 poli |
N.1 | Cavetto 4 poli |
N.4 | Distanziali M3x7 mm |
N.9 | Dadi M3 |
N.4 | Vite svasata M3x6 mm |
N.1 | Vite M3x15 mm |
N.1 | Casetta di der. pareti lisce 190x104x70 mm |
Terminato il montaggio della scheda, il risultato che otterrete si presenta simile alla Figura 8. Effettuate il collaudo, ma non prima di aver eseguito la predisposizione delle soglie di intervento della scheda come descritto nel paragrafo seguente. Operate il collegamento del Display, del sensore e del tastierino come è rappresentato in Figura 6.
Usate un alimentatore a 12 V in grado di fornire una corrente di almeno 1 A. Se non possedete un alimentatore stabilizzato potete usare anche un alimentatore non regolato, ovvero un alimentatore dotato di trasformatore, ponte diodi e condensatore di filtro, dato che la scheda è già dotata di un regolatore a 5 V. Il collaudo è banale, basta collegare un riscaldatore (ad esempio un asciugacapelli) al morsetto X2-3 e X2-4 e un umidificatore (ad ultrasuoni) al morsetto X2-1 e X2-2. Impostate le due soglie tramite tastierino, mettete il sensore DHT11 nelle vicinanze dei due utilizzatori e vedrete nel momento in cui la temperatura e l’umidità si abbassano, che gli utilizzatori saranno azionati al fine di ripristinare la temperatura e l’umidità ai valori memorizzati nell’Eprom. Il progetto è stato pensato per uso industriale, perciò è preferibile usare una cassetta di derivazione a pareti lisce come in Figura 1. Per facilitare il taglio del contenitore è stata realizzata una dima di foratura (a grandezza naturale) per l’alloggiamento del Display e del tastierino, completa di mascherina che potete scaricare usando i link posti alla fine dell’articolo.
In Figura 7 sono illustrati i principali passaggi per eseguire la foratura del contenitore; si raccomanda, per il fissaggio del Display, di praticare i quattro fori di bloccaggio con la svasatura e poi utilizzare viti a testa conica per l’ancoraggio del visualizzatore stesso: questo agevola l’ancoraggio della mascherina al contenitore.
È possibile realizzare il progetto anche su una basetta mille fori, impiegando una scheda di sviluppo Arduino Uno e seguendo lo schema elettrico di Figura 3, in quanto compatibile al 100% con Arduino Uno.
Conclusione
Il Termo-Igrostato non è destinato soltanto all’utilizzo in ambito industriale ma, al contrario, può essere utilizzato per il controllo di temperatura e umidità di piccoli rettilari casalinghi e incubatrici artigianali. Di seguito trovate tutti i Link per scaricare i File per la realizzazione del progetto.
Guarda il video del progetto in funzione:
https://www.youtube.com/watch?v=SZ2lT_usgbI