�
��
�����������������
�������������
�
UNIVERSIDADE DE PERNAMBUCO
ESCOLA POLITÉCNICA DE PERNAMBUCO
PROJETO DE FINAL DE CURSO
MEDIÇÃO DO CONSUMO DE ENERGIA
ELÉTRICA COM ARDUÍNO E ENVIO VIA GPRS
TRABALHO DE CONCLUSÃO DE CURSO
ENGENHARIA ELETRÔNICA
Deivid Paulo Miguel Orientador: Marcílio André Félix Feitosa, Dr
© Deivid Miguel, 2014
�
��
�����������������
�������������
�
UNIVERSIDADE DE PERNAMBUCO
ESCOLA POLITÉCNICA DE PERNAMBUCO
PROJETO DE FINAL DE CURSO
MEDIÇÃO DO CONSUMO DE ENERGIA
ELÉTRICA COM ARDUÍNO E ENVIO VIA GPRS
por
DEIVID PAULO MIGUEL
Monografia apresentada como requisito parcial para obtenção do diploma de Bacharel em Engenharia Eletrônica pela Escola Politécnica de Pernambuco –
Universidade de Pernambuco
ORIENTADOR: MARCÍLIO ANDRÉ FÉLIX FEITOSA, Doutor
Recife, junho de 2014.
© Deivid Paulo Miguel, 2014.
�
����
�����������������
�������������
�
Aos meus pais José Luiz e Amara Maria,
pois sem eles não estaria aqui, e também
à minha esposa Ana Paula que me deu
bastante força e incentivo para poder
concluir está fase da minha história.
�
���
�����������������
�������������
�
Agradecimentos
Ao Prof. Dr. Marcílio André Félix Feitosa pela orientação nesta
monografia, sempre apresentando comentários e observações a respeito do
trabalho e pela oportunidade concedida em me dar o privilégio de sua
orientação.
À minha esposa Ana Paula por ter ficado acordada por varias noites até
mais tarde por inúmeras vezes, aguentando meu mau humor quando estava
preocupado com o trabalho e me dando força para poder terminar minha
monografia.
Ao meu grande amigo Kayro Pereira que me ajudou no início do projeto
explicando o funcionamento do Arduino.
Ao companheiro de trabalho da instituição de ensino Graciano que
forneceu o módulo GSM/GPRS/GPS para poder efetuar os testes do meu
projeto.
�
����
�����������������
�������������
�
Resumo da monografia apresentada a UPE como parte dos requisitos
necessários para a obtenção do grau de Bacharel em Engenharia Elétrica
Eletrônica.
MEDIÇÃO DO CONSUMO DE ENERGIA ELÉTRICA COM
ARDUÍNO E ENVIO VIA GPRS
Deivid Paulo Miguel
Junho/2014
�
Orientador: Marcílio André Félix Feitosa, Doutor.
Área de Concentração: Sistemas embarcados.
Palavras-chave: Energia Elétrica, Consumo, Arduino UNO, Sensor de Efeito
Hall, GSM, SMS e Shield.
Número de Páginas: 54.�
RESUMO: Nos dias atuais o ser humano está muito ocupado com suas
atividades diárias, com isso certos detalhes como o consumo de água, energia
elétrica e outros bens necessários para o conforto do ser humano passam
despercebidos. Devido ao racionamento de energia elétrica em algumas
cidades, despertou na sociedade o interesse de conhecer o seu consumo e ter
um maior controle. Como a energia elétrica é um bem indispensável para a
humanidade, estando presente em quase todos os lugares, e para ser gerada
até ser consumida, apresenta vários impactos ambientais, desde a construção
das usinas geradoras até as linhas de transmissão e distribuição.
No Brasil, o preço do kWh é um dos mais caros do mundo, isto
representa um valor muito alto no orçamento do final do mês. Para solucionar
este problema, foi desenvolvido um protótipo utilizando um Arduino Uno onde
está armazenado o código fonte, o mesmo receberá a informação da corrente
elétrica por um sensor de efeito Hall, que é responsável por medir a corrente
através do campo magnético gerado por ela, após receber essa informação o
Arduino irá processar a informação e enviará a mesma via uma rede GSM,
utilizando o serviço de SMS, através de um Shield GSM/GPRS/GPS.
�
�����
�����������������
�������������
�
Sumário
Capítulo 1: Introdução ......................................................................... 1�
1.1� Justificativa ................................................................................................... 2�
1.2� Objetivo Geral ............................................................................................... 2�
1.3� Objetivo Específico ...................................................................................... 3�
1.4� Motivação ...................................................................................................... 3�
Capítulo 2: Revisão Bibliográfica ....................................................... 4�
2.1� A Importância do Sistema de Medição ...................................................... 4�
2.1.1�Cálculo do consumo de energia ................................................................. 5�
2.2� Medidores de Energia.................................................................................. 6�
2.2.1�Medidores de Energia Eletromecânicos .................................................... 6�
2.2.2�Medidor de Energia Eletrônico .................................................................... 8�
2.3� Arduino .......................................................................................................... 9�
2.4� A Linguagem de Programação ................................................................. 11�
2.4.1�Conceitos e Sintaxe da Linguagem de Programação ............................ 12�
2.5� Efeito Hall .................................................................................................... 12�
2.6� Tecnologia GSM ........................................................................................ 13�
2.6.1�GPRS ........................................................................................................... 14�
2.6.2�SMS ............................................................................................................. 15�
2.6.3�Comandos AT ............................................................................................. 16�
Capítulo 3: Solução Proposta – Hardware ..................................... 17�
3.1� Sensor de Corrente de efeito Hall (ACS712) .......................................... 18�
3.2� Arduino Uno ................................................................................................ 20�
3.3� Módulo GSM/GPRS/GPS .......................................................................... 23�
Capítulo 4: Solução Proposta – Software ....................................... 25�
Capítulo 5: Experimentos ................................................................. 28�
5.1� Amostragem da corrente elétrica ............................................................. 30�
Capítulo 6: Resultados ...................................................................... 32�
6.1� Análise de custo ......................................................................................... 37�
�
������
�����������������
�������������
�
Capítulo 7: Conclusões e Trabalhos Futuros ................................. 38�
Referencias Bibliográficas ................................................................ 39�
Anexo .................................................................................................. 41�
�
����
�����������������
�������������
�
Lista de Figuras
Figura 1: Vista Explodida do Medidor Monofásico M12 ..................................... 7
Figura 2: Diagrama de bloco do Medidor Eletrônico .......................................... 9
Figura 3: Display de LCD 16x2 5V Azul no Preto ............................................. 10
Figura 4: Ambiente de desenvolvimento (IDE) do Arduino ............................... 11
Figura 5: Funçõesm principais ......................................................................... 12
Figura 6: Chapa semicondutora percorrida por uma corrente e submetida a um
campo magnético ............................................................................................. 13
Figura 7: Estrutura de rede GSM ..................................................................... 14
Figura 8: Diagrama em bloco dos Hardwares do Sistema de Medição ............ 17
Figura 9: Circuito Integrado do Sensor de Corrente ACS712 .......................... 19
Figura 10: Diagrama de bloco Funcional do ACS712 ...................................... 20
Figura 11: Arduino Uno .................................................................................... 20
Figura 12: Pinos e componentes do Arduino Shield SIM908 ........................... 23
Figura 13: Fluxograma para programação do software .................................... 26
Figura 14: Diagrama Funcional do Sistema de Medição .................................. 28
Figura 15: Esquema de ligação dos dispositivos do Sistema de Medição ....... 29
Figura 16: Amostragem da corrente alternada ................................................. 31
Figura 17: Montagem do protótipo de medição ................................................ 32
Figura 18:Amostras das mensagens de texto recebidas pelo celular .............. 33
Figura 19: Variação da tensão durante a medição do consumo de energia .... 35
Figura 20: Medição da tensão de rede ............................................................. 35
�
�
�
�
�
���
�����������������
�������������
�
Lista de Tabelas
Tabela 1: Elementos do Medidor eletromecânico .............................................. 8
Tabela 2: Características do circuito integrado ACS712 .................................. 18
Tabela 3: Características do Arduino UNO ...................................................... 21
Tabela 4: Especificações do Arduino Shield SIM 908 ...................................... 24
Tabela 5: Resultados do sistema de medição de energia ................................ 34
Tabela 6: Custo do Protótipo ............................................................................ 37
�
�
�
�
����
�����������������
�������������
�
Listas de Siglas
3G – 3ª Geração
ANEEL – Agência Nacional de Energia Elétrica
CA/CC – Corrente Alternada / Corrente Contínua
CI – Circuit Integrat (Circuito integrado)
DSL – Domain Specific Language (Linguagem de domínio específico)
DSP – Digital Signal Processor (Processador digital de sinal)
EDGE – Enhanced Data rates for Global Evolution (Taxas de dados ampliadas
para a evolução do GSM).
EEPROM – Electrically-Erasable Programmable Read-Only Memory (Memória
programada e apagada eletricamente)
EGSM – Extended Global System for Mobile (Extensão do Sistema global de
comunicações).
EMS – Enhanced Messaging Service (Aprimoramento do serviço de
mensagem).
ERB – Estação Rádio Base
FTDI – Future Technology Devices International (Disposito internacional para
tecnologias futuras)
GPRS – General packet radio service (Serviço geral de pacote por rádio).
GPS – Global Positioning System (Sistema de posicionamento global).
GSM – Global System for Mobile (Sistem global de comunicações).
IDE – Integrated Development Environment (Ambiente de desenvolvimento
integrado).
LCD – Liquid Crystal Display (Display de cristal liquido).
LED – Light Emitting Diode (Diodo emissor de luz).
MMS – Multimedia Messaging Service (Serviço de mensagem multimídia).
PWM – Pulse Width Modulation (Modulação por largura de pulso).
SMD – Surface Mounting Device (Componente de montagem em superfície).
SMS – Short Message Service (Serviço de mensagens curtas).
SRAM – Static Random Access Memory (Memória estática de acesso
aleatório).
USB – Universal Serial Bus (Via serial universal).
���
��
�����������������
�������������
�
Capítulo 1: Introdução �
Hoje em dia a energia elétrica é um bem indispensável para à existência
da atual sociedade mundial, tanto para os meios urbanos quanto para os meios
rurais (residências, comércios, indústrias, bancos, hospitais, empresas, órgãos
governamentais etc.). Presente no dia a dia do homem moderno, a energia
elétrica é utilizada nas atividades essenciais do homem como iluminação,
aquecimento, refrigeração, conservação de alimentos e acionamentos de
equipamentos em geral, tanto nas atividades mais simples como acionamento
de aparelhos de rádio, televisão, equipamentos de lazer e recreação, também
nas atividades essenciais a vida como acionamento de equipamentos
hospitalares.
Devido o aumento dos equipamentos eletroeletrônicos para satisfazer as
necessidades e desejos dos consumidores, possibilitando-lhe uma enorme
variedade de serviços que por sua vez, causa a consequente necessidade por
mais e mais energia. Contudo, o aumento na oferta de energia se dá através
de altos investimentos em centrais de produção de energia elétrica como
hidroelétricas, termoelétricas, usinas nucleares e torres eólicas.
A expansão de um sistema de geração de energia elétrica deve então
considerar vários aspectos como os custos (investimento e operação), impacto
ambiental e outras questões de natureza técnica e econômica.
Até o consumidor final, o transporte da energia é realizado por empresas
especializadas, que utilizam como meio as linhas de transmissão e de
distribuição. Essa disponibilização tem um preço que é repassado ao
consumidor final, que é composto basicamente pelos custos associados à
produção, ao transporte e à distribuição da energia elétrica. O preço pago pelo
consumidor final, para o recebimento da energia elétrica, é estabelecido
individualmente e varia, em cada concessionária, conforme a classe de
consumo em que se enquadra, bem como em função dos montantes e
características requeridas. Para quantificar essa energia, utiliza-se um
equipamento denominado Medidor.
Na grande maioria dos consumidores residenciais a energia elétrica é
medida de forma direta, onde o fornecimento é feito em baixa tensão (127 /
���
��
�����������������
�������������
�
220V). Já os consumidores alimentados em média e alta tensão necessitam,
além do medidor, de equipamentos auxiliares como os transformadores de
corrente e de potencial, que compõem um conjunto de medição destinado a
medir as grandezas elétricas de forma indireta. O medidor não suporta uma
conexão direta como as linhas de alta e média tensão, sendo necessária a
utilização desse conjunto de instrumentos, redutores de tensão e corrente, que
visam possibilitar a mensuração da energia elétrica através do equipamento de
medição.
Portanto, com base nessas informações descritas, será proposto um
protótipo que irá medir a corrente elétrica através de um sensor de efeito Hall, e
o que será medido será enviado para um Arduino que processará essas
informações e as enviará para o consumidor a partir de uma solicitação ou uma
vez ao dia, através de módulo GSM/GPRS que contém um cartão SIM Card,
que é o responsável para conectar o protótipo a uma rede GSM. Essa união do
módulo com o cartão tem a funcionalidade de um aparelho celular.
1.1 Justificativa
Para mantermos esse bem indispensável para a sociedade, além de nos
preocuparmos com o consumo diário, precisamos também identificar uma
possível anormalidade na instalação elétrica, que esteja causando fugas ou
perdas de energia.
O registro do consumo de energia elétrica é realizado através de um
contador presente nos medidores eletromecânicos: o totalizador, exigindo que
o consumidor se desloque até o medidor sempre que desejar saber o valor
medido até o presente momento. Esse método de análise é inviável, para o
consumido de forma que ele teria que verificar o medidor várias vezes por dia.
1.2 Objetivo Geral �
Este trabalho tem como objetivo geral apresentar uma solução
alternativa para análise do consumo de energia elétrica de uma residência,
facilitando assim o controle diário. Assim obtendo um melhor controle dos
���
��
�����������������
�������������
�
gastos gerado pela energia elétrica por cada residência, realizado pelo próprio
consumidor, extinguindo assim a espera dos resultados dos gastos feita pela
concessionária de energia elétrica.
Serve também para as concessionarias que podem ter um panorama do
consumo diário, além de automatizar o processo de medição do consumo.
1.3 Objetivo Específico
Propomos o desenvolvimento de um dispositivo de medição diária e
envio do consumo de energia elétrica via GPRS através de um Arduino Uno,
com módulo (Shield) SIM908 GSM/GPS e o sensor de corrente ACS712 de
30A.
O consumidor terá todas as informações necessárias via mensagem
SMS diariamente, ou quando for necessário, mandando uma mensagem para o
dispositivo solicitando as informações. Através de um código o dispositivo irá
identificar sua solicitação e enviará uma mensagem com as informações. Com
esse objetivo será atingido o controle automático do consumo de energia
elétrica pelo consumidor final. Com isso, minimizar os erros que podem ser
gerados nas leituras do consumo e também a perca de tempo para realizar
essa analise.
1.4 Motivação �
Facilitar a leitura do consumo de energia elétrica pelos usuários comuns,
uma vez que os medidores possuem diversos ponteiros e engrenagens.
Facilitar a gerência do consumo de energia elétrica de uma forma mais
prática, evitando as surpresas desagradáveis no final do mês. Possibilitando
dessa forma que o usuário possa acompanhar periodicamente via SMS o seu
gasto energético de qualquer lugar e a qualquer hora.
���
��
�����������������
�������������
�
Capítulo 2: Revisão Bibliográfica
Nesse capítulo será exposta uma breve revisão dos assuntos que serão
abordados neste projeto. Primeiramente será apresentada a importância da
eletricidade, a necessidade de sua correta medição e como realizar o cálculo
da potência e energia elétrica, seguido das características e funcionalidades
dos medidores eletromecânicos, eletrônicos e do dispositivo principal que é o
Arduino, as ferramentas utilizadas para o desenvolvimento do código fonte, o
do princípio do efeito Hall, e para finalizar as características da tecnologia
GSM.
2.1 A Importância do Sistema de Medição
�
A energia elétrica é de fundamental importância para sociedade, desde
seu descobrimento por Thomas Alva Edison e utilização em máquinas elétricas
até os dias atuais. Devido a sua evolução o homem tem se tornado cada vez
mais dependente da eletricidade. Com o passar do tempo, pode-se observar
que em diversos países, houve um enfraquecimento financeiro e econômico
diante da ausência de recursos energéticos. Por outro lado, isso incentivou a
busca por alternativas, como outras fontes energéticas viáveis à situação dos
países. O desenvolvimento da sociedade, em relação ao crescimento
populacional, resultou no aumento no consumo de energia, como
consequências ocorreram grandes impactos ao meio ambiente, por meio do
aumento da poluição e da escassez dos recursos naturais do planeta [1].
A energia elétrica é produzida a partir de fontes hidráulicas, térmicas,
solares, nucleares ou eólicas, entre outras. Sua disponibilidade e sua altíssima
velocidade de transporte desde sua geração até o seu consumo, tornou-se
essencial para o desenvolvimento industrial. Porém um fato negativo é a
restrição do seu armazenamento.
Após sua descoberta houve a necessidade da quantificação dos
montantes de energia consumidos. É de fundamental importância a
quantificação correta, para que dessa forma seja gerado o faturamento. O
��
��
�����������������
�������������
�
preço pago pelo consumidor final é estabelecido individualmente pela
concessionária, conforme a classe de consumo a qual se enquadra. Para
quantificar essa energia, utiliza-se um equipamento denominado Medidor.
A medição do consumo da energia elétrica é de fundamental importância
para o processo de distribuição de energia, e tem como objetivo garantir a
precisão e aplicabilidade do fornecimento de energia dos sistemas de
distribuição [1].
�
2.1.1 Cálculo do consumo de energia
Antes de falar sobre o cálculo do consumo de energia elétrica, temos
que entender um pouco sobre potência e energia elétrica, pois para os
equipamentos eletrônicos funcionarem, os mesmo necessitam de energia
elétrica. Ao receberem essa energia, eles a transformam em outra forma de
energia, como mecânica, calor, sonora e etc.
2.1.1.1 Potência Elétrica
�
A potência elétrica P está associado à quantidade de energia elétrica τ
consumida num intervalo de tempo ∆t por um equipamento,
� � ��� ����������������������������������������������������������������������������
Como a energia é medida em Joules (J) e o tempo em segundos (s), a
potência elétrica é medida em Joules/segundo (J/s). A unidade de medida de
potência é o watt (W), definido por [2]
� � � ����������� ������
A potência consumida por um sistema ou dispositivo elétrico pode ser
determinada em função dos valores de corrente e tensão
��
��
�����������������
�������������
� � � �� �����������������������������������������������������������������������
2.1.1.2 Energia Elétrica
�
A energia elétrica consumida ou fornecida por um sistema é determinada por:
� � �� ��������� ������ �� ��� �����������������������������������
� Como a potência é medida em watts (J/s) e o tempo em segundos, a
unidade de energia o watt-segundo ou Joule. Entretanto a unidade watt-
segundo é uma quantidade muito pequena, de modo que a unidade watt-hora
(wh) e o quilowatt-hora (kwh) foram definidas da seguinte maneira [2]:
���������� � ! �"�#�����$���%! � �������������������������������&���������'� � ! �"�#�����$���%! � �(((�����������������������)
2.2 Medidores de Energia�
O medidor de energia elétrica é um dispositivo eletromecânico que é
utilizado para medir o consumo de energia elétrica. Este dispositivo está
presente na maioria das casas e habitações no mundo atualmente.
A seguir está descrito os dois tipos de medidores largamente utilizados,
que são os eletromecânicos e os eletrônicos [3].
2.2.1 Medidores de Energia Eletromecânicos
Nos primeiros medidores de energia elétrica bastava multiplicar a
corrente elétrica por um fator envolvendo a tensão de linha para encontrar o
valor da energia [3].
���
��
�����������������
�������������
�
A indução magnética mesmo com os aperfeiçoamentos continua sendo
o principal princípio de funcionamento dos medidores. A partir desse princípio
podemos aferir o consumo de energia sem interferir na rede elétrica do
consumidor.
Os medidores eletromecânicos se dividem em dois tipos: os
monofásicos que são constituídos de um único elemento, e os polifásicos que
são constituídos de dois ou três elementos, em função do sistema ser bifásico,
ou trifásico, respectivamente.
Pode-se observar na vista explodida do medidor eletromecânico, Figura 1 todos os elementos que o constituir [3].
�
Figura 1 – Vista explodida do Medidor Monofásico M12 [4]
Na tabela 1 estão descritos todos os 28 elementos que constitui o
medidor eletromecânico.
���
��
�����������������
�������������
�
Tabela 1 – Elementos do Medidor eletromecânico
01 Tampa do medidor 15 Elemento motor
02 Gaxeta da tampa do medidor 16 Mancal Superior (pino guia)
03 Placa de identificação 17
Parafuso fixação superior do terminal de prova
04 Tampa do bloco terminais 18 Parafuso fixação do gancho de prova
05 Elemento móvel 19 Gancho de prova
06 Mancal Inferior (magnético) 20 Suporte prova interna
07 Parafuso fixação do mancal inferior 21 Parafuso fixação do registrador
08 Parafuso fixação do elemento motor 22 Arruela pressão
09 Armadura 23 Arruela lisa
10 Parafuso terminal de corrente 24 Imã frenador
11 Ligador de neutro 25 Arruela pressão
12 Parafuso fixação do terminal de potencial-ligador de neutro 26 Parafuso fixação do conjunto imã
13 Base e bloco do medidor 27 Registrador
14 Parafuso fixação do elemento armadura 28 Suporte da indutiva
2.2.2 Medidor de Energia Eletrônico �
Os primeiros medidores eletrônicos surgiram nas décadas de 1970/1980
e faziam uso de circuitos integrados digitais. Com a evolução da eletrônica, os
medidores deixaram de utilizar circuitos para processadores de sinais digitais
os DSPs.
Na figura 2, pode-se verificar a estrutura interna do medidor eletrônico
em diagrama de blocos, onde os valores de tensão e corrente são obtidos a
partir de transdutores, que fazem a aquisição e adequação dos sinais de
entrada. Após isso, multiplicam-se os dados adquiridos provenientes dos
transdutores para obter a potência instantânea. Integra-se a potência
instantânea que é realizada pelo integrador em função do tempo, como pode-
se observar na (6), chegaremos à energia elétrica consumida [5],
� � *��$������+
+,������������������������������������������������������������������-
��
��
�����������������
�������������
�
�
Figura 2 – Diagrama de bloco do Medidor Eletrônico [5]
A leitura das variáveis que são realizadas pelos transdutores é feita
através de amostras em pequenos intervalos de tempo, para isso utilizamos
conversores analógicos para digital (A/D). Onde a quantidade de bits nos
conversores e a precisão do processamento definem a classe de exatidão dos
equipamentos [5].
�
2.3 Arduino
O Arduino surgiu na Itália, no ano de 2005, com um professor chamado
Massimo Banzi, que queria ensina eletrônica a seus alunos de design de uma
forma fácil e interativa, para que eles usassem em seus projetos. Pensando
nisso que Massimo e David Cuartielles, aluno decidiram criar sua própria placa,
e quem ficou responsável por criar a linguagem de programação do Arduino foi
o aluno de Massimo, David Mellis.
É uma plataforma Open-Source de prototipagem eletrônica flexível e
fácil utilização, tanto o hardware quanto o software. Nesta plataforma temos
entradas (IN) e saídas (OUT) de dados, com cristal oscilador de 16MHz, um
regulador de tensão de 5V, botão reset, plugue de alimentação, pinos
����
�
�
�����������������
�������������
�
conectores, e alguns LEDs para facilitar verificação do funcionamento. A porta
USB já fornece a alimentação necessária, e a tensão de alimentação quando
desconectado pode variar de 7 V a 12 V [6].
O Arduino geralmente é utilizado para o desenvolvimento de projetos,
que podem está conectado a um computador, uma rede, ou até à internet,
enviados e recebendo dados e a partir dessas informações o dispositivo irá
tomar decisões de acordo com o algoritmo utilizado. Os dados obtidos através
de sensores, transdutores, receptores, entre outros, podem ser exibidos
através de displays e sites na forma de dados ou até mesmo gráficos.
O Arduino tem uma grande facilidade, que nele pode ser conectados
vários dispositivos como: LEDs, displays, botões, servo motores, sensores de
modo em geral, receptores, Shield de Ethernet, Shield GSM e GPS ou qualquer
dispositivo que envie dados ou possa ser controlado. Shields são placas de
circuitos impressos que contem outros dispositivos que na sua maioria
estendem os pinos do Arduino, dando a possibilidade para a conexão de outros
Shields [7].
Figura 3 – Display de LCD 16x2 5V Azul no Preto [8]
As informações ou comandos no Arduino podem ser transmitidos ou
recebidos através de placas de Bluetooth, Wireless, USB, infravermelho,
módulos GSM/GPRS, etc. Essas informações que geralmente são
provenientes de um computador utilização uma linguagem de programação
baseada em C/C++ [9].
����
��
�����������������
�������������
�
2.4 A Linguagem de Programação
A linguagem que é utilizada para programação do Arduino baseia-se na
linguagem C/C++ e é conhecida como DSL (Domain Specific Language). Ela
facilita a programação por trabalhar com diversos atalhos para programação
das portas digitais, analógicas e várias outras funções. As linguagens de
domínio específico trazem benefícios como a otimização da resolução de
problemas e aprendizado [10].
Os programas escritos no editor de texto da IDE do Arduino (Figura 4)
são chamados de sketches. E possuem extensão “ino”. Além da área de edição
de texto (ponto 1 Figura 4), ou código fonte, temos a área de mensagem (ponto
2 Figura 4), onde podemos visualizar as ações de salvar, exportar e também a
exibição de erros, o console (ponto 3 Figura 4), onde podemos mostrar a saída
de texto, incluindo mensagens de erro completas e outras informações. Já na
barra de ferramentas (ponto 4 Figura 4), podemos fazer upload de programas,
criar, abrir, salvar sketches e abrir o monitor serial, onde podemos visualizar
alguns status e parâmetros enquanto o Arduino estiver em funcionamento [9].
Figura 4 – Ambiente de desenvolvimento (IDE) do Arduino (Figura do autor).
1
4
23
����
��
�����������������
�������������
�
2.4.1 Conceitos e Sintaxe da Linguagem de Programação
Na linguagem de programação do Arduino foi preservada a sintaxe na
declaração de variáveis, utilização de operadores, manipulação de vetores, e
estruturas das linguagens C/C++. Porém a função principal na linguagem
C/C++ que é a main( ), foi substituída por duas funções elementares: setup( ) e
loop( ), conforme ilustrado na Figura 5. Essas funções não precisam de
parâmetros de entrada, portanto, são declarados como vazio, também não é
necessário invoca-las, pois, Quando compilamos um programa para o Arduino
automaticamente, é inserido uma função main( ) que invocará as funções [9].
Sintaxe: void setup() { . : : }
Sintaxe: void loop() { . : : }
Figura 5 – Funções principais (Figura do Autor)
2.5 Efeito Hall
�
O efeito Hall foi descoberto por Edwin H. Hall no final do século XIX e é
o fenômeno onde cargas em movimento em uma região, por exemplo, num
chapa de um material semicondutor do tipo P, onde há um campo magnético ./0e estas cargas estão sujeitas a uma força 1�///0perpendicular ao seu movimento.
Isto resulta em uma separação das cargas na região. Este fenômeno permite
determinar o sinal da carga nos portadores de carga e o número de portadores
só é executado uma vez no início do programa e é utilizada para inicializar variáveis, configurar o modo dos pinos e incluir bibliotecas.�
está função é declarada após a função setup( ) e é responsável por executar sempre o mesmo bloco de código, ou seja, em looping.�
����
��
�����������������
�������������
�
por unidade de volume �, em um condutor. É utilizado para medir campos
magnéticos [11] [12].
Devido o efeito Hall separar as cargas numa região isso produz uma
diferença de potencial na chapa semicondutora. Essa diferença tensão gerada
é conhecida como tensão de Hall e é proporcional ao campo magnético que a
produziu, com pode-se verificar na Figura 6 [12].
�Figura 6 – Chapa semicondutora percorrida por uma corrente e submetida a
um campo magnético. �
2.6 Tecnologia GSM
O uso da telefonia para transferir dados está cada vez mais comum em
aplicações, como os sistemas de telemetria, gerenciamento de distribuição e
consumo de energia elétrica, gás, água e automação comercial. O que facilita o
uso dessas redes é o longo alcance por ser sem fio e já ter infraestrutura de
transmissores e receptores instalados.
A tecnologia GSM (Global System for Mobile Communications) é a mais
utilizada para telefonia celular [13]. Nesta rede foram desenvolvidos vários
serviços como:
• GPRs (General Packet Radio Service);
• EDGE (Enhanced Data rates for Global Evolution);
• 3G (utilizando as tecnologias UMTS, HSPDA e outras).
����
��
�����������������
�������������
�
Em uma rede GSM utilizamos uma estrutura celular, onde em cada
célula possui no centro uma ERB (Estação Rádio Base) conforme ilustrado na
Figura 7, as elas utilizam uma faixa de frequência de maneira que suas células
adjacentes não utilizem a mesma faixa de frequência. Outro ponto importante é
que devido a termos uma faixa de frequência escassa, o alcance de cada ERB
é a menor possível, é aproximadamente de 5 km de distância, para que as
frequências sejam reutilizadas em outras estações, isso pode ser visualizado
pela numeração nas células, onde cada número representa uma frequência
[14].
Figura 7 – Estrutura de rede GSM (Figura do Autor)
2.6.1 GPRS
O GPRS é um serviço que permite o envio e recepção de informações
através de uma rede telefônica móvel. Seu propósito é facilitar a interconexão
entre redes móveis e redes de comutação de pacotes, e, principalmente,
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
��
���
��
�����������������
�������������
�
disponibilizar o acesso à internet [14]. Portanto esta tecnologia criou uma
gama de novos serviços, entre eles o serviço de mensagem multimídia e
serviços de ação à distância, como sistemas de vigilância e monitoramento
eletrônico. O GPRS tem várias características específicas que podem ser
resumidas em [15]:
• Velocidade: Taxa de transferência teórica de até 171,2 kbps são
possíveis com GPRS
• Disponibilidade Imediata: O GPRS facilita conexões instantâneas, pois a
informação pode ser enviada ou recebida imediatamente conforme a
necessidade do usuário.
• Novas e Melhores Aplicações: O GPRS facilita novas aplicações, mas
tem restrições devido o tamanho da mensagem no SMS (160
caracteres).
• Acesso ao Serviço: Para usar GPRS, os usuários precisam
especificamente de:
o Um telefone móvel ou terminal que suporte GPRS;
o Assinatura em uma rede de telefonia móvel que suporte GPRS;
• Ter o uso de GPRS habilitado. Acesso automático ao GPRS pode ser
permitido por algumas operadoras; outras poderão requerer uma opção
específica de adesão;
• Um destino ou local de onde receber ou enviar informações através do
GPRS [15].
2.6.2 SMS �
O serviço SMS (Simple Message Service) permite a troca de mensagens
de texto entre usuários. O SMS também é utilizado nos dias atuais por
aplicações que vão desde propaganda, notícias, avisos, etc. até mesmo à
aplicações complexas, como o monitoramento remoto, utilizado neste projeto.
Sua principal vantagem é estar disponível em praticamente todos os
dispositivos móveis conectados a uma rede GSM. Subdivididas em duas
extensões SMS, sendo elas:
���
��
�����������������
�������������
�
• EMS (Enhanced Messaging Service);
• MMS (Multimedia Messaging Service).
O EMS (Serviço de mensagem avançada) vem sendo substituído pelo
MMS (Serviço de Mensagem Multimídia), embora existam algumas diferenças
entre eles. As mensagens EMS são capazes de mandar textos formatados,
músicas ou imagens básicas. Já as mensagens MMS, podem mandar imagens,
áudio e vídeo, com texto junto, bem mais complexo em comparação com as
EMS [14].
2.6.3 Comandos AT �
Para que alguns sistemas tenham acesso à rede GSM, é utilizado um
modem para criar uma conexão entre os dispositivos. Para que seja possível a
troca de mensagens entre os mesmos, para ter acesso às funcionalidades
utilizamos os comandos AT.
O corpo dos comandos AT é constituído de apenas uma string de texto,
iniciados pelo cabeçalho “AT+”, seguidos por um comando e alguns
parâmetros. Quando enviamos uma requisição através de um comando AT, o
mesmo é tratado e é devolvido em forma de mensagem ou dados a quem
requisitou.
Os comandos AT permitem quatro tipos de operação:
• Teste: Verifica se determinado comando é suportado pelo dispositivo.
• Setar: Modifica configurações no modem para determinadas tarefas.
• Leitura: Verifica configurações de determinada operação no modem.
• Execução: Realiza uma ação ou retira informações de status sobre a
execução do modem ou dispositivo móvel.
����
�
�
�����������������
�������������
�
Capítulo 3: Solução Proposta – Hardware
Esta seção tem o objetivo de descrever o funcionamento dos hardwares
que foram utilizados para resolver o problema do acompanhamento do
consumo da energia elétrica diariamente, de forma que possa ser visualizado
pelo consumidor, de qualquer lugar, e que seja possível identificar possíveis
fugas de correntes e equipamentos que estejam com consumo além do normal.
A estrutura dos hardwares está representada na Figura 8, na área destacada
B. Na Seção 3.1 será exposto como será realizado a medição da corrente
elétrica através do campo magnético, pelo sensor de efeito Hall. Que é onde
toda a corrente elétrica será medida e enviada. Na Seção 3.2 serão expostas
as funcionalidades do Arduino e seu propósito, que é o componente
responsável por processar todas as informações e controlar os outros
hardwares. Na Seção 3.3 serão expostas as características do módulo
GSM/GPRS/GPS utilizado e como foi realizada a interface entre este o sistema
embarcado. Esse hardware é o responsável por conectar o protótipo a rede
GPRS.
Figura 8 – Diagrama em bloco dos hardwares do sistema de medição (Figura
do autor).
���� �����
� ������
��������
������������� � �
��������� ����� ����
A B C
����
��
�����������������
�������������
�
3.1 Sensor de Corrente de efeito Hall (ACS712)
A corrente do circuito, gera um campo magnético no sensor que pelo
efeito hall fornecer um nível de tensão na entrada analógica do
microcontrolador que no caso do Arduino pode ser de 0 à 5 volts. Essa tensão
é proporcional a corrente de entrada do sensor.
Para coletar os dados da corrente elétrica a ser enviadas ao circuito,
foram estudados sensores de corrente de efeito Hall e foi verificado que eles
são dispositivos semicondutores que podem medir a corrente elétrica CA ou
CC [16].
O sensor utilizado no projeto foi o ACS712ELC-30A-T fabricado pela
Allegro Micro Systems, ele apresenta uma faixa de linearidade de 0,5V à 4,5V,
um isolamento 2,1'�234 entre a parte de potência e a parte de tratamento de
dados, e um tamanho de 33mm x 14mm e um encapsulamento SOIC8 [16].
Além disso, é uma ótima solução de custo benefício para medir
correntes alternadas e contínuas para a indústria, comércio e telecomunicação.
Algumas aplicações típicas desse sensor incluem: controle de motores,
sensores de sobre corrente, sensores de consumo entre outros. A Tabela 2
apresenta características do circuito integrado ACS712:
Tabela 2 – Características do circuito integrado ACS712
Baixa interferência;
• Alta velocidade da resposta, 5µs;
• Banda de frequência de 80KHz;
• Erro total de 1,5% a temperatura de 25ºC;
• Tamanho reduzido;
• 1,2m� de resistência interna do condutor;
• 2,1'�234de isolação de tensão entre os pinos 1–4 para os pinos 5–8;
• Sensibilidade da saída de 66mV/A.
� ��
��
�����������������
�������������
�
As entradas (pinos 1-2 e 3-4) e saída (pino7) do circuito integrado
ACS712 está ilustrado na Figura 9. Nas entradas será ligado o circuito de força,
por onde irá circular a corrente que será medida, essa corrente produzirá um
campo magnético, que esse irá gerar uma tensão DC proporcional ao campo
na saída.
Figura 9 – Circuito Integrado do Sensor de corrente ACS712 [16]
Para que o sensor de efeito hall funcione, deve ser ligado em série com
a carga e a rede elétrica. A entrada de corrente deve ser ligado nos pinos 1 e 2,
que estão eletricamente conectados, e a saída deve ser nos pinos 3 e 4 que
também estão eletricamente conectados, os pinos 1, 2, 3 e 4 podem ser visto
nos pontos 1 e 2, conforme ilustrado na Figura 10. A corrente que percorrerá os
pinos 1, 2, 3 e 4, como ilustrado na seta da Figura 10 gera um campo
magnético, na pastilha de efeito hall (ponto 3 da Figura 10). A partir desse
campo o efeito hall, gera uma tensão nas extremidades da pastilha. Essa
tensão e tratada (ponto 4 da Figura 10), onde é inserido erro da sensibilidade e
o coeficiente de temperatura. No segundo bloco (ponto 5 da Figura 10) ocorre o
ajuste de offset da corrente. Na sequência o sinal é amplificado (ponto 6 da
Figura 10) e a tensão resultante é fornecida no pino 7 (ponto 7 da Figura 10).
����
��
�����������������
�������������
�
Figura 10 – Diagrama de Bloco Funcional do ACS712 [16]
3.2 Arduino Uno �
� O Arduino Uno é uma plataforma eletrônica que possui uma série de
dispositivos eletrônicos agregados a um microcontrolador em uma placa de
circuito integrado baseado no ATmega328 [6]. O microcontrolador utilizado pelo
Arduino Uno é o Atmel AVR, modelo Atmega8U2, programado com um
conversor de USB para serial. A diferença básica da versão Uno para as
anteriores é que era utilizado outro chip, por exemplo, no modelo Arduino
Duemilanove, que utiliza o chip FTDI. A grande diferença, além do preço do
chip (o Atmega8U2 é muito mais barato do que o chip FTDI), é que o
Atmega8U2 permite que o chip USB tenha o seu firmware atualizado, o que
abre uma série de novas possibilidades para o Arduino[7].
As principais características elétricas e de configuração do Arduino Uno
estão apresentadas na tabela 3:
����
��
�����������������
�������������
�
Tabela 3 – Características do Arduino UNO.
• 14 pinos digitais de entrada/saída (pinos 0 – 13);
• 06 pinos de entradas analógicas (pinos A0 – A5);
• 06 pinos de saída PWM (pinos 3, 5, 6, 9, 10 e 11);
• Microcontrolador ATmega328;
• Voltagem de Operação 5 volts;
• Voltagem de Entrada (recomendada) entre 7 a 12 volts;
• Voltagem de Entrada (limites) entre 6 a 20 volts;
• Corrente D/C por pino E/S: 40 mA;
• Corrente D/C por pino 3.3V: 50 mA;
• Memória Flash: 32 KB (Atmega328);
• SRAM: 2 KB(Atmega328);
• EEPROM: 1 KB(Atmega328);
• Cristal Oscilador de 16 MHz.
A Figura 11 apresenta em detalhes os diversos componentes e da
funcionalidade dos pinos da placa do Arduino Uno. Destacamos a entrada
analógica, os pinos de potência, entrada USB, conversor RS232-USB,
Adaptador da fonte.
Figura 11 – Arduino Uno [17].
����
��
�����������������
�������������
�
As 6 entradas analógicas, ilustradas na Figura 11, possuem conversão
A/D com 10 bits de precisão, ou seja, é possível obter 1024 níveis de tensão
diferentes com estes 10 bits. As portas analógicas podem receber um sinal de
referência externa para o conversor A/D do Arduino. Se este pino ficar
flutuando, o Arduino considerará como referência 0 V [17].
O Arduino possui uma série de elementos que são integrantes básicos
das estruturas das placas. Tais como:
• Botão de Reset: Este botão está ligado diretamente ao reset do
microcontrolador e tem como propósito facilitar ao usuário a reinicialização
da placa.
• Cristal Oscilador: É o gerador de clock, ele que determina a velocidade de
trabalho do microcontrolador.
• Conversor RS232 – USB: esta conversão é realizada por um outro
microcontrolador (ATMEGA 8).
• Adaptador de entrada para fonte: É a entrada para uma fonte de
alimentação externa do tipo fonte CA/CC com tensão máxima de 15 V,
sendo que o ideal é a utilização de fonte de alimentação com tensão entre
7,5 V e 10 V.
• Regulador de tensão: serve para estabilizar em 5 V a alimentação de uma
fonte externa.
• Entrada USB: Utilizada para comunicação e programação da placa Arduino.
Esta entrada pode ser utilizada como fonte de alimentação.
• Microcontrolador ATMEGA328: Responsável por praticamente todas as
funções.
• LEDs de sinalização: São quatro os LED de sinalização presentes na placa,
são:
o LED de Potência: Indica que a placa está alimentada;
o LED Serial Tx e Rx: Sinaliza que está ocorrendo transmissão e
recepção de dados.
o Pino 13 LED: É o único LED presente na placa para utilização via
código. [17].
����
��
�����������������
�������������
�
3.3 Módulo GSM/GPRS/GPS �
As tecnologias GSM, GPRS e GPS estão presentes em um único Shield.
Isto permite com que ele possa realizar uma ligação, enviar e receber
mensagens de texto, acessar a internet e determinar sua localização através
do GPS utilizando um chip de celular. O Shield utilizado pode operar nas
seguintes frequências: EGSM 900MHz/DCS 1800MHz e GSM850 MHz/PCS
1900MHz. Além disso, o shield possui uma antena SMD de alto ganho tanto
para o GPS quanto para o GSM.
O Shield de comunicação utiliza um chip SIM908 da SIMCom [18]. As
tecnologias inclusas são comandadas através de comandos AT. Essas duas
tecnologias em conjunto, permitem o rastreamento desde que o sistema esteja
em uma área de cobertura celular [19].
Os principais componentes e entradas estão ilustrados na Figura 12,
onde podemos destacar: Socket SIM card, Sockets do fone e microfone,
antenas de alto ganho do GPS e GSM, seletor GPS/GSM, botão reset, chaves
S1 e S2.
Figura 12 – Pinos e componentes do Arduino Shield SIM908 [19]
����
��
�����������������
�������������
�
A Tabela 4 apresenta as especificações do Arduino Shield SIM 908
(Módulo GSM/GPRS/GPS):
Tabela 4 - Especificações do Arduino Shield SIM 908
• Tensão de Alimentação: 6V a 12V
• Baixo consumo de corrente: 100mA @ 7V - modo GSM
• Quad-band: 850/900/1800/1900 MHz
• GPRS mult-slot classe 10
• Estação móvel GPRS classe B
• Complacente a fase GSM 2/2+
• Classe 4 (2W @ 850/900 MHz)
• Classe 1 (1W @1800/1900MHz)
• Controle dos Módulos via comando AT
• Suporta teclados numéricos
• Chave para alterar modo de controle de USB para Arduino
• Chave para programação via Arduino
• LEDs indicadores de alimentação, status de rede e status de
funcionamento
• Chaves:
o S1: Modo de Programação / Modo de Comunicação
o S2: Interface de controle: USB / Arduino
• Intefaces:
o Slot para SIM Card convencional
o Entrada P2 para microfone e saída P2 para fone de ouvido
• Tamanho: 81x70mm
• Receptor do GPS de 42 canais [19]
���
��
�����������������
�������������
�
Capítulo 4: Solução Proposta – Software
O núcleo desse projeto é um microcontrolador, que possui a
responsabilidade de gerenciar quando um comando é acionado, ou quais
parâmetros serão passados para os periféricos ligados as suas unidades de
entrada e saída e quais unidades serão acionadas. Para que tudo isto funcione
o microcontrolador precisa de um firmware (programa que ira gerenciar todos
os periféricos e funções que pode ser escrito em linguagem de programação ou
de montagem) que contém a lógica de controle e execução de suas atividades,
e está armazenado na memória de programa (não volátil, e lida durante a
inicialização do mesmo). A lógica do firmware pode ser dividida em várias
unidades lógicas (funções), que por sua vez compõem o conjunto de
funcionalidades de um determinado módulo (biblioteca).
A ideia para construção do fluxograma, conforme ilustrado na Figura 13,
que é a base para desenvolvimento do código fonte que realizará a medição do
consumo de energia foi baseado no diagrama de bloco da Figura 8, e será
executado no Arduino.
O primeiro passo do fluxograma e a declaração das variáveis globais, ou
seja, são variáveis que podem ser utilizadas em qualquer parte do programa.
Elas definem o tipo e o tamanho para que seja alocado na memória RAM do
dispositivo o espaço necessário.
Na sequência são feitas as configurações para que os dispositivos
funcionem corretamente. Essas configurações são de fundamental importância,
pois sem elas os dispositivos, no caso do Arduino Uno e o Shield SIM908,
podem não funcionar corretamente. Elas são feitas na área conhecida como
setup e podemos definir, como por exemplo, se o pino vai ser entrada ou saída,
se vai está em HIGH ou LOW, a velocidade da porta serial, habilitar os Shields.
Porém essa configuração só será executada uma única vez na inicialização do
programa.
���
��
�����������������
�������������
�
�
Figura 13 – Fluxograma para programação do software (Figura do autor).
Após o setup, o fluxograma entra na parte conhecida como looping,
porém após entrar no looping, só consegui sair se desligamos ou efetuamos
um reset no hardware.
Declaração das variáveis
Setup
Faz amostragem e calculo da corrente
����
Enviar Mensagem Inicial
SIM
Calcula a energia e acumula
Verificar o tempo de envio ou
solicitação
Envia o consumo de energia via SMS
Verificar o envio do SMS
inicial
Inicio do Programa
SIM
NÃO
����
��
�����������������
�������������
�
No looping, a primeira coisa a ser feita é a verificação, se é a primeira
vez que entra nessa área, para poder enviar a mensagem do início do
monitoramento. No caso se for a primeira vez envia-se a mensagem, se não,
passamos para o próximo passo, que é a amostragem da corrente elétrica e o
calculo da energia elétrica.
Para finalizar verificar-se se chegou alguma mensagem de solicitação do
envio do consumo acumulado, no caso de não, verificar-se o tempo para o
envio da mensagem que é de um dia, no caso de ter alcançado o tempo, envia-
se a mensagem, se não, inicia-se o looping novamente.
�
�
�
�
�
�
�
� �
����
��
�����������������
�������������
�
Capítulo 5: Experimentos �
Os experimentos consistem no acompanhamento da medição do
consumo de energia elétrica e após um período de tempo pré-determinado é
enviado o consumo via SMS. É essa medição foi realizada na entrada da rede
elétrica da residência, ou seja, toda corrente elétrica que irá ser consumida terá
que passar pelo sistema de medição, como ilustrado na Figura 14, o protótipo
foi inserido logo após o medidor eletromecânico residencial para realizar o
comparativo do que será medido pelo sistema de medição do protótipo e o do
medidor.
Figura 14 – Diagrama Funcional do Sistema de Medição (Figura do autor).
Para realização do experimento foi utilizado um medidor monofásico
eletromecânico para comparar os resultados que serão obtidos posteriormente.
Os resultados foram coletados e enviados pelo protótipo de medição e
recebidos através de um aparelho celular, conforme ilustrado na Figura 14. O
protótipo consiste de um sensor de efeito Hall, o ACS712, responsável pelo
monitoramento constantemente da corrente elétrica da residência e faz um
acoplamento eletromagnético entre o circuito de força (Medidor e os
equipamentos eletrônicos) e de controle (Arduino Uno e Shield SIM908). Assim
minimizamos os riscos de danificar o circuito de controle e o de ocorrer um
choque elétrico. As informações foram enviadas do sensor para o Arduino Uno,
� ��
��
�����������������
�������������
�
através de um cabo de 0,5mm2 que foi interligado na saída do sensor à porta
A0 do Arduino, que após o processamento desta informação, enviará uma
mensagem via o Shield SIM908 que está acoplado a ele.
A Figura 15 ilustra a conexão de todos os dispositivos utilizados no
experimento. Nela podemos identificar as ligações elétricas, desde o medidor
até os aparelhos elétricos.
Figura 15 – Esquema de ligação dos dispositivos do Sistema de Medição
(Figura do autor).
Em ordem de numeração da Figura 15, segue a descrição resumida do
que cada dispositivo está executando no sistema:
1. Medidor de Energia Eletromecânico – O medidor está no circuito para
registrar o consumo, e posteriormente realizar a comparação com o
resultado do protótipo, já que é um dispositivo homologado pela ANEEL.
2. Sensor de Efeito Hall – O sensor é responsável pela medição da
corrente elétrica e isolação elétrica do circuito de potência para o de
medição e controle.
����
��
�����������������
�������������
�
3. Shield SIM 908 – é responsável para realizar a comunicação via GPRS
para o envio da mensagem de texto com as informações processadas
pelo Arduino.
4. Arduino Uno – é responsável em receber e processar a informação
enviada pelo Sensor de efeito Hall e também controlar o Shield SIM908.
5. Equipamentos Eletroeletrônicos – são os elementos responsáveis em
consumir a energia elétrica que está sendo registrada pelo medidor e
também pelo sistema de medição desenvolvido.
6. Multímetro Digital – é responsável para medir a tensão da rede elétrica.
5.1 Amostragem da corrente elétrica
�
A leitura da corrente elétrica alternada é realizada através do sensor de
efeito Hall, pela função analogRead(). Ela foi à única entrada de dados do
programa e tem como retorno, valores que vão de 0 a 1023, pois nas entradas
analógicas do Arduino temos um conversor A/D de 10 bits.
Além disso, a informação é instantânea e precisamos da corrente
eficaz, para resolver esse problema foi realizado uma amostragem, através da
função analogRead() utilizando a função de repetição for, já que a função de
entrada analógica possibilita leituras em uma frequência de até 10kHz.
Após a leitura da corrente subtrai-se o valor 512, e o resultado eleva-se
ao quadrado na sequência aplicar-se a raiz quadrada. Quando realizamos está
operação equivale a aplicar o módulo na função |analogRead(A0)-512|. A
senoide, conforme ilustrado na Figura 16, passa a ser uma função com valores
apenas positivos.
����
��
�����������������
�������������
�
Figura 16 – Amostragem da corrente alternada (Figura do autor).
Após realização da amostragem armazena-se os valores num vetor de
500 posições, para verificar o maior valor que foi armazenado através da
função max(), como a função só compara valores dois a dois, ela foi inserida
dentro de uma função de repetição for. Após encontrar o maior valor terá que
transformar esse valor para corrente de pico, pois até o momento só temos
valores em bits. Para chegar ao valor esperado, precisar-se conhecer a
resolução e a sensibilidade do sensor de efeito Hall,
�5678 � 9������:.��;����$�<�� ��=> ?����@������� �������������������������������-
Onde a �9������:.��;��� é o maior valor encontrado após ser medido
pela função analogRead(), a <�� ��=> e a ?����@������� são fornecidos pelo
fabricante no datasheet do sensor de efeito Hall ACS712 e são
respectivamente�&�AA%��@��� e --%��B.
Após calcular a corrente pico, precisar-se encontrar a corrente eficaz,
para que se possa calcular a energia elétrica (3), para isso deve-se dividir o
valor de corrente encontrado pela raiz quadrada.
�
�
����
��
�����������������
�������������
�
Capítulo 6: Resultados
Os resultados do consumo de energia elétrica, que serão apresentados
nesta seção foram obtidos através da montagem do circuito apresentado na
Figura 17. Onde temos um quadro de distribuição elétrico (Ponto 1 da Figura
17) que na saída foi inserido um medidor eletromecânico (Ponto 2 da Figura
17) para registrar o consumo de energia, na saída do medidor foi inserido o
sensor de efeito Hall o ACS712 (Ponto 3 da Figura 17), que envia os valores
medidos para o Arduino Uno (Ponto 4 da Figura 17), que controla o envio de
mensagem via o Shield (Ponto 4 da Figura 17), já o notebook (Ponto 5 da
Figura 17) foi utilizado para programação do Arduino Uno e o multímetro (Ponto
6 da Figura 17) para realizar amostragem da tensão durante o dia.
Figura 17 – Montagem do protótipo de medição (Figura do autor)
A Figura 18 apresenta as mensagens de texto enviadas pelo protótipo
de medição. Quando iniciamos o programa o protótipo envia uma mensagem
de início do monitoramento do consumo informando o valor inicial e a partir de
��
��
��
��
����
����
��
�����������������
�������������
�
um determinado valor tempo ou através de uma solicitação, enviando uma
mensagem para o protótipo, para serem enviadas mensagens com o consumo
acumulado.
Figura 18 – Amostras das mensagens de texto recebidas pelo celular (Figura
do autor).
A duração do período de teste foi de 50 horas onde a cada hora era
enviado um SMS pelo protótipo, essas mensagens estão apresentadas na
figura e continham as informações sobre consumo de energia acumulado e no
celular ficaram registradas as horas de envio. Todos esses valores enviados
por mensagem de texto, assim como, os horários que foram enviados, foram
registrados em uma planilha, apresentada na Tabela 5 e a cada 5 horas era
analisado o valor registrado no medidor eletromecânico e efetuado a
comparação com os valores enviados.
Na Tabela 5 além dos valores do consumo hora a hora, podemos avaliar
também a energia consumida a cada hora.
����
��
�����������������
�������������
�
.Tabela 5 – Resultados do sistema de medição de energia (Tabela do autor)
�!������
"� �#���
���!������
�������
$����!��
���
� ������
�������
�% ��&'��
"� �#���
�����!����
����(����
�!������
"� �#���
���!������
�������
$����!��
���
� ������
�������
�% ��&'��
"� �#���
�����!����
����(����
�� ������� ��� ����� ������� �� ���� �� � ����� ������
�� ������ � ����� ������ ��� �������� � ����� �������
�� ������� � ����� ����� � ��� ��� �� � ����� �����
�� ������ � ����� ������ � � �������� � ����� �����
�� ����� � ����� ���� ��� ������� �� ����� �������
� ������ �� ����� ����� ��� ��� ��� � ����� ������
� ������ � ����� ��� �� ��� ������� � ���� ������
�� ������ � ����� �� �� ��� ������� � ���� ���� �
�� ����� � � ���� ����� ��� ������ � ����� �������
� ��� �� � ���� ������ �� �� � ��� ����� �������
��� ����� ��� ����� ������ �� ������� � � ��� ���� ��
��� ���� � ����� ����� ��� ������� � ����� �������
��� � ���� � � ��� ������� ��� ��� � � � ����� �������
��� ������� � ����� ������ � � ����� �� � ����� �������
��� ������� � ����� ���� � ��� �������� � � ����� ������
�� ������ ��� ����� ������� ��� ���� � � ����� ��� ��
�� ������ � ����� ����� ��� � ����� � ���� �������
��� ����� � ����� ������ ��� � ����� � ���� ����
��� �������� � ���� ��� �� ��� � � ���� � ����� �������
� � �������� � ���� ������� �� ������ � ��� ����� �������
��� ��� � �� ��� ����� ���� �� ���� � � � ��� �������
��� ������ � ����� ����� ��� ��� ���� � ����� �����
��� ������� � � ��� ������ ��� ����� � � ����� ������
��� �������� � ����� ��� ��� � � ������� � ����� �����
��� ��� �� � ����� ����� �� ���� �� ��� ����� �������
�� ���� �� ��� ����� ������� �� �� �� �� ��
A partir das amostras obtidas e mostradas na Tabela 5 pode-se observar
que ocorreu uma pequena divergência entre o valor registrado pelo medidor
eletromecânico e os valores enviados pelo protótipo, isso ocorreu porque foi
considerado que a tensão de entrada no código fonte seria 220V e constante, e
como sabemos a tensão sempre varia durante todo o dia. Portanto, para
resolver o esse problema, tem que ser desenvolvido um circuito medir a tensão
elétrica.
Além disso, foi feito uma amostragem nos valores de tensão da rede
elétrica, onde foi constatada uma variação bastante significativa durante todo o
período de testes, está variação algumas vezes chegava a ser 10% inferior a
que deveria está sendo fornecida pela concessionária de energia elétrica. Na
Figura 19 apresenta-se a variação da tensão de entrada de rede, em diversos
horários enquanto o protótipo estava em funcionamento.
���
��
�����������������
�������������
�
Figura 19 – Variação da tensão durante a medição do consumo de energia
(Figura do autor).
A partir dos dados que foram registrados por um multímetro digital a
cada 5 horas, enquanto o protótipo estava funcionando foram registradas 10
amostra sobre a variação de tensão na Tabela 5, com essas amostras foi
plotado um gráfico apresentado na figura 20 para a análise do comportamento
da tensão durante o teste.
���������������� ���������������
��������������� ����������������
���
��
�����������������
�������������
�
Figura 20 – Medição da tensão de rede (Figura do autor).
Através da média da Figura 20 podemos analisar que a “tensão eficaz” é
aproximadamente 202,5 V, ou seja, considerando que essa tensão seja
constante durante todo o período das medições realizadas, teremos uma
diferença entre essa tensão e a utilizada no código fonte, está diferença pode
ser calculada por:
�C � ��( D �(��)��( E F�G)C����������������������������������������F
Fazendo uma analogia do erro calculado e inserindo esse erro no valor
medido pelo protótipo e comparado com o valor registrado pelo medidor de
energia eletromecânico, que é um equipamento homologado pela ANEEL.
Pode-se verificar que o valor medido aplicando o erro é:
��� ��%���� ��!��#��� � ���� � ��� ��%���� 5H8+8+6I8�$��((CD �C���������A��� ��%���� ��!��#��� � ���� � ��AG&)�$��((CD F�G)C � �(�)�G�'�
Após aplicar o erro gerado, por considerar a tensão sendo 220V, pode-
se considerar que o valor medido foi igual ao registrado.
��� ��%���� ��!��#��� � ���� 5H8+J+6I8 E ��� ��%���� 3KL6L8H.
Portanto, para solucionar o erro na medição podemos inseri-lo no
programa para que o valor enviado já tenha o erro subtraído, ou desenvolver
um circuito que meça a tensão elétrica, e que seja enviada para o Arduino para
ser tratado. A melhor solução seria o circuito, pois pode ser instalado em
qualquer residência, e não precisa se preocupar com a variação de tensão
elétrica.
����
��
�����������������
�������������
�
6.1 Análise de custo
Foi realizada uma pesquisa sobre equipamentos que realizem as
mesmas funções do protótipo, mas em âmbito comercial para residência não
foi encontrado. O mais próximo encontrado foram equipamentos de
monitoração cujos dados são armazenados ou são enviados para
computadores, onde esses dados são analisados gerando-se gráficos e outras
informações, para tomadas de decisões. Porém esses equipamentos são
caros, e geralmente são aplicados em empresas que apresentam grandes
consumos de energia.
O custo do protótipo desenvolvido está demostrado na Tabela 6,
Tabela 6 – Custo do Protótipo
)����*� � ����&'��������!��� �� �� $�����
��Arduino + SIM900 + XBee + nRF24L01 + SD Card + gravador/adaptador XBee/USB ������� ��
�� ������������������� ������� ������ ��
�� �!"��#��� ���������
�� $������������%�� ��������
�� �#&�����'���'������ �������
�� �#��#� ���������
�� "%������&�#�()���#*�)+� ��������
,��#-�����'�).�������� ����������
,��#-�/�-0'�������)#�������1� ���������
����
��
�����������������
�������������
�
Capítulo 7: Conclusões e Trabalhos Futuros �
Este trabalho teve como motivação a resolução de um problema, que foi
o acompanhamento do consumo da energia elétrica consumida nas
residências. Para isso foi desenvolvido um protótipo de medição de energia
elétrica que informar ao consumidor o valor de sua conta onde quer que você
esteja. Os testes realizados mostraram que o protótipo funcionou conforme
esperado, ou seja, ele media a corrente elétrica através de um sensor de efeito
hall e que enviava os dados para o Arduino, que processava esses dados e os
enviava via SMS pelo Shield GSM/GPRS.
Os testes foram realizados na minha residência, comparando os
resultados enviados pelo protótipo com o medidor eletromecânico, os
resultados obtidos considerando a tensão constante, foi de aproximadamente
de 9,4%. Porém, após uma analise da tensão, verificou-se uma grande
variação durante o dia, analisando esses valores e tirando uma média chegou-
se que a tensão média foi de 202,5V, subtraindo o erro da tensão que foi de
aproximadamente 8%, os resultados obtidos foram satisfatórios, pois
apresentaram um erro final em torno de 1% após a correção da tensão elétrica.
Para reduzir esse erro que foi gerado, teríamos que aumentar o período
em que os testes foram realizados para diminuir a propagação do erro. Outro
fator para reduzir o erro a ser considerado, é a criação de um circuito de
medição para a tensão elétrica com detecção por passagem por zero, a partir
desse circuito teríamos a tensão a cada instante que fosse será aferida a
corrente elétrica. Além disso, poderemos procurar outro dispositivo que tenha
um conversor A/D acima de 10bits, melhorando a resolução dos dados que
serão obtidos pela porta analógica.
Portanto, os testes realizados a partir desse protótipo foram de
fundamental importância para aprofundar os conhecimentos no conceito de
medição de energia elétrica, e aprimorar a ideia do protótipo para chegar a um
produto final, que possa além de medir o consumo a partir somente da corrente
elétrica, incluir a tensão e a defasagem para calcular o fator de potência. Para
efetuar a correção quando necessário.
� ��
��
�����������������
�������������
�
Referencias Bibliográficas �
[1] Ito, Hélio Takashi. Energia Elétrica: Apuração da Qualidade dos Dados de
Consumo, campinas 2003.
[2] Boylestad, Robert L.. INTRODUÇÃO À ANÁLISE DE CIRCUITOS, 10ª
Edição, Pearson, São Paulo 2004.
[3] Paula, Gilberto J.. Medidor De Demanda De Energia Elétrica Residencial
Com Acesso Remoto. Brasília 2013.
[4] M12 - Medidor Monofásico de Energia Ativa. Disponível em:�
2http://pt.scribd.com/doc/15282305/M12-por-6p >, acessado em: 25/05/14.
[5] Fernandes, Paulo G. G.. Medidor Eletrônico de Consumo de e Energia
Elétrica. Rio de Janeiro 2006.
[6] Arduino. Disponível em: <http://arduino.cc/en/Main/ArduinoBoardUno>,
acessado em: 13/05/2014.
[7] McRoberts, Michael. Arduino Básico, Ed. Novatec Ldta, São Paulo 2011.
[8] Robocore. Disponível em:
<https://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=361>
, acessado em: 15/05/2014.
[9] DESTACOM, Introdução ao Arduino. UFMS 2012. Disponível em:
<http://destacom.ufms.br/wiki/Arquivo:Arduino_Destacom.pdf>, acessado
em: 12/05/2013.
[10] Eletroeletrônica e tecnologia da informação. Disponível em:
<http://electronware.blogspot.com.br/2012/08/arduino-01-apresentacao-ger
al.html>, acessado em: 20/05/2014.
[11] Resnick, Halliday. Fundamentos da Física, Vol. 3: Eletromagnetismo 4ª
Edição, Ed. LTC, Rio de Janeiro 2009.
[12] Tipler, Paul A. e Mosca, Gene. Física Para Cientista e Engenheiros Vol2:
Eletricidade e Eletromagnetismo, Óptica 6ª Edição, Ed. LTC, Rio Grande
do Sul, 2009.
[13] Transmissão de dados através de telefonia celular: avaliação de
desempenho de uma conexão de dados utilizando GPRS, disponível em:
<http://www.liberato.com.br/upload/arquivos/0106110920052619.pdf>,
acessado em: 21/05/2014.
����
��
�����������������
�������������
�
[14] Liberalquino, Diego.Desenvolvimento de Plataforma de Comunicação
GSM/GPRS para Sistemas Embarcados, Recife – Pe, 2010.
[15] Oshikiri, FabianoT. M.. Um Dispositivo Localizador Georeferenciado
Utilizando GSM / GPRS / SMS. Vitória – ES, 2008.
[16] ALLEGRO MICROSYSTEMS INC. Disponível em:
<http://www.allegromicro.com/~/media/Files/Datasheets/ACS712-Datasheet
.ashx>, acessado em 13/04/2014.
[17] Abreu, Antonio. ARDUINO – PLATAFORMA ELETRÔNICA
MICROCONTROLADA. Disponível em:
<http://www.ebah.com.br/content/ABAAAfxPIAH/antonio-diego-monografia-
arduino>. Acessado em: 19/05/2014.
[18] SIM908_Hardware Design_V1.00. Disponível em: <http://www.simcom.us/product_detail.php?cid=1&pid=38>, acessado em 19/05/2014
[19] Shield para Arduino. Disponível em:
<https://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=474>
, Acessado em 19/05/2014.
[20] Modulo GPS/GPRS/GSM. Disponível em:
<http://www.dfrobot.com/wiki/inde x.php/GPS/GPRS/GSM_Module_V3.0>,
Acessado em 19/05/2014.
����
��
�����������������
�������������
�
Anexo
#include <Arduino.h>
//Declaração de Variáveis float energia=0; float corrente=0; const float resolucao = 0.0048828125;//Res. do sensor em mV/bitsconst float sensibilidade = 0.066; // Sensibilidade mV/Aunsigned long tempo, t; / / Armazenar o tempoconst unsigned long tempoEnvio = 3600000 ; //Um dia em msbyte gsmDriverPin[3] = {3,4,5}; //Conf. dos pinos do GSMint j;
//Configuração dos dispositivosvoid setup() { for(int i = 0 ; i < 3; i++) { pinMode(gsmDriverPin[i],OUTPUT); } digitalWrite(5,HIGH); //Output GSM Timing delay(1500); digitalWrite(5,LOW); digitalWrite(3,LOW); //habilita o modo GSM digitalWrite(4,HIGH); //Desabilita o modo GPS delay(2000); Serial.begin(9600); //Setar o baud rate Serial.println("Iniciando..."); delay(5000); // Tempo para iniiar o modulo GSM delay(5000); delay(5000); t=millis(); tempo = millis(); j=0; }
void loop() { enviarMsgInicial(energia); corrente=calculoCorrenteEficaz(); energia=calculoEnergia(corrente); receberMsg(energia); enviarMsg(energia); }
float calculoEnergia(float corrente) { t=millis()-t; energia+=220*corrente*t/3600000000; t=millis(); return energia; }
float calculoCorrenteEficaz() {
int matCorrente[501]; float media=0, correntePico=0, correnteEficaz=0;
����
��
�����������������
�������������
� //Amostragem em bits do valor da corrente for(int i=500; i>0; i--) { matCorrente[i] = ((analogRead(A0)-512)); media+=matCorrente[i]; }
//Transformar as amostragem em bits para corrente em Ampere for(int i=500; i>0; i--) { matCorrente[i-1]=((max(matCorrente[i],matCorrente[i-1]))); correntePico=matCorrente[i-1]*resolucao/sensibilidade; } //Verificar se o valor de corrente não é um valor absurdo if (correntePico < (3*media/500)) {
correnteEficaz=(correntePico/sqrt(2)); } else { correnteEficaz=0; } return correnteEficaz; } //Envio de mensagem
void enviarMsgInicial(float informacao) { if (millis()<30000 and j==0) { Serial.println("AT"); //Send AT command delay(2000); Serial.println("AT"); delay(2000); Serial.println("AT+CMGF=1"); delay(1000); Serial.println("AT+CMGS=\"82256678\""); delay(1000);
Serial.println("Ola, A partir desse momento comecara o monitoramento do consumo de Energia.");
Serial.print("Seu consumo inicial em kWh = "); Serial.print(informacao,5); delay(1000); Serial.write(26); } j++; }
void receberMsg(float informacao) { char inchar=0; if(Serial.available()>0) { inchar=Serial.read(); if(inchar != ' ') {
����
��
�����������������
�������������
� Serial.println("AT+CMGR=1"); void enviarMsg(float informacao); } else { delay(50); Serial.println("AT+CMGD=1,4"); delay(500); } } } void enviarMsg(float informacao) { if(millis() - tempo > tempoEnvio) { tempo=millis(); Serial.println("AT"); //Send AT command delay(2000); Serial.println("AT"); delay(2000); Serial.println("AT+CMGF=1"); delay(1000); Serial.println("AT+CMGS=\"82256678\""); delay(1000);
Serial.println("Projeto Medidor de consumo de Energia Eletrica Informa:");
Serial.print("O Seu Consumo de Energia em kWh = "); Serial.print(informacao,5); delay(1000); Serial.write(26); } }