Vai al contenuto
PLC Forum


centralina autoconsumo con ARDUINO


Luigi Marchi

Messaggi consigliati

Problema disturbi. Questo progetto è esente da disturbi. Ho invece osservato un ronzio, udibile ad orecchio e con armoniche radio, in un altro progetto che gestisce molta energia con PWM. Il ronzio arriva dal condensatore elettrolitico che vibra alla frequenze del PWM. Non ha nessuna intenzione di lavorare senza lamentarsi della fatica.

Link al commento
Condividi su altri siti


  • Risposte 142
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Luigi Marchi

    89

  • Livio Orsini

    31

  • walterword

    8

  • dott.cicala

    8

Quote

Questo progetto è esente da disturbi.

 

A parte la discutibilità di questa affermazione senza dati e misure a supporto:smile:, non sono i disturbi generati a dar fastidio, ma sono i disturbi che provengono dall'esterno che sono causa di guai.

Il tallone di achille di questi aggeggi non è l'emissione di disturbi, ma la sensibilità alle emissioni condotte ed irradiate.;)

Quote


pero' ancora ad oggi non ho ancora capito se il problema era dovuto alle alimentazioni e quindi a disturbi oppure ad una mal gestione del I2C .

 

 

Walter io uso regolarmente i displaies I2C e non ho mai riscontrato problemi, mentre ne ho riscontrati parecchi quando la scheda è in prossimità di apparecchi tipo dimmer.

Nonostante i filtri di rete ed un alimentatore ben filtrato, l'unico modo che ho trovato sino ad ora per ovviarli, è stata la completa separazione galvanica di tutti i segnali che entrano ed escono da e per il campo; oltre al disaccoppiamento ho dovuto curare bene il layout del c.s..

Sto collaudando proprio in questi giorni un sistemino e sembra che le cose funzionino.

Però dovendo lavorare solo con test empirici, perchè non dispongo della strumentazione specialistica per le analisi EMC, non ho dei riscontri oggettivi.

Link al commento
Condividi su altri siti

Ho una centralina Arduino, non questa, vicina all'inverter dell'impianto fotovoltaico e abito in città. Non ho mai notato che Arduino sia andato in crisi per disturbi esterni. Nè ci ho neppure mai pensato, a dire il vero.

Link al commento
Condividi su altri siti

Ho una centralina Arduino, non questa, vicina all'inverter dell'impianto fotovoltaico e abito in città. Non ho mai notato che Arduino sia andato in crisi per disturbi esterni. Nè ci ho neppure mai pensato, a dire il vero.

Link al commento
Condividi su altri siti

Probabilmente l'inverter rispetta appieno i limiti delle normative EMC in fatto di disturbi irradiati, oppure si molto fortunato, oppure non ti accorgi che arduino per qalche secondo va farfalle e poi, ripassando dallo zero, si resetta quasi come si fosse attivato il watch dog. Oppure un misto di queste cose.

Link al commento
Condividi su altri siti

La verifica è molto semplice. Ci metto l'orologio, quello del progetto SIBILLA, pubblicato ieri. Se Arduino va in tilt o si resetta da solo me ne accorgo perchè l'orologio riparte da zero. Ovviamente ci possono essere diferenze tra scheda e scheda. Io prove di questo tipo non ne ho mai fatte.

Link al commento
Condividi su altri siti

Ho un problema e ho bisogno urgente dei tecnici. Un installatore mi segnala che la centralina PENELOPE non funziona con dei contatori digitali da 2000 impulsi che ha acquistato. Nel senso che non dà alcun segno di vita, cioè di voler catturare gli impulsi, mentre un'altra analoga, funziona bene con i contatori digitali da 3200 impulsi del video. Ma le specifiche dei contaori digitali, cioè durata e "qualità" dell'impulso nei morsetti SO+ e SO- non rispettano una convenzione uniforme ?

Link al commento
Condividi su altri siti

Scusa mi di quali contatori digitali stai parlando?

Gli impulsi come li conti?

Come è l'interfaccia di Arduino per il conteggio?

 

Senza dati non si possono dare risposte attendibili. Magari questi dati si riescono a scoprire analizzando il progetto, però semplificheresti e, soprattutto, renderesti più veloce la conprensione se tu lo spiegassi chiaramente, magari con dati e sigle dei contatori.

Link al commento
Condividi su altri siti

Hardware e software PENELOPE (centralina Arduino per autoconsumo) è pubblicato da qualche giorno in questa sezione. Con molte spiegazioni proprio sul modo in cui si "catturano" gli impulsi, con tanto di informazioni video:

ARDUINO centralina autoconsumo PWM RSS - YouTube

https://www.youtube.com/watch?v=jskDXOnXsRI
Link al commento
Condividi su altri siti

Forse non m isono spiegato chiaramente. Non ho voglia di cercarmi le informazioni, se mi dai direttamente le informazioni che ho chiesto cerco di aiutarti, altrimenti no.

Link al commento
Condividi su altri siti

OK. Le domande sono  "1) Esiste una normativa riguardo le caratteristiche dei contatori digitali relativamente agli impulsi nelle uscite SO+ e SO- ?"  "2) Perchè PENELOPE cattura bene gli impulsi da un tipo di contatore e nulla da un altro ?"

Il contatore che va bene è il seguente: ELCOTRONIC Single Phase Energy Meter da 3200 impulsi (SO corresponding to DIN 43864).

Il contatore che non va bene è un Rayleigh Instruments da 2.000 impulsi modello RI-D18-50-P (Optical coupler SO corresponding to DIN 43864).

Eventualmente posso fotocopiare i "bugiardini", con tutto il resto delle caratteristiche tecniche. Ovviamente passo alla verifica pratica, per scoprire le differenze, che penalizzano la "cattura" degli impulsi con gli ingressi digitali di Arduino.

 

Link al commento
Condividi su altri siti

Adelino Rossi

suppongo che le caratteristiche tecniche del segnale d'uscita, sia diversa per i due modelli.

ci sono molti modi di interfaccia per generare degli impulsi in uscita, più che i bugiardini servono i manuali di installazione e d'uso delle apparecchiature che sicuramente 

sono in tuo possesso.

Vanno confrontate le caratteristiche tecniche di dettaglio sia dei strumenti generatori di impulsi sia le caratteristiche tecniche del ricevitore di impulsi.

quando ci sono incompatibilità è evidente che bisogna costruire dei circuiti aggiuntivi di adattamento hardware.

Visto il video in oggetto, mi sembra che sia solamente una rappresentazione pubblicitaria piena di colori ma che non dice niente di tecnico.

lo schema abbozzato alla fine, il boiler ad alimentazione diretta o tramite pwm non serve a nulla, se prima non si spiega a cosa serve un controllo pwm al posto di un normale on/off quando serve. Piuttosto che risaltare il nome "penelope" assolutamente sconosciuto, è necessario allegare uno schema comprensibile del progetto inteso dal fv alla linea enel, ai punti misura dell'energia e ai flussi dell'energia stessa. Nel forum ci sono persone che lavorano o hanno lavorato con bel altri sistemi ed esperienze, direi che è il caso di dare alla discussione un taglio decisamente tecnico documentato oppure lasciarla come un mero scambio di opinioni.

 

Quote

 Viene misurato il surplus e questo viene scaricato, con il PWM di Arduino, su un RSS che alimenta scaldabagno, boiler e stufette

 

premesso che basta dire che viene misurata tramite wattmetri mono fasi direzionali ad emissione di impulsi la potenza generata dal fv, la potenza ingresso uscita linea elettrica esterna e la potenza consumata in casa, sono quindi tre punti wattmetrici di misura.

pur non essendo pratico di fv in senso diretto, posso immaginare che il sistema fv  sia in parallelo in un nodo cove convergono i due generatori e da cui parte una utenza casalinga. quando i consumi casalinghi sono inferiori alla produzione, il surplus di energia prodotta dal fv viene drenato all'esterno, mentre quando la produzione e inferiore al consumo la linea esterna fornisce l'energia mancante. poi ci possono essere varie varianti di impianto e d'uso dell'energia.

Ci vuole uno schema di principio con indicato i flussi dell'energia e il loro utilizzo.

 

Quote

Problema disturbi. Questo progetto è esente da disturbi

è una frase limitata alla visione pratica di questo progetto, (visto fino ad oggi) installato in questo ambiente.

Dopo la mia esperienza lavorativa, ad oggi non farei mai questa affermazione.

 

Quote

non sono i disturbi generati a dar fastidio, ma sono i disturbi che provengono dall'esterno che sono causa di guai.

Affermazione assolutamente veritiera.

 

Link al commento
Condividi su altri siti

Sulla prima domanda la risposta l'ho già postata. Entrambi i contatori fanno riferimento alla normativa DIN 43864

Circa il secondo quesito un'idea ce l'ho in testa, ma la devo verificare sul campo. Penso dipenda dalla fotoresistenza interna al contatore digitale che, quando scatta l'impulso, cala , ma non tanto da far superare (in quello che "non va"), la soglia di 2,50 volt fissata da Arduino, con il circuito di ingresso che ho approntato. Penso di dover diminuire il valore della resistenza di 15K verso massa.

Link al commento
Condividi su altri siti

Adelino Rossi. Sono un esperto di energie rinnovabili e in particolare di fotovoltaico. Le tue osservazioni sono sostanzialmente esatte. I modi possono essere diversi, ma accade che quando si misura la corrente che passa nel contatore Enel, in presenza di fotovoltaico, può essere energia che immettiamo in rete, oppure energia che preleviamo. Per misurare l'energia che passa sulla linea Enel è sufficiente misurare la produzione fotovoltaica e i consumi domestici con 2 contatori digitali, come fa la centralina Penelope, in modo "fiscale". Il surplus è null'altro che la differenza (positiva) tra produzione e consumi (compreso quello derivante dal "carico" aggiuntivo, inserito per portarte a zero la differenza).

Link al commento
Condividi su altri siti

Eppure sono convinto di scrivere in un italiano corretto, comprensibile a tutti.

 

 Avevo chiesto: "Gli impulsi come li conti?" "Come è l'interfaccia di Arduino per il conteggio?"

Puoi mettere o lo schema, o un lik dove sia facilmente reperibile questa informazione?

Puoi descrivere come effettui il conteggio di questi impulsi? Ovvero quale contatore di Arduino hai usato e con qaule modalità?

 

Se non si hanno queste informazioni si procede solo con ipotesi a pene di segugio e questa tecnica è solo perdita di tempo.

Se entrambi i contatori fanno riferimento alla medesima normativa non ci può stare che uno funziona e l'altro no. Se questo accade significa che il sistema di interfaccia, ovvero la centralina Penelope, è critico.

 

Link al commento
Condividi su altri siti

L'istruzione Arduino (ripresa dal codice Penelope) è questa:

  ........

  buttonState = digitalRead(pin_produzione);
  if (buttonState == 1)                // oppure if (buttonState == HIGH): è indifferente:

  .......

Gli ingressi digitali di Arduino "sentono" un segnale digitale - ovvero digitalRead() restituisce "1" -  quando all'ingresso la tensione sale, per un attimo (più o meno lungo), oltre i 2,5 volt positivi.

Ogni volta che il contatore digitale spara un impulso (viene visualizzato con un led) fa crollare il valore di una fotoresistenza interna. Ciò premesso, occorre collegare l'uscita SO+ del contatore con i 5 volt positivi di Arduino (lo faccio con una resistenza di protezione da 100 ohm). Di contro il terminale SO- della fotoresistenza interna va invece collegata con il pin di Arduino che deve "catturare" l'impulso. Per fare in modo che in assenza di impulso la tensione del pin sia vicina a zero volt si mette una resistenza che va a massa in parallelo al pin, ovvero in parallelo a SO-. E' lo stesso meccanismo che si adopera per il crepuscolare. Perchè la tensione salga sopra i 2,5 volt occorre ricercare il giusto valore di questa resistenza., in rapporto al valore che assume la fotoresistenza interna durante l'impulso.  

Con il contatore ELCOTRONIC ho utilizzato, verso massa, una resistenza da 15 k e tutto mi fa pensare che questo valore debba essere aumentato con l'altro contatore digitale.

Link al commento
Condividi su altri siti

Non appena la funzione Arduino digitalRead() restituisce "1" si blocca il tempo e si procede a misurare il tempo intercorso tra questo impulso e il precedente con la funzione millis() e il calcolo è semplicissimo. Anche tutto il resto, perchè una volta conosciuti i watt di produzione e quelli di consumo (riveniente da un altro contatore) istantanei, qualora ci sia un surplus di produzione si provvede ad eccitare il RSS che manda energia al carico (scaldabagno, stufette, boiler, ecc) fino a far collimare i consumi con la produzione, con un ricalcolo continuo del duty cycle, cioè con una gestione molto dinamica.

Link al commento
Condividi su altri siti

Dimenticavo, ho usato il pin digitale 6 di Arduino per i consumi e il pin digitale 7 per la produzione fotovoltaica. E ho usato il pin 9 digitale per la gestione del PWM, cioè del duty cycle che va a modulare il relè a stato solido AC.

Link al commento
Condividi su altri siti

In altri termini il conteggio non lo fai con un contatore (timer1 o timer2) ma li conti software.

Non leghi nemmeno alcun interrupt al cambio di stato del pin di ingresso, quindi se il periodo di lettura dell'ingresso non è minore della metà del tempo minimo di durata dell''impulso puoi perdere l'impulso.

Per prima cosa bisognerebbe verificare come ricevi l'impulso. Poi leggendo le specifiche credo di aver capito che per potenze < 5650 W la larghezza dell'impulso ottico si pari a circa 32 ms. Ammesso che non venga degradato/ristretto dall'interfaccia è necessario che l'ingresso ad esso associato venga letto almeno ogni 15 ms.

 

Comunque io, per principio, non sono favorevole a leggere impulsi con la tecnica del polling e conteggio software, se non per impulsi con larghezza >100ms almeno e periodo >200 ms.

Riepilogando.

  1. Verifica della forma e dei livelli degli impulsi sul piedino di arduino.
  2. Misura della larghezza minima e del tempo massimo di polling
Link al commento
Condividi su altri siti

Il ciclo Arduino, nella specie, cioè nel software PENELOPE,  è di 90.000 cicli al minuto. Occorre evitare assolutamente di perdere un qualche impulso. E ci riesce. Ovviamente riesce a percepire piccoli assorbimento con impulsi distanti moltissimo l'uno dall'altro, come l'assorbimento notturno del fotovoltaico SOLAREDGE che è di 2 watt. A maggior ragione deve poter verificare i consumi massimi con diversi impulsi al secondo. 

Link al commento
Condividi su altri siti

Walterword. Non c'è alcun interrupt. Arduino non si ferma, nè invoca altre routine. Ci pensa il mio software con quella istruzione, già richiamata, e che viene eseguita ad ogni ciclo:

       if (buttonState == 1)     

Se si verifica questa condizione vengono calcolati i consumi e/o la produzione FV e vengono eseguiti i calcoli conseguenti relativi al ciclo PWM, oltre alla vidsualizzazione delle informazioni, perchè ad ogni impulso bisogna comunque attendere almeno 100 millisecondi prima di riprendere la ricerca, per evitare di catturare lo stesso impulso 2 volte.

 

 

Link al commento
Condividi su altri siti

Preferisco i contatori digitali con un alto numero di impulsi per KWH perchè Arduino ha risposte più veloci nel modificare il PWM, ma è chiaro che gli impulsi vanno parametrati alla potenza da conteggiare. Con 3200 impulsi petr Kwh, tenedo conto che in ora ci sono 3600 secondi, si hanno circa 3 impulsi al secondo per un normale impianto domestico da 3 Kw di potenza nominale e 6 impulsi al secondo con impianti da 6kwh e siamo un pò al limite.

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.

×
×
  • Crea nuovo/a...