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 conexão seja bem-sucedida.

Figura 1 Início da comunicação

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.

Figura 2 Cálculos

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 y = 2.2311x - 0.0737
R² = 1
Deslocamento (mm)

6
5
4
Series1
3
Linear (Series1)
2
1
0
0 1 2 3 4
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