Dúvidas Monitor de Energia com Arduino

@Gabriel_Ximenes Você verificou a conexão com a Internet? Pois a API do Gráfico, Google Charts precisa de conexão ativa.

sim, a internet está ativa! acho que deve ser alguma coisa no msql, pois quando ativos os erros aparece o seguinte:

Na verdade não é um erro, é apenas um aviso (warning): O único problema no teu sistema é que você continua a usar o módulo mysql, que será depreciado nas futuras versões de PHP (se é que já não foi) em favor do mysqli e do PDO. Para solucionar, é só trocar a palavra mysql por mysqli, a função para conectar ao banco de dados ficaria mysqli_connect() e por analogia qualquer outra função como mysqli_numrows(), por exemplo.

A diferença é que a Zend está cada vez mais tentando livrar o PHP dos modelos de programação procedural e fazer com que seus usuários escrevam código orientado a objetos e de maior qualidade, além disso, o PDO é uma solução genérica capaz de se conectar em outros bancos de dados que não apenas o MySQL.

Obrigado pela dica @sksdutra , quando fiz as modificações sugeridas a página fica toda em branco. acho que ficou faltando alterar algo mais, vou analisar depois!

Se estiver usando Windows, é bem provável que tenha que habilitar o módulo.

Bom dia,

Estou com problemas em estabilizar a corrente e a potência do projeto do medidor de energia. Não consigo deixar com o valor 0 o sensor mesmo sem nenhum fio passando pelo sensor.

Projeto:

  • Arduino UNO
  • Fonte USB
  • 2 resistores de 10 K
  • 1 capacitor de 100 uF
  • 1 Display LCD 16×2
  • 1 Potenciômetro de 10K para regulagem do contraste do display1
  • 1 Sensor de corrente SCT-013-020 (20A)

Segundo o Dúvidas Monitor de Energia com Arduino, precisaria de uma fonte 9v ao invés de conectar o arduino pela USB.

Está complicado ;/

Resultado (Monitor serial):

Corrente : 24.51 Potencia : 2695.89
Corrente : 14.06 Potencia : 1546.50
Corrente : 11.27 Potencia : 1239.80
Corrente : 11.25 Potencia : 1237.34
Corrente : 11.24 Potencia : 1236.17
Corrente : 11.15 Potencia : 1225.96
Corrente : 11.51 Potencia : 1265.65
Corrente : 11.15 Potencia : 1226.34
Corrente : 11.31 Potencia : 1243.66
Corrente : 11.14 Potencia : 1225.73
Corrente : 11.45 Potencia : 1259.41
Corrente : 11.16 Potencia : 1227.63
Corrente : 11.58 Potencia : 1273.27
Corrente : 12.49 Potencia : 1373.63
Corrente : 12.86 Potencia : 1414.89
Corrente : 11.14 Potencia : 1225.39
Corrente : 11.45 Potencia : 1259.78
Corrente : 11.16 Potencia : 1227.64
Corrente : 11.40 Potencia : 1253.88
[Imagem 1](Image and video hosting by TinyPic)
[Imagem 2](Image and video hosting by TinyPic)
[Imagem 3](Image and video hosting by TinyPic)

Olá Diego, estou utilizando os seguintes componentes:

2 resistores de 10 K
1 capacitor de 100 uF
1 Display LCD 16×2
1 Potenciômetro de 10K para regulagem do contraste do display
1 SCT-013-020

