Misurare la corrente che si consuma, con ESP8266

closeQuesto articolo è stato pubblicato 5 mesi 13 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi.

Questo post è un’evoluzione di quello fatto qualche anno fa, con lo stesso scopo, ma utilizzando una (non proprio economica) scheda Arduino Yun. All’epoca non conoscevo le ESP e avevo la scheda inutilizzata a casa, con l’esperienza e il senno del poi ho abbassato il prezzo del progetto di oltre metà.

Nota importante e fondamentale: con questo progetto si lavora vicino alla corrente elettrica 220V, toccare la 220V è pericoloso, ci si può far male o si può morire. Se non sai quel che fai chiedi aiuto. Non sono responsabile per qualsiasi danno a persone, cose, animali o qualunque altra cosa.

Il progetto è rilasciato con licenza GPL V.3 (Open Source), quindi puoi prenderlo, fartelo a casa, modificarlo e pubblicarlo a nome tuo. Se lo condividi modificato devi citare questo sito (www.ladomoticafaidame.it) come fonte principale.
Se sei bloccato, non riesci a fare qualcosa, non funziona o vuoi apportare delle modifiche, puoi richiedere il mio supporto, acquistando le ore di consulenza (via Skype o Hangout) direttamente da qui.

Questo progetto si inserisce all’interno del lavoro La Domotica fai-da-me, migliora il progetto precedente fatto con Arduino o si aggiunge per rendere il controllo dei consumi più preciso mettendone uno su ogni elettrodomestico.

Prima di tutto, la lista della spesa, che senza materiale non si va da nessuna parte.

Poi ci va la lista dell’attrezzatura necessaria

  • Un PC su cui installare e usare il software (qualsiasi sistema operativo)
  • Un cavetto micro USB di quelli per il cellulare
  • Un saldatore e lo stagno
  • Un paio di forbici
  • Un cacciavite a taglio e uno a stella
  • Un multimetro digitale
  • Un phon (per i test)

Il progetto si basa sulle funzionalità che servono in casa a me, c’è ovviamente la possibilità di adattarlo alle proprie esigenze, lavorando senza WiFi, senza display o aggiungendo un buzzer che suona in caso di consumo anomalo (vedi al fondo).

Il sistema memorizza i dati in una centralina, presente sempre in casa e basata su Linux, con il protocollo MQTT. Sicuramente ci sarà un post specifico per la centralina.

Assemblare i componenti

Una volta ricevuti i componenti è necessario fare qualche saldatura prima di poter usare il tutto. Se hai qualche dubbio sulla saldatura compra una shield millefori e dei piedini in più, saldali tutti facendo in modo di non creare dei cortocircuiti.

Iniziamo dal display, che dovrà essere saldato ai piedini da collegare al microcontrollore. Visto che è il pezzo che dovrà essere a vista, è quello da montare sopra tutto, quindi si devono usare i piedini che hanno il solo connettore maschio. La saldatura va fatta sulla parte corta, che va saldata dal lato del display lasciando i piedini lunghi sotto.

Il secondo livello sarà il microcontrollore, la scheda WeMos D1 Mini, dovranno essere saldati i piedini che hanno la femmina da una parte (da mettere in alto) e i maschi dall’altra, in basso. In modo che sopra la D1 Mini si possa mettere il display OLED saldato prima.

Prima di saldare i PIN della millefori, sulla quale si dovrà collegare la pinza amperometrica, è bene mettere i componenti e fare le giuste connessioni.

Da questo schema “Arduino A2” diventa “WeMos A0” e “Arduino 5V” diventa “WeMos 3,3V”

Saldati i componenti si possono saldare i PIN, questa volta solo il connettore femmina, in modo che la scheda millefori sia sotto alla D1 Mini

La logica di funzionamento del sistema è abbastanza semplice: la pinza amperometrica, che va installata “intorno” al filo della fase o del neutro (solo uno, non entrambi, e non sulla terra giallo/verde) capta la variazione del campo magnetico intorno al filo in base a quanta corrente passa.
La lettura del campo magnetico viene convertita in una tensione elettrica, nel caso di questa pinza, tra 0 e 1V per correnti tra 0 e 30A.
In un appartamento il contratto della corrente standard prevede un massimo di 16A (3,5KW), ovviamente se hai una potenza maggiore potresti non farcela con i 30A (che sono 6,6KW) e serve quindi cambiare la pinza e qualche altro dettaglio.

Adesso è il caso di pensare al software

L’hardware è pronto, adesso è necessario passare al software. La scheda D1 Mini si programma con l’Arduino IDE, che si può scaricare e installare gratuitamente per qualsiasi piattaforma. Per poterla usare correttamente è necessario seguire la guida sul sito di WeMos.

Il codice (chiamato comunemente sketch) da caricare sulla scheda WeMos si trova su GitHub, alla pagina del progetto.

Come si prosegue?

Il test operativo è abbastanza semplice. Ma c’è bisogno di qualcuno che sappia fare un po’ di lavori da elettricista. Non smetterò mai di dire che la 220V, se usata male, è mortale, quindi attenzione. Se non sai come fare, fatti aiutare, ad esempio dal negoziante dove vai a comprare i fili e le prese/spine volanti (nei negozi piccoli, non nei centri commerciali)

Adesso è necessario creare una mini prolunga elettrica da 20cm circa. Con il cacciavite apri la presa e la spina. Collega i tre fili elettrici, facendo bene attenzione che il filo giallo/verde parta e arrivi dal centro delle due, gli altri fili saranno collegati ad uno dei due lati, non fa differenza.
Con il tester verifica che non ci siano corto circuiti tra i 3 fili.

Fai passare uno dei due fili colorati (non il giallo/verde) dentro la pinza amperometrica che è collegata alla scheda. Collega la spina ad una presa a muro. Collega alla presa il phon
Accendi il circuito e leggerai sul display una piccola corrente, che tenderà ad essere zero. Adesso accendi il Phon a velocità minima. Guarda quanto sta consumando. Adesso passalo alla velocità massima. Tipicamente sarà intorno ai 2000W. Se spegni la parte che scalda l’aria e la fa solo girare vedrai la potenza crollare. Bene, funziona.

Stacca tutto e vai al quadro elettrico principale dell’appartamento.

Vale sempre la regola: la 220V è mortale, se non lo sai fare chiedi aiuto.

E’ necessario installare la pinza intorno alla fase o al neutro subito a monte o a valle dell’interruttore generale di casa. Ovviamente è necessario alimentare la scheda con un alimentatore a 5V. Le batterie non durerebbero abbastanza. Se l’elettricista ti fornisce due fili a 5V dentro il quadro basta saldarli alla D1 mini ai pin GND e 5V (questo limita di molto l’occupazione di spazio all’interno del quadro, visto che solitamente sono spazi ristrewtti, non può che fare bene.).

E la scatola?

Purtroppo mi manca, cerca qualcosa che sia adattabile e sia gradevole alla vista. Se sei bravo e attrezzato potresti fartela stampare in 3D.

Alcune note finali

  • Che la 220V sia molto pericolosa l’ho già detto? Non lo dico mai abbastanza.
  • La lettura della potenza impegnata non è precisa, in quanto la vera potenza la si calcola sapendo corrente e tensione, nel nostro caso sappiamo solo la corrente, ma non la tensione, che potrebbe oscillare tra 210 e 240V, quindi nella lettura c’è un minimo errore.
  • Il contatore non scatta istantaneamente al superamento dei 3500W, c’è quindi un po’ di tempo per intervenire prima di rimanere al buio. Se si assorbe invece un picco molto più alto, il contatore salta in pochi secondi.
  • Alcuni componenti sono da acquistare in Cina, è bene sapere che i tempi di consegna sono tra 30 e 60 giorni e che gli ordini da più di 20€ (circa) comprese le spese di spedizione sono tassati dalla dogana.
  • Con il passare del tempo i componenti potrebbero cambiare, smettere di essere prodotti o sostituiti da altri (Le D1 Mini in 3 anni sono cambiate 4 volte).

Adesso parliamo del software. Lo sketch proposto si integra con un server MQTT che registra le letture e le archivia da qualche parte per farci poi delle statistiche. Se il sistema è stand-alone si può aggiungere un LED che si accenda al superamento di una certa soglia o un buzzer che suoni al superamento della fatidica soglia.

Per fare queste attività è sufficiente collegare il dispositivo (LED o buzzer) a uno dei PIN Dx della WeMos (cercate sempre i datasheet per capire come si collegano) e mettere nel codice una IF che se l’assorbimento è troppo, eccita il pin che alimenta il dispositivo

// mettere in cima la dichiarazione che il PIN in uso è il 16 (quindi D0)
pinMode(16, OUTPUT);

// una volta tolte le parti di connessione a MQTT e invio a MQTT si può
// usare la variabile "wattTrasmettere" per capire se c'è l'allarme
// da attivare
if (wattTrasmettere > 3200) //si attiva se al potenza è > di 3200 Watt
{
// attiva il pin (mette 3,3V)
digitalWrite(16, HIGH);
}
else
{
// disattiva il pin (mette 0V)
digitalWrite(16, LOW);
}

4 pensieri riguardo “Misurare la corrente che si consuma, con ESP8266”

  1. Innanzitutto complimenti per l’articolo e l’intero progetto, apprezzo molto il tuo lavoro e penso di implementarlo, con qualche modifica, anche in casa mia.
    L’unica cosa che mi perplime è il collegamento del trasformatore a 5v: tu come l’hai fatto?
    Io sto pensando di smontarne uno e collegare direttamente i fili della 220v al circuito interno, hai soluzioni migliori?

  2. Ciao Emiliano, nel mio quadro c’era spazio abbastanza e ho messo una presa, un alimentatore e un cavo microUSB. Capisco che gli spazi non siano mai tantissimi, avevo pensato a usare un alimentatore 5V piccolo, con l’uscita da saldare direttamente al 5V e GND della scheda.
    Se vuoi puoi provare uno di questi (o una cosa simile)
    https://it.aliexpress.com/item/AC-DC-5-v-2000mA-di-Commutazione-Modulo-di-Alimentazione-5-v-2A-Board-con-Protezione/32901488899.html?spm=a2g0y.search0104.3.100.10da5619PNwZru&ws_ab_test=searchweb0_0%2Csearchweb201602_3_10065_10068_319_317_10696_10084_453_454_10083_10618_10304_10307_10820_10821_538_537_10302_536_10843_10059_10884_10887_100031_321_322_10103%2Csearchweb201603_2%2CppcSwitch_0&algo_pvid=59a11075-a946-46fb-8797-29d11eaca50e&algo_expid=59a11075-a946-46fb-8797-29d11eaca50e-14
    https://it.aliexpress.com/item/Intera-vendita-economico-modello-DR-15-5-V-12-V-24-V-din-switching-power-supply/32836250366.html?spm=a2g0y.search0104.3.86.10da5619PNwZru&ws_ab_test=searchweb0_0%2Csearchweb201602_3_10065_10068_319_317_10696_10084_453_454_10083_10618_10304_10307_10820_10821_538_537_10302_536_10843_10059_10884_10887_100031_321_322_10103%2Csearchweb201603_2%2CppcSwitch_0&algo_pvid=59a11075-a946-46fb-8797-29d11eaca50e&algo_expid=59a11075-a946-46fb-8797-29d11eaca50e-12
    https://it.aliexpress.com/item/Small-Volume-Isolated-Switching-Power-Supply-5V-Module-Precision-5V3W-AC-DC-Buck-Module-220-to/32808072134.html?spm=a2g0y.search0104.3.86.41a95014nlr3AC&ws_ab_test=searchweb0_0,searchweb201602_3_10065_10068_319_317_10696_10084_453_454_10083_10618_10304_10307_10820_10821_538_537_10302_536_10843_10059_10884_10887_100031_321_322_10103,searchweb201603_2,ppcSwitch_0&algo_expid=d9f18c5a-b113-4e65-95c0-f23cc664b90f-12&algo_pvid=d9f18c5a-b113-4e65-95c0-f23cc664b90f

    Attenzione che arrivano dalla Cina e non sono CE

    Attento quando lavori con la 220V, ovviamente.
    L’idea di smontarne uno è buona, ma occhio che sono pressofusi e togliere la custodia a volte rompe il circuito

  3. Sarò onesto, piuttosto che mettere una cosa non CE che lavora con la 220v in un posto dove non posso controllarla 24/7 faccio come hai fatto tu, ma nella scatola di derivazione sotto il quadro per poi mandare al quadro, dentro la canalina, il solo filo della microUSB!
    Grazie per i consigli!

Nota importante, da leggere prima di commentare

Questo è un blog scritto per passione, non fornisco quindi risposte di tipo professionale, se avete bisogno di un aiuto tecnico rivolgetevi ad un professionista di fiducia, non offendetevi se mi astengo dal rispondere. Vi ringrazio per la comprensione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.