Pages: [1] 2   Go Down
Author Topic: openenergymonitor ottimizzato per l'italia  (Read 3900 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buongiorno.
Da quando ho scoperto arduino vi ho tempestato di domande su decine di progetti diversi... Procedono tutti su binari paralleli, magari lentamente, per motivi lavorativi però piano piano riuscirò... YES I CAN! smiley-lol

La mia domanda. Qualcuno ha mai ottimizzato il progetto openenergymonitor.org(tra l'altro gettonatissimo) per quello che potrebbero essere i comuni impianti domestici italiani da 3KWh?
Io leggo molto, partendo dal progetto enerduino, passando per ArdEmon, sono finito per fissarmi su openenergymonitor. Purtroppo molte delle nozioni lette non mi appartengono, soprattutto potenze, sfasamenti, coefficenti... smiley-eek

Io pensavo di poter costruire un energymonitor, che desse in uscita i soli valori che poi trovo in bolletta per intenderci, semplice come enerduino ma più preciso e che possa dare il consumo reale di corrente e non quello conteggiato dal contatore.
Magari si potrebbe anche fare un parallelo, tra enerduino e openenergymonitor per rendersi conto delle differenze.
Il primo problema è stato il collegamento del sensore CT, ho trovato due collegamenti, quello "originale" del sito openenergymonitor.org(che credo usi un partitore per rialzare la parte negativa), e un altro metodo letto qui sul forum che usa un amplificatore operazionale.

Qual'è il sistema migliore?

Questo codice potrebbe andare bene con entrambi i metodi(operazionale o partitore)?

Code:
//Measuring AC mains energy use the non-invasive current transformer method
//Sketch calculates - Irms and Apparent power. Vrms needs to be set below.
//OpenEnergyMonitor.org project licenced under GNU General Public Licence
//Author: Trystan Lea

   //For analog read
   double value;

   //Constants to convert ADC divisions into mains current values.
   double ADCvoltsperdiv = 0.0048;
   double VDoffset = 2.4476; //Initial value (corrected as program runs)

   //Equation of the line calibration values
   double factorA = 15.2; //factorA = CT reduction factor / rsens
   double Ioffset = -0.08;
     
   //Constants set voltage waveform amplitude.
   double SetV = 230.0;

   //Counter
   int i=0;

   int samplenumber = 4000;
 
   //Used for calculating real, apparent power, Irms and Vrms.
   double sumI=0.0;
 
   int sum1i=0;
   double sumVadc=0.0;

   double Vadc,Vsens,Isens,Imains,sqI,Irms;
   double apparentPower;
   
void setup()
{
  Serial.begin(115200);
}

void loop()
{
   value = analogRead(0);
   
   //Summing counter
   i++;

   //Voltage at ADC
   Vadc = value * ADCvoltsperdiv;

   //Remove voltage divider offset
   Vsens = Vadc-VDoffset;

   //Current transformer scale to find Imains
   Imains = Vsens;
                 
   //Calculates Voltage divider offset.
   sum1i++; sumVadc = sumVadc + Vadc;
   if (sum1i>=1000) {VDoffset = sumVadc/sum1i; sum1i = 0; sumVadc=0.0;}

   //Root-mean-square method current
   //1) square current values
   sqI = Imains*Imains;
   //2) sum
   sumI=sumI+sqI;

   if (i>=samplenumber)
   { 
      i=0;
      //Calculation of the root of the mean of the current squared (rms)
      Irms = factorA*sqrt(sumI/samplenumber)+Ioffset;

      //Calculation of the root of the mean of the voltage squared (rms)                     
      apparentPower = Irms * SetV;

      Serial.print(apparentPower);
      Serial.print("C");     
      Serial.print(SetV);
      Serial.print("D");
      Serial.print(Irms);
      Serial.print("E");
 
      //Reset values ready for next sample.
      sumI=0.0;
 
   }
}
Scusate se mi sono dilungato e grazie.
Alessandro.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il metodo da te postato non è per nulla preciso: il voltaggio della linea e settato nel software e non misurato, così come lo sfasamento. Questo introduce un errore di misura molto pesante specie in presenza di carichi fortemente induttivi (motori / compressori / lampade con reattori) e per misure di consumi relativamente piccoli...
Ho visto altri progetti che misurano anche la tensione (con un trasformatore) e calcolano lo sfasamento via software (anzichè settare un valore arbitrario) che comunque hanno bisogno di essere calibrati con un altro misuratore per essere abbastanza precisi.
Alla fine mi sono affidato a dei misuratori di kWh su barra DIN con uscita S0 (un uscita sulla quale leggi un impulso in tensione ogni 0,5Wh consumato che poi viene semplicemente conteggiato da arduino per darti il consumo istantaneo e totale del periodo che imposti). Purtroppo il mio progetto è un pelo più complesso ed ho dei problemi col software e col tempo a disposizione, perciò è in standby, altrimenti ti avrei passato il tutto gla pronto... Se vuoi dare un'occhiata:
http://arduino.cc/forum/index.php/topic,61547.msg444816.html#msg444816
Altrimenti puoi conteggiare con un fototransistor direttamente gli impulsi del tuo contatore (solitamente un impulso = 1Wh) e procedere in modo analogo a conteggiare e mediare nel tempo con arduino.
Sul forum trovi dei progetti con la funzione cerca.
Ciao
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 33
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Alessandro

Ho realizzato con Arduino una cosa simile, sfruttando il lampeggio del led sul contatore ENEL, in cui ogni  1000 flash equivalgono a 1 KW consumato.

http://arduino.cc/forum/index.php/topic,69907.msg519370.html#msg519370


Ciao
Marco Nicolato
Logged

0
Online Online
Faraday Member
**
Karma: 38
Posts: 5601
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bel progetto
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quando tutto sembrava perso, alla fine del tunnel si udì una voce... smiley-lol

Grazie per le risposte, ormai non ci speravo più.
La soluzione di lettura via "lampeggi" è stata quella che mi ha fatto venire l'idea, cercavo di migliorarla, se così si può dire, perchè i lampeggi restano comunque i WH che segna il contatore e non in realtà quelli consumati...Certo, non è che volevo smascherare truffe o robe del genere contro il gestore, però avere consapevolezza di quello che succede è sempre una buona cosa...
In più avrei qualche difficoltà con i cablaggi.

I due progetti nei link postati li avevo letti, molto interessanti e ben strutturati, molto belle anche le finiture del PowerDuino, sembra un prodotto commerciale(che sarebbe un complimento, attenzione... smiley )

Valuterò il prodotto da quadro di cui mi hai parlato, per lo più che i miei arduini sono proprio messi lì dentro...
PS: questo modulo din, sarebbe come questo?
http://www.energiacentronord.com/public/documents/MIZManuale.pdf

Grazie. Best regards.
Alessandro.
« Last Edit: September 11, 2011, 02:48:21 am by AlexP1 » Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho trovato questo:

http://www.energiasolare100.it/contatore-monofase-a-due-cavi-guida-din-con-uscita-impulsi-p-670.html

Collego 5V al suo ingresso e dovrebbe mandare in uscita un segnale impulsivo (da 5V??), quindi lo alimento direttamente con arduino e poi leggo l'uscita. L'uscita sarà compatibile con arduino, vero?

Ciao.
Logged

0
Online Online
Faraday Member
**
Karma: 38
Posts: 5601
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

molto bello, sarebbe quello ch una volta chiamavamo "Contatorino", va in cascata al contatore enel, tipo se vuoi alimentare due appartamenti con un solo contatore enel metti due di questi, oppure uno e poi fai la sottrazione, e sai quanto ha consumato un contatore rispetto all'altro.

in pratica e' per eliminare il fotodiodo da mettere sul led dell'enel giusto ?

per interfacciarlo non vrai problemi, devi dargli a parte i 5V pero'
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

molto bello, sarebbe quello ch una volta chiamavamo "Contatorino", va in cascata al contatore enel, tipo se vuoi alimentare due appartamenti con un solo contatore enel metti due di questi, oppure uno e poi fai la sottrazione, e sai quanto ha consumato un contatore rispetto all'altro.

in pratica e' per eliminare il fotodiodo da mettere sul led dell'enel giusto ?

per interfacciarlo non vrai problemi, devi dargli a parte i 5V pero'
Si praticamente si evita il fototransistor/fotodiodo sul contatore e la lettura avviene in modo pulito, cioè controlli quanta corrente ha consumato veramente e non quella conteggiata dal contatore che si vocifera essere poco preciso...

Perchè devo alimentarlo a parte e non con i 5v di arduino?
Un altra domanda, ho trovato un prodotto equivalente della finder...Perchè costa 146€!!!!!

Lasciamo perdere il fatto che quello postato da me in cina lo vendono 10$, potrebbero esserci milioni di motivi per questo, ma una differenza così marcata da 26€ a 146€...

Ciao
Logged

0
Online Online
Faraday Member
**
Karma: 38
Posts: 5601
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

per alimentazione a parte intendevo diversa dalla 230V smiley
si i 5v di asrduino andranno bene, non ho visto i consumi, controlla per sicurezza.

per i prezzi bho, solite storie di marketing  smiley-kitty
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Alex, per quanto riguarda il "contatorino" come ti hanno gia detto, gli applichi i 5V sul pin S0 e questo ti restituisce impulsi compatibili con arduino. Puoi utilizzare i 5V forniti dalla scheda arduino per questo scopo.
Per i prezzi, quelli cinesi magari non hanno le stesse certificazioni di quello finder e comunque i prodotti cinesi costano meno di quelli europei (hai presente quando compri un giubbetto in un negozio cinese e poi trovi lo stesso giubbetto in una boutique italiana? Dubito li troverai allo stesso prezzo...); la precisione dichiarata comunque dovrebe rispondere al vero in entrambi i casi, perciò a parità di precisione scegli il prezzo minore.
Ciao!
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sarà come dici riguardo i prodotti cinesi, io penso che continuando così finiremo per pagare in qualunque cosa un prezzo esorbitante solo di certificazioni...

Per curiosità, tu quale contaotre di energia hai scelto? Per averne presi 8, non credo ti sia convenuto comprare i finder, soprattutto per poi lasciarne due inutilizzati...

La precisione è importante, ma il prodotto del link mi sembra ok sotto quell'aspetto. E poi non ci dimentichiamo che ero partito col sistemino della pinza amperometrica....

Ciao e grazie  a tutti. smiley
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 312
Posts: 21604
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sarà come dici riguardo i prodotti cinesi, io penso che continuando così finiremo per pagare in qualunque cosa un prezzo esorbitante solo di certificazioni...
Se preferisci avere prodotti pieni di metalli pesanti non dichiarati, se preferisci comprare chip clonati da quelli originali in package di plastica ricavata dalle bottiglie dell'acqua minerale, se preferisci avere condensatori e resistenze fatti dai contadini quando non raccolgono il riso, se preferisci avere un PCB fatto con il cartoncino bristol, se preferisci comprare prodotti costruiti in stabilimenti che non rispettano le minime norme di sicurezza ed ambientali, accomodati pure..... Nessuno ti vieta di continuare a comprare in Cina.  smiley-lol
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 30
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alla fine, dato che mi servivano 6 contatorini, ho optato anche io per il made in china (andeli adm25sc) ma quoto in pieno ciò che dice Leo72. Quindi non voglio consigliarti di prendere per forza i cinesi...
Dovresti comunque riuscire a trovare prodotti UE sui 40 / 50€ cercando online. Se te ne serve solo uno magari puoi affrontare la spesa maggiore più serenamente. Poi fai tu!  smiley-money
Ciao!
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma alla fine quello del link chi mi dice che è questa cineseria esagerata? Può uno store italiano vendere un prodotto che non ha le certficazioni minime?

In ogni caso, io sono uno che compra dappertutto. USA, Giappone, Europa in generale... Chi direbbe che un notebook asus è una cineseria? Forse nessuno...

Sono contro l'arduino taroccato, però non mi vergogno di risparmiare 90€ su un contatorino perchè non ha la certificazione, perdonatemi ma non m sento in colpa.
Anche i famosi relè allo stato solido, li ho pagati niente confronto ad uno della finder, 20€ ciascuno!

Non mi riesce di convincermi.
Alessandro.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 19
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma alla fine quello del link chi mi dice che è questa cineseria esagerata? Può uno store italiano vendere un prodotto che non ha le certficazioni minime?

Se il contatore lo usi per misure "ufficiali" deve essere certificato MID (ovvero Measuring Instruments Directive), se invece lo usi per scopo diciamo didatico puoi benissimo prendere quello cinese smiley-grin

Per quanta riguarda il collegamento, nei datasheet, da quello che ho visto consigliano di mettere una resistenza di pullup o pulldown sul piedino S0+/S0-.
Logged

Pages: [1] 2   Go Up
Jump to: