Go Down

Topic: Misuratore di corrente AC con ATtiny84. (ora SO quanto mi costi!) (Read 38683 times) previous topic - next topic

brunol949


Un for di 50-100 campionamenti sulle porte analogiche (16 analog input) nel mio progetto è impensabile

Io non faccio un for ; leggo a giro di loop , sommo il valore letto ed incremento un contatore
Quando arriva a 5000 divido la somma per 5000 , azzero e ricomincio

Quote
Voglio arduino due!!!  ]:D 

Forse non sei il solo
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

pablos

Quote
Io non faccio un for ; leggo a giro di loop , sommo il valore letto ed incremento un contatore
Quando arriva a 5000 divido la somma per 5000 , azzero e ricomincio


si intelligiente come metodo, bisogna vedere quanti cicli fa il tuo loop in un secondo, io ne faccio 40 e non ho delay di nessun tipo. 125 secondi per aggiornare una variabile, non sarebbe proprio una misura istantanea nel mio caso :)

ciao
no comment

brunol949


io ne faccio 40 e non ho delay di nessun tipo. 125 secondi per aggiornare una variabile, non sarebbe proprio una misura istantanea nel mio caso :)

Devo finire l'opera e ne approfittero' per visualizzare sulla seriale il contatore , giusto per capire spannometricamente il tempo impiegato
Tempo che nella mia applicazione non crea problemi
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

dalubar

@Testato: naturalmente parlo di "stabilizzazione", il sensore non riscalda affatto.  :)
Quel che ho notato da sperimentazione pratica è che dopo i primi minuti dall'accensione il valore letto dal DAC si mantiene molto piu sabile (parliamo sempre di poche unità in più o in meno) rispetto ai minuti precedenti...e questo immagino sia dovuto non solo al sensore ma anche al resto del circuito, MCU compresa.

Michele Menniti


@Testato: naturalmente parlo di "stabilizzazione", il sensore non riscalda affatto.  :)
Quel che ho notato da sperimentazione pratica è che dopo i primi minuti dall'accensione il valore letto dal DAC si mantiene molto piu sabile (parliamo sempre di poche unità in più o in meno) rispetto ai minuti precedenti...e questo immagino sia dovuto non solo al sensore ma anche al resto del circuito, MCU compresa.

Verissimo, questa è una prerogativa di tutte le macro e micro-componenti di un circuito elettronico; inevitabilmente la temperatura in fase operativa è diversa da quella in fase OFF, quindi bisogna sempre attendere il raggiungimento della stabilizzazione termica, prima di prendere in considerazione dei risultati.
Non a caso qualsiasi strumento di misura nel manuale d'uso riporta che deve essere acceso da almeno 30 minuti prima di poterlo utilizzare correttamente
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

dalubar

No...stavo pensando al discorso di Mike per l'utilizzo dell'aggeggio come "contatore".

Premetto che non sono pratico di problematiche di questo tipo, per cui a primo acchito non mi è sembrata una cosa affatto semplice; volendo prendere analogia dai contatori ENEL e le loro lucine lampeggianti, quello che servirebbe è misurare il transito di ogni kilowattora e incrementare un contatore di "scatti". Ogni scatto un kwh.

Dal punto di vista matematico bisognerebbe integrare la curva delle potenze istantanee nell'unità di tempo, l'area sottesa alla curva sarebbe l'energia consumata (l'analogia con velocità istantanea e spazio percorso sembra scontata).
Ma come fare praticamente? Una idea mi è venuta pensando ai vecchi contatori che avevano dei dischi dentellati che facevano avanzare i contascatti meccanici.

L'idea è questa (abbastanza scontata, forse), realizzare l'integrazione come somme di prodotti:
- Dividere l'unità di tempo (ora) in intervalli sufficientemente piccoli nei quali si suppone che la potenza istantanea sia costante. Nel caso della mia applicazione direi che posso spezzare l'ora in 3600 parti (risoluzione di un secondo).
- Moltiplicare la potenza istantanea (che è costante nell'intervallino) per l'unità di tempo (1/3600)
- Sommare tutti i prodotti.
Notare che dopo un ora esatta si otterrebbe il consumo espresso in wattora che diviso per 1000 darebbe i kwh. Ma non è questo che ci interessa, bensì sapere quando è "transitato" un kwh dalla rete. Per far questo basterebbe fare una cosa semplice:
- Non appena la somma parziale dei prodotti raggiunge il valore 1000 si può affermare che sia transitato 1Kwh e quindi si può incrementare una variabile "scatti" e ricominciare il processo di integrazione.

La lettura della variabile "scatti" ad intervalli di tempo stabiliti (tipo settimanale o mensile) permetterà di stabilire il numero di kwh consumati.

Che ne pensate, potrebbe andare?

Testato

perfetto, l'approssimazione del cacolo sull'unita' di Un Secondo credo sia affidabile, inutile spezzettare di piu'.

Non capisco solo l'ultima fase, quando dici:
Quote
La lettura della variabile "scatti" ad intervalli di tempo stabiliti (tipo settimanale o mensile) permetterà di stabilire il numero di kwh consumati.


in realta' non appena arrivi a 1000 hai consumato 1KWh, non serve questa ulteriore fase.
In ualsiasi momento vado sul display leggo i KWh consumati, poi si mette un bel tasto per resettare.
Tipo quando l'amministratore va a leggere, ad inizio mese, premera' il tasto ed a fine mese avra' la lettura diretta dell'ultimo mese.

Oppure, implementando un RTC fare uno storico su SD, ma questo e' altro discorso
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

dalubar

Quote
l'approssimazione del cacolo sull'unita' di Un Secondo credo sia affidabile, inutile spezzettare di piu'.

Già, è inutile per il semplice fatto che l'applicazione ci mette più di 1/2 secondo per ottenere il valore della potenza istantanea  ;)
In altri casi più piccolo è l'intervallino è migliore è l'approssimazione (al "limite" che tende a zero della dimensione dell'intervallo si avrebbe l'integrazione "pura")

Quote
In ualsiasi momento vado sul display leggo i KWh consumati, poi si mette un bel tasto per resettare.

Certo, forse mi sono espresso male io, quello che volevo dire era appunto che si poteva avere una stima del consumo in Kwh in un determinato periodo leggendola come differenza tra i valori di inizio e fine periodo (proprio come si fa nella lettura dei normali contatori). Mi riferivo, in particolare, alla situazione condominiale esposta da Michele dove, per fare un confronto tra i consumi di "rami" di linea elettrica differenti occorre avere un uguale riferimento temporale.

Ovvio che per il salvataggio dei dati c'è solo l'imbarazzo hardware della scelta (RTC, logger, SD, e quant'altro)...ma io vorrei arrangiarmi con la scheda a disposizione...al limite avevo pensato di usare la EEPROM per salvare i dati; ogni volta che si leggeva il contatore si salvava il valore corrente in memoria in modo da poter calcolare anche una stima sull'andamento medio dei consumi facendo le differenze delle coppie di valori salvate. L'ATtiny84 ha 512 byte di EEPROM, usando questo spazio come una coda circolare (508 byte + 4byte per i puntatori) e supponendo una lettura del contatore con cadenza mensile si potrebbe disporre di uno storico di oltre 40 anni di dati!!

EDIT: mi correggo, considerando di salvare le letture come tipo di dati "long" ci sarebbe spazio per 10 anni di dati contemporaneamente...che comunque non sono bruscolini  XD

Ma forse, come cantava Noemi profetizzando a sua insaputa..."sono solo parole"  :)

acik


Ottimo $) Ti spiego: amministro il mio Condominio, classica gabbia di matti...
... A dire il vero mi risulta che vendano dei contatori già fatti, a prezzi abbordabili, ma non ho cercato. Appena possibile faccio il controllo con l'elettricista e ti faccio sapere se ne facciamo qualcosa. :)

Per evitare altri casini con i condomini ti consiglio vivamente due contatori di consumo: uno per ogni zona. Usa contatori comperati e non autocostruiti (alla Lidl ne ho comperati alcuni a 5 Euro) e falli installare da un' elettricista.
In questa maniera sara' l' elettricista ad essere accusato di imbrogliare.... Non tu !


Michele Menniti



Ottimo $) Ti spiego: amministro il mio Condominio, classica gabbia di matti...
... A dire il vero mi risulta che vendano dei contatori già fatti, a prezzi abbordabili, ma non ho cercato. Appena possibile faccio il controllo con l'elettricista e ti faccio sapere se ne facciamo qualcosa. :)

Per evitare altri casini con i condomini ti consiglio vivamente due contatori di consumo: uno per ogni zona. Usa contatori comperati e non autocostruiti (alla Lidl ne ho comperati alcuni a 5 Euro) e falli installare da un' elettricista.
In questa maniera sara' l' elettricista ad essere accusato di imbrogliare.... Non tu !

Già, hai sacrosanta ragione! Visti i soggetti con cui ho a che fare, sarebbero capaci di dire di tutto. ]:D
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

acik


Questo aggeggio è nato per evitarmi una grossa seccatura: quella di andare fisicamente a riattaccare il contatore ENEL sito in un locale "distante" (ma, mooolto distante) dal mio appartamento, in un locale sperduto all'interno del condominio, dopo che la tremenda combinazione "lavatrice + frigo + ferrodastiro+altrecose" ne provocava lo stacco per eccessivo consumo di corrente.

Innanzitutto complimenti per il lavoro fatto.
Stavo giusto pensando di farne uno io (dopo che domenica notte son dovuto uscire dalla vasca da bagno ed andare in cantina a riattaccare la corrente), ma adesso penso che "rubero" il tuo progetto e basta.
Eventualmente se mi avanza tempo gli faccio spegnere il boiler, forno, lavatrice, lavastoviglie ecc....

Ciao e grazie !

dalubar

Quote
Innanzitutto complimenti per il lavoro fatto.

Grazie  :)

Quote
...adesso penso che "rubero" il tuo progetto e basta.

Credo che cosi come io ho "ricevuto" sia giusto anche "dare, penso sia lo spirito giusto di un forum come questo.

Quote
Eventualmente se mi avanza tempo gli faccio spegnere il boiler, forno, lavatrice, lavastoviglie ecc....

Eh eh benissimo, attualmente sto lavorando (a tempo perso) per aggiungere anche la parte "contatore" al software...se ne esce fuori qualcosa di buono magari condivido :)

Testato

ulteriore sviluppo, poter inserire il costo del KWh e quindi avere direttamente la spesa in Euro  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP


ulteriore sviluppo, poter inserire il costo del KWh e quindi avere direttamente la spesa in Euro  :)

Mi spiace ma per leggere le bollette dell ENEL non forniscono il Datasheet.  :(

Testato

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up