Qualche tempo fa ho iniziato a sperimentare i metodi migliori per pilotare carichi di potenza con l’Arduino e quale occasione migliore della costruzione di una multipresa telecomandata per mettere in pratica su una realizzazione completa l’esperienza accumulata durante gli esperimenti?
ATTENZIONE: In questo articolo si trattano argomenti che riguardano l’utilizzo della rete elettrica a 220V. I circuiti e i prototipi che seguono presentano parti non isolate a 220V che se incautamente maneggiati comportano rischio di morte. Nel caso non possediate le conoscenze minime necessarie per maneggiare circuiti in alta tensione non procedete nella realizzazione di quanto esposto. Si declina ogni responsabilità.
Le caratteristiche principali
Per prima cosa ecco le caratteristiche principali che la multipresa dovrà avere:
- Controllo da remoto tramite telecomando a infrarossi (IR)
- Configurazione flessibile del telecomando IR
- Controllo indipendente delle singole prese (on, off, toggle)
- Definizione e controllo di gruppi di prese (on, off, toggle)
- Memorizzazione di una configurazione di “startup”
- Memorizzazione dell’ultima configurazione in caso di black-out
Linee iniziali del progetto
La caratteristica principale della multipresa è la possibilità di gestire l’accensione e lo spegnimento di apparecchiature che funzionano a 220V/10A. Da questa considerazione si può immediatamente definire uno dei componenti principale di questa realizzazione: il relay(o relè) di controllo che alimenterà o scollegherà ogni signola presa.
Relay di controllo della presa
Per questa realizzazione ho scelto un HF115F-H che presenta un avvolgimento pilotabile a 5VDC e un circuito di commutazione che presenta un deviatore capace di alimentare un carico da 220VAC 10A. Di questo deviatore noi utilizzeremo solo il contatto normalmente aperto (NA) come interruttore.
Figura 2: Estratto datasheets
L’HF115F presenta una resistenza dell’avvolgimento pari a 100Ohm che, a 5 V, significa una corrente durante l’eccitazione pari a 50mA.
Per poter quindi pilotare questo relay da Arduino è necessario uno stadio intermedio costituito da un transistor da configurare in commutazione.
Stadio pilota dei relay
Come accennato, il relay richiede una corrente di 50 mA, decisamente superiore a quella erogabile da un pin di Arduino (40 mA); anche la corrente totale assorbita dai cinque canali, 250 mA, è decisamente superiore ai 200mA totali erogabili dal ATmega328.
Fiugra 3: Schema 2n2222 con rb, relay e diodo flyback
Per questo progetto la scelta è caduta su un 2N2222, transistor da commutazione NPN collegato come illustrato nella Figura 3.
Sulla base del transistor è collegata una resistenza da 220 Ohm detta resistenza di base che a sua volta sarà collegata al pin di Arduino responsabile dell’accensione/spegnimento della singola presa.
Note sulla resistenza di base:
La resistenza di base consente di far scorrere tra base ed emettitore la giusta corrente per mandare il transistor in saturazione quando il pin di Arduino sarà a +5V e di conseguenza eccitare il relè. Viceversa con il pin a 0V il transistor sarà in interdizione e il relè rimarrà a riposo.
Quando il pin sarà HIGH il relè sarà eccitato, il circuito di commutazione del relè che abbiamo usato sarà chiuso e la presa sarà alimentata; quando il pin sarà LOW il relè sarà a riposo, il circuito di commutazione aperto e la presa non alimentata.
Nell’articolo Pilotare dispositivi di potenza con Arduino si possono scoprire tutti i dettagli di come progettare lo stadio pilota.
Note sull’avvolgimento del relay
Essendo l’avvolgimento del relay un carico induttivo accumula energia quando è alimentato e la rilascia quando si toglie l’alimentazione. Per evitare che questa energia si scarichi sul transistor danneggiandolo è consigliabile collegare ai capi dell’avvolgimento un diodo, tipo 1N4003, con il catodo rivolto verso il + e l’anodo verso il -. Questo diodo detto di flyback protegge il transistor dalle sovratensioni che l’induttanza generara sul collettore.
Sezione alimentazione
Come si verà più avanti, per poter far entrare tutto il necessario in una multipresa, è stato obbligatorio rimuovere l’ATmega 328, microcontrollore alla base della piattaforma Arduino, dalla sua scheda nativa e installarlo su un socket montato su una millefori in una configurazione “stand-alone”.
Questo richiederà l’impiego di una sezione di alimentazione che sia in grado di produrre 5V stabili a partire dai 220V disponibili nella multipresa.
Figura 4: La sezione alimentazione
L’obiettivo sarà raggiunto utilizzando un alimentatore estratto da un caricatore per cellulari e montato sulla millefori principale.
Dispositivi di input
Si, forse il nome è un po’ altisonante ma per consentire la prima configurazione del sistema e il successivo utilizzo è necessario prevedere un modo attraverso il quale comunicare con la multipresa:
- I pulsanti hardware
- Il ricevitore IR
I pulsanti hardware
Nel progetto sono previsti due pulsanti fisici collocati sulla parte superiore della multipresa: Enter e Move. La loro funzione è quella di permettere la navigazione attraverso le opzioni di impostazione della configurazione iniziale (in particolare la rilevazione dei codici IR del telecomando che utilizzeremo).
Figura 5: Microswitch per la configurazione
Utilizzerò dei microswitch normalmente aperti come quelli in Figura 5 perché facili da integrare in ambienti angusti. Possono essere utilizzati pulsanti di altro tipo, sempre che si trovi un posto per collocarli!
Il ricevitore IR
Una volta effettuata la configurazione iniziale, tutte le operazioni di routine verranno eseguite utilizzando il telecomando a infrarossi.
Figura 6: Il demodulatore per infrarossi
(Fonte: Vishay Semiconductors Datasheet)
Per demodulare i segnali provenienti dal telecomando utilizzerò un TSOP2438, molto comodo e compatibile con le librerie Arduino già disponibili nell’ide. Il ricevitore sarà montato al termine di un cavo che consentirà di posizionarlo distante dalla multipresa (ad esempio perché nascosta dietro un mobile e non raggiungibile dagli IR).
Dispositivi di output
Il problema di comunicare con l’utilizzatore non è di banale risoluzione e sarà affidato a:
- Il led di segnalazione
- Un TV mediante l’uscita video composito
Led di segnalazione
Quando l’utilizzatore agisce con il telecomando il led lampeggia in modo differente per indicare la ricezione di un comando di accensione, spegnimento o toggle di una presa o gruppo. Questo led di segnalazione si trova vicino al ricevitore di infrarossi in modo da essere sempre visibile anche se la multipresa dovesse essere nascosta ad esempio dentro o dietro un mobile.
Uscita video composito
Soprattutto durante la fase di inizializzazione le informazioni da scambiare con l’utilizzatore non sono poche. Doterò per questo la multipresa di una uscita video composito collegabile a un qualsiasi televisore sul quale visualizzare comodamente dettagliati menu interattivi.
Figura 7: Schermata principale del menu
Il contenitore esterno
Per poter iniziare a ragionare sul prodotto finito sono partito scegliendo una multipresa “di base” che potesse essere modificata agevolmente e ospitare al suo interno tutti i componenti necessari.
La scelta è caduta sulla multipresa GBC a 6 posizioni con cavo e interruttori indipendenti (Cod. 22.0576.00) riportata nella Figura 8 principalmente perché i relay che ho pensato di utilizzare sarebbero entrati agevolmente al posto degli interruttori indipendenti delle varie prese e la logica di controllo sotto l’etichetta gialla.
Figura 8: La multipresa di base
Schema elettrico del progetto
Il progetto entra nel vivo ed è il momento di formalizzare la piattaforma hardware.
Figura 9: Schema elettrico del progetto
(Cliccare sull’immagine per ingrandire)
Da questo schema elettrico ho volutamente omesso per semplicità i collegamenti dell’ATmega328 all’alimentazione. Si faccia riferimento all’articolo “ATmega328 Standalone” per i dettagli sulla alimentazione del microcontrollore.
Per ora è tutto, nei prossimi post alcuni consigli per la costruzione e il codice dello sketch Arduino per la gestione della Multipresa IR commentato blocco per blocco.
Non dimenticate di seguirci su Twitter e Google+ per essere sempre aggiornati sui nuovi post di Sisuino Blog!
Lascia un commento