Você está na página 1de 32

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CTG - CENTRO DE TECNOLOGIA E GEOCIÊNCIA

DEPARTAMENTO DE ENGENHARIA MECÂNICA

PROGRAMA LABVIEW E USO DA PLACA NI6001 PARA VERIFICAR O


TEOREMA DE AMOSTRAGEM

MARIA LUIZA DE MELO MOURA

RENATA TENÓRIO TAVARES

THIAGO BUARQUE DE GUSMÃO LAFAYETTE

Recife - PE

1
2019

SUMÁRIO

1. RESUMO 3

2. INTRODUÇÃO 4

3. MATERIAL E MÉTODOS 8

3.1. Cálculos dos espectros de frequência teóricos 8

3.2. Placa NI-USB 6001 11

3.3. Configuração no LABVIEW das tarefas de medição e atualização 12

4. RESULTADOS E DISCUSSÕES 15

4.1. Sinais amostrados no osciloscópio 15

4.2. Amostragem de sinais 16

4.3. Espectros de frequências dos sinais amostrados usando MATLAB 22

5. CONCLUSÕES 26

6. REFERÊNCIAS 27

APÊNDICE I – 30

APÊNDICE II - 32

2
3
1. RESUMO

Cientistas e engenheiros frequentemente utilizam digitalizadores para capturar dados

analógicos no mundo real e convertê-los em sinais digitais, baseados em modelos de

tempo discreto, para análise. O digitalizador é um dispositivo que converte sinais

analógicos em sinais digitais. Um dos digitalizadores mais comuns é o telefone celular,

que converte a voz, um sinal analógico, em sinal digital, para enviá-la a outro telefone.

Entretanto, em aplicações de teste e medição, o digitalizador normalmente é um

osciloscópio ou um multímetro digital (DMM). Com o avanço das tecnologias digitais

(hardware e software), as técnicas de controle digital são bastante utilizadas por mostrar

maior flexibilidade, velocidade e baixo custo. Entretanto, se não forem levados em

consideração a largura de banda, resolução do osciloscópio e a taxa de amostragem,

podem ser perdidas informações no processo de amostragem. Portanto, o período de

amostragem usado para medição deve satisfazer o teorema de amostragem, que

determina a mínima frequência de amostragem a ser utilizada para não perder

informação durante a aquisição. Outros detalhes como erro de quantificação, velocidade

de conversão, faixa de trabalho dos sensores, devem ser levados em consideração no

projeto do sistema de aquisição de dados. Essa prática tem como objetivo comparar os

espectros de frequências dos sinais amostrados com os espectros de frequências

teóricos.

Para a aquisição de dados, foram utilizados a placa NI-USB 6001 (leitura e escrita

de sinais analógicos) e o software LABVIEW (utilização do diagrama de blocos, painel

frontal, paletas de funções e controle execução de loops), ambos da National

Intruments.

4
2. INTRODUÇÃO

Os sensores e transdutores são os elementos que captam variações físicas e

convertem-nas em sinais e impulsos elétricos. Transdutor é um termo específico para

designar alguns tipos de sensores. Os condicionadores de sinais são circuitos eletrônicos

que adaptam sinais analógicos para a conversão digital. Os principais subcomponentes

dos condicionadores são os amplificadores, filtros e isoladores. Através dos

amplificadores, o sinal analógico é amplificado para ajustar-se à faixa de entrada do

conversor A/D, que é o responsável pela leitura dos sinais em tempo contínuo em

instantes de tempo discretos (kT). Quando necessário, o amplificador responsabiliza-se

também pela alimentação dos sensores. Os filtros reduzem os ruídos do sinal analógico,

ou seja, diminuem eventuais interferências que podem ser originadas por diversas

fontes: radiofrequência, rede elétrica, aterramento, dentre outras. Os isoladores, quando

presentes, têm a função de proteger os outros módulos contra eventuais sobrecargas de

tensão e corrente, as quais podem causar danos irreversíveis aos circuitos eletrônicos

digitais.

O programa de Aquisição de Dados é o responsável pelo controle do sistema,

permitindo ao usuário parametrizar, comandar e monitorar o processo de aquisição de

