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

Leggendo queste 16 pagine dopo un anno che non si commenta più non posso fare altro che pensare alle miliaia di ore perse da altrettanti utenti per leggere 16 pagine di autentico entusiasmo si trasformano improvvisamente nel NULLA :astonished:

Andando al bagno mentre ero sulla tazza ragionavo sul misuratore....(accade anche a voi una cosa del gerùnere vero?)

Penso che il problema delle differenza sulle misure sia questa:

La tensione di offset di 2.5volts del sensore lem varia da sensore a sensore quindi non è una REFV, inoltre e suscettibile anche al 7805 di alimentazione. Quindi và misurata all'accensione dello strumento per fare una calibrazione, ma come fare una calibrazione se lo strumento è SEMPRE collegato al carico? O si stacca il carico e si fà la calibrazione (la calibrazione consiste solo nel leggere il valore con ADC e memorizzare l'offset) oppure si mette uno rilevatore di zero crossing sulla corrente in modo che quando arriva lo zero crossing si fà la lettura dell'offset entro pochi microsecondi: FINITA la calibrazione.
Con questa modifica si migliora MA NON del tutto, bisogna anche leggere la tensione sinosuidale , mettere uno zero crossing sulla tensione sinusoidale( hardware o software) e calcolare il cosFI, attualmente un cosFI impostato per statistica non è accettabile.
Per levare quell'odiosa calibrazione del LEM e quindi evitare di mettere i 2 zero-crossing hardware (e farli solo software mediante almeno 2000 letture continue dell'adc al secondo) bisogna mettere nel menù dello strumento una funzione CALIBRAZIONE per calibrare lo strumento da fare in assenza di carico e memorizzare il valore in eerom.

Considero lo strumento proposto dall'autore dalubar un ottimo strumento da modificare come ho detto per renderlo operativo ed efficiente
ciao ciao

La fortuna dei progetti open source è che ognuno può guardarli, studiarli e modificarli.
Visto che dalubar ha lasciato qui schemi e codice, potresti lavorarci sopra e fornire il progetto con le modifiche da te segnalate, che mi sembrano molto interessanti :wink:

il progetto prevede gia' una calibrazione automatica dell'offset, e comunque i 2,5v non sono un qualcosa che viene dichiarato dal costruttore, semplicemente sono il centro della sinusoide nel caso si misuri un segnale sinusoidale. Logicamente se l'alimentazione e' ballerina, ne risente anche la precisione, ma un 7805 come stabilizzatore basta e avanza per questa situazione secondo me.
Gli altri due parametri, tensione di rete e fattore di potenza, sono volutamente stati scelti fissi per semplicita'.
E' normale che se abiti in un posto dove normalmente la 230v risulta essere 190v non ti ritroverai con la potenza reale che vai a pagare all'enel. Cosi' come anche se a casa tua usi regolarmente ed in maggior parte carichi induttivi o capacitivi il fattore di potenza puo' alterare la misura.
In questi casi pero' puoi sempre alterare i due parametri fissi, diciamo che e' normale che si adatteranno i due parametri alla propria situazione. Aggiungere tensione e sfasamento reali, misurati, significa fare un nuovo progetto, cambiando anche tipo di micro.

Quindi si dovrebbe affrontare il discorso sotto vari punti di vista, se ad esempio si ci lamenta di problemi con la misura di corrente e' un discorso, se si ci lamenta del valore di potenza reale ricavato e' tutt' un altro discorso.

E allora testato perchè secondo te il prototipo di dalubar misura giusto e il secondo campione , quello di giangi2, che sembra essere il solo realizzato oltre al prototipo non funziona?

Ma soprattutto: Perchè dopo 16 pagine di accorata discussione, e uno ci mette una vita a leggere tutto la discussione si è interrotta da più di un anno , se giangi2 è riuscito a farlo funzionare lo avrebbe detto ..invece NULLA.
le ultime parole di giangi2 un anno fà: "Non so piu' cosa fare ......... e la prima volta che mi succede una cosa simile "
le ultime parole di dalubar: "dopo le 20.00 contattami su Skype e vediamo una buona volta di risolvere."

non si fanno 16 pagine di materiale per poi finire nel nulla : almeno dire: NON LO FATE!!!! NON FUNZIONA!!! oppure CI SONO RIUCITO OK FATELO!!!! Che ne dite?

Dalubar 1 annetto fa ha lasciato non solo il progetto ma il forum in generale per problemi personali (me lo ha confermato qualche mese fa, via mail, che gli scrissi perché era da tempo che non lo vedevo più online).

Icio non capisco perché te la sei presa nei suoi confronti. Mica ha fatto un progetto, ne ha discusso 16 pagine e poi è fuggito per il gusto di far soffrire la gente o di lasciare le cose a mezzo :wink:

Va ben meglio cose dette tardi che mai....

Ho guardato il codice , non è possibile calibrare lo strumento in quel modo senza togliere il segnale sinusoidale. Quindi la calibrazione va rifatta.

Ho guardato il DS del sensore e ho visto che VREF è sufficientemente stabile 2.5V +/- 25mV ma il range è 0.625 x Ip/Ipn quindi significa che con 16 ampere va da 2.1 a 2.9volts RMS..... cioè +/-400mV su 16 ampere....... è troppo basso....... 25mV di errore dovute a temperatura , calibrazione o 7805 (i 7805 hanno un errore anche del 5% che corrisponde a 250mV che infuliscono NON sul sensore ma sull'ADC dell' avr) corrisponderebbe ad un errore di (25/400)x16=1ampere cioè 230watt di errore , TROPPO per uno strumento di misura, soluzione: bisogna togliere i 2.5volts e amplificare di circa 8 volte RMS, cioè ( 0.4 x 8 ) x 1.41 = 4.5volts in modo che copra quasi tutto il range 0-1023 del ADC.

attualmente una escursione di 400mV rms corrisponde a un delta del adc di 81 unità che devono coprire un range di 16 ampere, basta un errore sull'adc di 5 (e ve lo posso confermare è moolto facile averlo) per avere un errore di 1 ampere sulla misura (230watt) è chiaro che così com'è non sarà mai uno strumento di misura ma solo un comparatore di sovracorrente, tra l'altro questo è ciò che ha sempre precisato dalubar, che non è uno strumento di misura ma gli serviva solo per avvisarlo anticipatamente dello stacco imminente del contatore enekl siccome oltre alla corrente non misura nulla altro, questa applicazione è utile come un comparatore di tensione LM393 con da una parte il sensore , dall'altra un potenziometro da 2.5v a 3.1volts (2.5 + (400mV v 1.41)) e sull'uscita il buzzer.

leo72 : purtroppo non ho bisogno di uno strumento di misura perchè ho già in laboratorio degli strumenti adeguati, comunque spero di aver dato il mio contributo a chi vorrebbe costruire uno strumento di misura:

  1. coprire tutto il range disponibile dell'adc 10 bits

  2. effettuare una calibrazione dello strumento (manuale o automatica)

  3. misurare la tensione

  4. rilevare i zero crossing tensione e corrente (con hardware o senza hardware) al fine di misurare lo sfasamento tra tensione e corrente
    5)calcolare il cosFI in base allo sfasamento
    6)calcolare la potenza attiva e reattiva

  5. aggiungere un totalizzatore

  6. aggiungere la misura della corrente o potenza di picco

  7. aggiungere il costo della corrente per kwatt

  8. calcolare il costo totale

  9. inserire un comparatore per la potenza massima al fine di azionare un rele

  10. oppure........comprare un misuratore alla LIDL per 10 euro che fà tutti i 11 punti elencati, ha dentro anche il relè che stacca il carico, ma se uno vuole può usare quell'uscita staccandola dal relè per azionare un buzzer anzichè il rele.

Ottimo il suggerimento di astroz78 (OPen domotica) per azionare il buzzer seguendo una curva pesata.

icio:
Ho guardato il DS del sensore e ho visto che VREF è sufficientemente stabile 2.5V +/- 25mV ma il range è 0.625 x Ip/Ipn quindi significa che con 16 ampere va da 2.1 a 2.9volts RMS..... cioè +/-400mV su 16 ampere....... è troppo basso....... 25mV di errore dovute a temperatura , calibrazione o 7805 (i 7805 hanno un errore anche del 5% che corrisponde a 250mV che infuliscono NON sul sensore ma sull'ADC dell' avr) corrisponderebbe ad un errore di (25/400)x16=1ampere cioè 230watt di errore , TROPPO per uno strumento di misura, soluzione: bisogna togliere i 2.5volts e amplificare di circa 8 volte RMS, cioè ( 0.4 x 8 ) x 1.41 = 4.5volts in modo che copra quasi tutto il range 0-1023 del ADC.

Non sarebbe meglio invece ridurre il segnale nella scala 0-1,1V per poter usare il riferimento interno al micro, più preciso e stabile (sarebbe immune dalle tolleranze del 7805). Inoltre con 1,1V come soglia massima si avrebbe una risoluzione di 1,1/1024=0,0011V per singolo scalino, una risoluzione 4 volte maggiore di quella che si otterebbe usando la scala 0-4,5V, che darebbe 0,0044V per passo.

Certo , anche così, bisogna comunque tramite hardware sottrarre quei fastidiosi 2.5v e considerare solo la semionda positiva

icio:
E allora testato perchè secondo te il prototipo di dalubar misura giusto e il secondo campione , quello di giangi2, che sembra essere il solo realizzato oltre al prototipo non funziona?

Ma soprattutto: Perchè dopo 16 pagine di accorata discussione, e uno ci mette una vita a leggere tutto la discussione si è interrotta da più di un anno , se giangi2 è riuscito a farlo funzionare lo avrebbe detto ..invece NULLA.
le ultime parole di giangi2 un anno fà: "Non so piu' cosa fare ......... e la prima volta che mi succede una cosa simile "
le ultime parole di dalubar: "dopo le 20.00 contattami su Skype e vediamo una buona volta di risolvere."

non si fanno 16 pagine di materiale per poi finire nel nulla : almeno dire: NON LO FATE!!!! NON FUNZIONA!!! oppure CI SONO RIUCITO OK FATELO!!!! Che ne dite?

Icio, leggo solo ora questo tuo intervento, Dalubar è un mio amico, ne conosco la serietà e la competenza, poi tutti possono sbagliare, ma sarebbe stato bello se questo confronto si fosse fatto con lui presente, cosa non possibile, purtroppo; ha fatto altri lavori e li ha sempre messi a disposizone del FORUM, con discrezione e umiltà. Ora diventa difficile comprendere la ferocia della tua critica. Stai solo supponendo che le cose siano andate come dici tu e li stai trattando come due persone indegne di frequentare un Forum. E lo fai senza sapere cosa sia successo in realtà. A me la tua sembra più la delusione di chi si è sciroppato 16 pagine per poi accorgersi che il discorso non era finito, come quando mancano le ultime 3-4 pagine di un fumetto, un romanzo, o qualsiasi altra storia da leggere. Però vedo anche con immenso piacere che tu hai trovato una serie di soluzioni alternative e di possibili integrazioni al progetto. Sarebbe bellissimo che tu le trasformassi in modifiche schematiche, PCB e di firmware e le aggiungessi al primo post (con l'aiuto del MOD si può fare) come tua soluzione defnitiva e funzionante, il che significa che davvero ti saresti messo a realizzare il lavoro e portarlo a compimento, per la gioia di tutti quelli che saranno rimasti delusi anche, se, a dire la verità, sei il primo che si lamenta. Non potrebbe essere che altri abbiano realizzato "in silenzio" il progetto e che gli stia funzionando come a Dalubar, come puoi escluderlo con certezza? Come puoi essere assolutamente certo che giangi2 non abbia sbagliato nulla e perché il lavoro di Dalubar comunque funziona? Posso assicurarti che ci sono migliaia e migliaia di persone Ospiti del Forum e non iscritti, che ogni giorno sperimentano, chi con successo, chi non, quanto viene proposto, soprattutto nella sezione MegaTopic, e la mia certezza deriva dalle numerose mail private che mi arrivano da tutta Italia, addirittura qualcuno mi h scritto anche dall'Esterno, per avere consigli e risolvere problemi su cose che diamo per sicuramente funzionanti. E, per farti "incavolare" ancor d più, ti assicuro che un buon 60% di coloro che mi scrivono, magari dopo uno scambio di 10-20 mail, non ha la creanza di dirmi che ha risolto, oppure che ha lasciato perdere, niente, tu gli dedichi giorni interi a loro in cambio spariscono nel nulla da cui sono usciti; purtroppo non tutti sono corretti, ma finché non sappiamo perché non lo sono stati, non li si può giudicare.
Detto questo, il progetto è stato inserito in questa sezione prché lui lo ha mostrato funzionante ed ha fornito tutti gli elementi per replicarlo; ora tu hai dato un contributo in termini di discussione, ed il Forum è sempre grato di ciò, ma se uno volesse applicare i famosi 11 punti cosa avrebbe a disposizione, oltre al materiale di Dalubar ed alle tue ottime considerazioni sul sensore e sulla risposta dell'ADC?
Cioè, un perfetto ignorante come me, che in questo campo è solo un praticone, cioè capace di realizzare qualcosa copiandola da altri, come potrebbe ottenere i risultati del tuo contributo partendo dalle sole info copiabili diponibili, quelle di Dalubar?
Chiudo dicendo che siamo tutti curiosi di sapere come finì la telefonata, se mai c'è stata, tra giangi2 e Dalubar; del secondo sappiamo, del primo vediamo invece che ha continuato a frequentare il forum per 7 mesi ed ora è sparito da febbraio, ma nel frattempo non ha detto più niente a nessuno di questo lavoro.
Spero ti sia chiaro che il mio intervento non voglia essere affatto polemico, ma per me era giusto intervenire per giustificare il mio amico Dario (è il suo nome) e far capire a tutti che non sempre le cose sono come appaiono.
Ciao :slight_smile:

icio:
Certo , anche così, bisogna comunque tramite hardware sottrarre quei fastidiosi 2.5v e considerare solo la semionda positiva

Perche' mai via hardware ; basta togliere via software semmai
La semionda negativa basta "ribaltarla" con una semplice operazione matematica
ValA0 = analogRead(A0) ;
if (ValA0 < 512 ){ValA0 = 512 + (512 - ValA0); }
In firma trovi una mia elecubrazione pensata per altri usi
Io ho usato Arduino e col 7805 ho alimentato VREF e Sensori per sopperire ad eventuali variazioni

Il "problema" del 7805 in realtà non è di instabilità, ma si riduce al solo fattore di tolleranza, per cui può fornire in uscita 4,9V o 5,15V ma poi dovrebbero essere sembre piuttosto stabili. Del resto anche il riferimento interno a 1,1V non è precisissimo, come ho avuto modo diverificare più volte, quindi, alla fine, o si usano integrti nati per questo preciso scopo (riferimenti precisi di tensione), ed in questo caso ci si può fidare del loro valor, oppure bisogna rassegnarsi a misurare il valore reale di riferimento ed attribuirlo ad una costante, lato firmware. Quest'ultima cosa comporta una forzata "personalizzazione" del firmware, ma in cambio garantisce la massima precisione possibile delle misure, oltre naturalmente a tutti gli accorgimenti dettati dal data-sheet: condensatore sull'ARef e disaccoppiamento di AVcc, per non tacere poi d interventi lato firmware come p.es. il calcolo della media di xx letture consecutive.

Leggo con piacere un commento educato come il tuo Michele menniti, sono d'accordo con te sulla mancanza di riconoscenza di molte persone e temo che questo comune comportamento non soffra mai crisi, non era mia intenzione essere "feroce" e forse hai scambiato la mia franchezza con la caratteristica animalesca che hai citato, ..che ne so che Dalubar non frequenta più il forum?, devo forse controllare in Arduino forum i fatti degli altri?, certo che no,.......... sò solo che questa è la sua pagina , il suo topic e questo è il posto giusto per commentare il suo progetto.

purtroppo come ho già detto non sono interessato a farmi carico della progettazione di una cosa di cui non ho neppure la necessità, il mio scopo era solo AIUTARE a migliorare quello che che già, in questo senso penso di aver già dato il mio contributo, ad altri (se desiderano) arrivare alla propria conclusione personale :slight_smile:

Carissimo, quanto alla "ferocia", mi spiace che la cosa ti abbia colpito così tanto, non era mia intenzione dare un valore così pesante al termine, più che altro usato qui per dire "senza lasciare scampo", ovviamente il contesto non lascia spazio ad aggravamenti...comunque sia mi scuso sinceramente con te; non condivido, purtroppo, che la ferocia sia prettamente animalesca, gli animali, quelli definiti feroci, uccidono altri animali esclusivamente per cibarsi e sopravvivere. Gli uomini sì che sanno essere feroci, quando uccidono per un parcheggio o per 10cm di proprietà terriera, o per qualche decina di euro, o per un rapporto che non si rassegnano ad accettare come finito o, peggio, per le cosiddette pulizie etniche e guerre varie; in nessuno di questi e degli altri innumerevoli casi essi guadagnano nulla, al costo quindi inutile, di vite umane, e del dolore che la loro perdita provoca alle persone a cui sono care. Tutto questo, come ben immagini, non può avere niente a che fare col tuo intervento in questo Topic :sweat_smile:
Tornando ON TOPIC, per sapere quando l'ultima volta un utente si è collegato ed ha scritto sul forum, basta cliccare sul suo nome, in casi come questi si capisce che per lo meno si parlerà al vento. Il tuo scopo di aiuto è, come detto, encomiabile, purtroppo un conto è dire come un progetto è migliorabile, un conto è spiegare in modo indiscutibile come migliorare un progetto. Riprendo il mio esempio di ignorante, se decidessi di realizzare il progetto di Dario ora saprei (ma fino a prova contraria, visto che il progettista non può controbattere) che esso è migliorabile in una serie di punti, e ciò grazie al tuo intervento; ma cosa/chi mi aiuterebbe a mettere in pratica queste migliorie ora?
Allora possiamo solo sperare che una volta o l'altra Dario possa ritornare sul Forum, leggere i tuoi consigli e adoperarsi per migliorare il suo progetto e correggerne gli errori.
Ciao

Scusate come mai non riesco a vedere le immagini ?

icarocnc:
Scusate come mai non riesco a vedere le immagini ?

A cosa ti riferisci?

alle immagini pubblicate nelle prime pagine del topic April 29, 2012,
vedo un quadratino e basta

Le immagini erano hostate sul sito personale dell'utente dalubar, probabilmente le ha rimosse. E quell'utente non è più attivo su questo forum.

@ icarocnc : il sito dell'utente dalubar è QUESTO ... magari puoi provare a contattarlo per vedere se rimette in linea quella foto o se te la passa :wink:

Guglielmo

Ok
Grazie!