Sistema de Monitoramento de Energia Pró-ativo (SMEP)

Participantes:

Gustavo Vargas da Silva
Matheus Muller Borges
Raul da Silva Espíndola

Resumo do projeto:

Sistema de monitoramento inteligente de energia para ambientes de pequeno e médio porte.

Descrição do projeto:

O Sistema de Monitoramento de Energia Pró-ativo (SMEP) é um smart meter que visa a conscientização do usuário quanto ao consumo de energia elétrica para  aplicações de pequeno e médio porte, permitindo o acompanhamento do consumo em tempo real bem como a consulta e visualização de históricos e tendências de consumo.

O SMEP efetuará a medição de energia elétrica consumida em um ambiente comercial ou residencial através da medida de corrente e tensão elétrica. Tal medida será feita por um sensor não-invasivo instalado no quadro de distribuição de energia elétrica juntamente com o módulo sensor.

O sistema é composto por módulos sensores e um módulo mestre que atua como um gateway conectado à internet via Wi-Fi. Os módulos sensores efetuam a medição dos dados e calculam a potência instantânea dada em Watts (W) e a potência consumida em um determinado período de tempo dada em Quilowatts-hora (kWh) e enviam esta última informação através de uma rede Wi-Fi operando a 2.4GHz para o gateway, responsável por armazená-los temporariamente e enviá-los ao provedor de serviço na nuvem.

O provedor de serviço na nuvem realiza o processamento de dados utilizando conceitos de BigData. Os dados coletados do usuário em conjunto com as informações fornecidas pelas operadoras de energia elétrica será possível manter o usuário informado em relação as condições tarifárias (bandeiras) do país, que variam o custo do kWh de acordo com o regime de chuvas e condições climáticas. Isso acontece devido ao fato de a matriz energética brasileira ser predominantemente hídrica, quando há um grande período de seca e consequentemente a diminuição dos níveis dos reservatórios da usinas hidrelétricas é
necessário ativar mais usinas térmicas que possuem um custo de operação muito maior, causando assim um aumento nas tarifas cobradas ao consumidor.

O usuário poderá ser notificado sobre dicas e detecção de padrões de consumo incomuns através de um aplicativo instalado em seu smartphone.

Com os dados de consumo de determinado período o SMEP poderia, por exemplo, comunicar outros dispositivos IoT solicitando a redução de consumo para atingir uma determinada meta.

Histórico do desenvolvimento:

Fase 1

  • Iniciação do Projeto SMEP
  • Recebimento da placa LPCXpresso 4337 e Display Shield para as Placas LPCXpresso

30-08

 


 

Fase 2

  • Elaboração do Circuito Impresso no software Proteus
  • Placa 1 (Módulo e Gateway) – Recebe corrente alternada proveniente de um trafo onde é aplicado uma ponte de diodo com a função de transformar essa tensão para corrente contínua, onde também é aplicado um DC-DC nivelando em 5V;

placa-1-modulo

  • Placa 2 (Módulo e Gateway) –  Recebe sinal da Bobina de Rogowski (sensor de corrente), amplifica-o e passa por um filtro passa-baixa para eliminar ruídos acima de 100Hz;

placa-2-gateway

  • Placa 3 (Módulo e Gateway) – Recebe 5V e envia 3,3V para alimentar o ESP8266;

placa-3

Alimentação do circuito

Para alimentarmos todo o circuito, criamos um circuito capaz de converter tensões AC, para DC, e de DC para DC. Como vemos no esquemático abaixo, utilizamos uma ponte de diodo para retificarmos o sinal AC, e conseguirmos extrair o sinal DC, após isso aplicamos um regulador de tensão para que extraíssemos as tensões necessárias para termos todo o projeto corretamente alimentado. No circuito da fonte, temos também a função de retirar um sinal de tensão, que é enviado diretamente para a placa de desenvolvimento, com o objetivo de conseguirmos ler a tensão, para ser possível calcular a potência de forma precisa e confiável, pois sabemos que a rede elétrica Brasileira sofre de oscilações nas tensões, tendo assim uma mudança nos resultados.


