Sen6-PDU: una Power Distribution Unit “smart”
Generalmente, quando si parla di PDU si intende quasi sempre un box in grado di fornire energia elettrica a dispositivi multipli da una singola sorgente di potenza. Una sorta di multipresa più elegante, in grado di essere installata in un rack di apparecchiature. Ma non è questo il caso di specie.
Ci siamo trovati infatti nella necessità di avere un sistema programmabile, equipaggiato con almeno 12 prese di corrente tutte singolarmente controllabili da remoto, che potesse essere integrato in un sistema di Home Automation (Node Red) esistente, dotato inoltre di un’indicazione dell’energia totale assorbita dalle utenze.
L’unità avrebbe dovuto gestire un impianto multimediale e altri apparecchi (amplificatori audio, matrice HDMI, decoder TV-SAT, ventilatori, lettore audio, ecc.)
È così che è nato il progetto di Sen6-PDU.
Il contenitore
Si iniziò a verificare la disponibilità di un contenitore adeguato. L’idea era quella di trovare sul mercato una PDU economica da cui rimuovere i componenti, riciclando il necessario, ma il requisito delle 12 prese singole si è subito dimostrato un vincolo non disponibile facilmente sul mercato. Inoltre, le PDU commerciali solitamente non disponevano all’interno dello spazio necessario per alloggiare tutta la componentistica elettronica.
A quel punto la decisione fu drastica: contattare un fabbro il quale, con i disegni del contenitore, avesse potuto realizzarlo da zero. Le immagini mostrano il contenitore appena realizzato, in lamiera di metallo, e successivamente verniciato.
La questione “smart”
Il requisito principale del progetto, quindi, era quello di rendere le 12 prese tutte singlarmente comandabili da remoto in modo da consentire una facile integrazione nel sistema di Home Automation. La soluzione più efficiente sembrò quindi subito l’uso del protocollo di comunicazione MQTT, mentre per l’hardware la scelta è caduta sul microcontrollore ESP32 il quale dispone di circuiti per la connessione WiFi. Inoltre l’ESP32 è dotato di 36 uscite GPIO che possono essere usate per vai scopi (relè, sensori, comunicazioni con altri dispositivi, ecc.). Ne abbiamo scelto un modello con un connettore per antenna esterna installato sul circuito in quanto – essendo il contenitore metallico – non era chiaro se la sensibilità dell’antenna interna del dispositivo fosse sufficiente per collegarsi all’Access Point più vicino.
Invece che sviluppare un software specifico, si è preferito installare il firmware Tasmota sull’ESP32. Questo perchè Tasmota già fornisce sufficiente affidabilità, configurabilità e stabilità dimostrata negli anni e nei continui aggiornamenti di sicurezza e di espansione. Inoltre fornisce un completo supporto alla comunicazione MQTT per qualsiasi comando, disponendo infine di un utilissimo servizio di telemetria.
Per gestire le prese di uscita, si è scelto di impiegare 3 moduli relè da 4 canali ciascuno, dotati di opto-isolatori tra il circuito AC e quello DC. Ciascun relè è in grado di pilotare un’uscita a 200 volts fino a 10 Ampere, quindi il dimensionamento del circuito di uscita ha dovuto tenere conto di questo dato. La scelta dei moduli relè rende il progetto veramente scalabile: sarà sufficiente installare più o meno moduli per personalizzare il numero delle uscite alle proprie necessità.
Monitoraggio energetico
Una volta disegnato lo schema del progetto completo, è sorta la domanda: “Perché non riportare anche il consumo energetico totale?“. Il monitoraggio energetico dell’intero carico su tutte le prese sarebbe stata un’informazione utile. Dopo una rapida ricerca, la scelta è caduta sul modulo PZEM-004T, il quale è in grado di misurare quattro grandezze elettriche correlate come tensione, corrente, potenza ed energia con una precisione dello 0,5%. Il sensore è composto da un trasformatore di corrente toroidale che rileva i parametri e da una piccola scheda elettronica che comunica con l’ESP32 tramite un protocollo seriale TTL nei pin RX/TX. La scheda è isolata elettricamente dal canale AC tramite 2 optoisolatori.
Poiché il sensore è progettato per funzionare a 5 V, ma i GPIO dell’ESP32 possono gestire solo fino a 3,3 V, si è dovuto ridurre il valore di una resistenza sulla scheda, per conentire di scendere a 3,3 V con l’alimentazione.
Il PZEM-004T è inoltre compatibile anche con il firmware Tasmota, quindi la scelta si dimostrava corretta.
Schemi e configurazione
Sebbene possa sembrare complesso, lo schema è fondamentalmente semplice. L’alimentatore è uno switching 220v-12v, che alimenta direttamente i 3 moduli relè. Un convertitore step-down è impiegato per alimentare l’ESP32 e il PMEZ-004T.
La configurazione dell’ESP32 è mostrata nelle immagini: 12 GPIO sono collegati direttamente ai rispettivi ingressi dei moduli relè, mentre TX e RX sono inversamente collegati ai rispettivi RX e TX del PZEM-004T. La configurazione dell’ESP32 è stata poi completata con l’assegnazione dell’indirizzo del broker MQTT.
Home Automation
Nell’immagine è mostrato lo screenshot di un’implementazione parziale di Node Red per la PDU. Oltre ai 12 controlli per comandare direttamente le prese, ci sono diversi altri flussi. Ad esempio, uno di essi gestisce solo un sottogruppo di prese: questo perché spesso non è necessario accendere/spegnere tutte le 12 prese contemporaneamente, ma è possibile definire uno o più gruppi (es.: rack audio, rack video dispositivi, ecc.) da utilizzare individualmente.
Un altro flusso si occupa di un dispositivo specifico che ha una propria procedura di accensione (ovvero: deve essere acceso solo 30 secondi dopo l’accensione del dispositivo correlato). Ogni presa può quindi essere assegnata individualmente a un calendario ON/OFF programmato. La potenza del protocollo di comunicazione MQTT consente di avere una flessibilità illimitata nell’utilizzo di questa smart PDU.
Specifiche tecniche
Modello: | Sen6-PDU (twelve) |
Tensione di ingresso: | 100-240 VAC |
Uscita: | 100-240 VAC / 10A |
Comunicazione: | WiFi 2Ghz |
Protocolli di rete: | TCP/MQTT |
Prese: | 12 |
Dimensioni: | 250x500x60 mm |
Monitoraggio: | Monitoraggio e controllo delle singole uscite – Monitoraggio della potenza totale dell’unità |