Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Datalogger tensione di rete

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

-1
voti

[1] Datalogger tensione di rete

Messaggioda Foto UtenteFrenzi » 11 ott 2021, 9:49

Ciao a tutti, ultimamente ho avuto la necessità di monitorare la tensione dell'impianto impianto domestico dei miei suoceri che lamentavano estemporanei cali di tensione, alquanto fastidiosi specialmente per i PC; i cali di tensione sono tali da far freezare i PC per qualche istante o quel tanto che basta per perdere momentaneamente la connesione ad internet (forse a causa di una tensione non sufficiente sulla scheda di rete?), problema rilevante se si sta navigando in pagine "non refreshabili" come quelli del catasto (mio suocero è geometra).
L'idea di realizzare un datalogger basato su arudino è nata mentre leggevo di problemi del tutto simili in questo https://www.electroyou.it/forum/viewtopic.php?t=85070&p=900904#p900904 post, dal quale è emerso che i datalogger 'professionali' risultano decisamente costosi; inoltre con qualche semplice modifica al codice si può convertire l'oggetto in un misuratore/logger di potenza istantanea / energia utilizzata, dato che l'hardware è esattamente lo stesso.

Il progetto non dovrebbe presentare particolari insidie, ma lo porterò avanti nei ritagli di tempo; scrivo sul forum come una specie di blocco degli appunti in modo che se qualcuno fosse interessato, quando sarà completato, potrà realizzarlo. Al momento ho solo individuato l'hardware necessario, che per economicità e semplicità sarà completamente basato su shield arduino già preconfezionate.

In generale l'idea è semplice: viene costantemente misurata la tensione di rete, e quando si rileva una variazione che supera una certa tolleranza dalla tensione nominale (es. < 200 o >240VAC) viene registrata su scheda SD la lettura di tensione, corrente, data e ora di inzio e fine della sovra/sotto-tensione. La corrente viene rilevata in quanto si vuole determinare se il calo di tensione sia imputabile al distributore o ad un utenza interna all'abitazione, mentre la data e l'ora servono solamente per tenere traccia dell'andamento temporale dei fenomeni, per osservare se ci sia un qualche tipo di periodicità. Idealmente il datalogger dovrebbe rimanere collegato almeno una settimana, in modo da individuare "schemi ricorrenti".

A livello hardware per le funzioni di datalogger utilizzerò i seguenti moduli:
> Sensing di tensione: ZMPT101B (5€)
> Sensing di corrente: ACS712 - 20A (3.50€)
> Shield microSD (2€)
> Modulo RTC: tiny RTC i2c - DS1307 (2€)
> Arduino nano

Considerando l'acquisto del case si dovrebbe rimanere tranquillamente entro i 20€ di spesa (ho considerato dei prezzi medi esclusi di spese di spedizione); volendo per funzioni di misura di potenza in futuro si potrebbe anche aggiungere un display lcd ed un encoder per la visualizzazione in tempo reale dei parametri rilevati.

Per quanto riguarda il codice non ho ancora scritto nulla; non appena mi arrivano i componenti faccio qualche test e scrivo il codice. Non credo che si presenteranno particolari problemi, ma mi riservo di modificare l'hardware nel caso ce ne siano.

Non ho cercato se esistano progetti di questo tipo già realizzati (sicuramente), ma lo realizzo più per mio divertimento personale che per altro, quindi non mi interessa.

Qualsiasi suggerimento è ben accetto dato che tutto è ancora in fase embrionale.

Un saluto O_/
Avatar utente
Foto UtenteFrenzi
201 6
Frequentatore
Frequentatore
 
Messaggi: 136
Iscritto il: 4 giu 2015, 11:52

1
voti

[2] Re: Datalogger tensione di rete

Messaggioda Foto Utenteboiler » 11 ott 2021, 10:41

Frenzi ha scritto:i cali di tensione sono tali da far freezare i PC per qualche istante o quel tanto che basta per perdere momentaneamente la connesione ad internet (forse a causa di una tensione non sufficiente sulla scheda di rete?)

Gli alimentatori per PC non funzionano così: la tensione o c'è ed è corretta o non c'è.
La scheda di rete viene alimentata dalla scheda madre (anzi, probabilmente è sulla scheda madre) e quindi se questo fosse il problema, crasherebbe tutto il computer.

