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(); }