imagem-4 imagem-5

 

Circuito de amplificação de sinal

O circuito de captação de sinal de corrente é simples e funcional, tendo a função de filtrar e organizar o sinal. Em primeira etapa, o sinal proveniente do sensor, sendo ele um sinal senoidal de amplitude 1v, com centro em 0v, passa por um filtro passa baixa de primeira ordem (queda de 6dB/8ª), representado pelos resistores R4, R8 e pelo capacitor C1, esse filtro tem a função de eliminar ruídos de alta frequência, por isso foi aplicado um corte de primeira ordem em aproximadamente 130Hz, sendo assim já o necessário para eliminar ruídos acima de 1kHz que em testes anteriores, atrapalhavam na leitura do sinal.

Após a passagem pelo filtro, o sinal vai direto para um AmpOp (amplificador operacional), que foi ajustado para que a placa de desenvolvimento recebesse o sinal dentro de suas especificações, no caso precisamos enviar um sinal que vá desde 0v até 3,3v, e como foi mencionado anteriormente, o sensor gera tensões correspondentes à corrente em ordem de -1v a 1v. Com isso o objetivo foi deslocar o centro dessa onda para a metade de 3,3v, ou seja, centralizamos o offset em 1,65v, com isso tínhamos uma onda que poderia ir desde 0,65v até 2,65v. Porém a placa é capaz de receber mais que um pico a pico de 2v, ela é capaz de receber um pico a pico de 3,3v, tendo isso aplicamos um multiplicador de 1,65v em cima dessa onda, assim conseguimos usar todo o range oferecido pela placa de desenvolvimento, tendo então uma leitura mais correta e precisa do sinal.

imagem-1

 


Fase 3

  • Impressão das Placas de Circuito Impresso
  • Impressão Placa 1

fonte-2

fonte

  • Impressão Placa 2

corrente-2

corrente


Fase 4

  • Desenvolvimento na LPCXpresso 11U68 e LPCXpresso 4337
  • Testes com as boards: Timer e UART
  • Testes com as boards  separadamente testando as libraries de cada uma

Fase 5

  • Aplicativo Android
  • Ter o mesmo acesso e versatilidade da página web no smartphone, SMEP em suas mãos

app-capa

  • Descoberta de redes Wi-Fi locais para a execução da primeira configuração do gateway

app-awareness-wifi


Fase 6

  • Página web (protótipo)
  • Hodômetro: mede o consumo em reais (R$), medindo em “real time” os gastos do ambiente;
  • Gráficos: podem ser visualizados em consumo diário, semanal, mensal e anual mostrando detalhadamente os gastos;
  • Home (início): tela inicial onde se situam os gráficos mensais e anuais, e dos hodômetros dos ambientes nos quais os módulos foram instalados;
  • Relatórios: números mais detalhados dos gastos gerais do ambiente aferidos pelo SMEP;
  • Metas: o usuário pode colocar metas de uso elétrico diário, semanal, mensal ou anual e quando bater essa meta ou quando der a deadline, será avisado se extrapolou ou se conteve dentro da meta;
  • Configurações: alterações de login e senha para os usuários que acessam o app ou a página web para visualização do SMEP.

hodometro

  • Servidor (Nodejs, Express): provedor da página web
  • Banco de dados (MongoDB): armazenamento dos dados adquiridos pelos sensores.

Fase 7

  • Testes de aquisição de dados filtrados feitos pela Bobina de Rogowski (sensor de corrente) passando pela placa de circuito impresso para o conversor AD das boards LPCXpresso 11U68 (módulo) e LPCXpresso 4337 (gateway)

450xn

  • Testes do circuito 1 na protoboard com o osciloscópio

osc1

teste1

teste2

  • Lâmpadas usadas para teste de medição da corrente

lampadas

 

