Medicao de Energia Eletrica Utilizando Microcontrolador: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(78 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
=Medição da Energia Elétrica em Ponto de Consumo=
=Medição da Energia Elétrica Utilizando Microcontrolador=


===Projeto Integrador do TADS - 2018===
==Objetivo==
O objetivo deste projeto é construir dispositivos para a medição de '''energia elétrica''' um microcontrolador e transmitindo dados via rede sem fio a um Banco de Dados e Servidor Web. O sistema deve realizar a medição periódica dos dados de '''tensão e corrente elétrica''' instantâneos em um ponto de medição. A partir dos dados medidos calcula-se a '''potência instantânea''' que está sendo consumida, a qual deve ser armazenada em um '''banco de dados''' com a marca de tempo de cada medição. Para a obtenção da '''energia''' produzida em um período de tempo, um algoritmo deve fazer a integração das potências instantâneas geradas ao longo do período considerado e calcula a energia em quilowatts-hora.
 
;Projetos anteriores: Projeto Integrador do TADS (2018) <ref>[[Mídia:EcoCharge.pdf|AGUIAR, K. R., OLIVEIRA, L. F. M. E SCHWAAB, W. EcoCharge, Projeto Integrador TADS, IFPR, Foz do Iguaçu, julho, 2018.]]</ref>


;Alunos: Kaio Rocha Aguiar <br> Luis Felipe Miglioli De Oliveira <br> William Schwaab
==Fundamentos sobre Energia Elétrica==
;Orientador: Evandro Cantú
;Colaborador: Charles Buzanello


==Objetivo==
;[[Tensao, Corrente e Potencia CA]]: Material baseado na referência [https://learn.openenergymonitor.org/electricity-monitoring/ac-power-theory/introduction '''Open Energy Monitor'''] com fundamentos sobre '''potência AC''' e '''medição da energia elétrica''' com Arduíno.
O objetivo deste projeto é construir um dispositivo para a medição da '''energia elétrica''' de um ponto de consumo utilizando um microcontrolador e transmitindo dados via rede sem fio a um Web Server. O sistema deve realizar a medição periódica de dados de '''tensão e corrente elétrica''' instantâneos fornecido pelo ponto de consumo. A partir dos dados medidos calcula-se a '''potência instantânea''' de geração, a qual deve ser armazenada em um '''banco de dados''' com a marca de tempo de cada medição. Para a obtenção da '''energia''' produzida em um período de tempo, um algoritmo deve fazer a integração das potências instantâneas geradas ao longo do período considerado e calcula a energia em quilowatts-hora.


==Sensor de Corrente ACS712==
==Sensor de Corrente ACS712==


O '''sensor de corrente''' ACS712 é um sensor de '''efeito hall''', capaz de medir correntes instantâneas de -30 A a 30 A (há modelos que medem  de -20 A a 20 A e -5 A a 5 A).
O '''sensor de corrente''' ACS712 é um sensor de '''efeito hall''', capaz de medir '''correntes instantâneas''' de -30 A a 30 A (há modelos que medem  de -20 A a 20 A e -5 A a 5 A).


A saída do sensor é ligada em uma '''entrada analógica''' do Arduíno devolvendo valores de 0 V a 5 V, para correntes entre -30 A a 30 A respectivamente, com passos de 66 mV/A. Para os sensores de 20 A e 5 A os passos são 100 mV/A e 185 mV/A, respectivamente.
A saída do sensor é ligada em uma '''entrada analógica''' do Arduíno devolvendo valores de 0 V a 5 V, para correntes entre -30 A a 30 A, respectivamente, com passos de 66 mV/A. Para os sensores de 20 A e 5 A os passos são 100 mV/A e 185 mV/A, respectivamente.
Para uma corrente de 0 A a tensão na entrada analógica é 2,5 V, chamada de tensão de ''offset''.
Para uma corrente de 0 A a tensão na entrada analógica é 2,5 V, chamada de tensão de ''offset''.


;Leitura da '''corrente''' pelo '''sensor analógico''': A função '''map''' permite mapear diretamente o valor digital (0 a 1023) lido pelo sensor analógico (A0) diretamente em valores de corrente (-30 A a 30 A):
;Leitura da '''corrente contínua''' pelo '''sensor analógico''': A função '''map''' permite mapear diretamente o valor digital (0 a 1023) lido pelo sensor analógico (A0) diretamente em valores de corrente contínua (-30 A a 30 A):
  int valorSensor = analogRead(A0);
  int valorSensor = analogRead(A0);
  int corrente = map(valorSensor, 0, 1023, -30, 30);
  int corrente = map(valorSensor, 0, 1023, -30, 30);
  // mostrar valor da corrente lido pelo sensor
  // mostrar valor da corrente lido pelo sensor


===Corrente Alternada===
==Projetos sobre Medição de Corrente e Potência CA==
A leitura do corrente pelo sensor ACS712 é instantânea. Portanto, para medição de '''[[Corrente Contínua e Corrente Alternada|corrente alternada]]''' é necessário fazer amostragens em todo o '''ciclo da senóide''' da corrente alternada e depois calcular a '''corrente eficaz'''.
 
A leitura da '''corrente''' pelo '''sensor ACS712''' é '''instantânea'''. Portanto, para medição de '''corrente alternada''' é necessário fazer amostragens em todo o '''ciclo da senoide''' da corrente alternada e depois calcular a '''corrente eficaz''' ou '''corrente RMS'''.
 
===Corrente eficaz e corrente de pico===


;Corrente eficaz: É a corrente que equivaleria a uma '''corrente contínua''' sobre uma carga e pode ser calculada de maneira simplificada para uma onda senoidal pela expressão:
A '''corrente eficaz''' é a corrente que equivaleria a uma '''corrente contínua''' sobre uma carga. Esta corrente pode ser calculada de maneira simplificada para uma '''onda senoidal''' pela expressão:
  <math>I_{eficaz} = I_{pico} / \sqrt{2} </math>  
  <math>I_{eficaz} = I_{pico} / \sqrt{2} </math>  
:Portanto, para calcular o valor eficaz de uma corrente alternada pode-se implementar um algoritmo que faça amostragens do valor da corrente alternada e determine a '''corrente de pico''', a partir do qual pode-se então determinar a '''corrente eficaz'''.
Portanto, para calcular o '''valor eficaz''' de uma '''corrente alternada''' pode-se implementar um algoritmo que faça '''amostragens''' do valor da corrente alternada e determine a '''corrente de pico''', a partir do qual pode-se então determinar a '''corrente eficaz'''.
 
;Exemplo de projeto: Usa '''valor de pico''' para calcular o '''valor eficaz''' de uma '''corrente alternada''':
*https://portal.vidadesilicio.com.br/acs712-medindo-corrente-eletrica-alternada-continua/
:Implementa um algoritmo que realiza 300 medições da '''corrente instantânea''', espaçadas uma das outras por 0,6 ms, encontra o '''valor de pico''' da corrente e calcula a '''corrente eficaz'''.
 
===Corrente RMS===
 
O '''valor eficaz''' de uma '''corrente alternada''' também é chamado de '''RMS''' ('''''root mean square''''').  


;RMS: O '''valor eficaz''' de uma '''tensão, corrente ou potência alternada''' é chamado de '''RMS''' ('''''root mean square'''''). É uma medida estatística calculada a partir da '''raiz do valor quadrático médio''' da forma de onda, dada pela expressão:
O valor '''RMS''' é uma medida estatística calculada a partir da '''raiz do valor quadrático médio''' da forma de onda, dada pela expressão:
  <math>
  <math>
  x_{\mathrm{rms}} =
  x_{\mathrm{rms}} =
  \sqrt {{1 \over N} \sum_{i=1}^{N} x_i^2} =
  \sqrt {{1 \over N} \sum_{i=1}^{N} x_i^2} =
  \sqrt {{x_1^2 + x_2^2 + \cdots + x_N^2} \over N}
  \sqrt {{x_1^2 + x_2^2 + \cdots + x_N^2} \over N}
  </math> <ref>https://pt.wikipedia.org/wiki/Valor_eficaz</ref>
  </math>  
:Esta expressão é utilizada pela biblioteca '''Emonlib''' <ref name=EMONLIB>https://github.com/openenergymonitor/EmonLib</ref>.
 
;Exemplo de projetos: Usam a '''raiz do valor quadrático médio''' para calcular a '''corrente RMS''':
*https://github.com/openenergymonitor/EmonLib
:A '''biblioteca EmonLib''' possui funções prontas para realizar a amostragem da corrente alternada e fornecer o valor eficaz.
*https://learn.openenergymonitor.org/electricity-monitoring/ac-power-theory/arduino-maths
:Ilustra as funções e cálculos realizados pela '''biblioteca Emonlib''' para Arduíno.
:O calculo realiza 50 a 100 amostragens a cada 20 ms. 100 para amostragem somente de corrente e 50 para amostragens de tensão e corrente. O número de amostragens é limitado pela leitura analógica do Arduíno e pelo tempo de cálculo.
*https://pastebin.com/NupAhKUc
:Mostra o código usando calculo da raiz do valor médio quadrático.
*https://www.filipeflop.com/blog/medidor-de-corrente-ac-acs712-emonlib/
:Utiliza a biblioteca '''Emonlib'''.
 
==Potência e Energia Elétrica==
 
A '''potência elétrica''' indica a quantidade de energia utilizada em um dado tempo em um circuito. É medida em '''Watts (W)''' e é dada pelo produto entre a tensão e a corrente elétrica.
P = V . I
 
A '''energia elétrica''' é a potência elétrica demandada por uma carga durante uma unidade de tempo.
 
No sistema internacional a unidade de energia é o '''Joule''' (J).
1 J = 1 W . s
Entretanto, as concessionárias de energia normalmente medem a energia elétrica consumida em '''kWh'''. No caso, o consumo de 1 kWh significa que a carga com potência de 1 kW (1000 W) ligada durante 1 hora (3600 s).
 
1 kWh = 1 J / 3600000
 
===Medição da energia elétrica===
 
Para medir a '''energia elétrica''' consumida por um ponto de consumo, pode-se realizar a medição periódica de dados de '''tensão''' (Volts) e '''corrente''' (Amperes) '''instantâneos''', possibilitando calcular a '''potência instantânea''' (Watts):
P = V . I
A '''potência instantânea''' então pode ser armazenada em um banco de dados com a marca de tempo de cada medição.  


;Frequência e período: A '''corrente alternada''' na rede de distribuição de energia elétrica no Brasil utiliza uma '''frequência''' de '''60 Hz'''.
Para a obtenção da '''energia elétrica''' consumida em um período de tempo, um algoritmo deve a '''integração''' das potências instantâneas geradas ao longo do período considerado e calcular a energia produzida:
:A relação entre '''frequência''' (f) e o '''período''' (T) em segundos é:
<math> f = \frac{1}{T} </math>
:Logo, o '''período''' de um ciclo completo da '''corrente alternada''' é de '''16,67 ms'''.


===Materiais de Referências===
[[Arquivo:PotenciaGeracao.png]]
#https://portal.vidadesilicio.com.br/acs712-medindo-corrente-eletrica-alternada-continua/: Implementa um algoritmo que realiza 300 medições da corrente instantânea, espaçadas a cada 0,6 ms, encontra o valor de pico da corrente e calcula a corrente eficaz.
#https://www.filipeflop.com/blog/medidor-de-corrente-ac-acs712-emonlib/: Utiliza a biblioteca '''Emonlib''' <ref name=EMONLIB/>. A biblioteca Emolib possui funções prontas para realizar a amostragem da corrente alternada e fornecer o valor eficaz. Este autor realiza amostras em 20 ciclos completos da corrente.
#https://learn.openenergymonitor.org/electricity-monitoring/ac-power-theory/introduction: Introdução a potência AC.
#https://learn.openenergymonitor.org/electricity-monitoring/ac-power-theory/arduino-maths: Ilustra as funções e cálculos realizados pela biblioteca Emonlib para Arduíno. O calculo realiza 50 a 100 amostragens a cada 20 ms. 100 para amostragem somente de corrente e 50 para amostragens de tensão e corrente. O número de amostragens é limitado pela leitura analógica do Arduíno e pelo tempo de cálculo.
#https://pastebin.com/NupAhKUc: Código usando
calculo da raiz do valor médio quadrático.


==ESP8266==
;Algoritmo de medição para Arduíno:


;[[Esp8266 12e]]: https://www.robocore.net/loja/produtos/nodemcu-esp8266-12-v2.html?gclid=Cj0KCQjw_ODWBRCTARIsAE2_EvWyxrjT1MmaR8-S4Km61BQANLwqbyBV4jMp1FkR1DCgusSy3AuL-moaAgkxEALw_wcB
#Medir a '''corrente RMS''' (A) a cada '''segundo''' (s);
#Calcular a '''potencia aparente''' (W) a cada '''segundo''';
#:P<sub>Aparente</sub> = I<sub>RMS</sub> * V<sub>RMS</sub>
#Realizar o '''somatório das potências''' ao longo do tempo, que resulta na '''energia''' (J);
#:E = &sum; P<sub>Aparente</sub>
#Calcular a '''energia''' (kWh);
#:E<sub>kWh</sub> = E<sub>J</sub> / 3600000


==Referências==
==Referências==
Linha 58: Linha 95:


----
----
--[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 09h35min de 26 de março de 2018 (BRT)
[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 14h58min de 8 de agosto de 2022 (-03)
----
----


[[Categoria:Arduíno]] [[Categoria:LabMaker]] [[Categoria:TADS]]
[[Categoria:IoT]] [[Categoria:Energia Eletrica]]

Edição atual tal como às 01h49min de 23 de agosto de 2023

Medição da Energia Elétrica Utilizando Microcontrolador

Objetivo

O objetivo deste projeto é construir dispositivos para a medição de energia elétrica um microcontrolador e transmitindo dados via rede sem fio a um Banco de Dados e Servidor Web. O sistema deve realizar a medição periódica dos dados de tensão e corrente elétrica instantâneos em um ponto de medição. A partir dos dados medidos calcula-se a potência instantânea que está sendo consumida, a qual deve ser armazenada em um banco de dados com a marca de tempo de cada medição. Para a obtenção da energia produzida em um período de tempo, um algoritmo deve fazer a integração das potências instantâneas geradas ao longo do período considerado e calcula a energia em quilowatts-hora.

Projetos anteriores
Projeto Integrador do TADS (2018) [1]

Fundamentos sobre Energia Elétrica

Tensao, Corrente e Potencia CA
Material baseado na referência Open Energy Monitor com fundamentos sobre potência AC e medição da energia elétrica com Arduíno.

Sensor de Corrente ACS712

O sensor de corrente ACS712 é um sensor de efeito hall, capaz de medir correntes instantâneas de -30 A a 30 A (há modelos que medem de -20 A a 20 A e -5 A a 5 A).

A saída do sensor é ligada em uma entrada analógica do Arduíno devolvendo valores de 0 V a 5 V, para correntes entre -30 A a 30 A, respectivamente, com passos de 66 mV/A. Para os sensores de 20 A e 5 A os passos são 100 mV/A e 185 mV/A, respectivamente. Para uma corrente de 0 A a tensão na entrada analógica é 2,5 V, chamada de tensão de offset.

Leitura da corrente contínua pelo sensor analógico
A função map permite mapear diretamente o valor digital (0 a 1023) lido pelo sensor analógico (A0) diretamente em valores de corrente contínua (-30 A a 30 A):
int valorSensor = analogRead(A0);
int corrente = map(valorSensor, 0, 1023, -30, 30);
// mostrar valor da corrente lido pelo sensor

Projetos sobre Medição de Corrente e Potência CA

A leitura da corrente pelo sensor ACS712 é instantânea. Portanto, para medição de corrente alternada é necessário fazer amostragens em todo o ciclo da senoide da corrente alternada e depois calcular a corrente eficaz ou corrente RMS.

Corrente eficaz e corrente de pico

A corrente eficaz é a corrente que equivaleria a uma corrente contínua sobre uma carga. Esta corrente pode ser calculada de maneira simplificada para uma onda senoidal pela expressão:

 

Portanto, para calcular o valor eficaz de uma corrente alternada pode-se implementar um algoritmo que faça amostragens do valor da corrente alternada e determine a corrente de pico, a partir do qual pode-se então determinar a corrente eficaz.

Exemplo de projeto
Usa valor de pico para calcular o valor eficaz de uma corrente alternada:
Implementa um algoritmo que realiza 300 medições da corrente instantânea, espaçadas uma das outras por 0,6 ms, encontra o valor de pico da corrente e calcula a corrente eficaz.

Corrente RMS

O valor eficaz de uma corrente alternada também é chamado de RMS (root mean square).

O valor RMS é uma medida estatística calculada a partir da raiz do valor quadrático médio da forma de onda, dada pela expressão:

 
Exemplo de projetos
Usam a raiz do valor quadrático médio para calcular a corrente RMS:
A biblioteca EmonLib possui funções prontas para realizar a amostragem da corrente alternada e fornecer o valor eficaz.
Ilustra as funções e cálculos realizados pela biblioteca Emonlib para Arduíno.
O calculo realiza 50 a 100 amostragens a cada 20 ms. 100 para amostragem somente de corrente e 50 para amostragens de tensão e corrente. O número de amostragens é limitado pela leitura analógica do Arduíno e pelo tempo de cálculo.
Mostra o código usando calculo da raiz do valor médio quadrático.
Utiliza a biblioteca Emonlib.

Potência e Energia Elétrica

A potência elétrica indica a quantidade de energia utilizada em um dado tempo em um circuito. É medida em Watts (W) e é dada pelo produto entre a tensão e a corrente elétrica.

P = V . I 

A energia elétrica é a potência elétrica demandada por uma carga durante uma unidade de tempo.

No sistema internacional a unidade de energia é o Joule (J).

1 J = 1 W . s 

Entretanto, as concessionárias de energia normalmente medem a energia elétrica consumida em kWh. No caso, o consumo de 1 kWh significa que a carga com potência de 1 kW (1000 W) ligada durante 1 hora (3600 s).

1 kWh = 1 J / 3600000

Medição da energia elétrica

Para medir a energia elétrica consumida por um ponto de consumo, pode-se realizar a medição periódica de dados de tensão (Volts) e corrente (Amperes) instantâneos, possibilitando calcular a potência instantânea (Watts):

P = V . I

A potência instantânea então pode ser armazenada em um banco de dados com a marca de tempo de cada medição.

Para a obtenção da energia elétrica consumida em um período de tempo, um algoritmo deve a integração das potências instantâneas geradas ao longo do período considerado e calcular a energia produzida:

Algoritmo de medição para Arduíno
  1. Medir a corrente RMS (A) a cada segundo (s);
  2. Calcular a potencia aparente (W) a cada segundo;
    PAparente = IRMS * VRMS
  3. Realizar o somatório das potências ao longo do tempo, que resulta na energia (J);
    E = ∑ PAparente
  4. Calcular a energia (kWh);
    EkWh = EJ / 3600000

Referências


Evandro.cantu (discussão) 14h58min de 8 de agosto de 2022 (-03)