dados. Os programas de aquisição de dados armazenam os sinais captados na forma de

arquivos que podem ser consultados posteriormente. Estes programas possibilitam a

visualização e edição dos dados, bem como a geração de relatórios e outras

documentações impressas. Esses relatórios são usados como ferramentas de tomada de

decisão no benchmarking de produtos e garantir ao consumidor final uma experiência

com qualidade. Como a tecnologia está se movendo em um ritmo rápido, é

indispensável que haja inovação constante para que uma empresa sobreviva e

permaneça competitiva. Os relatórios podem destacar anomalias e ajudar a se

5
aprofundar nos detalhes do porquê uma alteração não aconteceu como prevista, eles

também podem verificar que uma alteração teve um impacto positivo, como uma

melhoria de desempenho na última iteração de um produto.

No experimento realizado no Laboratório de Sistemas Digitais da UFPE, utilizou-se

a placa NI-USB 6001 e o software LABVIEW. O USB-6009, da National Instruments,

oferece funções básicas de aquisição de dados para aplicações como data logging

simples, medições portáteis, e experimentos em laboratórios acadêmicos. O LABVIEW

está associado a um sistema de aquisição de dados (conversores AD, DA, contadores)

denominado DAQ (Data Aquisition). A linguagem utilizada nesse software foi

idealizada para aplicações de controle e interface com equipamentos de medida e

processamento de sinais.

Durante o processo de conversão dos sinais analógicos para a forma digital

podem ocorrer alguns problemas que podem prejudicar a leitura. Um problema muito

comum é a saturação da leitura do sinal. Esse problema ocorre quando a amplitude de

um sinal ultrapassa os limites da faixa de entrada do conversor A/D. Nessa situação o

valor resultante da conversão é o valor que o sinal teria se fosse igual ao limite

ultrapassado, conforme se observa na primeira situação ilustrada a seguir na figura 1.

Por exemplo, se um sinal varia até +6V numa faixa de entrada de -5V a +5V, os trechos

do sinal maiores que +5V seriam convertidos como se o sinal fosse +5V nesse trecho.

Por outro lado, a subtilização da faixa de entrada diminui a resolução com que o sinal

será convertido. Isso ocorre quando, por exemplo, a variação de interesse do sinal é de -

2V a 2V numa faixa de entrada de -10V a +10V. Nesse exemplo, como mostra a figura

1, o sinal será digitalizado com apenas 20% dos níveis do A/D; os outros 80% dos

níveis do A/D ficarão subtilizados.

6
Figura 1- Subtilização da faixa de entrada

Fonte: Panhan, M. A; Dissertação de mestrado (2002).

Amostras de um sinal nem sempre determinam de maneira única o sinal de

tempo contínuo correspondente. Apenas com o conhecimento das amostras de um sinal

não é possível determinar o comportamento do sinal entre as amostras. Uma forma de

minimizar este problema ocorre quando o sinal a ser amostrado apresenta transições

suaves entre as amostras. A taxa com a qual o sinal no domínio do tempo varia está

diretamente relacionada com a frequência máxima presente no sinal. O aumento da taxa

de amostragem (número de capturas por segundo, dado em Hertz, também chamado

frequência de amostragem) aumentaria a quantidade de informação obtida, permitindo

uma melhor representação final do sinal amostrado. O teorema da amostragem

determina a frequência de amostragem a ser utilizada para não perder informação no

processo de amostragem. Ele diz que para capturar um sinal qualquer, a taxa de

amostragem deve ser de pelo menos duas vezes a frequência do sinal requisitado.

Quando isto não ocorre, se diz que ocorreu aliasing (Teorema de Nyquist).

7
O experimento tem como objetivo analisar o peso do período de amostragem no

comportamento de sistemas amostrados, comparando os espectros de frequências dos

sinais amostrados usando MATLAB e os calculados teoricamente.

8
3. MATERIAL E MÉTODOS

3.1. Cálculos dos espectros de frequência teóricos

Primeiramente, utilizando um script em ambiente MATLAB e métodos

apresentados em sala de aula (APÊNDICE I), foram gerados os sinais de cada tipo de

onda a ser amostrada: senoidal, triangular e quadrada. Para simular os sinais que seriam

