implementação de um medidor de energia elétrica utilizando arduino

Propaganda
1
FACULDADE DE AMERICANA
CURSO DE ENGENHARIA ELÉTRICA
Luis Gustavo de Souza
IMPLEMENTAÇÃO DE UM MEDIDOR DE ENERGIA ELÉTRICA UTILIZANDO
ARDUINO
Americana, SP
2015
0
FACULDADE DE AMERICANA
CURSO DE ENGENHARIA ELÉTRICA
Luis Gustavo de Souza
IMPLEMENTAÇÃO DE UM MEDIDOR DE ENERGIA ELÉTRICA UTILIZANDO
ARDUINO
Monografia apresentada a Faculdade de Americana como requisito
parcial para obtenção do Título de Engenheiro Eletricista.
Orientador: Prof. MsC. José Matias Lemes Filho
Americana, SP
2015
1
FICHA CATALOGRÁFICA
Elaborada pela Biblioteca Central da FAM
S716i
Souza, Luis Gustavo de.
Implementação de um medidor de energia elétrica utilizando arduino. / Luis
Gustavo de Souza. -- Americana, 2015.
60f.
Orientador: José Matias Lemes Filho.
Monografia (Trabalho de Conclusão de Curso) Curso de Engenharia Elétrica,
Faculdade de Americana.
1. Consumo de Energia - Monitoramento. 2. Arduino. 3. Sensores
Correntes. I. Lemes Filho, José Matias. II. Título.
CDU 621.3
2
3
DEDICATÓRIA
Dedico este trabalho aos meus familiares, meu pai Antonio Carlos "in Memorian" por
construir um alicerce sólido de estrutura familiar, minha mãe Vera Lucia por ser mãe e pai ao
mesmo tempo, sempre proporcionando seu apoio e amor incondicional, e meus irmãos Fernando
e Kátia.
4
AGRADECIMENTOS
Agradeço a todos meus professores, pela dedicação durante os cinco anos de graduação,
em especial ao professor Matias Lemes Filho, orientador deste trabalho, que não poupou esforços
e dedicação para torná-lo possível.
À professora Andrea Acunha Martin, pelo comprometimento e disposição em sempre
ajudar a todos da turma.
Aos meus amigos, que sempre me apoiaram e incentivavam nos momentos mais difíceis.
Meus familiares, e em especial meu irmão Fernando, pela grande ajuda neste trabalho.
Meus sinceros agradecimentos a todos.
5
RESUMO
Neste trabalho é proposto a implementação de um medidor de energia elétrica que utiliza
Arduino como microcontrolador e sensores de fluxo de corrente, que tem como objetivo medir o
consumo da energia elétrica instantânea de uma casa ou comércio, e propõe uma solução de
como tratar os dados obtidos através deste dispositivo, para que possa ser enviado para um banco
de dados remoto, utilizando o conceito de "internet das coisas" e que trabalhando junto com um
software específico, seja capaz de quantificar o consumo, além de emitir relatórios e consultar
estes dados via aplicativo de celular. O diferencial deste projeto, é que além de medir o consumo
geral do imóvel, o equipamento possui sensores de corrente extras, que possibilita medir o
consumo por áreas. Por exemplo, é possível medir a energia elétrica utilizada somente com
iluminação, ou nas tomadas da cozinha, no chuveiro, e outros. Com estes dados em mãos, o
consumidor poderá fazer o monitoramento e saber como está sendo consumida a energia elétrica
em sua residência ou comércio, e procurar meios para diminuir o consumo, tornando muito mais
eficiente e sustentável.
Palavras–chave: Consumo de energia, Arduino, Sensor de corrente, Monitoramento, Sustentável.
6
ABSTRACT
This paper proposes the implementation of an electricity meter using an Arduino as
microcontroller and current transformer sensors, which aims to measure the consumption of
instant power in a home or business, and proposes a solution to how process this data obtained
through this device, so it can be sent to a remote database, using the concept of "internet of
things" and that working with specific software to be able to quantify the consumption as well as
reporting and query this data via mobile application. The differential of this project, is that in
addition to measuring the property of the general consumption, the equipment has extra current
sensors, which enables to measure consumption by areas. For example, you can measure the
electricity used only for lighting, or taken in the kitchen, a shower, and others. With these data in
hand, the consumer will be able to monitor and know how it is being consumed electricity in your
home or business, and look for ways to reduce consumption, making it much more efficient and
sustainable.
Keywords: Energy consumption, Arduino, Current sensor, Monitoring, Sustainable.
7
LISTA DE FIGURAS
Figura 1 - Diagrama de bloco de cadeia do Arduino ..........................................................................15
Figura 2 - Sensor de corrente "Current transformer" ........................................................................18
Figura 3 - Relação de fase entre tensão e corrente em uma carga resistiva .....................................20
Figura 4 - Relação de fase entre tensão e corrente em uma carga parcialmente reativa .................21
Figura 5 - Corrente não linear ............................................................................................................23
Figura 6 - Relação de fase e corrente numa geração de energia .......................................................24
Figura 7 - Amostragem da corrente e tensão ....................................................................................25
Figura 8 - Código fonte para calcular a potência real ........................................................................26
Figura 9 - Código fonte para calcular a tensão RMS ..........................................................................26
Figura 10 - Código fonte para calcular a corrente RMS .....................................................................27
Figura 11 - Código fonte para calcular a potência aparente ..............................................................27
Figura 12 - Código fonte para calcular a potência aparente ..............................................................28
Figura 13- Visão geral da montagem .................................................................................................32
Figura 14 - Circuito divisor de tensão da placa de condicionamento de sinal ...................................33
Figura 15 - Componentes soldados à placa ........................................................................................34
Figura 16 - Aspecto final .....................................................................................................................35
Figura 17 - Código...............................................................................................................................36
Figura 18 - Demonstração dos valores de medição apresentados através do monitor serial ..........39
Figura 19 - Visão geral da estrutura de comunicação e gerenciamento do medidor........................40
Figura 20 - Apresentação gráfica dos dados. .....................................................................................41
8
LISTA DE GRÁFICOS
Gráfico 1 - Consumo de energia elétrica de 1995 a 2014 em GWh ...................................................12
Gráfico 2 - Participação dos eletrodomésticos mais importantes no consumo médio domiciliar ....13
Gráfico 3 - Medição com carga resistiva ............................................................................................44
Gráfico 4 - Medição com carga resistiva ............................................................................................44
Gráfico 5 - Medição com carga mista.................................................................................................45
Gráfico 6 - Medição com carga reativa ..............................................................................................46
9
LISTA DE ABREVIATURAS E SIGLAS
EPE
GWh
ONS
SIN
LED
PCB
CT
RMS
V
I
A
ADC
PPM/Cº
ANEEL
P
S
Q
FP
Empresa de pesquisas energéticas
Giga Watt Hora
Operador Nacional do Sistema Elétrico
Sistema Interligado Nacional
Diodo Emissor de Luz
Placa de circuito impresso
Transformador de corrente
Raiz quadrada da média
Volts
Corrente
Ampere
Conversor Analógico Digital
Partes por Milhão por Grau (Unidade de medida)
Agência Nacional de Energia Elétrica
Potência ativa (ou Potência real)
Potência aparente
Potência reativa
Fator de potência
10
SUMÁRIO
1
2
INTRODUÇÃO ______________________________________________________________12
1.1
Objetivo geral __________________________________________________________14
1.2
Objetivo específico ______________________________________________________14
1.3
Estrutura da monografia __________________________________________________14
FUNDAMENTAÇÃO TEÓRICA ___________________________________________________15
2.1
Arduino _______________________________________________________________15
2.1.1 Por que utilizar Arduino? _______________________________________________16
2.2
Sensores de Corrente ____________________________________________________17
2.2.1 Segurança ___________________________________________________________19
2.3
Corrente Alternada ______________________________________________________19
2.3.1 Correntes alternada para cargas resistivas __________________________________20
2.3.2 Correntes alternada para cargas parcialmente reativas ________________________20
2.3.3 Potência ativa, potência reativa e potência aparente. _________________________22
2.4
Direção do fluxo da corrente. ______________________________________________23
2.5
Método de cálculo da Energia para Arduino __________________________________24
2.5.1 Tensão e corrente instantânea ___________________________________________25
2.5.2 Calculando a potência real em um Arduino _________________________________25
2.5.3 Tensão RMS __________________________________________________________26
2.5.4 Corrente RMS ________________________________________________________27
2.5.5 Potência aparente _____________________________________________________27
2.5.6 Fator de potência _____________________________________________________28
2.6
EmonLib _______________________________________________________________28
2.7
Teoria de Energia CA _____________________________________________________28
2.7.1 A potência ativa _______________________________________________________29
2.7.2 RMS de tensão e de Medição de Corrente __________________________________29
11
2.7.3 Potência Aparente e Fator de Potência ____________________________________30
3
IMPLEMENTAÇÃO DO PROJETO ________________________________________________31
3.1
Implementação e desenvolvimento _________________________________________31
3.2
Desenvolvimento da placa de circuito impresso _______________________________32
3.2.1 Primeiro passo - Reunir os componentes. __________________________________33
3.2.2 Segundo Passo - Montagem da placa de circuito impresso _____________________34
3.2.3 Terceiro Passo - Upload do Sketch no Arduino _______________________________35
3.2.4 Procedimento de calibração _____________________________________________36
3.2.5 Sensor de Corrente ____________________________________________________37
3.3
4
O gerenciamento dos dados obtidos pelo medidor _____________________________39
RESULTADOS E ANÁLISES _____________________________________________________42
4.1
Fontes de erro __________________________________________________________42
4.1.1 Os transformadores____________________________________________________42
4.1.2 O circuito de entrada___________________________________________________42
4.1.3 O conversor AD _______________________________________________________43
4.2
Testes_________________________________________________________________43
4.2.1 Carga puramente resistiva ______________________________________________43
4.2.2 Carga puramente resistiva ______________________________________________44
4.2.3 Carga mista __________________________________________________________45
4.2.4 Carga reativa _________________________________________________________45
5
CONSIDERAÇÕES FINAIS - CONCLUSÃO __________________________________________47
5.1
Trabalhos futuros _______________________________________________________47
REFERÊNCIAS BILBLIOGRÁFICAS ____________________________________________________49
ANEXO A - ARTIGO ______________________________________________________________50
ANEXO B - CÓDIGO FONTE ________________________________________________________56
12
1 INTRODUÇÃO
O processo de estabilização econômica no país e o consolidado aumento da produção
industrial nas últimas duas décadas, vêm aumentando constantemente a demanda pela energia
elétrica e consequentemente a geração dessa energia no Brasil. O consumo faturado de energia
elétrica no Brasil em 2014 foi 473,4 GWh (EMPRESA DE PESQUISAS ENERGÉTICAS, 2015).
Gráfico 1 - Consumo de energia elétrica de 1995 a 2014 em GWh
Fonte: EPE (2015)
O Gráfico 1 demonstra o crescimento do consumo elétrico no Brasil entre os anos de 1995
e 2015, no qual é possível observar um aumento de 95% no consumo. Isso se deve ao fato do
comportamento do consumidor, que ao adquirir mais bens que utilizam energia elétrica para seu
funcionamento, aumentam também a demanda de energia elétrica, e consequentemente o
aumento no setor industrial para a fabricação desses produtos.
No entanto outro dado importante a se observar é a fonte da energia elétrica gerada para
suprir esse aumento na demanda. Segundo o ONS (Operador Nacional do Sistema Elétrico), órgão
responsável pela coordenação e controle da operação das instalações de geração e transmissão de
energia elétrica no SIN (Sistema Interligado Nacional), no ano 2000 o Brasil gerou 15.030GWh de
energia elétrica de origem térmica convencional. Comparando com o ano de 2014, este valor
saltou para 123.620GWh, sendo um aumento de mais de 820%.
13
Analisando estes dados, podemos observar que o país não se preparou de modo
sustentável para suprir o aumento por essa demanda de energia elétrica, pois a elevada produção
de energia elétrica de origem térmica significa alto custo na geração de energia, e aumento
considerável na emissão de poluentes responsáveis pela geração do efeito estufa, devido à
queima de combustíveis fósseis.
Como fazer então para reverter essa situação? De acordo com SANTOS (2007), antes de
realizar qualquer atividade é preciso conhecer e diagnosticar a realidade energética, para então
estabelecer as prioridades, implantar os projetos de melhoria e redução de perdas e acompanhar
seus resultados em um processo contínuo.
Para isto, este trabalho propõe a implementação de um medidor de corrente utilizando
Arduino, no quadro de distribuição de energia elétrica de uma residência ou prédio comercial, a
fim de medir a energia elétrica consumida, tanto na entrada geral quanto nos ramais de
derivações do quadro, como ramais de iluminação, tomadas da cozinha, chuveiro e outros.
Gráfico 2 - Participação dos eletrodomésticos mais importantes no consumo médio domiciliar
Fonte: Procel (2005)
O Gráfico 2 demonstra a participação dos eletrodomésticos mais importantes no consumo
médio domiciliar em nível Brasil. Porém isto não é uma constante, e devemos levar em
consideração que boas práticas no dia a dia, como hábitos simples de não deixar lâmpadas acesas
desnecessariamente, a TV ligada durante a noite, banhos curtos e na temperatura adequada
podem resultar num impacto positivo na fatura de energia.
14
Além disso, de acordo com KATS (2010), edifícios sustentáveis geralmente alcançam
economias de energia de 20% a 50% por meio de medidas como a orientação adequada da
construção, telhados frios, paredes e tetos altamente isolados, aproveitamento da luz natural e
uso de sistemas eficientes de iluminação, aquecimento, resfriamento, aquecimento de água e
ventilação.
1.1
Objetivo geral
Conforme apresentado na introdução, o consumo de energia elétrica no Brasil é crescente,
no entanto a geração de energia elétrica não acompanha este crescimento de forma sustentável.
A importância desse trabalho reflete em possibilitar um consumidor final saber e entender
onde está consumindo a energia elétrica em seu imóvel, para que assim possa encontrar maneiras
de economizar energia, tornando mais sustentável e eficiente.
1.2 Objetivo específico
Propor a implementação de um dispositivo capaz de realizar a medição do consumo de
energia elétrica numa residência ou comércio através de um dispositivo de baixo custo, a fim de
estudar e entender o consumo para encontrar a uma maneira mais eficiente e sustentável de
consumir essa energia.
1.3 Estrutura da monografia
Esta monografia está dividida em 5 capítulos. O primeiro capítulo é dedicado à introdução
para explicar o motivo e os objetivos para o desenvolvimento do medidor de energia. No segundo
capítulo estão os fundamentos teóricos do funcionamento dos principais componentes utilizados
no projeto, e no terceiro a explicação da implementação do medidor e a proposta de como utilizar
os dados obtidos através do dispositivo. E finalmente nos capítulos 4 e 5 contém os testes
realizados e a conclusão do trabalho. No final do trabalho, está anexo o artigo apresentado no 1º
CIEEMAT - 1º Congresso Internacional de Empreendedorismo, Energia, Meio Ambiente e
Tecnológico, que foi baseado neste trabalho para ser elaborado.
15
2 FUNDAMENTAÇÃO TEÓRICA
Neste capítulo são apresentados os materiais e métodos utilizados no projeto para
desenvolvimento do medidor de energia, bem como os fundamentos teóricos para seu
funcionamento.
2.1 Arduino
Segundo o site oficial, o Arduino é uma plataforma de prototipagem de código aberto
baseado em "easy-to-use" de hardware e software, o que significa que o código, os esquemas, o
projeto etc, podem ser utilizados livremente por qualquer pessoa e com qualquer propósito. As
placas Arduino são capazes de ler entradas (por exemplo: - a luz em um sensor, o clique de um
botão, ou uma mensagem de Twitter), e transformá-lo em uma saída (ativação de um motor, ligar
um LED, publicar alguma coisa online). Em termos práticos é um pequeno computador que você
pode programar processos de entrada e saída, entre o dispositivo e os elementos externos
conectados a ele. A Figura 1 apresenta um diagrama de blocos de uma cadeia de processamento
utilizando o Arduino. Tudo isso é definido por um conjunto de instruções programadas através do
software Arduino (IDE). O IDE permite que você escreva um programa de computador, que é um
conjunto de instruções passo a passo, das quais você faz o upload para o Arduino. Seu Arduino,
então, executará essas instruções, interagindo com o que estiver conectado a ele. No mundo do
Arduino, programas são conhecidos como sketches (rascunho, ou esboço).
Figura 1 - Diagrama de bloco de cadeia do Arduino
Fonte: Elaborado pelo autor (2015)
O Arduino também pode ser estendido utilizando os shields (escudos), que são placas de
circuito contendo outros dispositivos (por exemplo, receptores GPS, displays de LCD, módulos de
Ethernet etc.), que você pode simplesmente conectar ao seu Arduino para obter funcionalidades
16
adicionais. Os shields também estendem os pinos até o topo de suas próprias placas de circuito,
para que você continue a ter acesso a todos eles. Não é necessário utilizar um shield de fato, pode
se fazer exatamente o mesmo circuito utilizando uma protoboard, Stripboard, Veroboard, ou
criando uma própria PCB.
Ao longo dos anos o Arduino tem sido o cérebro de milhares de projetos, desde objetos do
cotidiano até instrumentos científicos complexos. A comunidade mundial de estudantes,
amadores, artistas, programadores e profissionais, juntou suas contribuições em torno desta
plataforma open-source, o que somou uma quantidade incrível de conhecimento público, que
pode ser de grande ajuda para novatos e especialistas.
O Arduino nasceu no Ivrea Interaction Design Institute, Milão – Itália, como uma
ferramenta de prototipagem rápida (RP, do inglês, Rapid Prototyping), destinado a estudantes sem
experiência em eletrônica e programação. Assim que chegou a uma comunidade mais ampla, a
placa Arduino começou mudar para se adaptar às novas necessidades e desafios, diferenciando-se
por sua oferta, que vai desde placas de 8 bits simples até aplicações de produtos para Internet das
coisas, impressão 3D e sistemas embarcados. Todas as placas Arduino são completamente opensource, capacitando os usuários para construí-los de forma independente e adaptá-los às suas
necessidades específicas. O software também é open-source, e está crescendo através das
contribuições de usuários no mundo todo.
2.1.1 Por que utilizar Arduino?
Há muitos outros microcontroladores e plataformas de microcontroladores disponíveis
para computação física. Parallax Basic Stamp, NetMedia´s BX-24, Phidgets, MIT's Handyboard, e
muitos outros que oferecem funcionalidade semelhante. Todas essas ferramentas levam os
detalhes complicados de programação de microcontroladores, tornando-os um pacote fácil de
usar. Arduino também simplifica o processo de trabalhar com microcontroladores, mas oferece
alguma vantagem para os professores, estudantes e amadores interessados em outros sistemas:
 Barato - placas Arduino são relativamente baratas em comparação a outras plataformas de