Teste prático para simulação de funcionamento do circuito

Antes de tirarmos do papel, simulamos todo o circuito para que tivéssemos a certeza do funcionamento, com isso podemos ver na imagem abaixo o correto funcionamento do projeto. No lado esquerdo, temos a simulação de um sinal de onda senoidal de 60Hz, com amplitude de 1v e offset em 0v, exatamente igual ao valor máximo gerado pelo sensor, onde os valores deste variam em amplitude de 0v a 1v em ondas senoidais de 60Hz, dependendo da corrente que está sendo lido . Já no lado direito, temos o sinal já tratado, sendo deslocado o offset para 1,65v, e aplicado uma multiplicação de 1,65x, assim extraímos um sinal de 0v até 3,3v em onda senoidal de 60Hz, que é exatamente o que a placa de desenvolvimento é capaz de receber.

imagem-6

Na imagem 2, temos um gerador de funções simulando sinais do sensor, com isso aplicamos logo a tensão máxima que o sensor gera, a fim de analisar e ver se a plaquinha corretora de sinal está funcionando corretamente.

gerfunc1

Já na imagem 3, vemos o osciloscópio lendo a saída de sinal da placa corretora de sinal, ou seja, a saída com o sinal já corrigido. Teoricamente teríamos de 0v a 3,3v, porém como não usamos componentes de precisão, principalmente os resistores, que foram usados os padrões com 5% de precisão, não chegamos aos valores teóricos, mas chegamos sim muito próximo, confirmando que está tudo funcionando, e que quando aplicarmos os componentes corretos, que seriam os resistores de precisão de 1%, então teremos um valor próximo ao objetivo.

 

filtragem-do-sinal-2


Principais desafios técnicos do projeto

Dificuldades enfrentadas na primeira fase do projeto

  • Placas de desenvolvimento (Boards LPCXpresso): Foram encontradas dificuldades em iniciar e entender o ecossistema necessário para o desenvolvimento utilizando a LPCXpresso4337. Devido a sua complexidade e por aparentar ser um board novo e não muito difundido, foi difícil de encontrar tutoriais e guias que proporcionassem um “getting started” satisfatório. O site da NXP demonstrou-se confuso e pouco “user-friendly” para encontrar as informações. Os datasheets e manuais estão espalhados em diversas páginas e é necessário ir garimpando essas informações.
  • Ambiente de desenvolvimento (IDEs): A primeira questão levantada foi entre usar a IDE LPCXpresso e a IDE online mBed. A mBed proporciona um nível de abstração mais alto e consequentemente mais fácil de utilizar (mais próximo da programação Arduíno), no entanto possui suas limitações. Por exemplo, para essa placa não foi possível encontrar exemplos que demonstrem a utilização dos dois dual-cores (M4 e M0). Diante disso e da limitação de sempre exigir conexão com internet, foi escolhido o desenvolvimento utilizando LPCXpresso.
  • Dificuldades com utilização da LPCXpresso:
  1. Escolha da IDE;
  2. Como fazer a programação do firmware utilizando LPCScrypt;
  3. Diferenças entre Link2 e J-Tag;
  4. Uso da UART com a porta COM para testes;
  5. Escolha do middleware (libs).
  • Bibliotecas (Libraries): A próxima dificuldade foi em entender as bibliotecas que já acompanham a IDE para o desenvolvimento utilizando ARM. Após algumas pesquisas chegamos ao middleware (lib) LPCOpen com um conjunto de exemplos. Contudo encontramos problemas para realizar o debug da placa. Levou um certo tempo para entender e aprender a diferença entre o uso dos firmware CMSIS-Link2 e J-Tag. Após certo esforço e testes foi possível entender melhor o funcionamento desses. Além disso, as duas boards utilizam libraries diferentes, tendo que compilar o programa para cada uma separadamente.
  • Hardware: Já em relação ao hardware, encontramos certa dificuldade em adquirir os componentes NXP especificados na etapa anterior, principalmente o rádio 433 MHz. Ao conversar com nossos professores, fomos orientados a utilizar o ESP8266/WiFi no lugar do rádio 433 MHz, devido a problemas de sincronização, transmissão e confiabilidade encontrada nos rádios 433 MHz comerciais.

Dificuldades na segunda parte do projeto

  • Integração hardware/software: 
  1. O desenvolvimento do servidor na nuvem utilizando técnicas de Big Data representou um desafio para o desenvolvimento do projeto;
  2. A integração dos vários módulos de forma funcional sem interferência entre um e outro;
  3. Desenvolvimento de uma interface amigável para os usuários dada as restrições de tempo;
  4. Utilização e teste de um protocolo IoT para se comunicar com demais dispositivos de forma segura.

Aprendizado em geral

Foi necessário aprender vários conceitos, ferramentas e frameworks para o início do desenvolvimento do projeto. Todo o ecossistema ARM/NXP levou certo tempo para entender como funciona o debugger, firmware de debugger, probes. Bibliotecas como LPCOpen e diferenças entre Redlib/Newlib, além das variações de Semihosting, nohost.

No desenvolvimento do aplicativo móvel optamos por utilizar a plataforma NativeScript, consequentemente estamos aprendendo vários conceitos sobre JavaScript, TypeScript e principalmente sobre o funcionamento do framework Angular2. Em suma o que a equipe aprendeu foi:

  • Como utilizar a board LPCXpresso 4337;
  • Como utilizar a board LPCXpresso 11u68;
  • Análise do esquemático das boards e sua “pinagem”;
  • Funcionamento e peculiaridades do ARM;
  • Utilização de um controlador dual core (m4 e m0);
  • Comunicação e utilização do ESP8266 (Wi-Fi);
  • Bibliotecas Redlib/Newlib e Semihosting/nohost;
  • Utilização de softwares profissionais para elaboração do circuito impresso (Proteus, Altium);
  • Protocolos IoT (MQTT, CoAP);
  • Diferenças entre licenças de código, code licenses (Creative commons, GNU GPL, Apache, MIT);
  • Plataforma NativeScript;
  • Framework Angular2;
  • Metodologia ágil (scrum, kanban, ISO).

Upgrades no SMEP

Principais upgrades futuros no projeto:

  • Comunicação entre mais módulos: integração entre um ou mais módulos para aquisição de dados e abranger mais partes do ambiente no qual foi instalado, aumentando o porte e o impacto do projeto na sua inovação;
  • Protocolo IoT: para ter-se uma rede mais segura contra invasores, um padrão geral de largura de banda, além de uma rede gerenciada por um protocolo energeticamente ainda mais eficiente;
  • Desativação a distância: quando o usuário esquecer um eletrodoméstico ou eletrônico ligado e queira desligar a distância, poderá fazer isso diretamente acessando pelo app do SMEP, desativando o módulo em questão. E se não tiver certeza se realmente deixou ligado, pode ver pelo gasto elétrico naquele módulo;
  • Ativação a distância: se o usuário quiser ligar algum aparelho a distância, poderá fazer isso diretamente acessando a página web ou o APP do SMEP;
  • Detecção de uso e tendências (padrões de consumo): tendo dados com uma parcela tempo mais abrangente (Big Data), tem-se mais dados dos gastos, e com isso poderá ver se algum aparelho está gastando mais com o decorrer do seu uso, qual época do ano que você gasta mais e qual aparelho gasta mais. Por exemplo: no inverno gasta-se mais energia com o chuveiro, pois normalmente usa-se em temperaturas mais altas, já no verão não, porém no verão tem o gasto maior com ar condicionado. Assim, o usuário poderá detectar onde ou em qual módulo o gasto está acentuado, e, com isso, analisar o padrão de consumo do usuário num contexto geral.
  • Metas de consumo: o usuário determina as metas de consumo (na página web ou app SMEP) em reais (R$) ou potência (kWh) que deverão chegar os seus gastos;
  • Dicas de consumo: para melhor uso de energia do ambiente, gerando conscientização, tendo em vista que as dicas para os ambientes serão diferentes, justamente em relação ao porte de cada um (pequeno, médio ou grande) e o tipo (casa, indústria, comércio). Por exemplo: uma casa que quatro pessoas moram, não gasta energia elétrica do mesmo modo que uma empresa de 500 pessoas gasta, além de que no ambiente caseiro, e vice-versa, os aparelhos usados são diferentes dos usados no outro;
  • Alertas de uso: com a aferição de dados após um período de uso do SMEP formando o Big Data, se o módulo acusar um gasto maior de uma tomada utilizando o mesmo equipamento, o SMEP se prontificará de alertar o usuário sobre o ocorrido, com um valor em porcentagem (%) indicando o quão fora da média o aparelho está. Por exemplo: um ar condicionado gasta 500 watts/hora e após 6 meses começa a gastar 700 watts/hora, o SMEP notificará o usuário, sugerindo a troca do aparelho ou o conserto do mesmo;
  • Detecção de fraude: com as informações armazenadas no banco de dados, o SMEP faz uma média das amostras a cada 30 minutos de consumo, descartando as medições discrepantes. Os valores médios das últimas 24 horas, o equivalente a 48 valores médios, são injetados numa rede neural (Inteligência Artificial), responsável por prever o próximo valor médio. Analisando os dados previstos e os dados medidos é possível obter um indicador se houve fraude ou são valores de consumo normais.

Impacto social: por que no futuro o SMEP será tão importante?

O SMEP será, além de tudo, um conscientizador de uso de energia elétrica em qualquer ambiente no qual for incorporado, seja de pequeno, médio ou grande porte, ambiente caseiro, empresarial, comercial e/ou industrial. Não só ajudará e notificará os usuários sobre seus gastos, como também criará metas de uso, criando relatórios, gráficos de fácil visualização,  alertas e dicas de uso e notificações de conserto dos equipamentos do ambiente. Além disso, poderá desativar e ativar equipamentos a distância em 2 cliques. Lembrando que o SMEP é um produto não-invasivo, ou seja, no ato da instalação, não é preciso quaisquer mudanças na fiação do local, sendo instalado nas tomadas (módulos) e quadro de energia (gateway) e, também, pró-ativo, não precisando de nenhum usuário para realizar seus serviços.

O SMEP não só diminuirá a conta de luz, como trará um grande benefício ambiental. A cada ambiente que tiver instalado o produto, os gastos de energia elétrica diminuirão por volta de 25% durante um ano.

A integração de vários módulos faz o SMEP ter a incumbência de poder ser instalado em qualquer local com energia elétrica. Dependendo do porte e tipo do local, o SMEP já estará pré-setado com os ajustes precisos em relação as dicas e alertas, que serão diferentes para cada local, e serão os seguintes:

  • a integração entre os módulos instalando repetidores de sinal se os módulos estiverem distantes um do outro, no caso de locais de grande porte;
  • modificação no protocolo pela quantidade de módulos;
  • modificação no banco de dados para aquisição de dados na nuvem.

O aplicativo mobile SMEP permitirá que o usuário tenha todo esse mecanismo em suas mãos e faça suas alterações como desejar. Desde o usuário mais avançado ao mais comum, todos poderão utilizar o aplicativo em sua totalidade sem problemas nem dificuldades.

Ainda, o SMEP, no decorrer do tempo, continuará se adequando ao mercado analisando os anseios dos clientes e possíveis novos clientes, conectando e automatizando cada vez mais os equipamentos, aparelhos e processos dos ambientes realizando novas atuações e serviços implementando a Internet das Coisas (IoT), facilitando a vida de quem usa-os.

Vídeo da aplicação

Agradecimentos

Para nossos professores orientadores Gustavo Medeiros de Araújo e Marcelo Berejuck e para nosso parceiro Allan Farias Fávaro, que continuará conosco nessa caminhada. Obrigado pela ajuda imensurável e, especialmente, por fazerem parte do Grupo SMEP!

Hardware:

Descrição detalhada do MÓDULO:

  • Transformador AC/AC: transforma a tensão de entrada de 110/220V AC para 6V AC.
  • Ponte retificadora: faz a tranformação AC/DC da tensão de alimentação vinda do transformador.
  • Conversor DC/DC: converte a tensão 6V DC fornecida pela ponte retificadora em 3,3V DC para alimentação do circuito como um todo.
  • Bobina de Rogowski: sensor de corrente não-invasivo. Através do campo magnético magnético induzido pela corrente o sensor gera uma tensão de saída diretamente proporcional ao valor da corrente.
  • Filtros: filtro passa-baixa ativos e passivos para eliminar ruídos de alta frequência do sinal vindo do sensor.
  • NXP Development Board: kit de desenvolvimento NXP responsável por fazer a leitura dos dados e transmití-los ao gateway. Será usada a Board LPCXpresso 11U68.
  • ESP8266: módulo Wi-Fi responsável por enviar os dados sem fio ao gateway.


modulo

 

Descrição detalhada do GATEWAY:

  • Transformador AC/AC: transforma a tensão de entrada de 110/220 V AC para 6V AC.
  • Ponte retificadora: faz a tranformação AC/DC da tensão de alimentação vinda do transformador.
  • Conversor DC/DC: converte a tensão 6V DC fornecida pela ponte retificadora em 3,3V DC para alimentação do circuito como um todo.
  • Bobina de Rogowski: sensor de corrente não-invasivo;
  • ESP8266: módulo Wi-Fi responsável por receber os dados sem fio enviados pelos módulos.
  • NXP Development Board: kit de desenvolvimento NXP responsável por receber os dados e transmití-los ao servidor via Wi-Fi. Será usada a Board LPCXpresso 4337.
  • Wi-Fi: módulo Wi-Fi responsável por envias as informações para o servidor.

 

gateway

Descrição Geral do SISTEMA:

  • Módulos: fazem a leitura da corrente consumida e da tensão e envia as informações sem fio para o Gateway através do módulo Wi-Fi operando a 2.4 GHz.
  • Gateway: recebe as informações enviadas pelos módulos e as envia por Wi-Fi ao servidor na Nuvem.
  • Servidor: recebe todos os dados enviados pelo gateway, realiza o processamento destes dados utilizando conceitos de Big Data, gerando o histórico de consumo e podendo enviar notificações para o usuário sobre consumo excessivo.

sistema

Fluxograma geral do projeto:

11319593-1

Software/Firmware:

Gateway

Desenvolvimento Módulo e Gateway (LPCXpresso e LPCOpen)
Repositório: GitHub Gateway

  • Exemplo 1 – Comunicação com o ESP8266, enviando comando para listar WiFi disponíveis

uart

 

Servidor/WebApp

Desenvolvimento do servidor/WebApp utilizando expressjs/angular.
Repositório: GitHub Server

whatsapp-image-2016-10-23-at-11-02-18-pm

Mobile

Desenvolvimento App Mobile (Utilizando NativeScript e Angular2)
Repositório: GitHub Mobile

 

  • Exemplo 1 – Pesquisando redes Wi-Fi próximas para configuração da primeira inicialização

mobile

Referências:

SEDRA, Adel S.; SMITH, Kenneth C.. Microeletronic Circuits. 5. ed. New York: Oxford University Press, 2004.

 

HIGASHI, Eduardo Massahiko. MODELAGEM DA BOBINA DE ROGOWSKI PARA MEDIDAS DE PULSOS DE CORRENTE ELÉTRICA. 2006. 82 f. Dissertação (Mestrado) – Curso de Engenharia e Ciência de Materiais, Universidade Federal do Paraná, Curitiba, 2006.