obtidos no experimento, cada onda recebeu uma amplitude de 2,5 e um deslocamento

para cima no eixo da amplitude. Para proporcionar uma boa visualização, foi utilizada

uma frequência de amostragem de 1000Hz e posteriormente, foi possível gerar os

espectros de frequência. Os gráficos gerados seguem abaixo:

Figura 2 - Sinal Senoidal

9
Figura 3 - Espectro de Frequências da Onda Senoidal

Figura 4 - Sinal Triangular

10
Figura 5 - Espectro de Frequência da Onda Triangular

Figura 6 - Sinal Quadrado

11
Figura 7 - Espectro de Frequência da Onda Quadrada

Uma componente de alta amplitude e frequência nula foi constatada em todos os

espectros de frequência gerados devido ao deslocamento no eixo da amplitude em cada

onda.

3.2. Placa NI-USB 6001

Esta é uma placa de aquisição de dados multifuncional de uso geral com oito

entradas analógicas, duas saídas analógicas, duas portas de entrada e saída digitais (uma

porta de entrada e saída com oito bits e uma porta de entrada e saída com quatro bits) e

contador de trinta e dois bits. A figura 2, abaixo, representa as conexões da placa:

12
Figura 8- Conexões da placa NI-USB 6001

Fonte: User guide National Instruments (www.ni.com/pdf/manuals)

3.3. Configuração no LABVIEW das tarefas de medição e atualização

O LABVIEW (Laboratory Virtual Instrument Engineering Workbench) é o nome

tanto de uma linguagem de programação como do programa que interpreta esta

linguagem. A linguagem foi idealizada para aplicações de controle e interface com

equipamentos de medida e processamento de sinais. A programação é feita utilizando

elementos gráficos (diagrama de blocos) ao invés de linhas de código. A execução de

cada bloco é orientada pelo fluxo de informações. O LABVIEW está associado a um

sistema de aquisição de dados (conversores AD, DA, contadores) denominado DAQ

(Data Aquisition).

O ambiente de trabalho do LABVIEW é composto de duas telas, uma de execução e

outra de interface com o usuário, chamada de painel frontal. Para cada elemento de

13
supervisão, ou acionamento, o programa cria automaticamente botões, mostradores,

traçadores de gráficos e outras formas de instrumentos reais no painel frontal, gerando

um ambiente de instrumentação virtual. Utilizando tal linguagem gráfica é possível

desenvolver instrumentos virtuais (denominados VI´s), específicos para cada aplicação.

A tela de execução mostrada na figura 9 contém o fluxo de atividades do código. A Commented [1]: Verificar se realmente é a fig. 9

inicialização ocorre com as declarações das task (variáveis de comunicação com a

placa) e abertura do arquivo .txt para salvar os valores capturados, indicando o diretório

onde o arquivo será salvo, o nome do arquivo e seu formato, o tipo de permissão da

função (apenas leitura) e o tipo de atividade. A segunda parte consiste em um loop while

que tem como limite de referência um limitador de tempo o qual recebe como parâmetro

a frequência de amostragem digitada pelo usuário da tela de interface.

Os valores lidos pela placa de aquisição são exibidos diretamente em um gráfico

(amplitude x tempo) como também seu valor nominal, através dos blocos Waveform

Chat e Valor de Tensão. O valor medido passa por um limitador que o compara com

Upper Limit e Lower Limit, respectivamente, 5 e 0 V. Esse valor é transferido para a

Task de saída associada a uma porta de saída analógica monitorada com o osciloscópio.

A saída de dados é realizada convertendo o valor numérico da entrada em char e depois

concatenando esse char com “\n” para indicar pular a linha, dessa forma deixando o

arquivo mais fácil de entender, pois cada linha possui apenas um valor numérico

referente a amostragem. Por final há a existência de um botão STOP na tela de interface

para que o usuário possa encerrar as atividades. Com o final do loop while, as rotinas de

leitura e saída da task e a escrita do arquivo são encerradas.

14
Figura 9- Programa LABVIEW para Aquisição

Fonte: Elaborada pelos autores

15
4. RESULTADOS E DISCUSSÕES

4.1. Sinais amostrados no osciloscópio

Após a configuração das tarefas no LABVIEW para a realização das aquisições de

dados, foi possível visualizar através do osciloscópio as ondas amostradas. As imagens

geradas seguem abaixo.

Figura 10 - Sinal Senoidal no Painel do Osciloscópio

Figura 11 -- Sinal Quadrado no Painel do Osciloscópio

16
Figura 12 - Sinal Senoidal no Painel do Osciloscópio

4.2. Amostragem de sinais

Com os dados que foram armazenados durante a execução da rotina desenvolvida no

LABVIEW, para ilustrar a relevância da frequência de amostragem na captação de

informações, cada um dos sinais foi gerado com frequências de amostragem abaixo,

acima e na própria frequência de Nyquist. Para visualizar os dados obtidos os sinais

amostrados, optou-se por plotá-los sobre a curva do sinal contínuo (tópico 3.1).

4.2.1. Sinal Senoidal

A curva senoidal amostrada foi gerada com uma frequência linear de 10 Hz.

Desse modo, optou-se por adquirir seus dados nas frequências de amostragem de 5, 20 e

50 Hz.

17
Figura 13 - Sinal Senoidal Amostrado a 5 Hz

Figura 14 - Sinal Senoidal Amostrado a 20 Hz

18
Figura 15 - Sinal Senoidal Amostrado a 50 Hz

Naturalmente, constata-se que com a frequência amostral abaixo do permitido

pelo Teorema da Amostragem, os dados obtidos sempre perdem informações de pelo

menos uma onda completa. Além disso, com os dados obtidos, não há possibilidade de

reconstruir o sinal com unicidade.

4.2.2. Sinal Triangular

A curva triangular recebeu uma frequência linear de 40 Hz. Portanto, optou-se

por adquirir seus dados nas frequências de amostragem de 20, 80 e 160 Hz.

19
Figura 16 - Sinal Senoidal Amostrado a 20 Hz

Figura 17 - Sinal Senoidal Amostrado a 80 Hz

20
Figura 18 - Sinal Senoidal Amostrado a 160 Hz

Durante a amostragem do sinal triangular com frequência amostral menor do que

a frequência de Nyquist, também há perda de informação de pelo menos uma onda

completa. Outro comportamento observado foi que para esse tipo de onda, a

amostragem aos poucos apresenta certo atraso, o que exigiria um tratamento específico

das informações adquiridas antes da realização da reconstrução do sinal.

4.2.3. Sinal Quadrado

O sinal quadrado foi gerado com uma frequência de 20 Hz. Dessa forma,

decidiu-se amostrá-lo com as frequências de 10, 40 e 80 Hz.

21
Figura 19 - Sinal Senoidal Amostrado a 10 Hz

22
Figura 20 - Sinal Senoidal Amostrado a 40 Hz

23
Figura 21 - Sinal Senoidal Amostrado a 80 Hz

A onda quadrada se comportou de forma semelhante à onda senoidal, de modo

que com a frequência menor do que a permitida pelo Teorema da Amostragem, a

informação de pelo menos uma onda completa foi perdida, mas ao aumentar a

frequência amostral, sua representação se mostrou adequada.

4.3. Espectros de frequências dos sinais amostrados usando MATLAB

Para conclusão da última etapa do trabalho, foram gerados os espectros de

frequência das curvas amostradas, utilizando a aquisição com a maior frequência de

amostragem de cada sinal, de modo a gerar uma visualização mais realista do espectro.

24
Figura 22 - Espectro de Frequência da Onda Senoidal Amostrada

Para a onda senoidal, em relação ao espectro de frequência analítico, é possível

observar grande semelhança e a manifestação de uma amplitude alta na frequência

principal do sinal (10 Hz) o que valida os dados obtidos. A amplitude alta em

frequência nula pode ser sido gerada pelo método numérico utilizado para o cálculo dos

coeficientes de Fourier.

25
Figura 23 - Espectro de Frequência da Onda Triangular Amostrada

Figura 24 - Espectro de Frequência da Onda Quadrada Amostrada

26
Os espectros de frequência das ondas quadrada e triangular apresentam um

comportamento peculiar de não simetria em torno das frequências principais dos sinais

