Misuratore di corrente AC con ATtiny84. (ora SO quanto mi costi!)

ma con tutti i trasformatori che puopi comprare in italia ne devi prendere uno in cina su un sito in cinese ? :fearful:

Non usa più presentarsi quando si arriva in un nuovo forum? smiley-wink
PS: regolamento smiley-wink

Fatto, mi scuso per l'errore, chiedo venia.

Testato:
ma con tutti i trasformatori che puopi comprare in italia ne devi prendere uno in cina su un sito in cinese ? :fearful:

In realtà l'ho preso in Italia, ad una fiera dell'elettronica che si è tenuta nella mia zona. Me lo hanno venduto per un prodotto della Matsushita, quindi speravo di trovare un po' di documentazione in giro, ma sto notando che mi sbagliavo.

In realtà a parte la marca sto notando che tutti hanno le stesse funzioni e funzionano secondo lo stesso principio di funzionamento, mi servirebbe solo una mano da parte di qualcuno che ha già avuto a che fare con questi dispositivi e mi può aiutare a mettere in funzione anche quello che ho io, tutto qua.

Ok scusa, allora ci sta :slight_smile:

La burden non ci dovrebbe essere per due motivi, perché contiene un limitatore a 7,5v che con la burden non servirebbe.
Inoltre se vai alla tab delle caratteristiche vedi le curve in base a diverse resistenze, che se fosse integrata invece sarebbe un unica curva.

Le spire dovrebbero essere 3000, perché dichiara il rapporto 3000:1

Testato:
Ok scusa, allora ci sta :slight_smile:

La burden non ci dovrebbe essere per due motivi, perché contiene un limitatore a 7,5v che con la burden non servirebbe.
Inoltre se vai alla tab delle caratteristiche vedi le curve in base a diverse resistenze, che se fosse integrata invece sarebbe un unica curva.

Le spire dovrebbero essere 3000, perché dichiara il rapporto 3000:1

Avevo intuito che 3000 potesse essere il numero di spire però volevo conferma da qualcuno più esperto di me, grazie !
Cosa vuol dire che contiene un limitatore a 7,5v ?

Io gli schemi che ho seguito sono i seguenti:

  1. per il montaggio = http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino-energy-monitor-measuring-current-only
  2. per lo sketch = http://openenergymonitor.org/emon/buildingblocks/arduino-sketch-current-only
  3. Ieri ho trovato come fare i calcoli della burden qui: http://openenergymonitor.org/emon/buildingblocks/ct-sensors-interface

Riportando i calcoli eseguiti con le formule di quest'ultimo link mi trovo, per una misura massima di 50 A, i seguenti valori:

Primary peak-current = RMS current × ?2 = 50 A × 1.414 = 70,7A
Secondary peak-current = Primary peak-current / no. of turns = 70,7 A / 3000 = 0.0235A
Ideal burden resistance = (AREF/2) / Secondary peak-current = 2.5 V / 0.0235 A = 106,38 ? = 100 ?

In realtà (non so se per errore o cosa) la figura 1 ha una resistenza burden di 100 ?, quindi mi dovrei trovare bene.

Ho provato a rilevare la corrente di una lampadina a led da 5 W, ma il monitor seriale mi restituisce sempre valori intorno ai 20 (in corrispondenza della stampa: Serial.print(Irms*230.0); // Apparent power)

Facendo altre ricerche su Internet ho notato che esiste già una shield per questo sensore che però a quanto pare prevede che il segnale venga raddrizzato, ecco il riferimento:
https://docs.google.com/viewer?a=v&pid=sites&srcid=Z2FsaWxlb3NldmVuLmNvbXxnYWxpbGVvLTd8Z3g6YzdiMzI2ZDZjMzk1NDY1

Cosa ne pensi ?

Sui TA senza burden si mette un limitatore di tensione perché a vuoto avrebbe in uscita una tensione altissima pericolosa
Essendo la resistenza sul secondario a vuoto infinita, teoricamente anche la tensione è infinita.

Questo sistema non va bene su piccole correnti, sotto i 100W non è utilizzabile, anche perche stai usando un trasformatore da 80A

Puoi alterare il rapporto di spire per laborare piu a centro scala, ma non aspettarti precisioni su pochi watt.

Ci sono vari modi per usare i TA, quella schield usa altri concetti diversi da openenergy

Quindi secondo te il fatto che sballi con una lampadina molto piccola è dovuto al fatto che ha una capacità di misurazione elevata ?

Però nella pagina http://translate.google.it/translate?hl=it&sl=ja&tl=en&u=http%3A%2F%2Fwww.u-rd.com%2Fproducts%2FCTL-10-CLS.html alla seconda riga dice:

Apply current 0.01 ~ 80Arms (50Hz/60Hz), R L ? 10?

Io capisco che è capace di rilevare un range da 0.01 A fino a 80 A . Capisco male ?

Scusa se insisto ma è solo per capire.

ma hai usato pari pari lo sketch di emon o hai sistemato la calibrazione?
edit- Siccome dalla proporzione tra la misura che rilevi e quella che dovresti invece rilevare (se tutto andasse bene) il problema sembrerebbe proprio la calibrazione, ti dico come fare così sistemi... Se guardi nello sketch di emon trovi questa funzione emon1.current(1, 111.1) quelli tra parentesi sono i parametri che devi sistemare: il primo è il pin a cui colleghi il TA, il secondo è la calibrazione... In quel caso è 111.1 perchè è calcolata per un altro tipo di TA e un'altra resistenza di burden; quel parametro è il rapporto tra il ratio (in quel caso 2000) e la resistenza di burden (in quel caso 18 ohm) 2000/18=111.1; tu hai un altro TA con un altro ratio (3000) e un altro valore di resistenza di carico (100 ohm) per cui il parametro che devi passare è 3000/100=30.0
Fai questa modifica e vedrai che i valori intorno a 20W diventeranno intorno a 5W. Se vuoi approfondire sul sito di emon c'è la pagina che riguarda la calibrazione.

Non sapendo dove agire mi sono limitato semplicemente a fare uno spudorato copia e incolla.

Grazie della spiegazione, stasera che torno a casa proverò a fare le modifiche e vi farò sapere.

ok per la calibrazione, ma la mancata precisione a bassi consumi restera', perche' non e' dovuta al TA ma all'ADC del micro che e' a soli 10bit

Come promesso eccomi qua, fresco fresco di prove effettuate.

Grazie al prezioso suggerimento di marinaio67 i valori sono cominciati a rientrare nella normalità, infatti ora se attacco la lampadina da 5 W, ottengo misurazioni variabili tra 7,60 W e 8,70 W

In effetti anche Testato ha la sua ragione, infatti ho provato a rilevare il consumo di un asciugacapelli che riporta sull'etichetta un consumo di 1000 W, ed ho rilevato una variazione compresa tra 850 W e 870 W, che mi sembra più veritiera.

Inoltre, giusto per completezza, se spengo tutto ottengo una misurazione variabile tra 3,60 W e 4,70 W.

In effetti un valore max misurabile di 50 A non è reale, se scendo ad un valore max di 25 A potrei migliorare ulteriormente la situazione ?

Premesso che Testato ha ragione sull'aumento dell'imprecisione alla diminuzione dei valori misurati, per migliorare la situazione attuale devi migliorare il circuito... Il fatto che senza nessun assorbimento, ti rilevi ugualmente qualche watt di consumo, significa che l'offset non è preciso; a livello software non so come calcoli l'offset emon... bisogna guardare la libreria e sul sito dove c'è una pagina anche per quello (io adesso devo uscire e non posso); a livello hardware, la cosa la puoi migliorare di molto, utilizzando resistenze di precisione sia per il partitore che per la burden (1% vanno bene), inoltre ricordati che misuri comunque solo la corrente e dai dei valori fissi a tensione e cosfi... cosa che non è reale.

Ciao,
a livello software non faccio nessuna taratura, mi sono semplicemente limitato a fare uno spudorato copia-incolla
del codice messo a disposizione da emon, ad eccezione della correzione che tu mi segnalavi.

Riporto di seguito il listato del programma che carico:

#include <EmonLib.h>
EnergyMonitor emon1;                   // Create an instance

void setup() {  
  Serial.begin(9600);
  
  //emon1.current(1, 111.1);             // Current: input pin, calibration.
  emon1.current(1, 30);
}

void loop() {
  double Irms = emon1.calcIrms(1480);  // Calculate Irms only
  
  Serial.print(Irms*230.0);	       // Apparent power
  Serial.print(" ");
  Serial.println(Irms);		       // Irms
}

non puoi avere uno zero senza nulla attaccato, perche' su valori cosi' grandi un solo ed unico bit dell'adc ti sballa di una ventina di molto. se cerchi sul forum emon vedrai che spesso viene fatta questa domanda. per approssimazione diciamo che tutto cio' che e' sotto i 20W non e' utilizzabile

Ok, però almeno valori prossimi allo 0 nemmeno ?

Quando parli di

perche' su valori cosi' grandi un solo ed unico bit dell'adc ti sballa di una ventina di molto

ti riferisci al fatto che il sensore è in grado di rilevare un range molto ampio di correnti ?

Se si, con altri tipi di sensore, magari con un range di misurazione più ristretto, si può ottenere una misurazione migliore ?

Se decido di fare come dici tu:

per approssimazione diciamo che tutto cio' che e' sotto i 20W non e' utilizzabile

posso considerare il consumo del mio asciugacapelli (circa 850 W) attendibile ?

se tu vuoi un range ampio, come quello che serve per misurare il consumo di un intero appartamento, quindi sui 16A, non c'e' molto che puoi fare sul miglioramento della rilevazione dei piccoli consumi. Inoltre qui siamo anche OT, perche' tu non stai usando nulla di questo progetto, che usa invece un sensore di corrente, non un TA.
Io direi di dividere, dalla tua domanda in poi, in un altro topic, se il moderatore sta leggendo.

Volendo restare su misure dei 3kW enel non c'e' nulla da fare per piccoli consumi, se invece il tuo uso e' quello di misurare una singola applicazione allora conviene che cambi approccio e usi un piccolo sensore ad effetto hall.

La emonlib e' bella cosa nel momento in cui campioni sia la forma d'onda della corrente che quella della tensione, in modo da calcolare lo sfasamento reale fra le due e poter calcolare la potenza reale, nel tuo caso credo tu vuoi usare un riferimento fisso per V e cosFi, quindi si tratta di accontentarsi. Se tari lo strumento sulla misura di una lampadina ad incandescenza poi ti sballera' con l'asciugacapelli, perche' e' un oggetto RL.
Se leggi i risultati raggiunti da questo progetto, e dalubar e' uno bravo che ci sa fare, troverai gli stessi limiti, si decide dove approssimare e si ci accontenta del risultato medio

In realtà a me questo dispositivo lo hanno venduto come TA e non come sensore di corrente.

Il mio intento è creare un rilevatore realtime del consumo di energia che ho a casa. Da quanto mi hai risposto capisco che essendo troppo ampio il range, non ce la faccio a misurare sia pochi watt, sia i 3 KW max. E' pur vero che mettendolo direttamente all'uscita del contatore, non avrò mai pochi watt di consumo, perchè la somma delle diverse utenze collegate dà comunque diversi watt di consumo, anche senza avere attaccati asciugacapelli e/o stufette varie.

Detto questo, trovo molto interessante l'argomento del calcolo reale del consumo, tenendo conto soprattutto dello sfasamento introdotto dai motori elettrici (quello che tu chiami oggetto RL). Visto che hai detto che la libreria emonLib è ottima per il calcolo sia della forma d'onda della corrente che di quella della tensione, mi spieghi come faccio ad ottenre i valori ?

Ho forse bisogno di due sensori (magari anche diversi da questo) ?

Appunto, il tuo è un TA, quindi con questo progetto, intendo il progetto del topic dove stiamo scrivendo non centra nulla XD

Il tuo TA va benissimo per emonlib, per misurare anche la tensione usi un trasformatore con uscita 9v.

Se vuoi affrontare bene tutto il tema devi spulciarti bene il sito di emonlib, e poi qui chiedi solo consigli o posti problemi, non puoi chiedere di spiegare qui le basi che servono sul tema.

Il tutto imho :slight_smile:

Come dice Testato, il sito emon è ricchissimo di contenuti dove puoi trovare tutte le problematiche e le relative soluzioni... E' un progetto ampio e se come pare, sei interessato all'argomento, devi studiartelo bene... Inoltre qui Arduino Playground - HomePage c'è un tutorial di pitusso in italiano... riguarda sopratutto la messa in rete dei dati, ma tratta un pò tutto l'argomento emon... Qui siamo oltremodo O.T.

Capito, mi scuso l'essere andato fuori tema e vi ringrazio infinitamente per i preziosi ed utili consigli che mi avete dato fino ad ora.

Ciao.