microcontroladores. A versão mais barata do módulo Arduino pode ser montada à mão, e
até mesmo os módulos pré-montados Arduino custam menos de US $ 15.
17
 Multi-plataforma - O software Arduino é executado em Windows, Macintosh OSX, Linux. A
maioria dos sistemas de microcontroladores são limitados ao Windows.
 Ambiente de programação simples e claro - O ambiente de programação do Arduino é
fácil de usar para novatos, mas suficientemente flexível para usuários avançados para
aproveitar bem. Para os professores, é convenientemente com base no ambiente de
processo de programação, para que os alunos aprendam a programar em um ambiente
que vai estar familiarizado com o ambiente intuitivo do Arduino.
 Open source e software extensível - O software Arduino é publicado como ferramentas de
código aberto, disponível para extensão por programadores experientes. O idioma pode
ser expandido através de bibliotecas C ++, e as pessoas que querem entender os detalhes
técnicos podem dar o salto do Arduino para a linguagem de programação AVR-C no qual
ele se baseia. Da mesma forma, pode se adicionar código AVR-C diretamente nos
programas do Arduino.
 Open source e hardware extensível - O Arduino é baseado nos microcontroladores
ATmega8 e ATMega168 da Atmel. Os planos para os módulos são publicados sob uma
licença Creative Commons, então os desenvolvedores de circuito experientes podem fazer
a sua própria versão do módulo, estendê-los e melhorá-los. Mesmo os usuários
relativamente inexperientes podem construir uma versão de placa de ensaio, a fim de
entender como ele funciona e economizar dinheiro.
2.2 Sensores de Corrente
Sensores transformadores de corrente (CTs) são sensores que medem a corrente
alternada. Eles são úteis para serem utilizados em dispositivos capazes de medir o consumo de
energia elétrica utilizada em um imóvel, ou até mesmo a geração de energia produzida através de
painéis fotovoltaicos se for o caso.
18
Figura 2 - Sensor de corrente "Current transformer"
Fonte: Elaborado pelo autor (2015)
O sensor de corrente do tipo núcleo dividido, como o CT na figura 2, pode ser instalado
tanto para a fase como no neutro de um edifício, sem a necessidade de fazer qualquer trabalho
elétrico.
Como qualquer outro transformador, um transformador de corrente tem um enrolamento
primário, um núcleo magnético, e um enrolamento secundário. No caso dos sensores utilizados
neste trabalho, o enrolamento primário é o fio fase ou o fio do neutro que entra no edifício, que é
passado através do núcleo do CT. O enrolamento secundário é feito de muitas espiras de um fio
fino alojado no interior da caixa do transformador (CT).
A corrente alternada que flui no primário produz um campo magnético no núcleo, que
induz uma corrente no circuito do enrolamento secundário. A corrente no enrolamento
secundário é proporcional à corrente fluindo no enrolamento primário, na qual a Equação 1
demonstra como é dada a relação de espiras, e na Equação 2, como é calculada a corrente no
secundário.
(Eq1)
(Eq2)
19
O número de espiras no secundário do CT da figura 2 é de 2000, de modo que a corrente
no secundário é uma fração de 2000 da corrente no primário. Então a relação de espiras do CT é
escrita da seguinte forma: (100 : 0,05).
Na "corrente de saída" do CT precisa ser usado um resistor de carga. O resistor de carga
completa ou fecha o circuito secundário do CT. O valor escolhido do resistor é usado para
proporcionar uma tensão proporcional à corrente secundária. O valor de carga deve ser baixa o
suficiente para evitar a saturação do núcleo CT.
O circuito secundário é isolado galvanicamente do circuito primário. (ou seja, não tem
qualquer contato metálico).
2.2.1 Segurança
Em geral, o CT nunca deve ser um circuito aberto, uma vez que está ligada a um condutor
de corrente e pode ser potencialmente. Se estiver em um circuito aberto com um fluxo de
corrente no primário, o secundário do transformador tentará continuar conduzindo a corrente,
em que é uma impedância efetivamente infinita e isto produzirá uma alta e potencialmente
perigosa tensão no secundário. Alguns CTs tem uma proteção embutida. Alguns têm diodos Zener
de proteção como é o caso com o SCT-013-000, que é utilizado para este projeto. Porém se o CT é
do tipo 'tensão de saída', ele não foi construído com um resistor de carga, portanto, não pode ser
um circuito aberto.
2.3
Corrente Alternada
Antes de entendermos como o monitor de energia irá medir a energia consumida numa
residência, é útil saber como os aparelhos eletrônicos interagem com o sistema elétrico.
Nem todos os aparelhos se interagem com o sistema elétrico da mesma maneira. Neste
capítulo iremos discutir primeiro, as cargas resistivas e como a energia que eles utilizam é
calculada. Em seguida, iremos discutir cargas reativas, e um pouco sobre cargas não
lineares. Finalmente, será mostrado como medimos a direção do fluxo da corrente, o que é
importante para saber se a energia é gerada ou consumida.
20
2.3.1 Correntes alternada para cargas resistivas
Lâmpadas incandescentes, chaleiras, ferros de passar roupa, aquecedores elétricos, fogões
elétricos são todos bastante simples. Eles utilizam toda a energia enviada a eles, pois são cargas
resistivas, o que significa que seu consumo de corrente é igual à tensão dividida pela sua
resistência (Lei Ohms). Uma carga puramente resistiva dá uma saída de onda de tensão e corrente
semelhante à apresentada na Figura 3.
Figura 3 - Relação de fase entre tensão e corrente em uma carga resistiva
Fonte: openenergymonitor.org (2015)
A linha de alimentação em amarelo é em um determinado momento (em qualquer instante
do tempo) o que é chamada potência instantânea, que é igual ao produto da tensão e corrente em
um determinado momento. Observe que a potência é sempre positiva. Neste caso, o sentido
positivo é devido à energia estar fluindo para a carga.
2.3.2 Correntes alternada para cargas parcialmente reativas
No entanto equipamentos como geladeiras, máquinas de lavar, furadeiras e maquinas de
solda não são tão simples. Estes aparelhos consomem certa quantidade de energia, em seguida,
devolve um pouco de energia de volta para a fonte de alimentação. Estes têm componentes
21
indutivos (por exemplo, motores) ou capacitivos (por exemplo, máquinas de soldar a arco) em
adição ao componente resistivo. Uma carga parcialmente indutiva dá uma tensão e onda de saída
de corrente semelhante a Figura 4:
Figura 4 - Relação de fase entre tensão e corrente em uma carga parcialmente reativa
Fonte: openenergymonitor.org (2015)
Observe a linha amarela agora vai ao negativo por um período de tempo. Onde está
positivo é a energia que flui para a carga e depois no negativo é a energia que flui de volta da
carga.
A outra coisa a considerar é que as formas de onda de tensão e corrente foram separadas à
parte. Imagine que carregar um capacitor com um resistor em série (para que ele não possa
carregar instantaneamente). Para começar, o capacitor é descarregado. A tensão de alimentação
sobe, e é mais elevada do que a tensão no capacitor, de modo que a corrente flui para o capacitor
(no sentido positivo no gráfico), que faz subir a tensão do capacitor. Então a tensão de
alimentação cai. Agora, a tensão através do capacitor carregado é maior do que a tensão de
alimentação. A corrente começa a fluir para trás na direção do fornecimento (sentido negativo no
gráfico). Isto faz com que a onda de corrente aparecer deslocada, como representado no
gráfico. (Isto é referido como desvio de fase ou defasagem).
22
2.3.3 Potência ativa, potência reativa e potência aparente.
Olhando para os gráficos de tensão, corrente e potência na Figura 3, a frequência da rede
de consumo de energia varia 60 vezes por segundo. Nós não podemos acompanhar essa mudança
nesta velocidade, por isso temos um valor mais real para essa potência: a média da potência
instantânea, que chamamos de verdadeira ou potência ativa.
A potência ativa é muitas vezes definida como a energia usada por um dispositivo para
produzir o trabalho útil. Referindo-se ao gráfico da figura 3, a parte positiva da onda, é a potência
que vai para a carga, e a parte negativa é potência que volta para a fonte a partir da carga. A
potência que foi realmente utilizado pela carga, ou seja, a potência que vai, menos a potência que
volta, é a potência ativa.
Reativa ou potência imaginária, é uma medida da energia indo e voltando entre a carga e a
fonte que não realiza trabalho útil.
Outra medida útil da potência é potência aparente, que é o produto da tensão RMS (root
mean square ou raiz do valor quadrático médio ou ainda valor eficaz) e a corrente RMS. Para
cargas puramente resistivas, a potência ativa é igual à potência aparente. Mas para todas as
outras cargas, a potência ativa é inferior à potência aparente. A potência aparente é uma medida
da potência ativa e reativa, mas não é uma soma das duas, pois a soma das duas não leva em
conta as diferenças de fase.
A relação entre potência ativa (P), reativa (Q) e aparente (S) para cargas senoidais é dada
pelas Equações 3,4 e 5.
(Eq.3)
(Eq.4)
(Eq.5)
No entanto, uma nota sobre cargas não lineares:
Esta relação do fator de potência é válida apenas para cargas senoidais lineares. A maioria
das fontes de alimentação DC para dispositivos como computadores portáteis apresentam uma
23
carga não linear à rede elétrica. O seu consumo de corrente, muitas vezes se parece coma a Figura
5.
Figura 5 - Corrente não linear
Fonte: openenergymonitor.org (2015)
Nós ainda podemos calcular o fator de potência a partir da Equação 6.
(Eq.6)
O que é verdade para as ondas senoidais puras, para não lineares já não está correto. Nem
FP = cosΦ, uma vez que os efeitos de harmônicos de ordem superior na tensão e corrente devem
ser considerados.
2.4 Direção do fluxo da corrente.
Até agora, este capítulo tem assumido que a potência é consumida. Se, no entanto,
estamos gerando energia, a direção do fluxo de corrente é invertido. Mas se a corrente é
alternada, a direção é invertida 60 vezes por segundo, precisamos de uma referência para
24
comparar as direções. Felizmente, isso é possível na forma da tensão. Na Figura 3, as ondas da
tensão e corrente sobem e descem juntas. Quando a tensão era positiva (acima do eixo X) a
corrente era positiva, e quando a tensão era negativa (abaixo do eixo x), a corrente também foi
negativa. Como a potência é igual ao produto da tensão e da corrente, então a potência sempre
era positiva (toda a curva de potência está acima do eixo dos X).
Se a casa é a geradora de energia, a direção da corrente é invertida em relação ao exemplo
anterior. Agora, quando a tensão é positiva, (acima do eixo X) a corrente é negativa (abaixo do
eixo x), e, quando a tensão for negativa, a corrente será positiva. Então a potência sempre será
negativa - toda a curva de potência está abaixo do eixo X conforme Figura 6.
Figura 6 - Relação de fase e corrente numa geração de energia
Fonte: openenergymonitor.org (2015)
O sinal da potência, portanto, indica se a energia está sendo consumida ou gerada.
Há muitos parâmetros que podemos medir a respeito do uso de energia em sistemas de
corrente alternada. Cada um tem os seus méritos. Para a medição de energia do agregado familiar,
a potência real é provável que seja o valor mais útil, como é diz-lhe o quanto de energia todos os
seus aparelhos estão realmente consumindo, e isso é o que as contas de serviços públicos cobram.
2.5 Método de cálculo da Energia para Arduino
Então como a potência ativa e aparente, tensão, corrente e fator de potência são
calculadas no Arduino.
25
2.5.1 Tensão e corrente instantânea
A tensão e a corrente são continuamente alternadas. Se usarmos um osciloscópio para
enxergar uma figura de onda da tensão e da corrente ao longo do tempo, veremos algo como a
imagem da Figura 7. Dependendo do tipo da carga que está consumindo a energia, a forma da
onda da corrente (em azul) no diagrama abaixo, é o que você verá.
A imagem foi feita por amostragem da tensão e corrente da rede em alta frequência, que é
exatamente o que o Arduino faz. É feito entre 50 e 100 medições a cada 20 milissegundos (100 se
amostragem apenas da corrente, e 50 se for para amostragem de tensão e corrente). Estamos
limitados pela velocidade de comando de leitura analógica e cálculo do Arduino.
Cada amostra individual é uma tensão instantânea ou leitura atual.
Figura 7 - Amostragem da corrente e tensão
Fonte: openenergymonitor.org (2015)
2.5.2 Calculando a potência real em um Arduino
A potência real é a média da potência instantânea. O cálculo é relativamente simples.
26
Em primeiro lugar, calcular a potência instantânea, multiplicando a medição de tensão
instantânea pela medição de corrente instantânea. Somamos a medição da energia instantânea
durante um determinado número de amostras e dividimos pelo número de amostras conforme
código apresentado na Figura 8.
Figura 8 - Código fonte para calcular a potência real
Fonte: Elaborado pelo autor (2015)
2.5.3 Tensão RMS
O RMS é calculado na forma como o nome sugere em Inglês "Root Mean Square". Primeiro
tiramos o quadrado da tensão, em seguida, calcula-se a média e, finalmente a raiz quadrada da
média dos quadrados, conforme código apresentado na Figura 9.
Figura 9 - Código fonte para calcular a tensão RMS
Fonte: Elaborado pelo autor (2015)
27
2.5.4 Corrente RMS
O mesmo para o cálculo da tensão RMS, conforme código apresentado na Figura 10.
Figura 10 - Código fonte para calcular a corrente RMS
Fonte: Elaborado pelo autor(2015)
2.5.5 Potência aparente
Conforme código apresentado na Figura 11.
Figura 11 - Código fonte para calcular a potência aparente
Fonte: Elaborado pelo autor (2015)
Como a tensão RMS é geralmente um valor fixo, como: 127 V. é possível aproximar a
potência aparente, sem fazer uma medição de tensão, definindo a tensão RMS para 127V. Esta é
uma prática comum usada pelos monitores de energia disponíveis comercialmente.
28
2.5.6 Fator de potência
Conforme código apresentado na Figura 12.
Figura 12 - Código fonte para calcular a potência aparente
Fonte: Elaborado pelo autor (2015)
Estes são os fundamentos da medição de energia AC no Arduino.
2.6 EmonLib
Para simplificar todos esses cálculos, existe uma biblioteca pronta chamada EmomLib, para
ser utilizado nos sketches dos monitores de energia. Essa é uma biblioteca desenvolvida pela
OpenEnergyMonitor e tem como autor principal Trystan Lea (openenergymonitor.org,2015). Por
se tratar de um conceito Open Source, ela é livre para ser utilizada, modificada e redistribuída,
desde que obdecido os termos da GNU General Public e publicada pela Free Software Foundation.
Em termos gerais, isso significa que ao desenvolver algum programa baseado nesta biblioteca, é
necessário colocar em seu código fonte, a informação que se trata de um software livre, conforme
texto apresentado no site da GNU (gnu.org, 2015)
2.7 Teoria de Energia CA
Este capítulo demonstra a matemática por trás do cálculo da potência ativa, potência
aparente, fator de potência, tensão e corrente RMS, corrente RMS da tensão instantânea e
medições da corrente alternada monofásica. Equações do tempo discreto são detalhadas uma vez
que os cálculos são efetuados no domínio digital no Arduino.
29
2.7.1 A potência ativa
A potência ativa (também conhecido como a potência real) é definida como a energia
utilizada por um dispositivo para produzir um trabalho útil. Matematicamente é a integral definida
da tensão, u (t), vezes a corrente, I (t), na qual demonstra a Equação 7.
(Eq.7)
U --Média da Raiz Quadrada (RMS) da tensão.
I -- Média da Raiz Quadrada (RMS) da corrente.
cos (ϕ) - Fator de potência.
O equivalente para tempo discreto é dado na Equação 8.
(Eq.8)
u (n) - amostrado exemplo de u (t)
i (n) - amostrado exemplo de i (t)
N - número de amostras.
A potência ativa é calculada simplesmente como a média de N produto da tensão e
corrente. Pode-se demonstrar que este método é válido para senoidais e distorcidos.
2.7.2 RMS de tensão e de Medição de Corrente
Um valor RMS é definido como a raiz quadrada da média aritmética dos quadrados dos
valores instantâneos de uma quantidade que varia periodicamente, em média sobre um ciclo
completo. A equação para o cálculo em tempo discreto RMS de tensão é apresentada na Equação
9.
30
(Eq.9)
Corrente RMS é calculado utilizando a mesma equação, substituindo as amostras de
tensão, u (n), para as amostras correntes, i (n).
2.7.3 Potência Aparente e Fator de Potência
A potência aparente é calculada, conforme a equação 10:
(Eq.10)
E o fator de potência é calculado conforme a Equação 11.
(Eq.11)
31
3 IMPLEMENTAÇÃO DO PROJETO
Neste aparelho foram colocados três sensores de corrente tipo grampo para medição da
entrada geral trifásica, os quais devem ser instalados diretamente nos cabos do quadro de
distribuição sem a necessidade de prolongar o cabo para passar pelo sensor, e mais quatro
sensores fixos soldados à placa de circuito impresso, para leitura dos ramais derivativos da
residência, em que há a necessidade de prolongar os cabos após os disjuntores para poder passar
através dos sensores. Estes três sensores instalados na entrada são utilizados para medir o
consumo geral do prédio, tendo assim um macro visão do consumo. Já os quatros sensores
instalados na placa, podem ser utilizados para uma leitura mais específica do consumo, como por
exemplo, um chuveiro, as tomadas da cozinha, ar condicionado e outros.
Os sensores tipo grampo (SCT013) tem faixa de leitura de corrente nominal de 0 a 100A e
os sensores fixos (ZMCT103C) a faixa de leitura é de 0 a 10A. A escolha para utilização desses tipos
de sensores foi o custo, pois os sensores SCT013 tem um custo muito elevado e é muito difícil
prolongar os cabos de alimentação geral do quadro de distribuição devido o diâmetro de seção do
cabo, enquanto os sensores ZMCT103C para medição dos ramais de distribuição tem um custo de
10% de cada sensor SCT013, e os cabos de distribuição dos ramais podem ser facilmente
prolongados para passar através dos sensores que estão soldados na PCB.
Para conectar um ou mais sensor de corrente em um Arduino, é necessário que o sinal do
sensor seja condicionado para atender os requisitos das entradas das portas analógicas, que é
uma tensão positiva de 0V e 5V. Para isso é utilizado um circuito divisor de tensão que foi
construído numa placa de circuito impresso que será descrito no próximo capítulo.
3.1 Implementação e desenvolvimento
Este capítulo fornece detalhes sobre como construir um monitor de energia e a placa de
condicionamento de sinal que pode ser usado para medir a quantidade de energia elétrica
consumida em uma residência. Ele mede a corrente, mas utiliza um valor fixo assumido para
tensão (127V, por exemplo) e calcula a potência aparente. Apesar de não ser tão preciso quanto
um monitor que também mede a tensão, assim como a corrente, é um método habitualmente
utilizado nos monitores disponíveis comercialmente, por razões de simplicidade e de custo.
32
3.2 Desenvolvimento da placa de circuito impresso
Os componentes utilizados para implantação desse projeto são de baixo custo, o que
viabiliza a produção do mesmo, obtendo uma margem de custo-benefício muito atraente aos
consumidores. A Figura 13 demonstra uma visão geral da montagem dos componentes.
Figura 13- Visão geral da montagem
Fonte: Elaborado pelo autor (2015)
Para conectar um ou mais sensor de corrente em um Arduino, é necessário que o sinal do
sensor seja condicionado para atender os requisitos das entradas das portas analógicas, que é
uma tensão positiva de 0V e 5V. Para isso é utilizado um circuito divisor de tensão conforme pode
ser visto na Figura 14..
33
Figura 14 - Circuito divisor de tensão da placa de condicionamento de sinal
Fonte: Elaborado pelo autor (2015)
3.2.1 Primeiro passo - Reunir os componentes.
A Tabela 1 apresenta o custo assim como os componentes utilizados para fabricação do
medidor apresentado neste trabalho. Para obter um preço acessível, a maioria dos componentes
foram importados da China, no entanto para isso é preciso realizar o pedido com muita
antecedência devido a demora para chegada das peças.
34
Tabela 1 - Componentes e custo
Fonte: Elaborado pelo autor (2015)
3.2.2 Segundo Passo - Montagem da placa de circuito impresso
Para a produção da placa de circuito impresso foi utilizada uma placa de fenolite 9x13cm
de camada simples, a qual foi desenhada as trilhas do circuito, com caneta retroprojetora e depois
corroída com Cloreto Férrico (FeCl3).
Após o processo de corrosão da placa os componentes foram montados e soldados,
conforme pode ser observado na Figura 14.
Figura 15 - Componentes soldados à placa
Fonte: Elaborado pelo autor (2015)
35
Com os componentes soldados na placa, a próxima etapa foi de fazer a conexão entre a
placa de circuito impresso e o Arduino. Para evitar mau contato entre as partes, foi dispensado a
utilização de conectores do lado do Arduino, e o cabo flat foi soldado nos pinos inferiores da placa,
enquanto na placa de circuito impresso foi utilizado terminais de bloco com parafuso.
O aspecto final do medidor montado pode ser observado na Figura 15.
Figura 16 - Aspecto final
Fonte: Elaborado pelo autor (2015)
3.2.3 Terceiro Passo - Upload do Sketch no Arduino
Na Figura 16 é apresentado um exemplo de como pode ser elaborado o código de fonte
para o Arduino calcular a corrente elétrica lida por um sensor. Notem que é um código
relativamente simples, pois a biblioteca utilizada "emonlib.h" faz todas as tratativas dos sinais
obtidos nas portas configuradas, precisando apenas fornecer alguns valores de calibração
dependendo do sensor utilizado, e fórmulas básicas para o cálculo da potência.
36
Figura 17 - Código
Fonte: Elaborado pelo autor (2015)
O código, ou Sketch, é o software que é executado no Arduino. O Arduino converte os
dados brutos a partir da sua entrada analógica em valores humanos legível, em seguida, envia-los
para o monitor de porta serial. O Anexo B ao final deste trabalho, apresenta o código fonte
completo utilizado no medidor.
3.2.4 Procedimento de calibração
Por que calibrar? É impossível fabricar qualquer coisa com precisão absoluta. De modo
geral, quanto mais preciso algo que é fabricado, mais caro. Considere a corrente de entrada do
medidor apresentado neste trabalho como um exemplo relativamente simples. Se assumirmos
que por enquanto não temos quaisquer erros no Sketch teremos então três fatores físicos que
podem contribuem para a incerteza no valor que lemos para a corrente. São os seguintes itnes:
 A razão de transferência de um transformador de corrente,
 O valor da resistência de carga,
 A precisão com que a tensão de carga é medida.
Normalmente, estes três itens ainda têm três componentes que contribuem para um
eventual erro de maior ou menor grau:
 Incerteza inicial no valor no momento da fabricação,
 Alterações devido às mudanças físicas ao longo do tempo,
 Influências externas
37
A calibração é um meio para corrigir os três primeiros itens do fator físico, e se for realizada
regularmente, ele irá também corrigir os outros itens. A menos que exista uma maneira de
remover ou proteger o dispositivo de influências externas, geralmente há muito pouco que possa
ser feito para contrariar os seus efeitos.
Numa visão simplista, no pior dos casos, a medição da potência real ou aparente poderia
estar em torno de 40% sem calibração. Com calibração utilizando um multímetro a preços
razoáveis, a precisão deve ser em torno de 6%.
3.2.5 Sensor de Corrente
No projeto do medidor apresentado neste trabalho há dois passos para realizar a
calibração da leitura dos sensores:
Passo 1: Ajuste de calibração via código fonte (Constante de calibração).
Passo 2: Ajuste no trimpot da placa do condicionamento do sinal.
Passo 1
Considerando que seja um resistor fixo de 18Ω na placa de condicionamento do sinal.
A corrente fornecida é medida utilizando um transformador de corrente, e o resultante da
corrente é convertido para uma tensão pelo resistor de carga e esta tensão então é medida pela
entrada analógica do microcontrolador (Arduino).
Esta tensão é medida em relação à tensão de alimentação do processador (neste caso 3,3
V), que é utilizada como a referência, e dimensionado de modo que a tensão de referência poderia
dar a amostragem máxima de 2 10 = 1024.
A tensão de entrada para o microcontrolador tem tendência a uma constante adicionada a
ele, mas este é imediatamente removido por um filtro na biblioteca Emonlib.h , para que
possamos ignorá-la no cálculo da constante de calibração. Dessa forma, podemos trabalhar em
valores RMS de correntes, tensões e contagens.
Assim para encontrar a constante de calibração que será inserida no código fonte está
relacionada à: resolução da amostragem (1024), corrente máxima do primário, relação de
transformação do transformador de corrente e valor do resistor de carga. A equação ficará da
seguinte forma:
38
K=
(Eq.12)
Onde:
K = Constante de calibração a ser inserida no código fonte;
Ip = Corrente máxima no primário;
a = Relação de transformação do sensor;
Rc = Resistor de carga da placa de condicionamento do sinal.
Para o sensor SCT013:
Para o sensor SCT013 os valores de corrente máxima no primário é de 100A e a relação de
transformação é 0,05. Na placa de condicionamento de sinal consideramos o valor de 18Ω para o
resistor de carga. Então substituindo estes valores na equação 12 o valor da constante de
calibração encontrado é de 111.11
Ou, para colocá-lo em palavras, a corrente de entrada é o valor da corrente que deseja ler
quando uma tensão é produzida através do resistor da placa de condicionamento de sinal.
A constante de calibração é passada como o segundo parâmetro para o método de cálculo
na biblioteca do EmonLib.h. Ele é codificado como uma constante na chamada para current () no
código fonte.
Para o sensor ZMCT103C:
Como "100" é a corrente primária no transformador de corrente (SCT), e "0.050 × 18" é de
fato a tensão sobre o resistor na placa de condicionamento de sinal. Então para encontrarmos a
constante de calibração para o sensor ZMCT103C, basta substituir a corrente nominal do
transformador no lugar de 100A para 5A e a relação de transformação de 0,05 para 0,005. Então a
constante de calibração para este sensor é de 55.55
Passo 2
39
Depois de definido a constante de calibração, que é obrigatoriamente inserida no Sketch
do Arduino, e que calculamos conforme demonstrado no passo 1, é necessário realizar o ajuste
fino de leitura dos sensores CTs alterando os valores de resistência dos trimpots.
No primeiro passo, assumimos que o valor do resistor na placa de condicionamento de
sinal tem valor fixo de 18 Ω, no entanto esse valor pode ser ajustado de 0Ω a 50Ω nos trimpots.
Para ajustar este valor realizamos o método de comparação, inserindo um valor de fluxo de
corrente conhecido no fio em que o sensor a ser calibrado está medindo, e comparamos com o
valor que de fato o sensor está medindo e enviando para o monitor serial do Arduino.
A Figura 17 demonstra a valores obtidos nos sensores CTs e são apresentados na tela do
monitor serial através do software de desenvolvimento do Arduino.
Figura 18 - Demonstração dos valores de medição apresentados através do monitor serial
Fonte: Elaborado pelo autor (2015)
Com estes valores apresentados em tempo real, comparamos com o valor de corrente
conhecido, que é obtido através da leitura de um alicate amperímetro confiável, e então
realizamos o ajuste no trimpot até que os valores igualem.
3.3 O gerenciamento dos dados obtidos pelo medidor
Tendo o aparelho de medição construído é necessário que os dados obtidos sejam tratados
e apresentados ao usuário. Para esta finalidade uma solução encontrada foi uma parceria com
empresa Intelup, em que o programa TipOFF, sendo hoje utilizado para identificação de desvios e
40
ineficiências em processos industriais do setor sucro energéticos, foi adaptado para o ambiente de
gerenciamento do consumo elétrico predial.
Os dados de consumo obtidos pelo medidor deverão ser enviados para o roteador de
internet através de uma placa de rede Ethernet, ou placa de rede Wi-Fi instalada no Arduino,
utilizando protocolo TCP-IP. Do roteador de internet, essas informações seguirão via web para um
servidor virtual instalado nas nuvens através de protocolo REST e formato jSON. A recepção dos
comandos será realizada por meio de um servidor PHP que ao receberem os POST RESTs, irão
gravar as informações em um banco de dados temporal, de modo que essas informações fiquem
disponíveis para receberem diversos tratamentos posteriormente. A visão geral desta estrutura é
apresentada na Figura 18.
Figura 19 - Visão geral da estrutura de comunicação e gerenciamento do medidor.
Fonte: Elaborado pelo autor (2015)
Dentro do software TipOFF, os dados podem receber diversos tratamentos conforme a
necessidade da aplicação onde o presente trabalho for implementado, e através de rotinas de
tratamento próprias do software, apresentam as seguintes informações:
41
 Monitoramento em tempo real para detecção de alertas e desvios de consumos.
 Geração de indicadores que demonstrem resultados consolidados do período de consumo
monitorado.
 Monitoramento e geração de alertas conforme bandeira tarifaria definida pela ANEEL,
podendo informar aos responsáveis do local onde a aplicação estiver monitorando, sobre
eventuais excessos de consumos.
 Cálculos de tendências de consumo para períodos futuros a partir de breves períodos de
coleta de leituras.
Todas estas informações podem ser apresentadas de maneira gráfica ao usuário, conforme
observado na Figura 19.
Figura 20 - Apresentação gráfica dos dados.
Fonte: Elaborado pelo autor (2015)
42
4 RESULTADOS E ANÁLISES
4.1 Fontes de erro
Existem três fontes principais de erro ao utilizar o medidor de energia como um
instrumento de medição.

Os transdutores de entrada (CTs) que são a primeira etapa de conversão de sinal e a
quantidade a ser medida,

O circuito de entrada, que completa a tarefa de condicionamento do sinal, e

O conversor de analógico para o digital.
4.1.1 Os transformadores
O transformador de corrente opera sobre o campo magnético que envolve um condutor de
corrente. Há duas partes principais: um núcleo ferromagnético que concentra o fluxo, e um
enrolamento secundário que capta o fluxo magnético variável e gera uma corrente elétrica. Sendo
um material ferromagnético, o fluxo no núcleo só é linearmente relacionada com a força de
magnetização da corrente a valores relativamente baixos, para valores elevados do fluxo atinge
um limite conhecido como "saturação". Isto pode levar a erros imprevisíveis, mas é facilmente
controlada com uma vez que tenha sido detectado.
4.1.2 O circuito de entrada
A resistência de carga, necessário para converter a saída de corrente do CTs em uma
tensão, é o componente de dimensionamento único. É um produto padrão, com uma tolerância
de 5% de fabricação. No entanto, o seu valor é dependente da temperatura. Por exemplo, uma
resistência de película de metal terá um coeficiente de temperatura de ± 100 ppm / ° C, o que
significa que a resistência pode alterar até 0,25% para uma variação de 25 ° C em temperatura
ambiente.
A tensão de entrada é aplicada a um divisor de tensão que compreende duas resistências,
cada um tendo uma tolerância de 5%. No pior caso apresentará um erro na relação de divisão de
1,83%.
43
4.1.3 O conversor AD
O conversor AD é a etapa final do processo de entrada. Existem duas principais fontes de
erro: a precisão do processo de conversão e a precisão da tensão de referência.
A resolução do conversor no microcontrolador do Arduino é de 10 bits, que para uma faixa
dinâmica de 5V na entrada da porta analógica, significa uma amplitude a ser resolvida de 4,9mV.
Outros possíveis erros no processo de conversão são descritos em detalhes no AVR120
Caracterização e Calibração do ADC (ATMEL 2006) que sob piores condições tem um erro de 4,5
LSB (Last Significant Bit).
4.2 Testes
Para realizar testes de leitura dos sensores de corrente, foram utilizados quatro situações
de cargas diferentes: carga puramente resistiva com duas lâmpadas incandescentes; carga
puramente resistiva com duas lâmpadas incandescentes mais um ferro de solda; carga mista com
duas lâmpadas incandescentes mais um motor trifásico de 1cv e carga reativa sendo a partida de
um motor trifásico de 1cv.
O método utilizado para aferição das medições coletadas do referido projeto, foi de
comparação. Para isso foi utilizado um alicate amperímetro da marca Fluke, modelo 303, como
base de leitura para comparação. Os seis sensores utilizados no experimento e o alicate
amperímetro foram instalados na mesma fase de alimentação das cargas.
Nas três primeiras situações de cargas citadas, os dados foram coletados em amostras
entre 10s num período total de 90s. Para a coleta de dados da quarta situação de carga, partida de
motor trifásico, a coleta foi realizada a cada 0,1s, durante 1s, para ser possível observar o pico de
corrente de partida. A seguir segue gráfico com os dados obtidos nos testes:
4.2.1 Carga puramente resistiva
Para realizar este primeiro teste foi utilizado duas lâmpadas incandescentes. Todos os
sensores do experimento apresentaram leitura dentro da faixa de resolução do amperímetro
utilizado como base de leitura que é de 0,1A. Resultados apresentados no Gráfico 3.
44
Gráfico 3 - Medição com carga resistiva
Fonte: Elaborado pelo autor (2015)
4.2.2 Carga puramente resistiva
Utilizado duas lâmpadas incandescentes, mais um ferro de solda. Neste segundo teste,
também pode ser observado que as leituras obtidas nos sensores de corrente do experimento
mantiveram-se dentro da faixa de resolução do amperímetro utilizado como base de comparação,
que variou entre 1 e 1,1A. Resultados apresentados no Gráfico 4.
Gráfico 4 - Medição com carga resistiva
Fonte: Elaborado pelo autor (2015)
45
4.2.3 Carga mista
Utilizado duas lâmpadas incandescentes e um ferro de solda, mais um motor trifásico. No
terceiro teste é possível observar que a carga aumentou devido à utilização de um motor trifásico
e com isso é praticamente imperceptível a variação nos valores obtidos das leituras dos sensores e
do alicate amperímetro. Resultados apresentados no Gráfico 5.
Gráfico 5 - Medição com carga mista
Fonte: Elaborado pelo autor (2015)
4.2.4 Carga reativa
Sendo a partida de um motor trifásico. Neste quarto teste, os valores obtidos apresentam
uma divergência maior nos resultados no momento da partida do motor, porém os intervalos de
leituras foram de 0,1s que são muito menores que os testes anteriores. Logo após o tempo de
partida do motor, já possível observar que os valores se convergem. Resultados apresentados na
Gráfico 6.
46
Gráfico 6 - Medição com carga reativa
Partida de um motor
Intensidade de Corrente (Ampéres - A)
14
Multimetro - referência
Sensor 1 - grampo
Sensor 2 - grampo
Sensor 3 - grampo
Sensor 4 - fixo
Sensor 5 - fixo
Sensor 6 - fixo
Sensor 7 - fixo
12
10
8
6
4
2
0
0
0.05
0.1
0.15
0.2
0.25
0.3
Tempo (segundos - s)
Fonte: Elaborado pelo autor (2015)
0.35
0.4
0.45
0.5
47
5 CONSIDERAÇÕES FINAIS - CONCLUSÃO
O trabalho desenvolvido obteve sucesso no que se refera à implementação do dispositivo e
testes realizados a partir do medidor de energia, pois conforme os resultados apresentados as
medições estão próximas em comparação ao alicate amperímetro utilizadas como base de leitura.
Porém não é possível afirmar se dados obtidos ao longo de um período maior, um mês por
exemplo, serão compatíveis com o consumo real. No entanto a finalidade deste medidor não é de
se obter o consumo real predial ao longo do mês. A princípio o objetivo é quantificar e determinar
onde está sendo consumida a energia elétrica do prédio através dos sensores ligados aos ramais
de derivação do quadro de distribuição elétrico, e com esses valores encontrar maneiras para
limitar o uso da energia, tornando mais sustentável.
Com relação ao custo, os componentes utilizados não são de valores elevados, porém a
instabilidade do câmbio que vem ocorrendo no país, principalmente nos últimos meses, podem
levar o custo beneficio do aparelho a não ser muito atraente a um consumidor.
Quanto ao processamento dos dados obtidos, foi possível realizar testes de comunicação
do medidor, armazenar os dados em um banco de dados na "nuvem" e acessá-los em um console
remoto via internet, ou seja, utilizando o conceito de "internet das coisa". Porém para tratar estes
dados de uma maneira mais inteligente, depende de mais desenvolvimento de um software
específico.
De maneira geral, verificou-se que o projeto do medidor de energia elétrica utilizando
Arduino, aponta para um cenário de possibilidade real de desenvolvimento, porém estudos
relacionados ao desenvolvimento de software ainda se faz necessário.
5.1 Trabalhos futuros
Devido ao Arduino ser um microcontrolador para prototipagem rápida, há muitos outros
recursos nele embarcado, que não são utilizados completamente. Há muitas portas digitais e até
mesmo analógicas que ficam ociosas, a quantidade de memória é muito grande para a
necessidade da utilização neste projeto, o que significa, que uma produção em escala estaria
desperdiçando dinheiro. Uma das maneiras para baratear o custo, seria utilizar um
microcontrolador com menos recursos e mais barato, mas que atenderia as necessidades proposta
neste trabalho. Além do mais, a utilização de um microcontrolador especifico, poderia ser
48
montado diretamente na placa de circuito impresso que também serviria para o condicionamento
do sinal emitido pelo sensor de corrente.
Outro ponto que necessita de maior desenvolvimento é o software para tratar e gerenciar
os dados do consumo de energia elétrica gerados, pois há muito o que se oferecer para uma
inteligência maior no controle do consumo eficiente.
E para finalizar, uma proposta que pode ser feita, é a utilização do medidor de energia
elétrica junto com aparelhos de automação residencial, o qual consiste em ter atuadores
automatizados para intervir caso o consumo esteja extrapolando algum limite de consumo prédefinido pelo usuário.
49
REFERÊNCIAS BILBLIOGRÁFICAS
ARDUINO. Arduino. Disponivel em: <www.arduino.cc>. Acesso em: 15 ago. 2015.
ATMEL. AVR120: Characterization and Calibration of the ADC on an AVR. Atmel Corporation. San
Jose, p. 15. 2006. (AVR120).
EPE
-
Empresa
de
Pesquisas
Energéticas
-
Disponivel
em:
<http://www.epe.gov.br/mercado/Paginas/Consumonacionaldeenergiael%C3%A9tricaporclasse%
E2%80%931995-2009.aspx>. Acesso em: 8 junho 2015.
GNU GENERAL PUBLIC LICENSE. GNU Operating System. GNU.ORG, 2007. Disponivel em:
<http://www.gnu.org/copyleft/gpl.html>. Acesso em: 10 jul. 2015.
KATS, G. Tornando nosso ambiente construído mais sustentável. [S.l.]: Island Press, 2010. 26 p.
LEA,
T.
Open
energy
monitor.
http:
//openenergymonitor.org/.
Disponivel
em:
Disponivel
em:
<http://openenergymonitor.org/emon/>. Acesso em: 20 mar. 2015.
MCROBERTS, M. Arduino Básico. São Paulo: Novatec, 2011.
ONS
-
Operador
Nacional
do
Sistema
Elétrico
-
<http://www.ons.org.br/historico/geracao_energia.aspx>. Acesso em: 09 jun. 2015.
PROCEL. Avaliação do Mercado de Eficiência Energética no Brasil. Eletrobrás. Rio de Janeiro, p.
17. 2005.
SANTOS, A. H. M.; ET, A. Eficiência Energética. Teoria & Prática. 1ª Edição. ed. Itajubá: Procel,
2007. 2 p.
50
ANEXO A - ARTIGO
Artigo apresentado de forma oral no I CIEEMAT 2015 realizado na cidade de Angra dos
Reis/RJ, no dia 20 de Novembro de 2015.
Measure Electrical Power with
an Arduino Energy Monitor
51
L. G. de Souza, L. F. de Souza, J. M. LemesFilho
Abstract: This paper presents an approach to the
development an equipment to Measure Electrical Power
with an Arduino Energy Monitor, Web services and Cloud
computing. The approach focuses on embedding
intelligence into sensors and actuators using Arduino
platform, facilitating interactions with smart things using
Cloud services and improving data exchange efficiency
using a software called “TipOFF”. Moreover, by
measuring home conditions, monitoring home appliances
(or companies), and controlling home access we will being
capable to verify the possible points of electricity savings in
order to improve energy efficiency.
Key-words: Embedded system, Energy, measuring,
monitoring and Arduino.
I. INTRODUÇÃO
A
necessidade da melhoria do consumo eficiente da
energia elétrica nas residências e comércios do Brasil é
a real motivação para o desenvolvimento deste trabalho.
Segundo o EPE (Empresa de Pesquisa Energética), no ano
2000, apenas nas classes residencial e comercial, o Brasil
consumiu 131.240GWh de energia elétrica. Fazendo uma
comparação com o ano de 2014 este valor subiu para
221.868GWh, desta forma é possível perceber um aumento
em torno de 70% [1]. Em contrapartida, para suprir esse
aumento na demanda por energia elétrica foi necessário
aumentar também a geração, na qual o país não vem se
preparando de modo eficiente, sendo obrigado utilizar da
geração de energia das usinas térmicas convencionais, ou
seja, energia de alto custo e altamente poluente. Segundo o
ONS (Operador Nacional do Sistema Elétrico) [2], órgão
responsável pela coordenação e controle da operação das
instalações de geração e transmissão de energia elétrica no
Sistema Interligado Nacional, no ano 2000 o Brasil gerou
15.030GWh de energia elétrica de origem térmica
convencional. Comparando com o ano de 2014, este valor
saltou para 123.620GWh, sendo um aumento de mais de
820%.
Analisando estes dados, fica claro que não basta
simplesmente aumentar a geração de energia elétrica de
acordo com a demanda necessária da população. É
necessário haver uma maneira mais eficiente de se consumir
essa energia, e um bom começo para isso seria o setor de
consumo residencial e comercial, que atende uma fatia de
44% do total consumido no Brasil [1], gerenciar como está
sendo utilizada
_____________________________________________________________________
_
L. G. de Souza, Faculdade de Americana (FAM), Americana, São Paulo, Brasil,
[email protected].
L. F. de Souza, Intelup, Piracicaba, São Paulo, Brasil, [email protected].
J. M. Lemes Filho, Faculdade de Americana (FAM), Americana, São Paulo, Brasil,
[email protected].
essa energia elétrica, e em posse desses dados detectar os
possíveis pontos de melhorias.
Diversas medidas podem ser tomadas para reduzir esse
crescente aumento no consumo de energia elétrica por parte
do governo e organizações privadas, porém se cada um
contribuir um pouco com ações no dia a dia é possível
tornar o consumo muito mais sustentável.
Edifícios sustentáveis geralmente alcançam
economias de energia, de 20% a 50% por meio de medidas
como a orientação adequada da construção, telhados frios,
paredes e tetos altamente isolados, aproveitamento da luz
natural e uso de sistemas eficientes de iluminação,
aquecimento, resfriamento, aquecimento de água e
ventilação [3].
No entanto fica muito difícil de observar nas contas
de luz, o quanto e como essas boas práticas do dia a dia, ou
até mesmo a substituição de equipamentos elétricos por
outros que consomem energia de maneira mais eficiente, é
efetivo. Poderá até notar uma redução no valor da conta de
luz, mas não saberá o quanto nem onde especificamente foi
reduzido do consumo.
Diversos pesquisadores ao redor do mundo propõe
uma solução de monitoramento do consumo de energia
elétrica a partir de medidores inteligentes [4][5], que
integrado ao conceito de Internet das Coisas [6], facilitam o
gerenciamento do consumo e melhoram a eficiência
energética.
A solução apresentada neste trabalho é a
implementação de um dispositivo para realização da leitura
da corrente elétrica em tempo real em um quadro de
distribuição de energia elétrica utilizando o Arduino, e a
apresentação de como pode ser feito o tratamento dos dados
obtidos do dispositivo.
II. CONSTRUÇÃO DO APARELHO DE MEDIÇÃO
O Arduino é uma plataforma de fácil prototipagem
baseado em "easy-to-use", de código aberto de hardware e
software, o que significa que o código, os esquemas e o
projeto podem ser utilizados livremente por qualquer pessoa
e com qualquer propósito [7].
Neste aparelho foram colocados três sensores de
corrente tipo grampo para medição da entrada geral
trifásica, os quais devem ser instalados diretamente nos
cabos do quadro de distribuição sem a necessidade de
prolongar o cabo para passar pelo sensor, e mais quatro
sensores fixos soldados à placa de circuito impresso, para
leitura dos ramais derivativos da residência, em que há a
necessidade de prolongar os cabos após os disjuntores para
poder passar através dos sensores. Estes três sensores
instalados na entrada são utilizados para medir o consumo
geral do prédio, tendo assim um macro visão do consumo.
Já os quatros sensores instalados na placa, podem ser
utilizados para uma leitura mais específica do consumo,
como por exemplo, um chuveiro, as tomadas da cozinha, ar
condicionado e outros.
Os sensores tipo grampo (SCT013) tem faixa de
leitura de corrente nominal de 0 a 100A e os sensores fixos
52
(ZMCT103C) a faixa de leitura é de 0 a 10A. A escolha para
utilização desses tipos de sensores foi o custo, pois os
sensores SCT013 tem um custo muito elevado e é muito
difícil prolongar os cabos de alimentação geral do quadro de
distribuição devido o diâmetro de seção do cabo, enquanto
os sensores ZMCT103C para medição dos ramais de
distribuição tem um custo de 10% de cada sensor SCT013, e
os cabos de distribuição dos ramais podem ser facilmente
prolongados para passar através dos sensores que estão
soldados na PCB.
C. Montagem da placa de circuito impresso (PCB)
Para a produção da placa de circuito impresso foi
utilizada uma placa de fenolite 9x13cm de camada simples,
a qual foi desenhada as trilhas do circuito, com caneta
retroprojetora e depois corroída com percloreto de ferro
(FeCl3).
Após o processo de corrosão da placa os
componentes foram montados e soldados, conforme pode
ser observado na Fig. 2.
A. Conexão dos sensores de corrente no Arduino
Para conectar um ou mais sensor de corrente em
um Arduino, é necessário que o sinal do sensor seja
condicionado para atender os requisitos das entradas das
portas analógicas, que é uma tensão positiva de 0V e 5V.
Para isso é utilizado um circuito divisor de tensão conforme
pode ser visto na Fig.1.
Figura 2 - Componentes soldados à placa.
Com os componentes soldados na placa, a próxima
etapa foi de fazer a conexão entre a placa de circuito
impresso e o Arduino. Para evitar mau contato entre as
partes, foi dispensado a utilização de conectores do lado do
Arduino, e o cabo flat foi soldado nos pinos inferiores da
placa, enquanto na placa de circuito impresso foi utilizado
terminais de bloco com parafuso.
O aspecto final do medidor montado pode ser
observado na Fig. 3.
Figura 21 - Circuito divisor de tensão.
B. Materiais utilizados
Os componentes utilizados para implantação desse
projeto são de baixo custo, o que viabiliza a produção do
mesmo, obtendo uma margem de custo-benefício muito
atraente aos consumidores. Os materiais são os seguintes:
um Arduino Mega 2560; uma placa de rede Ethernet; três
sensores de corrente SCT013; quatro sensores de corrente
ZMCT103C; dezesseis resistores 470K; oito resistores
variáveis 50R; oito capacitores 10uF; oito terminais de
bloco com parafuso; uma placa de fenolite 09x13cm; uma
caixa de montagem e cinquenta centímetros de cabo flat.
Figura 3 - Aspecto do medidor já montado.
D. Código Fonte
Na Fig.4. é apresentado um exemplo de como pode
ser elaborado o código de fonte para o Arduino calcular a
corrente elétrica lida por um sensor [8]. Notem que é um
53
código relativamente simples, pois a biblioteca utilizada
"emonlib.h" faz todas as tratativas dos sinais obtidos nas
portas configuradas, precisando apenas fornecer alguns
valores de calibração dependendo do sensor utilizado, e
fórmulas básicas para o cálculo da potência.
Figura 5 - Teste duas lâmpadas incandescentes.
B. Carga puramente resistiva
Utilizado duas lâmpadas incandescentes, mais um
ferro de solda. Neste segundo teste, também pode ser
observado que as leituras obtidas nos sensores de corrente
do experimento mantiveram-se dentro da faixa de resolução
do amperímetro utilizado como base de comparação, que
variou entre 1 e 1,1A. Resultados apresentados na Fig. 6.
Figura 4 - Exemplo código fonte para um sensor.
III. TESTES E RESULTADOS
Para realizar testes de leitura dos sensores de
corrente, foram utilizados quatro situações de cargas
diferentes: carga puramente resistiva com duas lâmpadas
incandescentes; carga puramente resistiva com duas
lâmpadas incandescentes mais um ferro de solda; carga
mista com duas lâmpadas incandescentes mais um motor
trifásico de 1cv e carga reativa sendo a partida de um motor
trifásico de 1cv.
O método utilizado para aferição das medições
coletadas do referido projeto, foi de comparação. Para isso
foi utilizado um alicate amperímetro da marca Fluke,
modelo 303, como base de leitura para comparação. Os seis
sensores utilizados no experimento e o alicate amperímetro
foram instalados na mesma fase de alimentação das cargas.
Nas três primeiras situações de cargas citadas, os
dados foram coletados em amostras entre 10s num período
total de 90s. Para a coleta de dados da quarta situação de
carga, partida de motor trifásico, a coleta foi realizada a
cada 0,1s, durante 1s, para ser possível observar o pico de
corrente de partida. A seguir segue gráfico com os dados
obtidos nos testes:
A. Carga puramente resistiva
Para realizar este primeiro teste foi utilizado duas
lâmpadas incandescentes. Todos os sensores do experimento
apresentaram leitura dentro da faixa de resolução do
amperímetro utilizado como base de leitura que é de 0,1A.
Resultados apresentados na Fig. 5.
Figura 6 - Teste com duas lâmpadas incandescentes, mais um ferro de
solda.
C. Carga mista
Utilizado duas lâmpadas incandescentes e um ferro
de solda, mais um motor trifásico. No terceiro teste é
possível observar que a carga aumentou devido à utilização
de um motor trifásico e com isso é praticamente
imperceptível a variação nos valores obtidos das leituras dos
sensores e do alicate amperímetro. Resultados apresentados
na Fig. 7.
Figura 7 - Teste duas lâmpadas incandescentes, mais um motor.
D. Carga reativa
Sendo a partida de um motor trifásico. Neste quarto
teste, os valores obtidos apresentam uma divergência maior
nos resultados no momento da partida do motor, porém os
intervalos de leituras foram de 0,1s que são muito menores
que os testes anteriores. Logo após o tempo de partida do
54
motor, já possível observar que os valores se convergem.
Resultados apresentados na Fig. 8.
Partida de um motor
Intensidade de Corrente (Ampéres - A)
14
Multimetro - referência
Sensor 1 - grampo
Sensor 2 - grampo
Sensor 3 - grampo
Sensor 4 - fixo
Sensor 5 - fixo
Sensor 6 - fixo
Sensor 7 - fixo
12
10
8
6
4
2
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Tempo (segundos - s)
Figura 8 - Teste de partida de um motor trifásico.
IV. O GERENCIAMENTO DOS DADOS OBTIDOS
PELO MEDIDOR
Tendo o aparelho de medição construído é
necessário que os dados obtidos sejam tratados e
apresentados ao usuário. Para esta finalidade uma solução
encontrada foi uma parceria com empresa Intelup, em que o
programa TipOFF, sendo hoje utilizado para identificação
de desvios e ineficiências em processos industriais do setor
sucro energéticos, foi adaptado para o ambiente de
gerenciamento do consumo elétrico predial.
Os dados de consumo obtidos pelo medidor
deverão ser enviados para o roteador de internet através de
uma placa de rede Ethernet, ou placa de rede Wi-Fi
instalada no Arduino, utilizando protocolo TCP-IP. Do
roteador de internet, essas informações seguirão via web
para um servidor virtual instalado nas nuvens através de
protocolo REST e formato jSON. A recepção dos comandos
será realizada por meio de um servidor PHP que ao
receberem os POST RESTs, irão gravar as informações em
um banco de dados temporal, de modo que essas
informações fiquem disponíveis para receberem diversos
tratamentos posteriormente. A visão geral desta estrutura é
apresentada na Fig. 9.
através de rotinas de tratamento próprias do software,
apresentam as seguintes informações:
• Monitoramento em tempo real para detecção de
alertas e desvios de consumos.
• Geração de indicadores que demonstrem resultados
consolidados do período de consumo monitorado.
• Monitoramento e geração de alertas conforme
bandeira tarifaria definida pela ANEEL, podendo
informar aos responsáveis do local onde a
aplicação estiver monitorando, sobre eventuais
excessos de consumos.
• Cálculos de tendências de consumo para períodos
futuros a partir de breves períodos de coleta de
leituras.
Todas estas informações podem ser apresentadas de
maneira gráfica ao usuário, conforme observado na Fig. 10.
Figura 10. Apresentação gráfica dos dados.
V. CONCLUSÃO
Os testes demonstraram que as leituras obtidas a
partir do medidor implementado que foi discutido neste
projeto estão próximas em comparação ao alicate
amperímetro utilizadas como base de leitura. Porém não é
possível afirmar se dados obtidos ao longo de um período
maior, um mês, por exemplo, serão compatíveis com o
consumo real. No entanto a finalidade deste medidor não é
de se obter o consumo real predial ao longo do mês. A
princípio o objetivo é quantificar e determinar onde está
sendo consumida a energia elétrica do prédio através dos
sensores ligados aos ramais de derivação do quadro de
distribuição elétrico, e com esses valores encontrar maneiras
para limitar o uso da energia, tornando mais sustentável.
AGRADECIMIENTOS
Os autores gostariam de agradecer a FAM (Faculdade de
Americana) por patrocinar este trabalho, fornecendo os
componentes utilizados para construção do equipamento
assim como permitir a utilização da infraestrutura da
instituição.
Figura 9. Visão geral da estrutura de comunicação e gerenciamento do
medidor.
Dentro do software TipOFF, os dados podem
receber diversos tratamentos conforme a necessidade da
aplicação onde o presente trabalho for implementado, e
55
REFERÊNCIAS
[1] EPE – Empresa de Pesquisa Energética, “Consumo anual de energia
elétrica por classe (nacional) – 1995-2014” [on line], disponível em:
http://www.epe.gov.br/mercado/Paginas/Consumonacionaldeenergia
el%C3%A9tricaporclasse%E2%80%931995-2009.aspx, acesso em 8
de junho de 2015.
[2] ONS – Operador Nacional de Sistema Elétrico, “Histórico de Operação
– Geração de Energia” [on line], disponível em :
http://www.ons.org.br/historico/geracao_energia.aspx, acesso em 09
de junho de 2015.
[3] G. Kats, “Tornando nosso ambiente construído mais sustentável”,
Island Press, 2010, p.26.
[4] K. Baraka, et al. “Low cost Arduino / Android-based Energy-Efficiente
Home Automation System with Smart Task Scheduling”, Fifth
International
Conference
on
Computational
Intelligence,
Communication Systems and Networks, 5-7 June 2013, p. 296-301.
[5] T. Tariq, “Smart energy management in a smart environment using a
mobile device”, Computer & Information Technology (GSCIT), 1416 June 2014.
[6] M. Soliman, et al. “Smart Home: Integrating Internet of Things with.”
IEEE International Conference on Cloud Computing Technology
and Science, 2013.
[7] Forum Arduino – General Electronics [on line], disponível em:
forum.arduino.cc, acessado em 15 de 08 de 2015.
[8] Hudson, Glyn. Open energy monitor [online], disponível em:
http://openenergymonitor.org/emon/, acessado em 20 de março de
2015.
Luis Gustavo de Souza, é estudante do curso de
Engenharia
Elétrica da Faculdade de America (FAM),
concluindo a graduação no ano 2015. É formado técnico
em eletrotécnica pela Escola Técnica Estadual de São
Paulo (ETEC) na cidade de Piracicaba desde 1999.
Trabalha atualmente como técnico de Sistemas para
empresa Sicpa Brasil Indústria de Tintas e Sistema, no projeto Sicobe, que
permite à Receita Federal do Brasil controlar, em tempo real, todo o
processo produtivo de bebidas no país.
Luis Fernando de Souza, é bacharel em Sistemas de
Informação pela Universidade Metodista de Piracicaba
(Unimep) desde 2005. Possui pós graduação em Produção
Indústrial Sucro Energética pela Universidade Federal de
São Carlos (UFSCAR). É sócio proprietário da empresa
Intelup, desenvolvedora de sistema para identificar
ineficiências em tempo real nas operações de produção em indústrias de
bioenergia.
José Matias Lemes Filho, recebeu o título de mestre em
Engenharia Elétrica e de Computação em 2009 pela
Universidade Estadual de Campinas (UNICAMP). Possui
título de graduação em Engenheiro de Computação pela
Pontifícia Universidade Católica de Goiás (PUCGoiás)
desde 2005. Ele foi revisor de periódicos científicos e
revistas. Seus interesses de pesquisa incluem Sistemas Embarcados
(Arduíno, FPGAs e DSPs), Robótica e Sistemas Telecomunicação (WiFi,
LTE e WiMAX). Atualmente, é professor e orientador de Trabalhos de
Final de Curso de Engenharia Elétrica na Faculdade de Americana (FAM).
Curriculum Lattes: http://lattes.cnpq.br/9222107367135093.
56
ANEXO B - CÓDIGO FONTE
Em anexo o código fonte instalado no Arduino para conexão com a internet.
57
#include <SPI.h>
#include <Ethernet.h>
#include <RestClient.h>
#include <EmonLib.h>
//#include <ArduinoJson.h>
EnergyMonitor ct1, ct2, ct3, ct4;
//Endereco MAC
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
//Preencher com o IP da rede
IPAddress ip(192,168,0,105);
//Inicializa o client
EthernetClient client;
//Preencher com o IP do servidor REST
char server[] = "192.168.0.4";
//Define intervalos do POST
unsigned long lastConnectionTime = 0;
boolean lastConnected = false;
const unsigned long postingInterval = 2000;
void setup() {
Serial.begin(9600);
//Inicia conexão Ethernet
if (Ethernet.begin(mac) == 0) {
Serial.println("Falha na tentativa de configurar via DHCP");
//Falha no DHCP, usa IP fixo
Ethernet.begin(mac, ip);
}
Serial.begin(9600);
ct1.current(15, 111.11);
// Current: input pin, calibration.
ct2.current(13, 111.11);
// Precisa ficar em portas distantes para não
ct3.current(11, 111.11);
// ocorrer erros na leituras
58
ct4.current(7, 53);
// Calibracao para sensor ZMCT
}
void loop() {
//Exibe na serial se tiver algum dado vindo do servidor
if (client.available()) {
char c = client.read();
Serial.print(c);
}
//Se não tem conexãoo, mas houve ao longo do Loop, para o client
if (!client.connected() && lastConnected) {
Serial.println();
Serial.println("Desconectando.");
client.stop();
}
//Se não está conectado, e 10s se passaram desde a ultima conexãoo, conecta novamente e envia dados
if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
//reading = analogRead(lm35Pin);
//temperature = (5 * reading * 100) / 1024;
//sendData(temperature);
double Irms1 = ct1.calcIrms(1024) - 0.0; // CALCULA A CORRENTE Serial.print ("Corrente: ")
double Irms2 = ct2.calcIrms(1024) - 0.0; // Após finalizar o circuito difinitivo
double Irms3 = ct3.calcIrms(1024) - 0.0; // precisa calibrar a diferenca de corrente -0.5
double Irms4 = ct4.calcIrms(1024) - 0.0;
sendData(Irms1, Irms2, Irms3, Irms4);
}
// store the state of the connection for next time through
// the loop:
lastConnected = client.connected();
}
void sendData(double thisData1, double thisData2, double thisData3, double thisData4) {
//String JsonData = "{\"int_valor\" \"";
//JsonData = JsonData + thisData;
//JsonData = JsonData + "\"}";
String TAG1 = "TAG_1";
String TAG2 = "TAG_2";
String TAG3 = "TAG_3";
59
String TAG4 = "TAG_4";
String JsonData = "{\"TAG_1\":";
JsonData = JsonData + "\"" + TAG1 + "\"" + "," + "\"INT_VALOR_1\":\"" + thisData1 + "\"" + ",";
JsonData = JsonData + "\"TAG_2\":";
JsonData = JsonData + "\"" + TAG2 + "\"" + "," + "\"INT_VALOR_2\":\"" + thisData2 + "\"" + ",";
JsonData = JsonData + "\"TAG_3\":";
JsonData = JsonData + "\"" + TAG3 + "\"" + "," + "\"INT_VALOR_3\":\"" + thisData3 + "\"" + ",";
JsonData = JsonData + "\"TAG_4\":";
JsonData = JsonData + "\"" + TAG4 + "\"" + "," + "\"INT_VALOR_4\":\"" + thisData4;
JsonData = JsonData + "\"}";
if (client.connect(server, 1234)) {//alterar a porta se necessário
Serial.println("connecting...");
client.println("POST /SlimTipOFF/TipOFF1 HTTP/1.1"); //informar recurso API REST
client.println("Host: 192.168.0.4"); //informar Host API REST
client.println("Accept: application/json");
client.println("User-Agent: Arduino-Carriots");
client.println("Content-Type: application/json;charset=utf-8");
client.println("Content-Length: " + String(JsonData.length()));
client.println("Connection: close");
client.println();
client.println(JsonData);
Serial.println(JsonData);
}
else {
//Se não conseguiu se conectar
Serial.println("Conexão Falhou.");
Serial.println();
Serial.println("Desconectando.");
client.stop();
}
//Grava o tempo que a conexão foi tentada/realizada
lastConnectionTime = millis();
}
Download