(40 Hz para a onda triangular e 20 Hz para a onda triangular) e certo atraso das

amplitudes em relação à frequência ideal na qual elas ocorrem. Estas duas

características podem ser relativos ao fato de que o sinal não é perfeitamente simétrico e

que normalmente há defasagem entre o sinal contínuo e o sinal amostrado.

27
5. CONCLUSÕES

Como conclusão tem-se que quanto menor o período de amostragem mais

próximo o comportamento do sistema amostrado fica do sistema contínuo. Períodos

de amostragem que não satisfazem o teorema da amostragem geram perda de

informação no sinal amostrado, pois nem com a utilização de filtros é possível a

reconstrução do sinal com unicidade. O período de amostragem tem efeitos sobre a

estabilidade relativa do sistema. Períodos de amostragem desnecessariamente

pequenos aumentam o custo da malha de controle (custo computacional e custo

monetário).

28
6. REFERÊNCIAS

a) OGATA, Katsuhiko et al. Discrete-time control systems. Englewood Cliffs, NJ:


Prentice Hall, 1995;
b) http://www.ni.com/manuals/pt/
c) https://www.mathworks.com/help/matlab/ref/fft.html
d) Slides disponibilizados para a disciplina.

29
APÊNDICE I – Script para plotagem dos espectros analíticos

%% Taxa de amostagem do sinal


fs = 1000;
Ts = 1/fs;
N = 5000;
t = (0:N-1)*Ts;

%% Cálculo dos Sinais


sen = 2.5*sin(2*pi*10*t) + 2.5;
quad = 2.5*square(2*pi*20*t) + 2.5;
tri = 2.5*sawtooth(2*pi*40*t) + 2.5;

%% Plotagem dos Sinais


figure;
plot(t,sen)
axis([0 0.25 -1 6])
title('Onda Senoidal')
grid on

figure;
plot(t,quad)
axis([0 0.25 -1 6])
title('Onda Quadrada')

grid on
figure;
plot(t,tri)
axis([0 0.25 -1 6])
title('Onda Triangular')
grid on

%% Espectros de Frequência

figure
f = fft(sen);
P2 = abs(f/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
plot(f,P1)
title('Espectro de Frequência da Onda Senoidal')
xlabel('Frequência (Hz)')
ylabel('Amplitude do Sinal')
grid on

figure
f = fft(quad);
P2 = abs(f/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
plot(f,P1)
title('Espectro de Frequência da Onda Quadrada')
xlabel('Frequência (Hz)')
ylabel('Amplitude do Sinal')
grid on

figure

30
f = fft(tri);
P2 = abs(f/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
plot(f,P1)
title('Espectro de Frequência da Onda Triangular')
xlabel('Frequência (Hz)')
ylabel('Amplitude do Sinal')
grid on

31
APÊNDICE II - Script para plotagem dos espectros dos sinais amostrados

% Espectros amostrais
formatSpec = '%f';
fileID = fopen('tomada50_sen10.txt','r');
C = fscanf(fileID,formatSpec);
C = C';
C = C(1:200);
fs = 50;
N = 200;
figure;
f = fft(C);
P2 = abs(f/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
plot(f,P1)
xlabel('Tempo (s)')
ylabel('Amplitude do Sinal')
title('Espectro de Frequência da Onda Senoidal Amostrada')
grid on

fileID = fopen('tomada160_tri40.txt','r');
C = fscanf(fileID,formatSpec);
C = C';
C = C(1:200);
fs = 160;
N = 200;

figure;
f = fft(C);
P2 = abs(f/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
plot(f,P1)
xlabel('Tempo (s)')
ylabel('Amplitude do Sinal')
title('Espectro de Frequência da Onda Triangular Amostrada')
grid on

fileID = fopen('tomada80-quad20.txt','r');
C = fscanf(fileID,formatSpec);
C = C';
C = C(1:200);
fs = 80;
N = 200;

figure;
f = fft(C);
P2 = abs(f/N);
P1 = P2(1:N/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = fs*(0:(N/2))/N;
plot(f,P1)
xlabel('Tempo (s)')
ylabel('Amplitude do Sinal')
title('Espectro de Frequência da Onda Quadrada Amostrada')
grid on

32

Você também pode gostar