De acordo com o exemplo do site Felipflop (http://blog.filipeflop.com/arduino/medidor-de-energia-eletrica-com-arduino.html).

Porém não consigo calibrar o sensor, estou utilizando a biblioteca EmonLib e o código postado no site.

Meu Arduino está conectado via USB e estou completamente perdido, não sei o que está acontecendo, quando utilizo o multímetro nas saídas do sensor, ele mede 0.

Olá @lemos,

Primeiramente agradeço pela iniciativa em publicar esse projeto. Pois está sendo o meu ponto de partida para o TCC.
Estou com o mesmo problema que o @Thiago_Valfre_Lecchi e @lucaswmsilva tiveram.
Não consigo enviar dados do arduino para meu servidor(WAMP). Só consigo inserir ,no banco mysql, usando manualmente a URL no navegador: http://localhost/energy/medida.php?irms=10&potencia=100

// Envia dados para servidor.
void sendData(double Irms, double Potencia)
{
client.connect(“169.254.40.75”,80); // Conecta no servidor na porta 80 (vamos usar http).
delay(500);

if(client.connected())
{
//Não entra nesse if. Já mudei o IP para “127.0.0.1”, mas infelizmente sem sucesso.
** //consigo do browser acessar esta url ( http://169.254.40.75 )

Serial.println("Entrou nesse if#####\n");
client.print("GET /energy/medida.php?");
client.print("irms=");
client.print(Irms);
client.print("&potencia=");
client.print(Potencia);
client.println(" HTTP/1.1");
client.println("Host: 169.254.40.75");
client.println();
delay(500);

while (client.available()) 
{
  char c = client.read();
}

delay(100);
client.stop();
Serial.println("Dados enviados!");

}
else{
Serial.println(“Falha na conexão.”);
}
}

@mlemos, @lucaswmsilva e @Thiago_Valfre_Lecchi, por favor preciso da ajuda de vocês. Não sei mais o que fazer.

Cheguei até criar um variável e depois passar para o método, mas não funcionou.

char server[] = “169.254.40.75”;
//byte server[] = {127,0,0,1};
//IPAddress server(127,0,0,1);

client.connect(server,80);

Grato.

@tcarlos como vai?
Vc verificou se a porta 80 também está setada em seu código do arduino? Preste atenção tbm no caminho da URL no código do arduino, tenha certeza que seu banco de dados é o mesmo caminho em q está no código do arduino.

Verifique também qual a porta do seu banco de dados, se necessário altere para a mesma porta do codigo do arduino

byte ip[] = { }; - recomendado colocar IP fixo no ethernet shield, depois que fiz isso o meu deu certo

@lucaswmsilva e @rincleypark, consegui inserir dados do arduino para o meu banco mysql. Instalei o WAMP no meu notbook, fiz a mesma configuração que tinha feito no meu desktop e estranhamente funcionou. Não sei porque deu problema quando estava usando o desktop. Porém o legal é ter funcionado . Depois vejo com mais calmo esse problema.

@lucaswmsilva e @rincleypark, muito obrigado pela atenção.

poderia informar como faço para colocar um medidor de tenção e usar um display nokia 5110?

Ola pessoal, estou com a dúvida na segunda linha, porque o resultado da soma das potencias * tempo hora é dividido por 2?
$var_tempo = strtotime($medida['f_datetime']) - strtotime($medida_anterior['f_datetime']); $energia = ((($medida['f_potencia'] + $medida_anterior['potencia']) * $var_tempo) / 2); $consumo = $consumo + $energia; # em Joules

@murliky A divisão por 2 é feita á fim de obter o valor médio da potência elétrica em relação ao tempo.

Atenciosamente,

Engº. Eletricista Lucas Macedo
@lucaswmsilva

1 curtida

@marcos.jf Aconselho seguir este tutorial do site Open Energy Monitor para medições em tensões AC, pois em nosso projeto disponível aqui, utilizamos uma tensão constante de 127,00 Volts, definida no código, então não conseguimos uma leitura 100% real da corrente, potência e até uma medição de fator de potência caso precise implementar, segue site:

https://openenergymonitor.org/emon/buildingblocks/how-to-build-an-arduino-energy-monitor

Obrigado Lucas pela resposta,
Mais um dúvida, de quanto em quanto tempo você sugere salvar as informações do DB porque gerei uma base de testes de 1 mês com dados a cada 10 segundos e fica inviável utilizar acessar os dados via web hehehe
Ou daqui a pouco uma outra forma de calcular porque o for torna muito lento para 30 dias…

Estava pensando agora, em fazer uma trigger no DB assim a cada 10 minutos por exemplo eu pego os insert de potencia (salvando a cada 5min) e atualizo uma coluna apenas que mostra no site os dados, e assim deixo a cargo do banco fazer o processamento.

Abraços

Boa noite pessoal,sou novo aqui no forum e estou acompanhando discussão desde as primeiras duvidas , então decidi criar o meu sistema de medição de energia com intuito de enviar os dados para um banco de dados, meu problema é que estou com muita duvida nos dados gerados por exemplo:
estou usando o sensor sct-013-000
Fazendo um teste com carregador do notebook ele esta gerando os seguintes dados:

Corrente :
86.47A
potencia :
10982.16W
conectado

Corrente :
86.50A
potencia :
10985.70W
conectado

Corrente :
86.01A
potencia :
10922.99W
conectado

Corrente :
86.72A
potencia :
11013.62W
conectado

Corrente :
86.48A
potencia :
10982.71W
conectado

Estes numeros estão corretos, apenas para salientar na minha linha de calibração esta desta forma
emon1.current(pino_sct, 111.1);
Eu quero gerar a corrente para depois realizar o calculo do kwh, porem esse numero gerados estão bem estranhos

Bom dia @lucaswmsilva, você usou a biblioteca emonlib.h? Estou montando um projeto e preciso saber o valor do fator de potência e das potências (real ou ativa), aparente e reativa, usando a emonlib.h consegui ler os valores de corrente e tensao com uma precisão boa, mas o fator de potência e a potência real esta dando valores negativos. Poderia Me ajudar?

Olá @lucaswmsilva você poderia fornecer o código PHP que utilizou no seu TCC?