Non credo che i cali di tensione siano direttamente la causa. Piuttosto forse dei fenomeni EMC collegati ai cali di tensione.

In generale l'idea è semplice: viene costantemente misurata la tensione di rete

Cosa vuol dire? Quanti samples al secondo?
La tensione di rete è alternata. Vuoi risolvere la sinusoide della tensione di rete o vuoi un valore medio? E se vuoi il valore medio, media fatta su quanti cicli?

e quando si rileva una variazione che supera una certa tolleranza dalla tensione nominale (es. < 200 o >240VAC) viene registrata su scheda SD la lettura di tensione, corrente, data e ora di inzio e fine della sovra/sotto-tensione.

Secondo me sono informazioni insufficienti per scoprire da dove viene il problema.
Se dovessi realizzare io qualcosa del genere farei un buffer circolare che viene costantemente riempito con i dati dell'ADC. Alla violazione di un livello di guardia, il buffer viene scritto nella carta SD, in modo da avere i dati di almeno 30 secondi prima dell'evento e quelli di 30 secondi dopo l'evento.

Boiler
Avatar utente
Foto Utenteboiler
26,4k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 5599
Iscritto il: 9 nov 2011, 12:27

0
voti

[3] Re: Datalogger tensione di rete

Messaggioda Foto Utenteedgar » 11 ott 2021, 11:06

Il datalogger può essere utile per una diagnosi generale.
I problemi coi PC si dovrebbero risolvere con un UPS.
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

0
voti

[4] Re: Datalogger tensione di rete

Messaggioda Foto Utentealev » 11 ott 2021, 11:44

boiler ha scritto:Gli alimentatori per PC non funzionano così: la tensione o c'è ed è corretta o non c'è.
La scheda di rete viene alimentata dalla scheda madre (anzi, probabilmente è sulla scheda madre) e quindi se questo fosse il problema, crasherebbe tutto il computer.

Non credo che i cali di tensione siano direttamente la causa. Piuttosto forse dei fenomeni EMC collegati ai cali di tensione.

Aggiungo la mia, per quello che può valere per il problema posto dall'OP

Concordo che tutte le periferiche di un PC sono sub-alimentate dal gruppo alimentatore, in particolare le schede di rete lo sono tramite il bus PCI

Se la tensione di alimentazione di rete scende sotto i valori caratteristici (mi pare che lo standard AT sia 205 V) la PSU "stacca" ed il PC si spegne brutalmente

Un elemento di cui tenere conto è anche la rete dati per navigare su internet: anche in questo caso, ci sono dispositivi (il modem, eventuale router e/o switch) che sono soggetti ai cali di tensione, sebbene lo possano essere in modo diverso rispetto al PC
Avatar utente
Foto Utentealev
5.993 2 9 12
free expert
 
Messaggi: 6281
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

1
voti

[5] Re: Datalogger tensione di rete

Messaggioda Foto UtenteFrenzi » 11 ott 2021, 12:37

boiler ha scritto:... Non credo che i cali di tensione siano direttamente la causa. Piuttosto forse dei fenomeni EMC collegati ai cali di tensione. ...

Purtroppo non sono molto pratico dell'argomento, quindi può essere :ok: . Comunque il problema al PC è già stato risolto mediante UPS come suggerito da Foto Utenteedgar.
La mia vuole solo essere un'analisi generale in modo da escludere che il problema sia correlato all'impianto domestico in quanto sospetto fortemente che i cali di tensioni siano dovuti al distributore. Inizialmente collegherei il dispositivo subito a valle del contatore. Se questo non rileva cali anomali ma i suoceri sì, sarebbe escluso il distributore e andrebbe quindi collegato ai vari 'rami' dell'impianto di casa (idealmente si dovrebbe avere un log simultaneo di ingresso e utenza finale, però lo facciamo andare bene così), in modo da capire che assorbimento si abbia e se a questo sia correlato un calo di tensione (indice di una portata dei conduttori non adeguata, corretto?)


boiler ha scritto:Secondo me sono informazioni insufficienti per scoprire da dove viene il problema.
Se dovessi realizzare io qualcosa del genere farei un buffer circolare che viene costantemente riempito con i dati dell'ADC. Alla violazione di un livello di guardia, il buffer viene scritto nella carta SD, in modo da avere i dati di almeno 30 secondi prima dell'evento e quelli di 30 secondi dopo l'evento.

Ottima idea, la implementerò sicuramente.


boiler ha scritto:Cosa vuol dire? Quanti samples al secondo?
La tensione di rete è alternata. Vuoi risolvere la sinusoide della tensione di rete o vuoi un valore medio? E se vuoi il valore medio, media fatta su quanti cicli?

Non mi ero ancora posto di questi problemi, lasciandoli alla fase di programmazione (in quanto ero sicuro di ottenere un sample rate più che sufficiente visti i 50hz della tensione di rete). Comunque, visto che mi ci hai fatto pensare, un analogRead impiega circa 110us; stando larghi, aggiungiamo un 100us di tempo di calcolo e otteniamo circa un sample rate di circa 4.76kHz.
Per quanto riguarda l'ampiezza, pensavo di ricavare il valore di picco a ciascun ciclo della sinusoide in ingresso, e di mediarlo su 10 cicli, in modo da ottenere una rilevazione ogni 200ms circa. Questo si tradurrebbe in un 'sample rate' di misurazione effettiva della tensione di circa 5Hz.
La soglia deve quindi essere espressa in valore di picco (soglia inferiore di circa 282V e superiore di 340V) (questo in modo da non prolungare inutilmente i tempi di calcolo inserendo una divisione per float). Tutto questo, deve ovviamente essere pesato dal coefficiente di taratura del sensore utilizzato.
Quindi, tirando le somme del discorso, ogni 200ms si rileva una tensione di picco media pari a:
V_{peak}=K(\sum_{i=1}^{n}V_{peak,i})/n
dove K è il coefficiente di conversione del sensore, n=10 è il numero di picchi utilizzati per il calcolo della media, e V_{peak,i} è la tensione di picco rilevata per ogni ciclo dall'adc di arduino.
Se V_{peak} risulta superiore ai valori massimi e minimi considerati si memorizzano i dati relativi ai 30 secondi prima e dopo l'evento. Lo stesso viene fatto quando si 'rientra' nel range di valori consentito.

Ottimo il modulo datalogger indicato da Foto Utentestefanopc nell'altro post (https://www.ebay.co.uk/itm/Data-Logger- ... gJsavD_BwE); io non lo utilizzerò in quanto in realtà avevo già quasi tutte le shield a casa, ma per chi deve farlo da 0 è sicuramente un'alternativa migliore.

In qualsiasi caso tutti i problemi pratici di implementazione li lascio per quando avrò tutto il materiale in mano ed inizierò a scrivere il programma. Grazie a tutti O_/

edit: nelle considerazioni sulla lettura delle tensioni non ho considerato la lettura della corrente, che purtroppo avviene anch'essa mediante ingresso analogico. Adesso non ho tempo di rifletterci ulteriormente; appena ho in mano i sensori ci ragionerò.
Avatar utente
Foto UtenteFrenzi
201 6
Frequentatore
Frequentatore
 
Messaggi: 136
Iscritto il: 4 giu 2015, 11:52

0
voti

[6] Re: Datalogger tensione di rete

Messaggioda Foto UtenteMarcoD » 11 ott 2021, 15:43

Il progetto del data logger dei disturbi mi pare interessante e non facile da sviluppare.
Pongo un elenco di argomenti da affrontare:

Quale è l'ampiezza/durata dei disturbi che intendi rilevare ?
50, 20 ms, 2 ms, 0,1 ms ?

Per validare il funzionamento dovresti sviluppare un simulatore di disturbi che su comando agisce sulla ampiezza di una/mezza/un quarto/.. di sinusoide, per verificare che il data logger la rileva correttamente.

come intendi isolare/attenuare la tensione 230 Vac ?
con un trasformatore o un amplificatore operazionale isolato galvanicamente tipo il vecchio ISO100 o ISO102 BurrBrown?
Il trasformatore ha una sufficiente banda passante?

O_/
Avatar utente
Foto UtenteMarcoD
12,2k 5 9 13
Master EY
Master EY
 
Messaggi: 6696
Iscritto il: 9 lug 2015, 16:58
Località: Torino

1
voti

[7] Re: Datalogger tensione di rete

Messaggioda Foto UtenteEtemenanki » 11 ott 2021, 17:42

Solo un suggerimento "al volo".

Siccome si parla di un oggetto che andra' collegato alla rete elettrica, ti suggerirei di utilizzare un sistema che garantisca l'isolamento galvanico fra la rete e lo strumento.

Ad esempio, un piccolo (il piu piccolo reperibile in commercio) trasformatorino per la tensione, ed un TA (nucleo toroidale con un'avvolgimento, dentro il quale farai passare uno dei fili) per la corrente, in quel modo sarai sicuro che tutte le parti del logger saranno isolate dalla rete e quindi in sicurezza.

Siccome inoltre gli ingressi delle MCU accettano solo tensioni positive, potresti derivare con un'operazionale un'uscita ad 1/2 della tensione di alimentazione della MCU da usare come "comune" per i due trasformatori, in modo da poter leggere sia le semionde positive che negative.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
9.507 3 6 10
Master
Master
 
Messaggi: 5935
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

2
voti

[8] Re: Datalogger tensione di rete

Messaggioda Foto UtenteFrenzi » 11 ott 2021, 18:38

MarcoD: Per quanto riguarda la durata dei cali di tensione non saprei, ma ipotizzando che siano dovuti all'inserimento di carichi induttivi a monte dell'utenza della casa dei miei suoceri (c'è un'attività industriale in cui vengono prodotti pellet, legname,ecc., quindi presumo motori trifase che assorbano una grande quantità di corrente allo spunto), credo che si possa ipotizzare che la durata delle sotto-tensioni repentine non sia comunque inferiore al tempo minimo di lettura che ho ipotizzato in circa 200ms (durante i quali vengono letti e mediati 10 picchi). Inoltre le sottotensioni alle volte permangono per diversi minuti, quindi non saprei cosa aspettarmi. Sicuramente per validare precisamente il rilevatore dovrei realizzare come dici tu un simulatore di disturbi; un metodo pratico che mi viene in mente così di getto per fare un test qualitativo riguardo ai cali repentini potrebbe essere quello di collegare un motore di una certa potenza (ne ho a disposizione uno da circa 4kW nominali, che comunque allo spunto anche se a vuoto dovrebbe avere un bell'assrbimento) alimentandolo con dei cavi di sezione ridicola, causando una cdt rilevante da rilevare contemporaneamente con il datalogger e con l'oscilloscopio, verificando poi che le rilevazioni siano corrette. Poi, se funziona con i cali repentini sicurmente funziona anche con quelli prolungati nel tempo.

Etemenaki: è esattamente quello che fa il modulo zmpt101b che ho scelto di usare: il sensing di tensione avviene esattamente in quel modo, e l'isolamento galvanico è garantito dal trasfomatore. Per il sensing di corrente ho preferito l'adc712 ad un TA in quanto è più economico e sicuramente dentro alle specifiche in quanto è presente in varie taglie (io prenderei quello da 20A, più che sufficiente per l'utenza dei miei suoceri... credo ci sia anche quello da 30A se si vuole stare tranquilli), e sono d'accordo che non presenti un isolamento galvanico "sicuro" come un TA, ma da datsheet garantisce isolamento tra ingresso e uscita fino a 2.1kV RMS , quindi direi ampiamente in specifica.

Qui lo schema dello zmpt101b: https://easyeda.com/modules/zmpt101b-schematic_cb439d8ba7684bafb708035eb20ec686
Avatar utente
Foto UtenteFrenzi
201 6
Frequentatore
Frequentatore
 
Messaggi: 136
Iscritto il: 4 giu 2015, 11:52

0
voti

[9] Re: Datalogger tensione di rete

Messaggioda Foto Utenteboiler » 11 ott 2021, 19:32

Vedo un paio di problemi.

Se hai picchi di tensione brevi (tipici di una commutazione) hai buone probabilità di non vederli, ma bastano a crashare qualcosa.

Non è vero che tutte la parti del datalogger saranno isolate dalla tensione di rete: tutto quello che c'è sul lato primario del trasformatore è a tensione di rete. Quindi bisogna fare attenzione. E visto che già stiamo facendo attenzione, perché non espandere l'area nella quale bisogna fare attenzione? Eliminiamo il trasformatore e consideriamo l'ADC come parte "live", isolandolo poi dal resto con un isolatore digitale (optocoupler o simili).

Questo porta un paio di vantaggi: non siamo limitati in banda dal trasformatore (che potrebbe mascherare questi impulsi) e non dobbiamo usare quell'aborto di un zmpt101b. Mi sono guardato lo schema che hai linkato ed è una schifezza un puro stile arduinistico.

Usano un trasformatore di corrente 1:1 che sul secondario ha uno shunt da 100 ohm.
Sul primario la corrente viene limtata da un resistore da 820k.
Questo porta ad una tensione di picco sullo shunt di 38 mV... un po' pochino per una misura.
Ma non c'è problema: amplifichiamo generosamente dopo, in modo da avere anche un po' di sano rumore sul segnale. Dato che il trasformatore sopporta 2 mA si sarebbe potuto salire abbondantemente con la corrente e quindi con la qualità del segnale.

Inoltre gli 820k, a giudicare dalla foto sono un 0805 o 0603. Siamo generosi e crediamoci che sia uno 0805. Questo significa una caduta di tensione di circa 300 V su 0.9 mm lordati dalla saldatura fatta alla buona da un coltivatore di cavoli cinese.
Io, personalmente, una roba così non la attaccherei direttamente a valle del contatore, dove ho corrente a iosa a disposizione per dare fuoco a tutta la casa quando il modulino cinese fallisce in modo pirotecnico.

Vedi qui, capoverso 10.2 e seguenti. Così si fa:
https://www.ti.com/lit/ds/symlink/ads131a02.pdf

Il sensore di Allegro, se il PCB è fatto correttamente, garantisce una separazione galvanica sufficiente.

Boiler
Avatar utente
Foto Utenteboiler
26,4k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 5599
Iscritto il: 9 nov 2011, 12:27

0
voti

[10] Re: Datalogger tensione di rete

Messaggioda Foto UtenteFrenzi » 11 ott 2021, 21:07

Per i picchi di tensione molto molto rapidi ho paura che nonrisucirò comunque a vederli visto il sample rate, ed in qualisasi caso il meccanismo di lettura che ho scelto verrebbero ponderati dalla media; bisognerebbe allora implementare un 'trigger' (software) di qualche tipo che in caso di picchi elevati e molto rapidi bypassi il calcolo della media e segnali direttamente una sovratensione di tipo 'quasi impulsivo'; le cose però si complicano notevolmente ed entrano in campi che non conosco (putroppo mastico un po di elettrotecnica di base, ma non molto altro).

Per quanto riguarda lo zmpt101b mi hai convinto; in realtà non avevo riflettuto più di tanto sul funzionamento in quanto ho cercato rapidamente le shield che potevano fare al caso mio per una misura di massima e basta. In realtà con qualche accorgimento (come hai osservato tu) si potrebbe far funzionare meglio, però sarebbe necessario acquistare altro materiale a parte, modificare la shield, ecc. e non verrebbe comunque corretta l'introduzione del rumore data dall'amplificazione.
L'ads131 che hai proposto mi sembra una validissima alternativa, e, se non ho compreso male dalla rapida lettura del datasheet, mi sembra di capire che si possa misurare direttamente tensione e corrente sui due canali, senza quindi la necessità di utilizzare l'adc712.
Va però realizzato e dimensionato tutto il circuito 'circostante' e acquistato ugualmente un TA per il sensing della tensione. Come indicato da te, al paragrafo 10.2 è indicata tutta la procedura per il dimensionamento; appena ho un attimo libero mi metto con calma, provo a dimensionare il tutto e posto i risultati per conferma (ripeto, sono un 'elettronico' molto della domenica, quindi mi fido il giusto dei miei conti e sicuramente non vedo problemi pratici che vadano oltre la legge di Ohm).

Per il momento grazie per le utilissime informazioni, e dimmi pure se ti pare che abbia capito male qualcosa.
Appena ho qualcosa di concreto in mano lo posto, a presto O_/
Avatar utente
Foto UtenteFrenzi
201 6
Frequentatore
Frequentatore
 
Messaggi: 136
Iscritto il: 4 giu 2015, 11:52

Prossimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti