desenvolvimento de um sistema para aquisiÇÃo e armazenamento de … · 2019. 4. 10. · resumo...

62
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

Upload: others

Post on 26-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 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