Você está na página 1de 7

Sistema de aquisição de dados

Um sistema de aquisição de dados é dividido em duas partes: hardware e software. O


hardware é toda a parte física do sistema, sendo o responsável por captar as grandezas físicas
envolvidas no processo, tais como: pressão, temperatura, deslocamento, entre outras a
converte-las em sinais analógicos (tensão ou corrente) através dos sensores. Esses sinais
analógicos são filtrados e condicionados de forma a permitir que o ADC (conversor analógico-
digital) os converta para sinais digitais e o microcontrolador possa envia-los através de uma de
suas portas para o computador. O software é o programa instalado no computador
responsável por ler os sinais digitais recebidos pela porta serial, e assim, permitir que o usuário
manipule esses dados da forma que for conveniente. Dessa forma, é possível, por exemplo,
plotar esses valores em gráficos, realizar operações matemáticas, salva-los, entre outras
formas de manipulação de dados. O usuário pode ainda enviar comandos para a placa em
forma de sinais digitais, que serão convertidos em sinais analógicos, e através de atuadores
poderão exercer ações físicas sobre o processo assim seguindo o caminho inverso da aquisição
de dados.

Hardware

No sistema em questão a parte mais importante do hardware é uma placa de aquisição de


dados chamada Arduino, que é uma placa de prototipagem de código aberto e de baixo custo,
a sua vantagem está em conter todos os elementos necessários para o funcionamento do
microcontrolador dispensando que o usuário tenha um conhecimento avançado em
eletrônica. O Arduino possui 6 portas analógicas, 13 portas digitais, 5 portas PWM, oferece as
vantagens de trabalhar com comunicação USB, presente em qualquer computador moderno, e
possuir uma linguagem de programação intuitiva e fácil entendimento para iniciantes em
programação, chamada de Procesing. Como todo sistema de código aberto há uma
cooperação mundial para o desenvolvimento de componentes compatíveis, por isso estão
disponíveis na internet diversos modelos de chips e placas de circuitos capazes de exercer
praticamente qualquer função, além dos códigos fonte e de todas as instruções para a
fabricação.

Software

O programa de supervisão desse sistema foi desenvolvido com o software LabVIEW da


National Instruments. O LabVIEW utiliza uma linguagem de programação gráfica, onde ao invés
de palavras e símbolos lógicos e matemáticos, das linguagens de programação convencionais,
a programação é feita através de ícones chamados de IV’s ou Sub-IV’s (instrumentos virtuais).
Esses instrumentos virtuais podem exercer funções de simples operadores matemáticos (+, -,
etc.) a instrumentos complexos como osciloscópios ou geradores de gráficos. Os IV’s são
interligados através de linhas (fios) e o fluxo de dados segue esses fios passando da saída de
um IV para a entrada do outro.

O LabVIEW é formado por duas telas distintas: O painel frontal, onde é construída a interface
gráfica (botões, gráficos, entrada e saída de dados, etc.) e o diagrama de blocos, onde é feita a
programação. Após finalizado o programa é possível compila-lo e salva-lo de forma que pode
ser instalado em qualquer computador.

No programa em questão o painel frontal é constituído por três abas: Amostra, Ensaio,
Configurações. Na palheta Amostra o usuário entra com todas as informações da amostra:
dimensões, umidade, massa e massa especifica e o programa calcula os demais índices físicos,
ainda nessa palheta o usuário entra com as pressões desejadas em cada estágio e o programa
retorna os valores de carga que deve ser aplicada em cada estágio, já considerando a área da
amostra e o braço de alavanca da prensa. Na aba Ensaio encontra-se: os botões para iniciar e
parar o ensaio, um botão para zerar a leitura do transdutor, um indicador para mostrar o valor
lido no transdutor, um indicador para mostrar o tempo decorrido desde o início do ensaio, um
gráfico: Altura do CP X Raiz do tempo e um gráfico: Altura do CP X Log do tempo, nesses
gráficos são plotados os valores lidos nos transdutores em intervalos de tempo específicos. Na
aba Configurações o usuário deve entrar com a constante de calibração do transdutor, o
caminho do arquivo que será salvo os valores lidos e escolher a porta serial do computador
que irá se comunicar com a placa de aquisição.

Para facilitar a explicação do diagrama de blocos ele foi dividido em 6 partes:

 Início da Comunicação
 Cálculos de índices físicos e cargas
 Calibração
 Zerar leituras do transdutor
 Controle de intervalos de plotagens
 Traçado de gráficos e exportação dos valores plotados
 Fim da comunicação

Início da comunicação

A primeira parte do programa é a responsável por iniciar a comunicação do programa com a


placa de aquisição, para isso é utilizado um IV que já exerce essa função sendo necessário
apenas definir: o driver utilizado (VISA), a placa utilizada (Arduino UNO) e o tipo de
comunicação entre a placa e o computador (USB/Serial). Esses VI também tem a função de
verificar a conexão do sistema, sendo que o programa só continua a ser executado caso a

Figura 1 Início da comunicação


conexão seja bem-sucedida.

Cálculos dos índices físicos e cargas

Após a verificação da conexão o programa entra em um loop infinito que só é interrompido


quando clica no botão “Parar” do painel frontal, a cada volta do loop o programa verifica se o
botão “Iniciar” do painel frontal está acionado, caso positivo entra no próximo loop, caso
negativo continua no mesmo loop inicial. A cada volta do loop inicial o programa calcula os
índices físicos através de um IV chamado “formula node”, nesse IV os cálculos são executados
utilizando a linguagem de programação “C”, isso foi feito para aumentar a velocidade de
processamento.

Na aba “Umidade” o usuário entra com os valores obtidos no ensaio de umidade e o programa
calcula e retorna os valores das umidades individuais e a média das três determinações.

Na aba “Dados da Amostra” o usuário entra com os valores: altura, diâmetro, massa e massa

específica da amostra e o programa calcula e retorna: área, volume, massa específica, massa
específica seca e com os valores de umidade já calculados na aba anterior é possível calcular
grau de saturação e índice de vazios inicial.

Essa parte do programa também é a responsável por calcula as cargas que devem ser aplicadas
em cada estágio de carregamento, basta o usuário inserir as pressões, as cargas já são
calculadas levando em consideração a área já calculada e o efeito de multiplicação do braço de
alavanca da prensa (x10).

Caso o botão iniciar seja acionado os valores calculado nesse loop não serão modificados pois
o programa entrará no próximo loop.

Calibração
Quando o programa entra no segundo loop é utilizado um IV para definir a porta analógica da
placa que será utilizada (foi definida a porta 0), esse IV fornece em uma de suas saídas o valor
numérico referente ao valor em tensão lido por essa porta, esse valor numérico ao ser
multiplicado pela constante de calibração fornece o valor da grandeza física que o sensor está
lendo nesse instante.

Esta constante de calibração é obtida através da determinação do parâmetro “a” de uma reta
de equação: y=ax+b, obtida através de uma regressão linear dos pontos de um gráfico
semelhante ao da Figura 3 onde são inseridos os valores de deslocamentos impostos ao sensor
no eixo y e os respectivos valores de tensão retornados pelo sensor no eixo x

Calibração Transdutor de Deslocamento


8
7
6
Deslocamento (mm)

5
4 f(x) = 0.58 x − 1.85
R² = 0.71 Linear ()
3
2
1
0
0 2 4 6 8 10 12
Tensão (volts)

Figura 3 Gráfico da calibração

A constante de calibração do transdutor do gráfico da Figura 3 é: 2,2311

Figura 4 Calibração

Zerar leituras do transdutor

Ainda no segundo loop, após a calibração dos valores lidos pelo sensor o que se tem são
valores referentes a cada posição do sensor, mas para esse ensaio são necessários valores de
deslocamento tomando como referência uma posição específica do sensor. Após a montagem
do ensaio o sensor estará em uma posição que deve ser tomada como referência, para isso há
um pequeno loop que no instante que é acionado o botão “Zerar” salva o valor referente a
essa posição numa variável chamada “Ref”, ao soltar o botão o loop é encerrado, continuando
a execução do segundo loop mas o valor da referência já está salvo. Ao subtrair o valor lido no
sensor nos próximos instantes do valor da variável “Ref” o valor retornado será zero, pois o
sensor ainda se encontra na mesma posição. Ao mudar a posição do sensor o novo valor será
subtraído do valor da variável “Ref” que retornará o valor do deslocamento em relação à
posição inicial, foi inserido uma função modulo para que o valor de deslocamento seja sempre
positivo independentemente do lado que o sensor seja acionado.

Figura 5 zerar leitura do transdutor

O objetivo desse programa é registrar a altura da amostra durante o decorrer do ensaio, para
isto é utilizado o valor da variável “Altura da amostra”, que foi definido pelo usuário na aba
“Dados da amostra”, e subtrai-se o valor do deslocamento do sensor nesse instante, o
resultado dessa operação é o valor da altura da amostra nesse instante, essa operação não
modifica o valor salvo na variável “Altura da amostra”.

Controle dos intervalos de leitura

Para evitar a presença de dois operadores, um para colocar a carga e o outro para iniciar o
ensaio ao mesmo instante foi inserida uma função “>” (maior que:), o que faz com que o
ensaio inicie efetivamente apenas quando o valor do deslocamento do sensor superar um
valor pré-estabelecido.

O programa fará a leitura do sensor a cada 100ms, mas os valores lidos só serão plotados em
intervalos definidos pela norma que rege o ensaio que são: 7,5s; 15s; 30s; 1min; 2min; 4min;
8min; 15min; 30min; 1h; 2h; 4h; 8h e 24h. Para esse controle foram inseridas constantes
referentes a cada intervalo de leitura e um comparador “ou” que compara o valor do contador
de iterações do segundo loop com as constantes inseridas. Como o segundo loop dá uma volta
a cada 100ms, a cada 100ms o contador de iterações soma uma unidade ao seu valor. Por
exemplo: ao passar 7,5 segundos o contador de iterações registrará o valor “75” (75 voltas do
loop) ao ser comparado com as constantes o comparador retornará um valor verdadeiro, pois
há uma constante 75.
Figura 6 Constantes de controle e comparadores "ou"

Plotagem dos gráficos e exportação dos valores plotados

Sempre que o contador de iterações registrar um valor que esteja entre as constantes significa
que deve ser plotado o valor lido no sensor nesse instante, então o programa entra no loop
que contém os IV’s geradores de gráfico e os IV’s responsáveis por exportar e salvar os valores
plotados. Este loop dá apenas uma volta, plotando apenas um valor.

Figura 7 IV's responsáveis por gerar os gráficos e exportar e salvar os valores plotados
Os valores plotado são exportados para o formato .txt, o valor de cada leitura é acompanhado
da data, hora e tempo decorrido desde o início do ensaio.

Figura 8 Valores exportados

Fim da comunicação

Quando o botão “Parar” é acionado todos os loops são interrompidos e é acionado o IV


responsável por finalizar a comunicação e liberar a porta serial do computador, se a
comunicação for interrompida sem a execução desse IV a porta serial do computador ficará
ocupada mesmo não havendo comunicação com a placa de aquisição e será necessário
reiniciar o computador.

Figura 9 IV responsável por finalizar a comunicação

Você também pode gostar