Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
DESENVOLVIMENTO DE UM SISTEMA PARA
AQUISIÇÃO E ARMAZENAMENTO DE DADOS BASEADO
NA PLATAFORMA ARDUINO
Anastaciane Pinto Martins
1º Semestre / 2015
UNIVERSIDADE FEDERAL DO PARÁ
CAMPUS UNIVERSITÁRIO DE TUCURUÍ
TUCURUÍ – PARÁ
UFPA
UNIVERSIDADE FEDERAL DO PARÁ
CAMPUS UNIVERSITÁRIO DE TUCURUÍ
CURSO DE ENGENHARIA ELÉTRICA
ANASTACIANE PINTO MARTINS
DESENVOLVIMENTO DE UM SISTEMA PARA
AQUISIÇÃO E ARMAZENAMENTO DE DADOS BASEADO
NA PLATAFORMA ARDUINO
TUCURUÍ
JANEIRO/2015
TRABALHO SUBMETIDO AO
COLEGIADO DO CURSO DE ENGENHARIA
ELÉTRICA PARA OBTENÇÃO DO GRAU DE
ENGENHEIRO ELETRICISTA ORIENTADO
PELO PROF. JEFFERSON SOUZA.
III
IV
DEDICATÓRIA
Dedico este trabalho aos meus pais e meus irmãos pelo
apoio, carinho, cuidado e confiança a mim dedicado durante
toda minha vida, mas em especial neste período de formação
acadêmica quando foram meu alicerce e inspiração.
V
Agradecimentos
Agradeço primeiramente a Deus por ser meu porto seguro e meu refúgio sempre, por
colocar em minha vida oportunidades de vivenciar momentos bons e ruins que têm me
edificado em sabedoria e fé.
Agradeço aos meus familiares por terem participado ativamente da minha vida me
dando aporte emocional, moral e ético. Especialmente aos meus pais, Rosivaldo Caldas e
Maria do Carmo, pela paciência e dedicação ao me educarem, e aos meus irmãos, Miguel Jr. e
Elciane Martins, por me ajudarem nas situações em que eu mais precisei.
Lembro e sou muito grata aos meus amigos por todos os momentos vividos ao meu
lado durante esses 5 anos de curso e a todos os outros amigos que me acompanham desde
antes da minha vida acadêmica, pois muitas vezes, trouxeram-me leveza e diversão. Em
especial lembro: Pedro Bruno, Alcenir, André, Ivanil, Deivison, Weslei, Wilson, Liel,
Edenize, Daiane S., Juliana, Ádala, Débora, Vanessa, Daiane L., Samara, Jaqueline, Letícia,
Tiano, Ana e Claudiane. E a todos os membros do grupo JOEC.
Por fim, agradeço a todas as pessoas que me auxiliaram na minha formação
profissional, em especial ao Eng. Wladyslaw Szkruc por me motivar e guiar no
desenvolvimento deste trabalho. E ao Professor Jefferson Souza pela orientação na construção
deste trabalho.
VI
Sumário
Capítulo 1 – Introdução .......................................................................................... 13
1.1 Motivação do trabalho .................................................................................... 13
1.2 Justificativa ..................................................................................................... 13
1.3 Objetivos ......................................................................................................... 14
1.4 Apresentação e divisão do trabalho ................................................................ 15
Capítulo 2 - Aquisição de dados ............................................................................ 17
2.1 Sensores e transdutores ................................................................................... 18
2.1.1 Exatidão .................................................................................................... 18
2.1.2 Sensibilidade ............................................................................................. 19
2.1.3 Repetibilidade ........................................................................................... 19
2.1.4 Range (Alcance) ........................................................................................ 19
2.2 Condicionamento do sinal .............................................................................. 20
2.3 Conversor AD ................................................................................................. 21
2.3.1 O Conversor A/D do ATmega328 ............................................................ 22
2.4 Arduino ..................................................................................................... 24
2.4.1 Hardware ................................................................................................... 26
2.4.2 Software .................................................................................................... 30
Capítulo 3 - Arduino datalogger SD ...................................................................... 33
3.1 Hardware Arduino Datalogger SD ................................................................. 33
3.1.1 Requisitos Funcionais ............................................................................... 33
3.1.2 Definição dos componentes do Hardware ................................................ 34
3.1.3 Montagem do Circuito .............................................................................. 39
3.2 Desenvolvimento do Software Arduino datalogger SD ................................. 40
3.2.1 Requisitos Funcionais ............................................................................... 41
3.2.2 Diagrama funcional do protótipo .............................................................. 42
3.2.3 Fluxograma Funcional do Protótipo ......................................................... 43
Capítulo 4 - Discussões e Resultados ..................................................................... 46
4.1 Verificação de desempenho do protótipo ....................................................... 46
VII
4.1.1 Teste com sinais simulados ....................................................................... 46
4.1.2 Recursos computacionais consumidos ...................................................... 49
4.2 Validação do equipamento .............................................................................. 50
4.2.1 Sistema de monitoramento de deslocamento do eixo de hidrogeradores da
UHE-Tucuruí.... ................................................................................................................ 50
4.2.2 Arduino datalogger SD aplicado ao Sistema de monitoramento de
deslocamento do eixo da UGH 23 .................................................................................... 54
Capítulo 5 - Considerações finais........................................................................... 59
5.1 Trabalhos futuros ............................................................................................ 60
Referências Bibliográficas ..................................................................................... 61
VIII
Lista de Figuras
Figura 2-1: Sensor de proximidade capacitivo PCS-202SP da VibrosystM ............................ 20
Figura 2-2: Módulo de linearização (LIN-202SP) do sinal do sensor PCS-202SP .................. 21
Figura 2-4: (esquerda) Arduino Lilypad; (direita) Arduino Uno ............................................. 26
Figura 2-5: Diagrama de blocos da PCB (Printed Circuit Board- Placa de circuito impresso)
do Arduino Uno ........................................................................................................................ 26
Figura 2-6: O Arduino Uno (esquerda) e o Arduino Uno SMD (direita) ................................. 27
Figura 2-6: Conectores de expansão no Arduino Uno ............................................................. 30
Figura 2-7: IDE Arduino sendo executada em Microsoft Windows ........................................ 32
Figura 2-8: Ícones de ferramentas frequentemente usadas ....................................................... 32
Figura 3-1: Microcontrolador Atmega328 embarcado na placa Arduino Uno ........................ 35
Figura 3-2: Shield Ethernet com slot para cartão SD ............................................................... 36
Figura 3-3: Módulo RTC DS1302 equipado com bateria de lítio de 3 V ................................ 37
Figura 3-4: Hardware Arduino datalogger SD ........................................................................ 39
Figura 3-5: Diagrama funcional do hardware sob o ponto de vista dos sistemas que o
compõem .................................................................................................................................. 40
Figura 3-6: Diagrama funcional do hardware detalhando os componentes de cada sistema .. 40
Figura 3-7: Diagrama funcional do Arduino datalogger SD .................................................... 43
Figura 3-8: Fluxograma funcional do Arduino datalogger SD................................................. 45
Figura 4-1: Circuito de testes com potenciômetros .................................................................. 47
Figura 4-2: Captura da tela de visualização da porta serial do equipamento em execução ..... 48
Figura 4-3: Captura da tela de visualização do arquivo de texto gerado no cartão SD ............ 49
Figura 4-4: Unidade Geradora com Turbina Francis. Elementos principais e mancais em
destaque .................................................................................................................................... 51
Figura 4-5: Sensores de proximidade Capacitivo do mancal de escora da UGH- 23 em
Tucuruí ..................................................................................................................................... 52
Figura 4-6: Sensor de proximidade capacitivo do mancal guia da turbina (MGT 0º) ............. 52
Figura 4-7: LIN-202SP - Módulo de linearização do sinal dos sensores do mancal guia do
gerador UGH-23 ....................................................................................................................... 53
Figura 4-8: Módulos do monitor programável PCU100 da UGH-23 ....................................... 53
Figura4-9: Estação de controle - ZOOM .................................................................................. 54
Figura 4-10: Arduino datalogger SD em aquisição .................................................................. 55
IX
Figura 4-11: Arquivo gerado pelo equipamento para o armazenamento dos dados do sistema
de monitoramento ..................................................................................................................... 55
Figura 4-12: Espectro do sinal discreto do deslocamento do eixo para cada sensor de
proximidade .............................................................................................................................. 56
Figura 4-13: Espectro do sinal contínuo do deslocamento do eixo para 30 segundo de análise
.................................................................................................................................................. 57
Figura 4-14: Leitura dos sensores com o Arduino com máquina parada ................................. 57
Figura 4-15: Aferição do calibre de folga entre o sensor MGT 90º e o eixo ........................... 58
Figura 4-16: Espectro do sinal de proximidade entre o eixo e os mancais guia...................... 58
X
Lista de Tabelas
Tabela 3-1: Requisitos funcionais do hardware datalogger SD ............................................... 34
Tabela 3-2: Parâmetros do Arduino Uno .................................................................................. 36
Tabela 3-3: Parâmetros do módulo RTC DS1302 .................................................................... 38
Tabela 3-4: Requisitos funcionais do software ........................................................................ 41
XI
Resumo
Este trabalho buscou desenvolver uma ferramenta para a aquisição e armazenamento de dados
para o sistema de monitoramento do deslocamento do eixo dos hidrogeradores da segunda
casa de força da UHE – Tucuruí. Na usina em questão há um sistema de monitoramento,
nomeadamente VibroSystm, que possui desde os sensores que captam os parâmetros físicos e
os transduzem em um sinal elétrico, até o sistema que converte os sinais analógicos em
digitais e os armazena em seu próprio banco de dados, entretanto, há uma necessidade de que
as informações inerentes aos eixos dos hidrogeradores tenham seu acesso facilitado e que
sejam gravadas com a maior constância possível. Para alcançar os objetivos deste trabalho foi
realizado um estudo sobre sistemas de aquisição de dados e a partir deste decidiu-se utilizar
um sistema microcontrolado baseado na plataforma Arduino. O protótipo construído se utiliza
de um dispositivo de armazenamento de massa (cartão de memória SD) para guardar os dados
importantes para análises posteriores, comunicando-se com a placa principal (Arduino Uno)
por meio de uma placa que adiciona funcionalidades extras à placa principal (Shield).
Ademais, um RTC (real time clock) foi necessário para indicar o instante de casa aquisição.
Este conjunto de dispositivos foi chamado neste trabalho de Arduino Datalogger SD. Ele foi
acoplado ao sistema VibroSystm. Desenvolveu-se tanto o software quanto o hardware
necessários e montou-se o banco de dados com as informações do sistema. Adicionalmente,
foi possível aplicar uma rotina simples para análise dos dados armazenados no cartão SD,
possibilitando ao usuário traçar e visualizar o comportamento do seu sistema.
Palavras-chave: Aquisição de dados, Arduino, RTC, Deslocamento do eixo de
hidrogeradores, Monitoramento contínuo da condição
XII
Abstract
This study aimed to develop a tool for data acquisition and storage system for
monitoring the displacement of the axis of the second HPP hydro power house - Tucuruí. At
the plant in question there is a monitoring system, including VibroSystM, which has since the
sensors that capture the physical parameters and transduce into an electrical signal, to the
system that converts analog signals to digital and stores them in its own database however,
there is a need for information relating to the axes of hydro have their easy access and are
recorded with the greatest possible consistency. To achieve the objectives of this work was
carried out a study of data acquisition systems and from this it was decided to use a
microcontroller system based on the Arduino platform. The built prototype uses a mass
storage device (SD memory card) to store important data for further analysis, communicating
with the main board (Arduino Uno) through a plate that adds extra functionality to the main
board (Shield). In addition, an RTC (real time clock) was necessary to indicate the instant of
home purchase. This set of devices in the datalogger was called Arduino SD work. He was
coupled to VibroSystM system. Developed both the software and the necessary hardware and
set up the database with system information. Additionally, it was possible to apply a simple
routine to analyze the data stored on the SD card, allowing the user to draw and visualize the
behavior of your system.
Keywords: Data acquisition, Arduino, RTC, Shift hydro axis, continuous monitoring
of the condition
13
Capítulo 1 – Introdução
O monitoramento de forma continuada das condições de equipamentos é uma prática
de suma importância no reconhecimento do surgimento de falhas incipientes a eles.
Dependendo da complexidade do sistema de monitoramento ele pode fornecer informações
sobre condição operativa e/ou a evolução da condição da máquina de um estado adequado de
operação continuada até um estado crítico.
Sistemas capazes de traçar a evolução da condição do equipamento são considerados
ideais, porém normalmente são muito complexos e dispendiosos, o que os inviabiliza para a
maioria das aplicações.
A proposta deste trabalho é oferecer uma alternativa simples e de custo
consideravelmente reduzido, que utiliza um sistema microcontrolado de aquisição e
armazenamento full time de dados baseado na plataforma Arduino para a criação de um banco
de dados com informações relevantes para o monitoramento continuado de um sistema real.
Este equipamento confere uma alternativa adequada para o armazenamento dos dados de
monitoramento do sistema de deslocamento do eixo das unidades hidrogeradoras da segunda
casa de força da usina hidrelétrica de Tucuruí. É sugerida ainda, neste trabalho uma rotina de
análise gráfica dos dados obtidos utilizando como ferramenta o software MATLAB, da Math
Works Inc.
1.1 Motivação do trabalho
A filosofia de manutenção CBM (Condition Based Maintenance – Manutenção
Baseada na Condição) baseia-se em dois pilares: monitoramento e análise da condição dos
meios de produção. Muitos dos sistemas de aquisição de dados utilizados no monitoramento
de sistemas e equipamentos industriais fundamentam-se nesta filosofia de manutenção.
O sistema de monitoramento estudado neste trabalho cumpre satisfatoriamente apenas
um dos pilares, pois faz o monitoramento dos dados em tempo integral, no entanto o pilar que
realiza a análise das condições está comprometido, pois o sistema que faz a aquisição dos
dados, necessários para a análise, dificulta a consulta aos mesmos, além de restringir o
armazenamento a períodos pré-definidos e curtos.
1.2 Justificativa
O atual sistema de monitoramento do deslocamento do eixo das unidades
hidrogeradoras da UHE - Tucuruí não possui um sistema de armazenamento de dados
14
adequado para a verificação continuada das condições do sistema. Ele realiza o
armazenamento dos dados monitorados apenas em períodos pré-definidos pelo usuário, não
permitindo a visualização dos dados provenientes de eventos que ocorram durante o intervalo
das aquisições para posterior análise.
Esse fato motivou um estudo, apresentado neste trabalho, a respeito de sistemas de
aquisição de dados e sua implementação, tanto em hardware quanto em software, a fim de
desenvolver uma ferramenta de baixo custo e fácil implementação para solucionar o problema
encontrado com o atual sistema, garantido assim a verificação continuada das suas condições.
Com o estudo realizado concluiu-se que a escolha do Arduino como base para a
construção deste sistema se justifica por representar uma alternativa de baixo custo,
simplicidade de uso, robustez considerável e que admite adequações às necessidades do
sistema no qual será aplicado.
1.3 Objetivos
Este trabalho tem como objetivo geral o desenvolvimento de um sistema capaz de
realizar a aquisição e armazenamento constante de dados de um sistema de monitoramento.
Neste propósito a busca pela plataforma mais apropriada que garanta a simplicidade e uma
boa relação custo benefício do protótipo na realização da tarefa para qual foi designado
também se configura como um objetivo deste trabalho.
Um banco de dados com as informações de monitoramento de um equipamento pode
auxiliar o usuário do mesmo a traçar seu perfil de desempenho, o que pode ajudar na detecção
dos seus principais estados de falha. Por isso o desenvolvimento deste sistema, o qual foi
denominado Arduino datalogger SD, possui como um dos seus objetivos específicos a criação
de uma base de dados com as informações monitoradas pelo sistema ao qual será acoplado.
O banco de dados criado pelo protótipo é arquivado em um documento em formato de
texto com informações numéricas do desempenho do equipamento, então para demonstrar
uma forma dinâmica de visualização das informações do banco de dados, sugere-se neste
trabalho, a utilização de uma rotina como ferramenta para analisar graficamente os dados
obtidos de um sistema real.
No desenvolvimento do protótipo, procurou-se reunir um conjunto de recursos de
software e hardware, que garantissem o armazenamento de informações necessárias para
traçar o desempenho do sistema de deslocamento do eixo de uma unidade hidrogeradora da
segunda casa de força da usina hidrelétrica de Tucuruí. Para isso foi utilizado um sistema
15
constituído de uma plataforma microcontrolada que, ao ser acoplado ao sistema monitorado,
armazena informações de data, hora e proximidade entre o eixo e o sensor utilizado.
1.4 Apresentação e divisão do trabalho
O presente capítulo apresentou a motivação, os objetivos e a justificativa para o
desenvolvimento da ferramenta de aquisição e armazenamento de dados. Ao longo dos
próximos capítulos será apresentado: uma visão geral sobre os sistemas de aquisição dados
baseados em microcontroladores dando ênfase ao Arduino como plataforma microcontrolado
adequada para a aplicação sugerida; o desenvolvimento de um equipamento de aquisição e
armazenamento de dados; os resultados obtidos com a implementação do equipamento em um
sistema de monitoramento real finalizando com as considerações finais do trabalho e as
propostas para trabalhos futuros com o tema, conforme segue:
Capítulo 2: Aquisição de dados
Apresenta uma visão detalhada sobre sistemas de aquisição de dados conceituando os
sistemas do tipo datalogger com seus elementos básicos como: sensores, sistemas de pré-
processamento e condicionamento de sinal, conversor Analógico/digital e o microcontrolador
utilizado, além de um breve histórico da plataforma Arduino descrevendo suas características
construtivas de hardware e software.
Capítulo 3: Arduino datalogger SD
Apresenta o desenvolvimento do protótipo do sistema de aquisição e armazenamento
de dados, apresentando seus aspectos constitutivos: placa Arduino Uno, Shield ethernet + Sd
card e Relógio de tempo real. Apresenta ainda a metodologia utilizada para se chegar a
configuração escolhida para o sistema, por exemplo, um levantamento de requisitos
funcionais para a definição de hardware e das rotinas do software do equipamento.
Capítulo 4: Discussões e resultados
Apresenta os testes de funcionamento e desempenho do protótipo quando aplicado em
um sistema real, neste ponto faz-se uma descrição a respeito do sistema de monitoramento do
deslocamento do eixo de um hidrogerador na usina hidrelétrica de Tucuruí, onde os testes
foram realizados. Neste capítulo sugere-se a utilização de uma rotina implementada com
software MATLAb como ferramenta para analisar graficamente os dados obtidos do teste no
sistema real.
16
Capítulo 5: Considerações finais
Faz uma avaliação do trabalho apresentando a relevância do desenvolvimento e estudo
do tema, as considerações a respeito dos resultados obtidos com os testes do protótipo, além
de propostas sobre trabalhos futuros.
17
Capítulo 2 - Aquisição de dados
De acordo com (BRAGA, 2008) num processo de aquisição de dados obtém-se
informação de algum processo físico através da medição de suas grandezas, que deverão ser
digitalizadas de forma a permitir a aplicação de algum tipo de processamento matemático que
as tornará compatível, para fim de comparação, com grandezas padronizadas. Após esse
procedimento inicial esses dados serão analisados e armazenados. A complementação deste
conceito foi tomada de (PARK & MACKAY, 2003) que diz que a etapa da aquisição dos
dados, pode ser entendida como um processo que irá transformar um fenômeno físico do
mundo real, capturado por um sensor na forma de sinais elétricos, em um formato digital, para
que depois possa ser processado, armazenado e interpretado”. A fase de armazenamento do
sinal obtido pelo sistema de aquisição de dados, a qual é citada em ambas as referências, é o
objetivo fundamental deste trabalho.
As informações periódicas a respeito das condições do sistema monitorado são, em
geral, a parte mais relevante deste sistema quando se pretende avaliar qualitativamente o
equipamento ou processo monitorado. O procedimento de armazenamento dos dados conta
com processos de conversão e registro dos dados em uma memória não volátil, para depois
serem recuperados. O equipamento desse sistema com a finalidade de conversão e
armazenamento é, identificado como datalogger, descrito por (PEREIRA, 2013) como um
dispositivo coletor, conversor e registrador de dados. O datalogger é um equipamento capaz
de ler instrumentos de medição e armazenar essas leituras, desde que os instrumentos
transmitam a informação de alguma forma (analógica ou digital) que possam posteriormente
ser tratadas em um computador.
Sobre a aplicação do datalogger (BADIN JR., 2009) considera útil o uso deste sistema
quando os registros de valores demandam tempo ou são relativamente difíceis de conseguir
manualmente como, por exemplo, temperaturas ao longo do dia ou ano, temperatura de
caldeiras, ou o monitoramento da tensão elétrica de uma determinada rede.
Segundo (PEREIRA, 2013) os elementos básicos de um datalogger são: o sensor, o
meio de conexão do sensor com o conversor de sinal, o conversor de sinal, o hardware e o
software de aquisição de dados. Nas sessões subsequentes deste capítulo serão abordados os
elementos do protótipo de um datalogger desenvolvido neste trabalho.
18
2.1 Sensores e transdutores
Segundo (WILSON, 2005) um sensor representa parte da interface entre o mundo
físico e o mundo dos dispositivos elétricos. Para (PARK & MACKAY, 2003) frequentemente
utiliza-se a expressão “sensor” para outro dispositivo, o transdutor, este por sua vez, é um
dispositivo que converte uma forma de energia ou quantidade física em outra através de um
elemento sensor. Então o transdutor é nomeado como sensor sempre que contém um
“elemento sensor” que responde diretamente à quantidade física a ser medida e faz parte da
instrumentação de um sistema.
Contudo o sensor é o dispositivo sensível a alguma forma de energia do ambiente, que
pode ser: luminosa, cinética, térmica, e outras, e que relaciona a ela informações sobre uma
grandeza que precisa ser medida, como: temperatura, pressão, velocidade, corrente,
aceleração, e outras, e o transdutor é um dispositivo completo que contém um sensor e é
normalmente usado para transformar uma grandeza qualquer, em um sinal elétrico, que pode
ser: um sinal de tensão ou corrente, e que poderá ser facilmente interpretada por um sistema
de controle.
Os sensores são classificados de acordo com a quantidade física que medem
(temperatura, força, entre outras), desta forma é importante escolher o tipo adequado de
sensor para cada aplicação. Entre as características mais importantes a serem consideradas na
escolha de um sensor estão: exatidão, sensibilidade, repetibilidade e range(faixa de trabalho).
2.1.1 Exatidão
O termo exatidão não deve ser utilizado em substituição ao termo precisão. A
precisão de um transdutor descreve quão próxima é uma medição do valor real da variável de
processo que está sendo medido. Ela descreve o erro máximo que pode ser esperado de uma
medida tomada em qualquer ponto dentro da faixa de operação do transdutor (PARK &
MACKAY, 2003). Já a exatidão de uma medida (ou da média de um conjunto de medidas) é a
distância estimada entre a medida e um valor “verdadeiro”, “nominal”, “tomado como
referência”, ou “aceito”, geralmente é expressa como um desvio ou desvio percentual de um
valor conhecido e está associada a fontes sistemáticas (SILVA, 2006). Portanto a precisão
caracteriza o grau de variação do resultado de uma medição, se diferenciando da exatidão que
se refere à conformidade da medição com o valor real.
Segundo o vocabulário internacional de termos fundamentais e gerais de metrologia
(INMETRO, SENAI, 2007) a exatidão é a aptidão de um instrumento para dar respostas
19
próximas a um valor verdadeiro, por isso é geralmente considerada pelos metrologistas como
um conceito qualitativo.
2.1.2 Sensibilidade
Define-se como a quantidade de mudança no sinal de saída de um transdutor para uma
mudança especificada na variável de entrada que está sendo medido (PARK & MACKAY,
2003) ou ainda, sensibilidade é definida em termos da relação entre a entrada de sinal físico e
sinal elétrico de saída. Em geral, é a relação entre uma pequena mudança no sinal elétrico e
uma pequena alteração no sinal físico (WILSON, 2005). Portanto, é a razão entre o sinal de
saída e o sinal de entrada de um sensor. Um equipamento é considerando muito sensível
quando fornece uma variação considerável na saída para uma variação pequena no sinal de
entrada.
2.1.3 Repetibilidade
Se duas ou mais medições são feitas de uma variável de processo no estado idêntico, a
repetibilidade de um transdutor indica o quão perto as medidas repetidas estarão(PARK &
MACKAY, 2003). Esta característica está ligada à precisão do instrumento, pois “a precisão
de uma série de medições é uma medida da concordância entre determinações repetidas e é
usualmente quantificada como o desvio padrão de uma série de medidas”(SILVA, 2006).
Analisando esta característica pode-se obter o erro relativo máximo que o sensor pode
apresentar.
2.1.4 Range (Alcance)
"O range é definido como os valores mensuráveis, mínimo e máximo, de uma variável de
processo, entre os quais são cumpridos os limites definidos de todas as outras características
especificadas do transdutor (ou seja, de sensibilidade, precisão, etc)"(PARK & MACKAY,
2003).
Há um conjunto finito de valores do sinal físico de entrada que pode ser convertido em
sinal elétrico pelo sensor (essa limitação do equipamento pode ser relacionada à tecnologia
empregada), normalmente o fabricante do dispositivo fornece na folha de dados datasheet
essa faixa de valores seguros ao ótimo desempenho do equipamento. A esse conjunto de
valores chama-se “Alcance” ou range e os valores fora dessa faixa podem comprometer a
exatidão da medição(WILSON, 2005)
20
Portanto sendo o sensor a interface entre o mundo real e o mundo digital, para o
sistema de aquisição de dados a preocupação com a suscetibilidade da informação, ligada à
escolha adequada deste dispositivo, está diretamente associada à confiabilidade e à qualidade
dos dados convertidos. Para tanto é importante manter a rigidez quanto aos erros,
proeminentes das características do equipamento, em uma faixa de valores aceitos e previstos.
A Figura 2-1 mostra o PCS-202SP da VibrosystM, um sensor de proximidade
capacitivo sem contato que mede o deslocamento relativo através da monitorização dinâmica
da distância entre a ponta do sensor e a superfície alvo.
2.2 Condicionamento do sinal
O condicionamento de sinais é o termo geralmente utilizado para descrever o pré-
processamento inicial necessário para converter os sinais elétricos recebidos dos transdutores
em sinais que podem ser aceitos pela placa de aquisição de dados ou outras formas de
hardware de aquisição de dados(PARK & MACKAY, 2003).
A escala completa de saída da maioria dos sensores são variações relativamente
pequenas de tensões, correntes ou resistências, e por isso suas saídas devem estar devidamente
condicionadas antes que mais processamento analógico ou digital possa ser feito. Em razão do
exposto a classe dos “circuitos de condicionamento de sinal” (WILSON, 2005) evoluiu.
Portanto no condicionamento do sinal elétrico disponibilizado pelo transdutor é
realizada a sua adequação para garantir que o sinal elétrico que será enviado para o conversor
analógico/digital (próximo bloco do sistema de aquisição de dados) ainda carregue as
características do sinal lido pelo sensor (amplitude, frequência, livre de ruídos adicionais, etc).
Figura 2-1: Sensor de proximidade capacitivo PCS-202SP da VibrosystM
Fonte: (VIBROSYSTM, Inc., 2005)
21
As principais funções realizadas pelo circuito de condicionamento de sinal são: amplificação,
isolação, filtragem, excitação e linearização. O tipo de equipamento condicionador de sinal e
a forma como será interfaceado com o sistema de aquisição de dados (DAQ – Data
Aquisition) dependerá fundamentalmente do tipo e da quantidade de sensores utilizados, da
sua excitação e aterramento, e da distância do sensor até o dispositivo que aquisita, analisa e
armazena os dados captados pelo sensor (PARK & MACKAY, 2003).
Um exemplo de sistema de condicionamento de sinais é o utilizado com o sensor PCS-
202SP da Vibrosystm (Figura 2-2), que inclui um módulo de linearização do sinal do sensor
(LIN-202SP) ligado a um monitor programável (PCU-100).
Figura 2-2: Módulo de linearização (LIN-202SP) do sinal do sensor PCS-202SP
Fonte: (VIBROSYSTM, Inc., 2005)
2.3 Conversor AD
É ampla a utilização de sistemas digitais na indústria seja para supervisão ou para
controle dos processos. Contudo é fato que a grande maioria dos processos e sistemas
industriais é de natureza analógica, ou seja, dependem de uma grandeza física que sofre
variações sobre padrões contínuos no tempo. Já os sistemas digitais, por excelência,
manipulam informação codificada em lógica binária, de forma que toda a instrução que
conseguem compreender e executar deve estar contida dentro de um conjunto de bits.
Portanto o processamento digital de uma informação contida em um sinal analógico só será
possível a partir do momento que este sinal for convertido em um sinal digital. E esta é a
função do conversor Analógico / Digital, ou simplesmente ADC (Analog Digital Converter).
22
Para converter um sinal analógico em digital, o conversor realiza três operações básicas:
amostragem, quantização e codificação do sinal. Amostrar o sinal analógico é considerar a
existência do sinal apenas em instantes específicos de tempo, tornando-o um sinal discreto no
tempo, geralmente o circuito que permite amostrar o sinal é uma simples chave que se fecha
por um curto intervalo de tempo, e devido ao breve tempo em que a chave permanece fechada
o que se obtém na saída do circuito é um sinal em forma de pulsos estreitos, com amplitude
igual ao valor instantâneo do sinal, esses pulsos são denominados Pulsos PAM (Pulsos
Modulados em Amplitude).
Após a amostragem o sinal passa pelo processo de quantização, nesse ponto
segundo(OGATA, 1985) “as amplitudes da variável contínua (pulsos PAM) caindo dentro de
cada intervalo serão equacionadas a um valor único dentro do intervalo. Este valor único é a
aproximação digital para as amplitudes do sinal de entrada analógico”. Ainda segundo
(OGATA, 1985) “A quantização é um processo de aproximação, pois o sinal analógico pode
assumir um número infinito de valores, ao passo que a variedade de diferentes números que
podem ser formados por um conjunto finito de dígitos é limitada”, o que gera o chamado erro
de quantização.
A codificação é a transformação do valor escolhido durante a quantização para
representar o intervalo em um numeral de base binária. O número binário que representará o
valor quantizado dependerá da resolução do ADC, ou seja, da quantidade de bits que ele é
capaz de armazenar para formar um caractere.
2.3.1 O Conversor A/D do ATmega328
De acordo com a folha de dados do ATmega328 (ATMEL, 2009), o microcontrolador
do Arduino possui internamente um conversor AD de aproximações sucessivas de 10 bits de
resolução. O ADC do Arduino Uno, utilizado neste trabalho, possui seis canais de entrada
multiplexados. Como há apenas um ADC neste microcontrolador a conversão é realizada de
forma simples, ou seja, é selecionado um canal por vez para conversão, ao fim de uma
conversão inicia-se a próxima para o canal seguinte. Com 10 bits o ADC tem maior resolução
que o microcontrolador, que tem apenas 8 bits disponíveis, portanto para armazenar o
resultado de cada conversão são necessários dois registradores do microcontrolador, são eles
o ADCH (conversor analógico/digital para byte Alto) e o ADCL(conversor analógico/digital
para byte baixo).
23
A tensão dos sinais de entrada (VIN) do ADC devem ficar entre 0 V e menores do que
a tensão de referência VREF do ADC, tipicamente são usados 5V. Para calcular o valor de
conversão do ADC utiliza-se:
1023
VREF
VINConversãoAD 2.1
2.3.1.1 Modo de operação
O ADC do AVR tem dois modos de operação: conversão simples e conversão
contínua, e serão abordados a seguir.
Modo de conversão simples
Neste modo de conversão o programador tem que dar início a cada conversão ligando
o bit ADSC (AD Start Conversion). Esse bit permanecerá em 1 enquanto a conversão estiver
em processo, e passará para 0 no final da conversão. O canal que se deseja converter, pode ser
selecionado definindo o registrador ADCMux antes de iniciar a conversão. Quando a
conversão for concluída, os resultados serão colocados nos registradores ADCH e ADCL,
então o ADIF (ADC Interrupt Flag) Sinaliza o final de uma conversão e os registradores de
dados são atualizados. Nenhuma outra conversão é iniciada.
Modo de conversão contínua
Com o ADC operando neste modo o programador deve solicitar que ele faça a
primeira conversão utilizando as configurações do registrador ADMUX, e então as próximas
serão iniciadas automaticamente, assim que a precedente for completada.
2.3.1.2 Clock
O Arduino opera com um cristal oscilador que gera um clock de 16 MHz, uma fração
desse clock é o que dará a base de tempo para o conversor AD. Essa fração será obtida pelo
divisor prescaler (pré-escala), utilizando um dos fatores de divisão predefinidos, que podem
ser: 2, 4, 8, 16, 32, 64 ou 128(MARGOLIS, 2012). O prescaler que garante a resolução de 10
bits do conversor AD é 128, pois segundo as recomendações da folha de dados do conversor a
garantia da resolução está condicionada à manutenção da frequência de clock do conversor
numa faixa de 50 kHz a 200 kHz, o que é alcançado com prescaler 128 que gera um clock de
125 kHz para o ADC (ATMEL, 2006).
24
A taxa de amostragem do ADC é proporcional a 9600 amostras por segundo, e é
obtida dividindo-se a frequência de clock pela quantidade de pulsos necessários para realizar
uma conversão normal (13 pulsos).
2.3.1.3 Resolução
Segundo(ATMEL, 2006) recomenda o ADC deve operar com clock máximo de
200KHz para garantir a sua melhor resolução, 10 bits, o que equivale a um valor decimal de 0
a 1023. Sabendo-se que a tensão de referência do Arduino é 5Volts, então a menor variação
de tensão detectável nos pinos de entrada é proporcional à 0.0049 volts ou 4.9 mV, pois
2.4 Arduino
O Arduino é uma plataforma de prototipagem eletrônica que funciona como uma
combinação de hardware e software no mesmo dispositivo. É baseado nos microcontroladores
da família AVR e tem sido a plataforma escolhida por muitos iniciantes nos estudos de
eletrônica e programação de softwares em torno do mundo devido à sua relativa facilidade de
uso e vasta aplicabilidade.
Historicamente o dispositivo recebeu este nome em homenagem ao pub italiano da
cidade de Ivrea no qual se encontravam alguns dos idealizadores do projeto inicial. O nome
faz referência ao Rei Arduino de Ivrea que reinou durante o período de 1002-1014(WHEAT,
2011).
O projeto, por sua vez, surgiu no ano de 2005 a partir do interesse de Massimo Banzi,
professor do Interaction Design Institute of Ivrea (IDII), o qual pretendia ensinar eletrônica e
programação de computadores a seus alunos de design. Portanto o dispositivo e sua respectiva
linguagem de programação foram pensados para iniciantes e/ou recém-chegados no contexto
da tecnologia de programação de softwares. De forma que, esses novos usuários pudessem
aproveitar ao máximo a tecnologia e se familiarizar mais rapidamente ao uso destas
ferramentas optou-se por criar um ambiente de programação de assimilação rápida. Nas
palavras de (MCROBERTS, 2011) “A maior vantagem do Arduino sobre outras plataformas
de desenvolvimento de microcontroladores é a facilidade de sua utilização; pessoas que não
1023min
VREFV AD 2.2
25
são da área técnica podem, rapidamente, aprender o básico e criar seus próprios projetos em
um intervalo de tempo relativamente curto”.
Para (MCROBERTS, 2011) em termos práticos, um Arduino é um pequeno
computador que você pode programar para processar entradas e saídas entre o dispositivo e os
componentes externos conectados a ele. O Arduino é uma plataforma de computação física -
também conhecida como plataforma embarcada - é um sistema que pode interagir com o
ambiente por meio de hardware e software.
Na maioria das vezes o Arduino é apenas visto como dispositivo eletrônico, a placa de
circuito impresso, contudo este é o nome usado para designar todas as atribuições deste
projeto, por exemplo: denomina-se equipe Arduino ao conjunto de idealizadores e
pesquisadores oficiais da plataforma, assim como também recebe o mesmo nome o software
utilizado para controlar a placa. Nas palavras de (WHEAT, 2011) “A placa de entrada e saída
é a parte fisicamente tangível do sistema Arduino, porém tecnicamente falando, o termo
Arduino engloba o hardware, o software, a equipe de desenvolvedores, a filosofia de design e
o espírito corporativo da comunidade de usuários”. Porém para (BANZI, 2011) o Arduino é
composto de duas partes principais: a placa Arduino que corresponde ao hardware, e a IDE
que é o ambiente de software.
Ponderando isso, faz-se conveniente ao estudo do dispositivo dividi-lo em duas partes
essenciais, o hardware e o software. No entanto, há que se destacar inicialmente, um aspecto
importante da classificação destas partes, tanto o hardware como o software desta plataforma
são open-source (de fonte aberta), todos os esquemas de hardware e código-fonte estão
disponíveis gratuitamente sob licenças públicas, o que significa que o usuário tem acesso
irrestrito às informações inerentes ao projeto oficial como, podendo inclusive fazer as
alterações que considerar conveniente para a sua aplicação. Assim o Arduino endossou a
campanha revolucionária pela acessibilidade da tecnologia e “é o movimento de hardware
open-source mais influente do seu tempo” (PEREIRA, 2013). A única restrição imposta é
quanto ao não uso do nome “Arduino”, esse é o nome reservado à placa oficial.
Muitas versões deste dispositivo tem sido implementadas ao longo dos anos, tanto
oficialmente, ou seja, pela equipe Arduino, quanto por outros usuários comuns que veem a
necessidade de adicionar outras funcionalidades ao dispositivo original. Há ainda aqueles
usuários que tem interesses em replicar o projeto original recriando a sua própria placa, por
exemplo. Este trabalho, no entanto, se deterá a qualificar apenas a versões oficialmente
licenciadas do Arduino Uno.
26
2.4.1 Hardware
Para maiores informações consultar o conteúdo abordado no capítulo inicial de
(WHEAT, 2011).
Quando se fala em Arduino pensa-se instantaneamente em uma pequena placa de
circuito impresso azul e aproximadamente retangular, como o Arduino Uno mostrada na
Figura 2-3. No entanto, há também versões com layout bem diferentes, um exemplo é o
Arduino LilyPad (Figura 2-3), desenvolvido pela Sparkfun Eletronics, que é circular e roxo .
Figura 2-3: (esquerda) Arduino Lilypad; (direita) Arduino Uno
Fonte: (WHEAT, 2011)
Fonte de
alimentação
USB porta
Serial
Conectores de expansão
Conectores de expansão
Microcontrolador
Figura 2-4: Diagrama de blocos da PCB (Printed Circuit Board- Placa de circuito
impresso) do Arduino Uno
27
Apesar das particularidades de algumas versões, a placa de entrada e saída (I/O) é
tradicionalmente baseada nos microcontroladores da família AVR ATmega8 e os seus
derivados. Essa placa conta ainda com uma porta serial, um circuito de alimentação,
conectores de expansão e diversos componentes de suporte. Uma representação esquemática
do layout simplificado do Arduino Uno está mostrado no diagrama de blocos da Figura 2-4.
Essas estruturas descritas na Figura 2-4 serão abordadas no decorrer desta seção.
2.4.1.1 A família AVR e o Arduino Uno
A família de microcontroladores utilizada nos Arduinos - AVR 8-bit - possui a
arquitetura AVR1 da ATmel, dois dos membros dessa família são o ATmega328 e o
ATmega2560 utilizados nas versões atuais dos Arduinos Uno e Mega respectivamente.
Dentro de todo dispositivo AVR há um chip de silício que contém os eletrônicos reais que
executam todas as funções dos microcontroladores. Esse chip ou CI(Circuito Integrado) é
encapsulado em um corpo de plástico e conectado aos pinos nas bordas do encapsulamento.
Desde que o Arduino Uno foi anunciado a forma física da versão manteve-se
praticamente a mesma, sofrendo poucas atualizações. Entre as atualizações pode-se citar duas
atualizações no microprocessador que, inicialmente, era o ATmega8 em seguida atualizou
para o ATmega168 e atualmente utiliza o ATmega328, a melhoria está na quantidade de
memória de programa disponível nas versões atuais, o primeiro possuía 8 kB bytes, o segundo
16 kB e o último 32 kB. Outra modificação na placa refere-se ao pino 9 de conexão serial RS
– 232 que foi substituído por uma porta serial virtual. O circuito de alimentação também tem
1 Segundo a Atmel o acrônimo AVR seria uma menção aos nomes dos criadores e o tipo de design da
arquitetura, ou seja, AVR significa “Alf and Vegar’s RISC”.
Figura 2-5: O Arduino Uno (esquerda) e o Arduino Uno SMD (direita)
Fonte: (WHEAT, 2011)
28
passado por refinamentos adicionando, por exemplo, extra proteção de sobretensão e seleção
inteligente de fonte de alimentação.
Durante uma temporada a Atmel passou a produzir uma versão com novo
encapsulamento do ATmega328, ao invés dos chips de 28 pinos de invólucro DIP (Dual
Inline Package – Encapsulamento de Linha Dupla) ela passou a fabricar os SMD’s (Surface
Mounting Device – Dispositivo Montado na superfície). Mais compactos estes últimos
ocupam pouco espaço, porém não podem ser removidos facilmente da placa, diferentemente
dos anteriores de invólucro DIP. Quanto à funcionalidade são idênticos. A Figura 2-5 mostra
os dois dispositivos com invólucros do AVR DIP e SMD.
2.4.1.2 Porta Serial
Ao desenvolver um projeto com o Arduino há comunicação entre o computador e a
placa de E/S (Entrada e Saída) através da porta serial enquanto o programa é escrito,
compilado e enviado para a placa. Durante o desempenho da aplicação criada, a porta serial
pode continuar se comunicando com o PC, mas pode também se comunicar com outro
dispositivo serial, se for o caso, ou seja, durante a aplicação o uso da porta serial é opcional,
de forma que ela pode até mesmo não estar em uso. Nestes casos os pinos RX (Receptor) e
TX (Transmissor) podem ser usados como pinos de aplicação geral nas linhas de entrada e
saída.
Segundo (WHEAT, 2011) há vários tipos de protocolos de comunicação serial. A
porta serial do Arduino é um periférico do tipo USART - Universal Asynchronous /
Synchronous Transmitter / Receiver - e é usado no modo assíncrono e no modo síncrono. No
modo assíncrono ela funciona identicamente à porta serial da maioria dos computadores,
também conhecidas como portas RS-232, nestes casos ela não fornece e nem demanda um
sinal de clock independente, esse método é utilizado para transmitir e receber dados. Já no
modo síncrono a porta serial do Arduino separa e dedica um sinal para transportar a
informação de clock.
2.4.1.3 Fonte de alimentação
A energização da placa do Arduino é oriunda de fonte externa. A função do circuito de
alimentação da placa é apenas de distribuir, regular e filtrar a energia recebida. Este circuito
conta com dispositivos de proteção contra eventos térmicos não autorizados, decorrentes de
possíveis curto-circuito.
Uma característica muito importante das placas modernas do Arduino é a
possibilidade de dispor de múltiplas e diferentes fontes de alimentação conectadas ao mesmo
29
tempo. Estas placas contem um circuito de seleção inteligente de alimentação que seleciona a
tensão mais elevada disponível e o trajeto desta até o regulador de tensão. Há várias formas de
prover a alimentação da placa. A mais simples é conectar o Arduino através do cabo USB à
porta de um computador. O padrão USB permite o fornecimento de até 100mA de corrente a
5V para os dispositivos não enumerados (que, como neste caso, são apenas plugados ao
barramento para absorver a energia que será consumida para energizá-lo).
Outra forma de energizar o Arduino é conectando-o a uma fonte externa e regulada de
5V e um terminal de Neutro a um dos pinos de conexão de expansão disponíveis na placa. É
possível ainda, utilizar uma fonte de alimentação de tensão desregulada, com tensão de
entrada de 7V a 12V e que seja conectada diretamente ao 5V do circuito regulador através de
um conector cilíndrico. Teoricamente a tensão aplicada à entrada poderia ser mais elevada,
podendo chegar aos 20V, por exemplo, porém isso aumentaria as chances de
sobreaquecimento do chip regulador de tensão podendo causar danos permanentes à placa. O
terminal positivo do conector cilíndrico é ligado também ao pino Vin dos conectores de
expansão. O Vin pode ser usado para fornecer energia às Shields (placas de circuitos
adicionais contendo outros dispositivos que acrescentam funcionalidades ao
Arduino(MCROBERTS, 2011)) ou demandar alimentação externa das Shields de volta para a
placa principal.
2.4.1.4 Conectores de Expansão
Para facilitar a conexão do Arduino com outros circuitos adicionais a placa
disponibiliza quatro conjuntos de conectores de expansão, como pode ser visto na Figura 2-6.
Na borda superior da placa há dois conectores, dos quais 14 pinos são enumerados de 0 a 13 e
são os ditos pinos digitais. Os pinos 0 e 1 são, respectivamente, RX e TX da USART. Há
ainda o pino AREF de entrada de referência analógica e um pino GROUND.
Na borda inferior da placa estão os outros dois conectores, um de alimentação que
fornece a conexão com as principais tensões de alimentação, este conector dispõe de um pino
Vin, dois GROUND, um 5V, um 3.3V, um pino de Reset, e um pino IOREF que fornece a
tensão de referência com a qual o microcontrolador opera. O Último conector é o de entradas
analógicas, contendo 6 pinos, que apesar de projetados para trabalhar com sinais analógicos
também podem ser usados como entradas ou saídas digitais.
30
Figura 2-6: Conectores de expansão no Arduino Uno
Fonte: Adaptado de (WHEAT, 2011)
2.4.2 Software
Segundo (WHEAT, 2011) trabalhar com o Arduino quer dizer trabalhar com dois
computadores de uma vez: o microcontrolador do Arduino e o PC com o qual ele trabalha
acoplado.
Ainda sobre o trabalho conjugado do PC com o Arduino, mas com um enfoque no
mundo dos sistemas de desenvolvimento embarcado (WHEAT, 2011) diz que o PC é o
dispositivo “host” (termo técnico do inglês para “anfitrião”, em TI host é qualquer
computador ou dispositivo conectado a uma rede que conta com um número de IP e um nome
definido) que contém o ambiente de programação do Arduino (IDE- Integrated Development
Enviroment) no qual o código é escrito e compilado, e o microcontrolador embarcado é o
dispositivo “target” o qual executará o código enviado (uploaded) a partir da IDE. Esse
processo de desenvolvimento de software é conhecido como Cross-plataform development ou
simplesmente Cross development, nele cada dispositivo possui um software diferente já que a
arquitetura de ambos é diferente.
O Arduino é um computador na sua classificação fundamental, sendo assim toda a sua
utilidade depende de estabelecer sua comunicação com o sistema ao qual ele será aplicado.
Para que ele possa realizar qualquer função é preciso inicialmente “pedir” para que ele a faça,
31
contudo isso só será possível se for utilizada a “linguagem” que ele entende. É bem parecido
com a comunicação oral realizada pelo ser humano, é preciso se fazer entender para que se
possa estabelecer uma “conversa”, então se há dois indivíduos que falem idiomas diferentes é
necessário que um desses conheça o idioma do outro para que possa ser compreendido e se
faça compreender. Com o Arduino isso não é diferente.
2.4.2.1 Linguagem de programação
Sabe-se que a linguagem de programação do software Arduino é baseada na
linguagem C desenvolvida nos laboratórios da Bell no início dos anos 1970 caracterizada por
usar uma sintaxe de linguagem procedural que precisa ser processada por um compilador para
converter um código que esteja em linguagem de alto nível para instruções de máquina
(EVANS, 2011).
No entanto, mesmo proporcionando funcionalidades convenientes às aplicações do
Arduino a linguagem C fugia à proposta fundamental da equipe Arduino que desejava uma
plataforma para usuários iniciante. Para estes usuários C pode ser considerada uma linguagem
demasiadamente elaborada. Devido a este aspecto de C a equipe Arduino desenvolveu a
biblioteca Arduino padrão, que provê funções que tornam a programação da interface do
Arduino bem mais acessível aos seus usuários. Portanto apesar das semelhanças e da herança
das funcionalidades de C a linguagem de programação utilizada para criar código no Arduino
é um dialeto da linguagem C, ao ponto de ter sido apelidada por (EVANS, 2011) como
“Arduino C”.
2.4.2.2 Ambiente de programação (IDE)
Segundo (WHEAT, 2011) uma das principais razões do enorme sucesso e aceitação
pública do Arduino é que o seu software tem suporte multiplataforma, ou seja, o mesmo
software pode ser executado em computadores com sistemas operacionais diferentes
(Microsoft Windows, Apple Mac OS ou Linux) e até tablets e smart phones.
A IDE do Arduino mostrada na Figura 2-7 é o ambiente de desenvolvimento do
código que será executado pela placa. Ela pode ser dividida em três partes: a toolbar no topo,
o código ou a sketch window (janela de rascunho) no centro, e a janela de mensagens na
base(MCROBERTS, 2011).
32
Figura 2-7: IDE Arduino sendo executada em Microsoft Windows
As ferramentas File, Edit, Sketch, Tools e Help do Menu são disponibilizadas ao longo
da barra superior. Há ícones na barra subsequente para as funções de uso mais frequente:
(identificando-os da esquerda para a direita, Ver Figura 2-8) “Verify/Compile”, que verifica se
há erros no código; “Upload”, que carrega a sketch atual para o Arduino; “New”, que abre um
sketch em branco; “Open”, que mostra uma lista de sketches do Sketchbook do usuário para
abrir; “Save” que salva o sketch atual no sketchbook do usuário; e “Serial Monitor”, que exibe
os dados seriais enviados do Arduino.
Figura 2-8: Ícones de ferramentas frequentemente usadas
O ícone “serial monitor” abre uma janela que mostra os dados que o Arduino envia ao
computador. No topo da janela há uma caixa de texto em branco, para digitar o texto a ser
enviado de volta para o Arduino, e um botão Send, para enviar o texto, porém toda essa
operação de receber dados no PC e enviar dados seriais à placa só é possível caso o
programador requisite que isso seja feito no código que foi carregado no Arduino.
33
Capítulo 3 - Arduino datalogger SD
Neste capítulo será apresentada a metodologia aplicada no desenvolvimento de um
sistema microcontrolado baseado na plataforma Arduino para realização de leitura e
armazenamento de dados de sensores que monitoram o deslocamento do eixo de unidades
hidrogeradoras da segunda casa de força da UHE-Tucuruí, descrevendo os métodos, os
materiais e os instrumentos utilizados para realizar cada etapa do trabalho.
O sistema foi nomeado como “Arduino datalogger SD” e seu desenvolvimento foi
decomposto em três etapas principais: a primeira etapa consiste de uma verificação da
viabilidade do desenvolvimento do equipamento e a investigação de métodos adequados a
serem aplicados nas duas próximas etapas. Essa etapa foi realizada a partir de um
levantamento dos requisitos funcionais de hardware e software (listados nas Tabela 3-1 e
Tabela 3-4) estabelecidos a partir da investigação de técnicas e dispositivos utilizados em
sistemas de aquisição e armazenamento de dados baseados em plataformas microcontroladas
e que garantissem: uma curva de aprendizado rápido, possibilidade de construção de
protótipos, e uma boa relação custo benefício.
A segunda etapa consiste em definir e desenvolver a parte física do sistema, essa
etapa é dividida em: definição dos componentes de hardware e montagem do circuito, seu
objetivo é dar ferramentas para que o sistema possa executar sua função ao verificar e cumprir
com os parâmetros de viabilidade estabelecidos na primeira etapa. E na terceira etapa foi
realizado o desenvolvimento do software a ser implementado no microcontrolador do
protótipo.
3.1 Hardware Arduino Datalogger SD
Nesta seção será apresentada a configuração física do equipamento. Serão
especificados os métodos e os componentes utilizados para a construção do hardware,
detalhando os requisitos funcionais, a definição dos componentes e a montagem do circuito.
3.1.1 Requisitos Funcionais
Durante a etapa de projeto do Arduino Datalogger SD foi realizado um levantamento
no campo de estudo e desenvolvimento de sistemas de aquisição de dados microcontrolados a
respeito dos requisitos funcionais (RF) para o desenvolvimento do hardware baseado em sua
aplicação em um sistema real de monitoramento do deslocamento do eixo das unidades
hidrogeradoras da segunda casa de força da UHE-Tucuruí.
34
Os requisitos foram reunidos em uma lista (exposta na Tabela 3-1), entre eles o
requisito RF- 004 que determina que o hardware deverá dispor de uma estrutura que permita o
armazenamento de dados, a finalidade dessa condição é possibilitar a criação de um banco de
dados com as informações obtidas e que possa ser acessado posteriormente, e a escolha pela
utilização de um cartão SD é a melhor opção, pois além de oferecer uma boa relação custo
benefício pode ainda ser encontrado em Shields compatíveis com a plataforma Arduino
escolhida a partir do requisito RF-001.
Tabela 3-1: Requisitos funcionais do hardware datalogger SD
[RF- 001] Sistema microcontrolado Simplificado
O equipamento deve ter uma estrutura de hardware com quantidade mínima de
componentes necessários ao seu funcionamento, a fim de garantir uma estrutura compacta,
facilidade de programação e baixo custo.
[RF- 002] Suporte à conexão de sensores ao equipamento
O equipamento deve conter um conjunto de bornes para facilitar a conexão e fixação
das saídas dos sensores de campo em seu circuito.
[RF- 003] Sistema de obtenção de data e hora
O equipamento deve possuir um relógio de tempo real (RTC- Real Time Clock) para
auxiliar na obtenção de data e horário que informarão ao usuário sobre a datação das
amostras dos sinais dos sensores de campo, permitindo ao usuário localizar no banco de
dados o período de amostragem que desejar analisar.
[RF- 004] Sistema de Armazenamento de dados
O equipamento deve possuir no seu hardware uma estrutura que permita o
armazenamento de dados, em um dispositivo de memória não volátil, de forma que possam
ser acessados a qualquer momento pelo usuário.
3.1.2 Definição dos componentes do Hardware
Para a montagem do circuito do equipamento, em consonância com os requisitos
funcionais, foram selecionados os seguintes componentes. Sendo que a escolha de cada
componente foi realizada com intuito de minimizar custos, otimizar o tempo de construção e
agilizar os testes de desempenho para a prova de conceito do circuito e garantir portabilidade
ao projeto.
35
3.1.2.1 Microcontrolador ATmega328 - Arduino Uno
A utilização de um microcontrolador da família AVR8-bit está diretamente
relacionada com a decisão de usar uma placa Arduino neste trabalho. Usar um Arduino
agregaria comodidades não apenas nas aplicações de hardware como também de software,
pois além de atender os requisitos funcionais de hardware RF-001 e RF-002 (Tabela 3-1) há
ainda a vantagem da simplicidade na programação do microcontrolador, agregadas pela
plataforma Arduino se comparado à utilização de um microcontrolador da família PIC, por
exemplo.
O Arduino Uno foi o modelo escolhido, pois o microcontrolador ATmega328 (Figura
3-1) nele embarcado além de dispor de mais memória de programa que seus predecessores,
também possui uma boa coleção de periféricos internos e que são disponibilizados quase que
em sua totalidade na placa Arduino (dos 28 pinos desse microcontrolador, 23 são utilizados
pelo Arduino uno) e apresenta uma eficiência energética maior. Restrições quanto à
capacidade de processamento de dados do Arduino – considerada em alguns casos como
principal fator para a escolha de outro microcontrolador – não chegariam a representar um
problema para a aplicação aqui sugerida.
Figura 3-1: Microcontrolador Atmega328 embarcado na placa Arduino Uno
Fonte: (ATMEL, 2009)
O AVR ATmega328 é, essencialmente, um computador em um chip, contendo uma
Unidade de Processamento Central (CPU), matrizes de memória, relógios e periféricos em um
mesmo encapsulamento. Esse processador opera em uma faixa de alimentação de 1.8 V a 5.5
V, podendo ser alimentado com uma fonte de 7 a 12 VDC ou uma bateria de 9 V. A faixa de
tensão com que é alimentado incidirá na velocidade de clock. Para operar com taxa de clock
máximo, o Arduino precisa ser alimentado com, pelo menos 4.5 V. A Tabela 3-2 apresenta os
principais parâmetros do Arduino Uno, para mais informações ver(Arduino, 2015).
36
Tabela 3-2: Parâmetros do Arduino Uno
Parâmetro Especificação
Microcontrolador ATmega328
Tensão de alimentação 7 V a 12 V
Pinos de entradas analógicas 6
Velocidade de Clock 16 MHz
SRAM 2k Bytes
Memória flash 32kB dos quais 0,5kB usado para o
bootloader
EEPROM 1kB
3.1.2.2 Shield Ethernet Com Slot para Cartão SD
O dispositivo escolhido para o armazenamento dos dados foi um Cartão SD,
satisfazendo assim o requisito RF-004 (
Tabela 3-1). Há uma variedade de Shields SD disponíveis no mercado compatíveis
com o Arduino, as mais simples apenas fornecem um slot SD Card para conexão direta ao
Arduino. Entretanto, tendo em vista possíveis melhorias para este projeto, optou-se por
utilizar uma shield Ethernet com cartão SD onboard. Esta shield é compatível com Arduino
Uno e mega, e em sua revisão mais recente essa placa expõe a pinagem do Arduino Uno
Revisão 3.
Figura 3-2: Shield Ethernet com slot para cartão SD
Fonte: (Arduino, 2015)
37
A comunicação do Arduino com o cartão de memória onboard é feita através de
barramento SPI (Serial Peripheral Interface - Interface de Periférico Serial), que é ativado
através do pino 4. Como esta shield disponibiliza dois periféricos (o cartão de memória e o
chip W5100 para conexão ethernet) para os casos em que se utilize apenas um deles é
necessário desabilitar o outro. Como no projeto apresentado por este trabalho foi usado
apenas o cartão SD, então o pino que habilita o chip ethernet (pino 10 no Arduino Uno) deve
ser configurado como saída e não deve ser utilizado para outra aplicação.
3.1.2.3 Módulo Relógio de Tempo Real - DS1302
Foi escolhido um RTC (Real Time Clock) para aquisição de dados de tempo, conforme
previsto no requisito RF-003(Tabela 3-1). Esse dispositivo é indicado para projetos em que se
necessita de um calendário e um relógio preciso. Foi utilizado um módulo RTC controlado
pelo chip DS 1302 da Maxim (MAXIM Integrated Products, Inc., 2008), ele disponibiliza
informações de segundos, minutos, horas, dia do mês, mês, dia da semana, e ano com
compensação para ano bissexto até 2100, outras características desse módulo estão dispostas
na Tabela 3-3.
Figura 3-3: Módulo RTC DS1302 equipado com bateria de lítio de 3 V
O módulo RTC visto na Figura 3-3 é composto de um chip DS 1302, um suporte para
bateria com uma célula de lítio de 3 V inclusa e um cristal oscilador de 32.768kHz. A
precisão do relógio é dependente da precisão do cristal utilizado e do casamento de carga
capacitiva do circuito oscilador com a carga capacitiva do cristal, ou seja, o oscilador deve
carregar o cristal com a carga capacitiva correta, de forma que se a carga capacitiva for menor
que a carga para a qual o cristal foi projetado o oscilador é executado rapidamente, porém se
38
essa carga for menor que a carga projetada para o cristal então o oscilador se torna lento.
Erros adicionais também podem ocorrer devido a mudanças de temperatura e por ruído
externo eventualmente captado pelo circuito oscilador (MAXIM Integrated Products, Inc.,
2001). Contudo, para a funcionalidade a que o módulo RTC DS1302 foi utilizado neste
trabalho as ocorrências de erros devidos à imprecisão do cristal não são relevantes, pois as
informações de data e hora são apenas para referência na localização dos dados obtidos dos
sensores de campo ao serem armazenados no cartão de memória, e os erros passíveis de
ocorrência são da ordem de 1 minuto por mês, logo teriam pouca influência na coerência da
informação pretendida.
Tabela 3-3: Parâmetros do módulo RTC DS1302
Parâmetro Especificação
Interface de comunicação Serial a 3 fios
Tensão de alimentação 2.0V a 5.5V
Consumo de energia menos que 300nA à 2.0V
Cristal Oscilador 32.768kHz
RAM 31 Bytes
Suporte de bateria Sim
Formato de hora 12 ou 24 h
Quanto à interface de comunicação, este módulo é bastante versátil e pode ser lido ou
escrito através de três pinos, a saber, um destes é o pino identificado na Figura 3-3 como I/O,
o qual envia e recebe os dados através de um shift register. O pino identificado como SCLK
na Figura 3-3é uma via de Clock que controla o fluxo de dados, já o pino RST habilita ou
não a transmissão e recepção dos mesmos. Os demais pinos mostrados no módulo da Figura
3-3 são de alimentação, sendo que VCC2 é o pino de alimentação primária e VCC1 é o pino de
alimentação de backup, a alimentação de backup é fornecida por uma bateria de lítio de 3 V
alocada na parte posterior da placa, conforme se pode observar na Figura 3-3, que mantêm a
hora e a data na ausência da fonte primária ou quando VCC2 for menor que VCC1 em
0,2V(MAXIM Integrated Products, Inc., 2008).
Para os casos em que é necessário minimizar o uso de portas digitais seria mais
indicado o uso de um RTC cujo barramento de comunicação utilize o protocolo I2C, o
DS1302 utiliza comunicação serial simples 3-wire (a três fios) essa interface utiliza três portas
digitais. Para este trabalho, como há pouca utilização das portas digitais disponíveis no
39
microcontrolador, o DS1302 pode ser utilizado sem prejuízo para as demais funcionalidades
do protótipo desenvolvido neste trabalho.
3.1.3 Montagem do Circuito
A determinação dos componentes do hardware, já explanada anteriormente,
juntamente com a montagem do circuito formam a segunda etapa do projeto para o
desenvolvimento do equipamento Arduino datalogger SD.
Para cumprir com o objetivo desta etapa de projeto e tendo definidos os componentes
do hardware na seção anterior, o circuito montado que representa a parte física do
equipamento ficou configurado conforme mostra a Figura 3-4. Nesta figura a configuração
dos fios na sequência azul, amarelo, azul e verde faz a conexão do Arduino (portas
analógicas) com o sistema de onde os dados serão aquisitados. Já os dados com as
informações de data/hora atualizadas são enviados pelo RTC (localizado mais à esquerda na
imagem) através das portas digitais 2, 3 e 4 do Arduino.
O circuito montado na Figura 3-5 mostra que os componentes que formam o hardware
foram conectados constituindo um sistema principal composto por três sistemas
independentes baseados na funcionalidade de cada componente e vinculados por uma unidade
1- Ponto de conexão dos
sensores de campo com as
portas analógicas do Arduino
2- RTC conectado
às portas
Digitais do Arduino
3- Shield Ethernet+SD Card (na parte superior)
Arduino Uno com ATmega328 embarcado (a baixo da
shield)
Figura 3-4: Hardware Arduino datalogger SD
40
de controle. A Figura 3-5 ilustra um diagrama funcional do hardware sob o aspecto dos
sistemas que o compõem. E a Figura 3-6 detalha o diagrama funcional da Figura 3-5
especificando os componentes vinculados a cada sistema, seguindo um código de cores onde
os componentes em: roxo fazem parte do sistema de armazenamento de dados; laranja fazem
parte do sistema de aquisição de dados e rosa fazem parte do sistema de hora e data.
.
3.2 Desenvolvimento do Software Arduino datalogger SD
Nesta seção será apresentado o processo de desenvolvimento do software a ser
implementado no microcontrolador do protótipo - Arduino datalogger SD. A estruturação do
Sistema de aquisição e Armazenamento de dados
SISTEMA DE
AQUISIÇÃO
DE DADOS
SISTEMA DE ARMAZENAMENTO
DE DADOS
SISTEMA DE
HORA E DATA
Mic
roco
ntr
ola
do
r
Figura 3-5: Diagrama funcional do hardware sob o ponto de vista dos sistemas que o
compõem
Se
nso
res d
e c
am
po
Arduino datalogger SD
Microcontrolador
Entradas
Analógicas
Entradas
Digitais
Módulo RTC
Barramento SPI
Shield Ethernet + SD Card
Figura 3-6: Diagrama funcional do hardware detalhando os componentes de cada
sistema
41
software foi planejada a partir de um levantamento realizado para identificar quais requisitos
funcionais o protótipo deve apresentar para a aplicação em questão neste trabalho. A partir
desse levantamento foi possível construir um diagrama funcional para o protótipo que atende
as necessidades da aplicação.
Tomando o levantamento dos requisitos funcionais e também o diagrama funcional
para o protótipo Arduino datalogger SD, foi possível montar um fluxograma que explica a
lógica com a qual o protótipo deve funcionar. A partir desse fluxograma funcional foi
sintetizado o software, utilizando a IDE do Arduino, com a rotina a ser executada pelo sistema
microcontrolado a qual atende os requisitos funcionais do protótipo.
3.2.1 Requisitos Funcionais
O levantamento dos requisitos funcionais do software teve como objetivo dar suporte à
definição de uma rotina adequada a ser implementada pelo microcontrolador. Nesse
levantamento foi utilizada uma tabela (Tabela 3-4) com o intuito de relacionar os requisitos
funcionais levantados na etapa de projeto auxiliando no desenvolvimento do código enquanto
alista os requisitos funcionais utilizando os seguintes critérios: adequar o software às
exigências da planta onde o protótipo será acoplado, assegurar a portabilidade e a otimização
do código, otimizar o resultado, garantir a comodidade do usuário, ajustar o código às
limitações do hardware e garantir a segurança e a coerência dos dados.
Tabela 3-4: Requisitos funcionais do software
[RF- 001] Dar suporte à leitura de quatro sinais analógicos
O sistema deve estar apto a ler valores fornecidos por sensores analógicos por meio
do seu conversor analógico/digital, pois os sinais dos sensores de campo a serem lidos pelo
Arduino são analógicos, portanto o software deve utilizar os comandos específicos das
bibliotecas da IDE do Arduino para que o microcontrolador possa trabalhar com entradas
analógicas.
[RF- 002] Respeitar o tempo mínimo para cada aquisição de dados dos sensores
Para o sistema onde o datalogger irá atuar o tempo mínimo necessário para cada
leitura dos sensores é 0.180 s, portanto o software deve assegurar que o datalogger registre
esses dados em um tempo igual ou inferior ao mínimo, caso contrário haverá perda de dados.
[RF- 003] Sincronizar a leitura dos sensores com a leitura do RTC
O software deverá marcar a data e a hora de cada leitura dos sensores de campo, essas
informações tornarão possível a referência dos dados dos sensores de campo armazenados no
42
banco de dados criado pelo protótipo no cartão de memória, para isso é necessário
sincronizar os dados de tempo com os valores de tensão obtidos dos sensores de campo.
[RF- 004] Criar arquivo com extensão “.txt” no cartão SD
O sistema deve estar apto a criar um arquivo com extensão “.txt” no cartão SD, neste
arquivo serão armazenados os dados, garantindo com isso a organização e facilidade à
consulta do usuário.
[RF- 005] Gravar dados no Cartão SD
Os dados lidos no decorrer de um período (definido pela capacidade de memória do
cartão SD utilizado no equipamento) pelo protótipo deverão ser gravados no cartão SD para
garantir que as informações monitoradas possam ser catalogadas e acessadas a qualquer
momento conforme a necessidade do usuário.
[RF- 006] Suporte à importação dos dados do cartão SD para o MATLAB
A organização dos dados no arquivo deve garantir sua portabilidade para o
MATLAB. Tendo criado um arquivo de texto para armazenar os dados, deve-se garantir que
eles possam ser adequadamente interpretados e manipulados pelo software MATLAB. Para
este trabalho buscou-se organizar os dados de tempo em uma sequência decrescente do valor
das variáveis (ano, mês, dia, hora, minuto, segundo) separando-as por vírgulas para que ao
importá-las para o MATLAB pudessem ser alocadas cada uma em uma coluna diferente. Já
os dados de tensão dos sensores de campo não necessitam de uma sequência para
organização então apenas foram separados por vírgulas para que o MATLAB os alocasse em
colunas separadas.
[RF- 007] Suporte à visualização, em tempo real, dos dados a serem gravados no
cartão SD.
O sistema deve disponibilizar os dados lidos nas portas analógica e digital através do
barramento serial, para permitir sua visualização em tempo real, evitando assim a retirada
frequente do cartão SD e facilitando o acesso às informações pelo usuário.
3.2.2 Diagrama funcional do protótipo
A fim de possibilitar uma visualização dinâmica das funcionalidades do protótipo a
partir dos elementos que o compõem, foi montado um diagrama funcional do sistema Arduino
datalogger SD (Figura 3-7) dando enfoque à função do software na obtenção dos resultados
baseando-se em seus requisitos funcionais, previamente estabelecidos.
43
O diagrama funcional do protótipo, mostrado na Erro! Fonte de referência não
encontrada., simula os procedimentos que o usuário realizará no caso de uma consulta ao
sistema de monitoramento da sua planta a partir do protótipo desenvolvido nesse trabalho.
Neste diagrama o ícone do Arduino representa o hardware - Arduino datalogger SD -
embarcado com a rotina de programação - software Arduino datalogger SD - de aquisição e
armazenamento dos dados a serem consultados.
A leitura da porta serial do protótipo permite a visualização dos dados em tempo real
e é garantida a partir da conexão do mesmo com um computador que possua a IDE do
Arduino instalada. Porém os dados disponibilizados pela porta serial somente mostram a
condição atual do sistema monitorado, ou seja, se o usuário necessita consultar dados obtidos
pelo protótipo em qualquer momento antes da data atual deverá consultar o banco de dados
armazenado no cartão SD. A segunda opção de consulta dos dados permite uma análise
gráfica dos mesmos a partir da utilização do software MATLAB, conforme foi citado na
tabela dos requisitos funcionais do Software (Tabela 3-4).
PC
Porta Serial Arduino
Cartão SD
Análise dos dados
Arduino datalogger SD
Usuário
Consulta em tempo real
Consulta ao banco de dados
Figura 3-7: Diagrama funcional do Arduino datalogger SD
3.2.3 Fluxograma Funcional do Protótipo
Com base no diagrama funcional (Figura 3-7) e no levantamento dos requisitos de
software (Tabela 3-4), foi desenvolvido um fluxograma funcional (Figura 3-8) que descreve a
lógica de funcionamento do sistema em uma visão macro. Essa ferramenta permite de forma
44
ilustrativa descrever a sequência das atividades realizadas pela rotina programada no
microcontrolador.
Analisando o fluxograma funcional do protótipo (Figura 3-8) percebe-se que a
sequência lógica do funcionamento se inicia no estabelecimento da comunicação entre o
protótipo e o computador através da porta serial. Esta comunicação é que possibilita ao
usuário visualizar em tempo real os dados lidos pelo protótipo.
A próxima ação é a tentativa de inicialização do cartão SD. Neste ponto foi
implementada uma estrutura de decisão que averigua a presença do cartão SD no slot,
constatando a ausência do mesmo é gerada uma mensagem de erro e a rotina é forçada a
finalizar. Porém se sua presença for confirmada a rotina prossegue e dá-se a inicialização do
cartão. Contudo é preciso ter certeza de que o cartão foi inicializado corretamente para
garantir que as informações que estão sendo monitoradas estão sendo armazenadas. Para
tanto, foi adicionada outra estrutura de decisão no sentido de verificar a correta inicialização
do cartão. Se a resposta for negativa, então, novamente é gerada uma mensagem de erro e a
rotina é forçada a finalizar, do contrário será gerada uma mensagem confirmando a
inicialização do cartão.
Com a inicialização correta do cartão SD o sistema poderá coletar os dados a partir das
portas de entrada do hardware. Após coletar os dados, o sistema deverá enviá-los para a porta
serial, o que os tornará disponíveis para visualização em tempo real. Em seguida, deve criar
um arquivo no cartão de memória para armazená-los. Nesse ponto outra ação de identificação
de erro foi considerada, pois caso o usuário esqueça-se de fazer backup do cartão, a memória
ficará cheia e ele deixará de armazenar os dados que ainda estão sendo coletados. Por isso o
código deverá buscar uma confirmação do êxito na criação do arquivo. Se o êxito não for
confirmado, então o sistema gera uma mensagem de erro e força o reinício do laço a partir da
ação de coleta de dados. Caso o êxito seja confirmado, o sistema deverá abrir o arquivo e
armazenar os dados no arquivo criado.
Esta rotina deverá ser repetida em um laço infinito ou até que uma das ações de erro
seja confirmada.
45
Iniciar Comunicação Serial
Iniciar Cartão SD
Criar arquivo .txt no cartão
SIM
NÃOCartão SD
está
presente?
Inicialização
correta? NÃO
Mensagem:
”cartão
inicializado”
Mensagem:
”cartão falhou
ou não está
presente””
INÍCIO
SIM
O arquivo foi criado
com êxito?
Mensagem:
“Erro ao
abrir o
arquivo”
Coletar dados dos sensores e do RTC
Enviar dados para a porta
serial
NÃO
SIMArmazenar os dados
FIM
Figura 3-8: Fluxograma funcional do Arduino datalogger SD
46
Capítulo 4 - Discussões e Resultados
No Capítulo 3 deste trabalho foi apresentada a etapa de desenvolvimento do hardware
e do software para o protótipo Arduino datalogger SD. Neste capítulo serão apresentadas as
principais características funcionais do protótipo obtidas a partir da observação do seu
desempenho durante o conjunto de testes realizados sobre o mesmo. Inicialmente o
equipamento foi testado utilizando sinais disponibilizados por potenciômetros, os quais foram
empregados a fim de disponibilizar sinais de tensão para simular os sinais que são obtidos de
sensores em uma situação real de funcionamento do protótipo. A partir deste teste o
equipamento foi ajustado para corresponder às exigências necessárias ao seu desempenho
satisfatório em um sistema de monitoramento real.
Para avaliar seu desempenho e aplicabilidade o protótipo foi acoplado ao sistema de
monitoramento do deslocamento do eixo de uma unidade hidrogeradora na Usina hidrelétrica
de Tucuruí. Os resultados obtidos durante os testes no sistema de aquisição serão
apresentados neste capítulo. Uma rotina de análise gráfica dos dados obtidos utilizando como
ferramenta o software MATLAB, da Math Works Inc. também será apresentada neste
capítulo.
4.1 Verificação de desempenho do protótipo
4.1.1 Teste com sinais simulados
O equipamento foi montado, conforme explicado no capítulo 3, e o software foi
carregado no microcontrolador para realizar os testes de funcionamento do protótipo. O
objetivo deste teste foi avaliar a forma como o equipamento responde à execução de duas das
suas principais funcionalidades, sendo a primeira a aquisição dos dados recebidos em tempo
real via porta serial; e a segunda o armazenamento dos dados no cartão SD.
Para simular o monitoramento de quatro sinais analógicos, conforme previsto na
Tabela 3-4: Requisitos funcionais do software, foram utilizados quatro potenciômetros de 10
k, que em suas saídas disponibilizam uma faixa de variação de tensão entre 0 e 5 V, que por
sua vez são convertidos pelo ADC embarcado no Arduino em dados digitais com resolução de
10 bits, por isso os dados relativos à tensão dos potenciômetros são mostrados na porta serial
como um conjunto de valores variando entre 0 e 1023.
47
O circuito para os testes foi montado conforme mostra a Figura 4-1, na qual se podem
observar os componentes do hardware, definidos na seção 3.1.2.
4.1.1.1 Resultados da aquisição de sinais
Utilizando a porta serial do Arduino com o protocolo RS - 232 no modo de operação
assíncrono, conforme melhor detalhado no capítulo 2, o protótipo envia