Medidor de consumo de energia

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Medidor de consumo de energia

Mensagem  Admin em Seg 17 Set - 7:44


Livraria
https://github.com/openenergymonitor/EmonLib

Interface com o arduino:


Source code

Código:

// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3

#include "EmonLib.h"                  // Include Emon Library
//#include "RTClib.h"
#include <avr/eeprom.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

#define eeprom_read_to(dst_p, eeprom_field, dst_size) eeprom_read_block(dst_p, (void *)offsetof(__eeprom_data, eeprom_field), MIN(dst_size, sizeof((__eeprom_data*)0)->eeprom_field))
#define eeprom_read(dst, eeprom_field) eeprom_read_to(&dst, eeprom_field, sizeof(dst))
#define eeprom_write_from(src_p, eeprom_field, src_size) eeprom_write_block(src_p, (void *)offsetof(__eeprom_data, eeprom_field), MIN(src_size, sizeof((__eeprom_data*)0)->eeprom_field))
#define eeprom_write(src, eeprom_field) { typeof(src) x = src; eeprom_write_from(&x, eeprom_field, sizeof(x)); }
#define MIN(x,y) ( x > y ? y : x )
/*
 * __eeprom_data is the magic name that maps all of the data we are
 * storing in our EEPROM
 */
struct __eeprom_data {
  double flash_kwhtotal;
};

// pin 7 - Serial clock out (SCLK)
// pin 6 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
//Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7);

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2


#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH  16

//RTC_DS1307 RTC;            // Create an instance
EnergyMonitor emon1;      // Create an instance

//Cria variaveis globais
double kwhTotal;
double vlreais;
unsigned long ltmillis, tmillis, timems, previousMillis;
char charBuf[30];
void setup()

  Serial.begin(9600);
  display.begin();
  display.setContrast(37);
  /*if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
  }*/
  //Theoretical CT sensor calibration
  //CT Ratio / Burden resistance = (100A / 0.05A) / 64 Ohms = 50
  emon1.current(1, 29.41); // Current: input pin, calibration for 24 Ohms
  eeprom_read(kwhTotal, flash_kwhtotal);
  previousMillis = millis();
 
    // text display tests
  /*display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("Hello, world!");
  display.setTextColor(WHITE, BLACK); // 'inverted' text
  display.println(3.141592);
  display.setTextSize(2);
  display.setTextColor(BLACK);
  display.print("0x"); display.println(0xDEADBEEF, HEX);
  display.display();
  delay(2000);*/

}

void loop()
{
  //Calculate amount of time since last realpower measurment.
  ltmillis = tmillis;
  tmillis = millis();
  timems = tmillis - ltmillis;
  double Irms = emon1.calcIrms(1480);  // Calculate Irms only
 
  //Calculate todays number of kwh consumed.
  //kwhTotal = kwhTotal + ((realPower/1000.0) * 1.0/3600.0 * (timems/1000.0));
 
  //Calculate todays number of kwh consumed.
  kwhTotal = kwhTotal + (((Irms*127.0)/1000.0) * 1.0/3600.0 * (timems/1000.0));
 
  Serial.print("Watts: ");
  Serial.println(Irms*127.0);         // Apparent power
  Serial.print("Current: ");
  Serial.println(Irms);            // Irms
  Serial.print("kwhTotal: ");
  printFloat(kwhTotal, 10);
  Serial.println("");
 
  //grava na memoria a cada 1 minuto
  if ((millis() - previousMillis)>4000)
      {
        Serial.println("Gravando na EEprom");
        eeprom_write(kwhTotal, flash_kwhtotal);
        previousMillis=millis();
      }
  //convert double em string
  dtostrf(kwhTotal, 8, 7, charBuf); 
  //Multiplica pelo valor kilowatt hora R$ 0.35 Reais
  vlreais = kwhTotal * 0.35;
  // text display tests
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  http://display.println("Hello, world!");
  display.print("KW/h:");
  display.println(charBuf);
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.print("Consumo Watts:");
  //dtostrf(Irms, 10, 8, charBuf);
  display.print(Irms*126);
  display.println("Watts:");
  display.println("");
  display.print("R$: ");
  dtostrf(vlreais, 8, 7, charBuf);
  display.print(charBuf);
  display.display(); 
  //delay(2500);
}


