Blog migrato su nuova piattaforma

Disclaimer

Prestare sempre attenzione a seguire le indicazioni fornite in questo blog, soprattutto se si tratta di apparecchiature elettriche collegate alla tensione di 220V. Non mi ritengo responsabile di danni causati dall'aver seguito i consigli qui pubblicati.
Grazie
Visualizzazione post con etichetta power monitor. Mostra tutti i post
Visualizzazione post con etichetta power monitor. Mostra tutti i post

mercoledì 30 maggio 2018

Home Automation System - Misurazione dei consumi...versione definitiva




Sono passati diversi giorni dal mio ultimo post sul sistema di Home Automation ed avevamo lasciato un discorso in sospeso, in merito alla misurazione dei consumi di casa.

Il prototipo funziona bene, quindi è arrivato il momento di utilizzarlo per quello che è nato: misurare il consumo di casa.

Il mio progetto definitivo prevede di mettere 3 misuratori, uno per piano, per avere l'indicazione dei consumi differenziati. Certo, l'ottimale sarebbe avere un rilevatore per ogni punto luce presente in casa, ma, non avendoci pensato in fase di definizione impianti durante la costruzione, al momento sarebbe un lavoro immane. Mi accontento di avere un totale per piano...

La destinazione finale di questo primo rilevatore è il piano principale, dove ci sono i principali apparecchi da cucina da tenere sotto controllo.

Il punto migliore dove mettere il rilevatore è vicino al salvavita del piano, dove arrivano fase e neutro dall'esterno. In questo modo sono sicuro di monitorare tutto il passaggio di corrente del piano.

Individuo quindi la scatola di derivazione, mi faccio un paio di collegamenti per alimentare l'ESP8266 con un alimentatore da 5V e il PZEM-004T direttamente ed inserisco la pinza amperometrica attorno al cavo di fase principale.

Per adesso lascio i fili volanti per fare un test di funzionamento prima di chiudere il tutto:



Vediamo, con il solito mqtt-spy, se i messaggi MQTT arrivano:


Perfetto, tutto funziona. Posso mettere tutto in ordine e chiudere


Metterò poi bene in sicurezza la schedina, perchè lato sinistro (potenza) un po' di corrente passa...e non vorrei mai che mi finisse il dito li dentro per sbaglio :)

Adesso tocca ad OpenHAB e Grafana.

Iniziamo ad acquisire il dato su OpenHAB, come variabile numerica (prendo solo la potenza W), utilizzando il solito topic MQTT nella definizione dell'item. Inserisco quindi una nuova entry nella sitemap per la visualizzazione. Ecco il risultato:




Interessante metterlo a confronto con la produzione fotovoltaica (oggi non c'è il sole...e si vede).

Ultimo step, visualizzare i dati storici con Grafana. Anche qui, utile vedere i grafici di produzione (verde) e consumo (giallo) a confronto:



Visto il successo di questa prima prova, ho ordinato altri PZEM-004T, per completare il monitoraggio degli altri piani.

Alla prossima puntata!

mercoledì 18 aprile 2018

Home Automation System - Misurazione dei consumi...invio dei dati con MQTT





Rieccomi qua. Riprendiamo il discorso sulla rilevazione del consumo di energia da integrare in OpenHAB; ho fatto alcune passi avanti con le mie sperimentazioni.

Nel post precedente avevo fatto i primi test con il dispositivo PZEM-004T Energy Module, abbinato ad un Arduino UNO.




Test andati più che bene...ed adesso, come da programma, voglio sostituire Arduino UNO con un molto più economico Esp8266 NodeMCU

Ci sono un paio di osservazioni da fare in merito a questa sostituzione, in quanto Esp8266 NodeMCU lavora a 3.3V, rispetto ad Arduino che lavora a 5V, così come il PZEM-004T Energy Module, che, come abbiamo visto, necessita di 5V di alimentazione per la parte a bassa tensione.

Nel test precedente i 5V li prendevo direttamente da Arduino e quindi non avevo bisogno di diverse alimentazioni. In questo caso devo studiarmi qualcosa per evitare di dover alimentare il NodeMCU con 3.3V e il PZEM-004T con 5V.

Ogni tanto la fortuna aiuta gli audaci...le ultime schedine Esp8266 NodeMCU che ho comprato sono un modello particolare della LoLin che è in grado di essere alimentato a 5V tramite solito connettore microUSB ed ha un PIN di uscita della tensione di alimentazione (cosa che gli altri modelli non hanno...forniscono in uscita solo 3.3V)

Quindi, con un alimentatore di un vecchio cellulare, che fornisce 5V e 400mA e che ha l'attacco microUSB, riesco a fare tutto.


E allora, cabliamo il tutto.

Ecco le due schedine pronte per il collaudo.



Manca ancora la creazione del software. 

Come primo step, scrivo un programma del tutto simile a quello usato con Arduino, per verificare che i due dispositivi lavorino bene. Questa volta ho usato l'editor Visual Studio Code con plugin Platformio.

Ecco l'output della seriale durante il test.

Prima ho acceso una lampadina da circa 18W



E poi una da 100W


Il sistema reagisce bene...ottimo!

Non mi resta che modificare il software e fare in modo che le informazioni vengano mandate tramite MQTT, per una successiva integrazione su OpenHAB e Grafana.

Se i valori di consumo rimangono costanti, invio i dati circa ogni minuto; altrimenti, quando il sistema rileva un cambiamento di consumi sopra una certa soglia, invia i dati. Ho fatto in questo modo per evitare di inviare una mole di dati identici inutilmente.

Per adesso imposto un topic MQTT di test:

nodemcu/test/esp8266mcu12/powerconsumption/state

e attraverso il solito MQTT-SPY verifico la ricezione dei dati:


Tutto funziona egregiamente...non mi rimane altro che integrare il tutto in OpenHAB e vedere i dati tramite le sue sitemap e attraverso le dashboard di Grafana

Alla prossima puntata...

sabato 10 marzo 2018

Home Automation System - Misurazione dei consumi...primi test





Dopo una piccola pausa, dovuta a cause di forza maggiore, ritorno finalmente a parlare del mio sistema di Home Automation, sempre work in progress

In particolare volevo parlarvi dei primi test che ho fatto per implementare un sistema di misurazione dei consumi elettrici, da affiancare a quanto già fatto per il monitor della produzione del mio impianto fotovoltaico (trovate a questo link il relativo post).

Quello che sto cercando di fare è un qualcosa che sia facilmente integrabile in OpenHAB; non mi servono quei sistemi che vendono completi di display perché il mio obiettivo non è quello di fare delle verifiche manuali, ma piuttosto acquisire i dati di consumo per poter fare delle analisi, tenerli sotto controllo in remoto (senza il bisogno di essere sempre davanti al dispositivo...) ed eventualmente far scattare avvisi e/o notifiche...

OpenHAB, insieme a Grafana, ci permette di fare tutto questo in maniera relativamente semplice...la cosa fondamentale è quella di fargli arrivare i dati...

Il mio risultato finale dovrà essere un qualcosa in grado di leggere i consumi di casa, interfacciabile con OpenHAB tramite rete e relativamente piccolo per essere inserito in qualche scatola di derivazione...

Nelle mie ricerche su internet mi imbatto nel contatore Eastron sdm120c Modbus...



Un gran bel prodotto...che permette attraverso seriale RS485 la lettura di tutta una serie di parametri energetici, tra cui tensione, corrente e potenza...Essendo una lettura tramite protocollo seriale si può interfacciare ad Arduino e/o Raspberry per leggere ed inviare i dati. Non è proprio un dispositivo economico, ma al momento di meglio non ho trovato. Non è piccolo ma è montabile nei quadri elettrici.

Ero ormai quasi deciso a comprarlo quando per pura combinazione trovo un prodottino che potrebbe fare al caso mio...il PZEM-004T Energy Module, un piccolo dispositivo che, attraverso una pinza amperometrica, è in grado di leggere il consumo di corrente che passa attraverso una linea di fase...mette a disposizione una porta seriale per leggerne i dati, quindi è interfacciabile con Arduino / Raspberry e/o simili, ha dimensioni ridotte e soprattutto costa relativamente poco...sono riuscito a portarlo a casa con circa 8€ spedito...



Per adesso ne ho comprato uno solo...se i test vanno a buon fine ne prenderò altri...il mio obiettivo finale è quello di avere il monitoraggio indipendente dei 3 piani di casa...avendo un quadro elettrico su ogni piano, non devo far altro che intercettare la fase principale ed agganciare la pinza amperometrica...il resto lo farà il microcontrollore che lo affiancherà in questo duro lavoro. L'ideale sarebbe utilizzare uno dei tanti Esp8266 NodeMCU che ho già "a magazzino"...con il Wifi integrato e le dimensioni ridotte (così come il costo...) sarebbero la soluzione ideale! Se non risulterà compatibile, ci sarà sempre il solito Arduino a venirci in aiuto...anche se poi dovrò risolvere il problema del collegamento alla rete.
Sì, perché i dati verranno trasmessi ad OpenHAB tramite protocollo MQTT

Bene, non rimane altro che fare qualche prova...iniziamo con Arduino così il test è più facile, anche perché si trovano schemi di collegamento e software già fatti in rete...una volta appurato che il dispositivo funziona, proverò con il NodeMCU.

Il dispositivo dev'essere alimentato da un lato in bassa tensione con i fatidici 5V, mentre dall'altro (il lato di potenza) necessita della 220v.

Iniziamo i collegamenti con Arduino


  • GND e 5V da Arduino verso il dispositivo;
  • uscita seriale dal dispositivo verso due ingressi digitali di Arduino



L'altro lato del dispositivo invece vuole la connessione con la pinza amperometrica e la 220v. Per fare i test ho preso un portalampada con fase e neutro a vista, in modo tale che alla fase possa agganciare la pinza di misurazione. Il tutto termina con una normale spina.



Scarichiamo un software molto semplice per Arduino, che stampa sulla seriale i dati letti. Ecco l'output con luce spenta (lampadina svitata)...zero corrente, zero potenza:



Avvitiamo la lampadina, che si accende...




e sulla seriale di Arduino si vede il rilevamento della potenza...




Accendo e spengo la lampada più volte per verificare che tutto funzioni...OK, ci siamo...i primi test sono andati più che bene...

Prossimo step sarà quello di provare ad utilizzare un Esp8266 NodeMCU al posto di Arduino e poi iniziare ad inviare i dati ad OpenHAB.

Se tutto funzionerà correttamente penso proprio che ne comprerò almeno altri due...ed inizierò ad inserirli nel mio impianto.