tutorial aquisiÇÃo de sinais usando labview e matlab · autor: breno ebinuma takiuti revisão:...
TRANSCRIPT
Autor: Breno Ebinuma Takiuti
Revisão: Gabriela Alexandra A. Ferreira
Ilha Solteira, Janeiro de 2013.
TUTORIAL: AQUISIÇÃO DE SINAIS USANDO LABVIEW E MATLAB
2
1. Introdução
Um dos instrumentos amplamente utilizados no laboratório de controle e sistemas
inteligentes é a placa de aquisição de dados da National Instruments. Este tutorial tem como
objetivo fornecer instruções básicas acerca da utilização deste instrumento, abrangendo o
processo de instalação até a transferência de dados para o Matlab. Salienta-se de antemão que
este tutorial não apresenta instruções para a criação de VIs (Virtual Instruments) no Labview,
sendo assim necessária a utilização de VIs prontos ou a utilização de outro tutorial
relacionado ao assunto.
Este tutorial não apresenta instruções para a instalação dos softwares necessários para a
realização dos experimentos, portanto para que se possa iniciar o estudo deste tutorial
recomenda-se a instalação dos softwares Labview e Matlab.
Uma recomendação para a melhor compreensão deste tutorial é que o usuário possua um
conhecimento básico a cerca da utilização do Matlab, no entanto este não é um pré-requisito.
AVISO: Somente a leitura deste tutorial não habilita o aluno a realizar os experimentos
por conta própria. Sempre que for realizar um experimento pela primeira vez, deve-se
estar acompanhado de um tutor apto. Lembrando que esta é uma das regras para a
utilização dos laboratórios no departamento, portanto, é essencial que o aluno já tenha
recebido ou lido todas as instruções e regras dos laboratórios do departamento.
3
2. Guia Prático
Esta seção contém um passo-a-passo de todo o processo de aquisição de sinais, iniciando-
se pela instalação do equipamento até a transferência dos dados para o Matlab, onde será
possível avaliar graficamente o sinal adquirido.
Para este tutorial foram utilizados as placas da National presentes no Laboratório de
Controle e Sistemas Inteligentes, são eles os modelos USB-6211 e USB-6251.
2.1. Instalação
Antes de iniciar a instalação da placa de aquisição, deve-se sempre checar se a
voltagem em que o computador ou qualquer equipamento a ser utilizado está ligado à
fonte de tensão adequada. Hoje em dia, a maioria dos equipamentos eletro/eletrônicos são
bivolt, no entanto, grande parte dos equipamentos utilizados nos laboratórios da
engenharia mecânica da FEIS NÃO SÃO bivolt, portanto, exigem uma maior atenção
quando for ligá-los pela primeira vez.
Figura 1 – Ligação da fonte de alimentação.
Para a utilização da placa modelo NI USB-6211 não é necessária a utilização de uma
fonte externa, sendo ela suprida pelo próprio USB. Já no caso do USB-6251 existe essa
necessidade. Assim, ressalta-se novamente o aviso de verificar a tensão da fonte.
Depois de ligada a fonte, conecta-se o cabo USB da placa ao computador que será
utilizado para a realização dos experimentos e que deve detectar automaticamente a placa.
O passo seguinte é verificar se a placa foi efetivamente reconhecida e está
devidamente ligada. Para isso deve-se verificar o acionamento do LED, que encontra-se
ao lado da entrada para o cabo USB (figura 2)
4
Figura 2 – LED de acionamento da placa.
Caso o LED esteja aceso, deve-se verificar o funcionamento da placa utilizando o
aplicativo “Measurement & Automation” que é instalado junto com o Labview e aparece
no desktop após a instalação. A janela aberta deve parecer como mostra a figura 3. Siga
os seguintes passos para a verificação:
1. Em Measurement & Automation expanda a seção “Devices and Interfaces”
presente no lado esquerdo da janela;
2. Procure pelo dispositivo utilizado, que no exemplo é o modelo USB-6211.
Caso o ícone ao lado do dispositivo estiver verde, significa que o dispositivo
foi reconhecido e que está pronto para ser testado;
3. Clique no botão “Self-Test”. O programa irá testar a placa;
4. Uma janela indicando “success” aparecerá caso ela esteja funcionando
corretamente. Caso contrário será necessário resetar a placa.
5
Figura 3 – Measurement & Automation
O procedimento para resetar a placa é a mesma para o caso em que o LED não
acendeu e para o caso em que ocorreu erro no self-test. O procedimento é o seguinte: em
Measurement & Automation selecione a opção “tools” e em seguida “reset configuration
data” (figura 4).
1 1
2
3
4
6
Figura 4 – Resetar a placa.
Verifica-se novamente o acionamento do LED. Caso ele não acenda, deve-se
consultar o responsável para a verificação do funcionamento do equipamento.
2.2. Montagem do experimento real
Para a montagem do experimento recomenda-se a utilização de um protoboard, para
que não seja necessária a constante troca dos fios ligados à placa. O circuito para adquirir
e emitir sinais através de um piezelétrico (PZT) é mostrado na figura 5.
AVISO: Recomenda-se sempre tirar fotos e tomar nota de todos os dados envolvidos na
realização dos experimentos.
7
Figura 5 – Circuito para a aquisição de dados de um PZT.
Como pode ser observado na figura 5, existem três possíveis configurações para a
aquisição de sinais em PZTs:
A primeira é utilizada para a calibração do sistema. Em geral, os VIs possuem a opção
de realizar a calibração, medir utilizando a calibração e medir sem calibrar.
Já segunda é a configuração “Para medir” o qual é utilizado para emitir e ler usando
um único PZT.
Por fim a terceira configuração é para emitir um sinal através de um PZT e ler o sinal
através de outro.
Uma prática comum é unir todos os “terras” em um ponto só. Isso facilita a ligação,
mas não é obrigatório.
8
2.3. Exemplo de aquisição de dados
Como exemplo para este tutorial utilizaremos o VI “Impedance Analyzer 2.0”
presente no computador utilizado para a detecção de danos estruturais na “janela” do
laboratório de materiais e sistemas inteligentes. O VI tem a aparência como mostrada na
figura 6.
Figura 6 – Impedance Analyzer 2.0
O primeiro passo é a calibração do sistema. Para isso sega os seguintes passos:
1. Monte o circuito “Para calibrar” mostrado na figura 5;
2. Selecione “ajustar DAQ” em “Operação”;
3. Ajuste todas as outras opções (frequência inicial, frequência final, amplitude,
etc) de acordo com as necessidades do seu experimento;
4. Clique no botão “run”;
9
Figura 7 – Calibração.
Com isso um arquivo denominado “Calibration.lvm” será criado conforme indicado
em “Calibration File”. Note que em dependendo do VI, não aparecerá nenhum aviso
indicando que o “ajuste” foi completado com sucesso. Isso ocorre no VI usado como
exemplo, portanto, a única forma de identificar que o processo foi terminado é
observando o botão “run” que estará branco enquanto estiver ocioso e passará para preto
quando estiver rodando os testes.
Após a calibração do sistema, basta alterar a opção “Calibration” para “Measuring
with Calibrating Signal”.
Quanto às outras opções o usuário deve configurar conforme o seu experimento,
tomando cuidado para não ajustar o valor da tensão para maior que 10V, de preferência
entre 1 e 5V, para que não ocorra a despolarização do PZT.
Os valores de AO e AI correspondem aos terminais por onde o sinal será emitido
(AO) e recebido (AI) e devem ser ajustados de acordo com a montagem do circuito. No
exemplo presente os terminais utilizados foram o Dev1/ao1 e Dev1/ai1. Caso seja
utilizado mais de um sensor e emissor, deve-se configurar também os valores de AO2,
AO3, etc.
Lembre-se sempre de anotar ou tirar PrintScreen dos valores configurados para
consultas futuras.
Por fim, clique em “run” novamente para iniciar o processo de aquisição.
Os dados adquiridos são salvos como referenciados nas opções “Salvar Dados...”.
10
2.4. Exportar para Matlab
Para exportar para o Matlab utilizaremos novamente o exemplo anterior. Como pode
ser visto na figura 9, os dados foram salvos na pasta “C:\SHM\Imp” e “C:\SHM\Time”.
Procure por estas pastas no Windows explorer. Nessas pastas poderão ser encontrados os
arquivos no formato “.lvm” ou “.dat”, dependendo do VI que for utilizado.
Verifique o nome dos arquivos gerados. Neste exemplo as medidas em frequência
foram nomeadas como “F_1.lvm”. O nome do arquivo pode ser alterado no próprio VI.
Procure utilizar nomes curtos e simples, para facilitar a programação no MatLab.
Figura 9 – Local salvo
Em seguida inicie o Matlab. A janela do Matlab será semelhante à mostrada na figura
7.
11
Figura 10 – Matlab.
No topo da janela existe a opção “Current Directory”. Clique no botão com “...” no
lado direito do endereço. Procure pela pasta onde foram salvos os dados e a selecione.
Na janela chamada “Command Window” digite o comando “load” com o nome do
arquivo de dados entre ‘’.
O exemplo atual fica da seguinte forma:
load 'F_1.lvm'
O comando load transforma o arquivo de dados no formato .lvm em uma variável, que
ficará salva no workspace enquanto o Matlab não for fechado ou até que seja dado o
comando para apagar todas as variáveis (“clear”). O nome desta variável será a mesma
do arquivo, neste caso “F_1”.
Ao se clicar duas vezes sobre a variável uma nova janela será aberta, chamada de
“Variable Editor – <Nome da variável>”. Nesta janela será possível a visualização de
todos os dados contidos nesta variável (figura 8).
O resultado obtido deverá ser semelhante ao mostrado na figura 11.
12
Figura 11 – Variable Editor.
Como pode ser observado na figura 11, a variável F_1 é uma matriz que possui 4
colunas e um número enorme de linhas. Para cada VI as colunas representam um
conjunto de dados diferente. No caso estudado a primeira coluna corresponde as
frequências, a segunda coluna a impedância, a terceira coluna a parte real e a quarta
coluna a parte imaginária.
O objetivo neste caso é interpretar somente os dados das frequências e das
impedâncias, portanto iremos utilizar as colunas 1 e 2. Para facilitar a criação dos
gráficos, iremos passar os valores de frequência para um vetor chamado “f” e os valores
das impedâncias para um vetora “o”. Caso queira utilizar os valores reais e imaginários
também consulte o código em Matlab presente no apêndice A.
Para fazer a transferência para vetores utilizaremos o seguinte comando:
f = F_1(:,1);
o = F_1(:,2);
AVISO: Alguns VIs utilizados no laboratório utilizam vírgula como separador decimal, o
que gera conflito com o Matlab, que dependendo da versão utiliza pontos como separador.
13
O dois pontos neste caso neste caso são utilizados para indicar que queremos pegar a
coluna inteira. Caso o dois pontos fossem colocados após a vírgula e não antes, indicaria
que queremos pegar a linha inteira.
Caso exista alguma dúvida sobre conceitos de vetores e matrizes em Matlab consulte
alguma apostila de matlab básico.
Feito isto, basta gerar o gráfico.
Para isto utilizaremos o comando “plot”. Neste caso iremos gerar um gráfico de
impedância em função da frequência, que ficaria da seguinte forma:
plot (f,o);
Note que o primeiro valor dentro dos parênteses equivale ao eixo x e o valor depois da
vírgula é o eixo y.
O resultado obtido para este caso é mostrado na figura 12.
Figura 12 – Impedância em função da frequência.
Para melhor compreenção da programação em matlab consulte o apêndice A, no qual
é possível verificar o programa em matlab utilizado para este exemplo.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
0
100
200
300
400
500
600
700
800
AVISO: Lembre-se sempre de editar o gráfico antes de colocá-lo em um relatório ou
artigo, colocando o nome dos eixos, unidades e legendas caso haja vários gráficos juntos.
Para melhorar a estética do gráfico recomenda-se aumentar a espessura da linha do gráfico
e o tamanho das letras. Tudo isso pode ser alterado em “Figure Propeties”.
14
3. Referências
Página da National Instruments: www.ni.com
Apêndice A
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% UNESP - Universidade Estatudal Paulista %%% %%% "Júlio de Mesquita Filho" %%% %%% Autor: Breno Ebinuma Takiuti %%% %%% Data: 13/01/2013 %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Limpar tela e variáveis clear; clc;
%% Pré processamento: %% Aquisição de dados do labview
load 'F_1.lvm'; %coloque no lugar de "F_1" o nome do arquivo salvo pelo
VI
%% Tranferência dos dados para vetores
f = F_1(:,1); o = F_1(:,2); r = F_1(:,3); i = F_1(:,4);
%% Gerando os gráficos
figure(1), plot (f,o); figure(2), plot (f,r); figure(3), plot (f,i);