void printFloat(float value, int places) {
  // this is used to cast digits
  int digit;
  float tens = 0.1;
  int tenscount = 0;
  int i;
  float tempfloat = value;

    // make sure we round properly. this could use pow from <math.h>, but doesn't seem worth the import
  // if this rounding step isn't here, the value  54.321 prints as 54.3209

  // calculate rounding term d:  0.5/pow(10,places) 
  float d = 0.5;
  if (value < 0)
    d *= -1.0;
  // divide by ten for each decimal place
  for (i = 0; i < places; i++)
    d/= 10.0;   
  // this small addition, combined with truncation will round our values properly
  tempfloat +=  d;

  // first get value tens to be the large power of ten less than value
  // tenscount isn't necessary but it would be useful if you wanted to know after this how many chars the number will take

  if (value < 0)
    tempfloat *= -1.0;
  while ((tens * 10.0) <= tempfloat) {
    tens *= 10.0;
    tenscount += 1;
  }


  // write out the negative if needed
  if (value < 0)
    Serial.print('-');

  if (tenscount == 0)
    Serial.print(0, DEC);

  for (i=0; i< tenscount; i++) {
    digit = (int) (tempfloat/tens);
    Serial.print(digit, DEC);
    tempfloat = tempfloat - ((float)digit * tens);
    tens /= 10.0;
  }

  // if no places after decimal, stop now and return
  if (places <= 0)
    return;

  // otherwise, write the point and continue on
  Serial.print('.'); 

  // now write out each decimal place by shifting digits one by one into the ones place and writing the truncated value
  for (i = 0; i < places; i++) {
    tempfloat *= 10.0;
    digit = (int) tempfloat;
    Serial.print(digit,DEC); 
    // once written, subtract off that digit
    tempfloat = tempfloat - (float) digit;
  }
}
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Felipe_Marques em Qua 19 Set - 23:06

Boa nt...
Esse código que esta em cima eh o mesmo q foi aplicado no arduino no video? quais sao os valores do capacitor?? E outra perguntinha esse power adapter seria pra q?? Logo e q o sensor sera instalado no outra porta analogica??

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Admin em Qui 20 Set - 7:33

O circuito do video não usa o power adapter, o codigoé exatamente o mesmo e o power adapter é usado pra medir tensão
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Felipe_Marques em Sex 21 Set - 14:27

qual o valor dos capacitores? Vcs vao colocar o sensor de tensão tbm para vender? Abraço... Sabe quando chegará o sensor?

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Mathkiller em Qui 25 Out - 8:28

Gostaria de saber qual é o display de lcd usado, preciso montar um desses com urgência.

Mathkiller

Mensagens : 1
Data de inscrição : 25/10/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Problemas com A leitura do sensor.

Mensagem  elvislrs em Dom 13 Jan - 9:37

Amigo montei este circuito conforme a figura a cima,mas meu sensor sem estar ligado no circuito, o arduino me da uma leitura de 0,2A de corrente, você sabe o que deve ser feita para "retirar" esse erro?

abraço

elvislrs

Mensagens : 4
Data de inscrição : 13/01/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Admin em Seg 14 Jan - 6:24

Mexe nos valores da Burden resistance

avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Medidor de consumo de energia

Mensagem  rafaelhenrique em Seg 14 Jan - 11:53

Olá!
Você poderia me mandar o esquema com o valor do capacitor e dos resistores usados no circuito do ct sensor,gostaria também de saber qual a função destes componentes.

Muito Grato pela sua atênção !!!



rafaelhenrique

Mensagens : 1
Data de inscrição : 13/01/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Admin em Seg 14 Jan - 11:58

http://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino-energy-monitor
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Problemas com A leitura do sensor.

Mensagem  elvislrs em Seg 14 Jan - 12:21

Admin escreveu:Mexe nos valores da Burden resistance


Amigo mais quais valores seria interessante colocar?Abraço

elvislrs

Mensagens : 4
Data de inscrição : 13/01/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Problemas com A leitura do sensor.

Mensagem  elvislrs em Qui 17 Jan - 20:39

elvislrs escreveu:
Admin escreveu:Mexe nos valores da Burden resistance


Amigo mais quais valores seria interessante colocar?Abraço

Você pode me informar um valor de resistência de Burden que posso colocar e uma calibração para zerar a leitura ??

Grato amigo

elvislrs

Mensagens : 4
Data de inscrição : 13/01/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Display

Mensagem  jonasferreira em Qui 21 Mar - 10:16

Olá,

Estou tentando montar esse projeto, e gostaria de saber se alguém tem o diagrama de conexão do display.
Estou usando o Arduino Uno + EmonTx Shield.

Grato

jonasferreira

Mensagens : 1
Data de inscrição : 13/03/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  fabiano.amorim em Ter 2 Abr - 22:07

Amigo por favor poderia me dar uma ajuda. Fiz o circuito e mesmo sem está ligado o sensor ele continua me informando o consumo em watts , o kw/h o valor em reais etc. Se ele esta medindo o consumo ele não deveria parar de me mostrar o consumo?Será se fiz algo errado? Aparentemente o meu circuito está igual o da figura. Obrigado

fabiano.amorim

Mensagens : 1
Data de inscrição : 02/04/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Admin em Qua 3 Abr - 7:54

Essa eu não sei responder
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  giliardmoura em Sex 24 Maio - 21:46

Admin escreveu:O circuito do video não usa o power adapter, o codigoé exatamente o mesmo e o power adapter é usado pra medir tensão

no caso da tensao, posso usar um trafo ac-ac 9v como no projeto , sem retifica?

giliardmoura

Mensagens : 3
Data de inscrição : 24/05/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  giliardmoura em Sex 24 Maio - 21:58

Admin escreveu:O circuito do video não usa o power adapter, o codigoé exatamente o mesmo e o power adapter é usado pra medir tensão

no caso da tensao, posso usar um trafo ac-ac 9v como no projeto , sem retifica?

giliardmoura

Mensagens : 3
Data de inscrição : 24/05/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  giliardmoura em Sex 24 Maio - 21:59

Admin escreveu:O circuito do video não usa o power adapter, o codigoé exatamente o mesmo e o power adapter é usado pra medir tensão

no caso da tensao, posso usar um trafo ac-ac 9v como no projeto , sem retifica?

giliardmoura

Mensagens : 3
Data de inscrição : 24/05/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  andre.luiz em Sex 24 Maio - 23:34

Os valores dos resistor que você usou sao iguais ao do site do openenergy?

você poderia explicar este trecho?
//CT Ratio / Burden resistance = (100A / 0.05A) / 64 Ohms = 50
emon1.current(1, 29.41); // Current: input pin, calibration for 24 Ohms

andre.luiz

Mensagens : 2
Data de inscrição : 21/04/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Admin em Sab 25 Maio - 13:09

Acho que só um trafo mesmo seria o suficiente
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Medidor de tensão continua e alterna

Mensagem  wilsonalves em Sex 31 Maio - 11:53

Pessoal estou a desenvolver um projeto com o arduino e preciso de um medidor de tensão continua e um de tensão alterna. Pois o medidor de corrente já encontrei.
Melhor ainda era existir um dispositivo que fizesse leitura de valores de tensão e corrente num só.
Alguem conhece alguma coisa.

Abraço

wilsonalves

Mensagens : 2
Data de inscrição : 31/05/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Esquema para Display nokia

Mensagem  NEYCMS em Dom 2 Jun - 16:53

Prezados, alguem poderia fornecer esquematico para ligar o display nokia do exemplo. Estou usando o Arduino Mega 2560.Obrigado desde já.

NEYCMS

Mensagens : 5
Data de inscrição : 02/06/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Mederador apaga aqui pfv

Mensagem  sidney2099 em Ter 16 Jul - 13:57

gostaria que excluísse esse tópico pro favor!


Última edição por sidney2099 em Seg 14 Out - 19:03, editado 2 vez(es) (Razão : quero excluir)

sidney2099

Mensagens : 1
Data de inscrição : 11/06/2013
Idade : 34
Localização : Belém

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Sensor de 45 A

Mensagem  wilsonalves em Qua 17 Jul - 11:14

O que quer medir sidney 2099???


Estou a implementar o de sensor de corrente de 45A-http://sensing.honeywell.com/index.php?ci_id=3108&la_id=1&pr_id=54672
A questão é o output do sensor em ves de ser tensão é Sink/Source existe algum problema na medição o código é basicamente como o Anterior  mas com valores alterados???
Quem souber que me dê uma ajuda na implementação deste sensor sff

Cumprimentos

wilsonalves

Mensagens : 2
Data de inscrição : 31/05/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Arduino

Mensagem  Vivi187 em Seg 30 Set - 8:56

Olá gostaria de saber qual seria o codigo para enviar as informações do consumo de energia do arduino para o computador sem ser necessario visualizar no display. E mais uma coisa o arduino trabalha com data?

Vivi187

Mensagens : 1
Data de inscrição : 30/09/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  maurocesar em Qua 13 Nov - 6:20

Bom dia, estou usando um resistor de 33, qual os valores que coloco no código para calibrar?

maurocesar

Mensagens : 2
Data de inscrição : 13/11/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Medidor de consumo de energia

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum