Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Iniciação Científica - Utilizando Labview, Notas de estudo de Engenharia Elétrica

Instrução de como utilizar um módulo de aquisição de dados através do Labview

Tipologia: Notas de estudo

2015

Compartilhado em 29/03/2015

fernando-seabra-2
fernando-seabra-2 🇧🇷

5

(1)

2 documentos

1 / 21

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade do Estado do Rio de Janeiro
Faculdade de Engenharia
Departamento de Engenharia Elétrica
Utilização de um módulo de
aquisição de dados através do
LabView
Aluna: Fernando de Amorim Seabra
1 - Introdução:
O aparelho USB-6008 fabricado pela National Instruments é um módulo de
aquisição de dados e pode medir ou gerar sinais, digitais ou analógicos. O módulo
fornece conexão para oito canais de entrada analógica, duas para canais de saída
analógica, doze canais de entrada ou saída digital e um contador de 32 bits com
interface usb de máxima velocidade.
A seguir são mostrados os respectivos terminais de sinal analógico e sinal
digital:
Terminal de sinal analógico:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Pré-visualização parcial do texto

Baixe Iniciação Científica - Utilizando Labview e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Universidade do Estado do Rio de Janeiro

Faculdade de Engenharia

Departamento de Engenharia Elétrica

Utilização de um módulo de

aquisição de dados através do

LabView

Aluna: Fernando de Amorim Seabra

1 - Introdução:

O aparelho USB-6008 fabricado pela National Instruments é um módulo de aquisição de dados e pode medir ou gerar sinais, digitais ou analógicos. O módulo fornece conexão para oito canais de entrada analógica, duas para canais de saída analógica, doze canais de entrada ou saída digital e um contador de 32 bits com interface usb de máxima velocidade.

A seguir são mostrados os respectivos terminais de sinal analógico e sinal digital:

Terminal de sinal analógico:

Figura 1 – Terminal Analógico.

Terminal de sinal digital:

3.1 – Painel Frontal:

O VI apresenta um painel frontal e um diagrama de blocos. O Painel Frontal é a parte do programa que irá interagir com o usuário, que fará a interface com ele.

Figura 3 – Painel Frontal.

Os objetos do painel frontão são adicionados atráves da paleta de controle (Controls Palette):

Figura 4 – Controls Palette.

3.2 – Diagrama de Blocos:

O diagrama de blocos é a parte em que será feita a programação, aonde serão estruturadas funções que serão atribuidas aos objetos do painel frontal e farão a comunicação entre estes objetos.

Figura 5 – Diagrama de blocos.

O diagrama de blocos possui a paleta de funções (Functions Palette) aonde estão listadas todas as funções e formas de comunicação que podem ser realizadas com os objetos do painel frontal.

Figura 6 – Functions Palette.

3.3 – Criando o programa no LabView:

Agora que já foram introduzidos os conceitos básicos do LabView, já é possível criar um VI que possa controlar o módulo USB-6008 da National Instruments. O

Figura 8 – Adicionando uma matriz.

Após adicionadas as duas matrizes, adicione dentro de cada uma delas um led e uma chave (Switch), para isto vá na aba “Modern”, selecione “Boolean” e clique nos botões correspondentes ao led e à chave. Após adicionados no interior de cada matriz, expanda o tamanho da matriz (clique no objeto matriz e arraste a borda para o lado), com isto o número de leds ou chaves em seu interior aumentará conforme a matriz se expande.

Figura 9 – Adicionando o led e a chave.

3.3.2 – Programação no diagrama de blocos:

Agora que o painel frontal já foi montado, falta realizar a programação no diagrama de blocos. Para isto serão adicionados blocos correspondetes às entradas e saídas, analógicas e digitais, que possuirão a configuração das portas utilizadas pelo módulo USB-6008 no projeto.

3.3.2.1 Sinal digital:

Começando pelo sinal digital, cujas respostas de entrada e saídas terão comunicação com as matrizes de led e chaves criados no painel frontal. Para isto será adicionado e configurado no diagrama de blocos um bloco denominado “DAQ Assistant” é através deste bloco que o módulo USB-6008 se comunicará com o computador.

Primeiro será feita a configuração das portas digitais de entrada, correspondentes às posições das chaves no kit lógico e que se comunicarão com a matriz de leds. Para isto, na paleta de funções, vá até a aba “Express”, selecione “Input” e clique no ícone correspondente ao DAQ Assistant. Após adicionado no diagrama de blocos, será exibida uma janela para configuração do DAQ Assistant. Selecione “Acquire Signals”, “Digital Input” e “Line Input”.

Figura 11 – Definindo as portas digitais de entrada.

É necessário que conecte o o bloco DAQ Assistant com o bloco da matriz de chaves, porém antes de efetuar esta conexão, será inserido entre eles um bloco de organização dos componentes da matriz, para adicionar este bloco, acesse a aba “Programming”, na paleta de funções, vá até a seção “Array” e selecione o ícone “Sort 1D Array”.

Figura 12 – Comunicando o DAQ Assistant com a matriz de leds.

A comunicação do módulo USB-6008 com os leds do kit lógico através das portas de saída digitais é feita de forma semelhante às portas de entrada digitais. Após adicionado o DAQ Assistant selecione “Generate Signals”, “Digital Output” e “Line Output”. Assim como na entrada digital, não é necessária nenhuma alteração posterior na configuração destas portas.

Figura 12 – Configurando o DAQ Assistant (saídas digitais).

Neste programa foram selecionadas as portas “port1/line0”, “port1/line1”, “port1/line2” e “port1/line3”.

Figura 15 – Configurando o DAQ Assistant (entradas analógicas).

Após selecionadas as opções “Acquire Signals”,”Analog Input”,”Voltage” será permitido escolher quais portas de entradas analógicas serão utilizadas. Neste projeto foram selecionadas as portas “ai0”, “ai1” e “ai2”.

Figura 16 – Escolhendo as portas analógicas.

Após selecionadas as portas, será exibida uma janela para configuração delas, onde podem ser determinados, por exemplo o valor máximo e mínimo do alcance do sinal, frequência e o número de amostras por leitura. A única alteração necessária será o modo de aquisição (“Acquisition Mode”), o qual será alterado de “N Samples” para “Continuous Samples”, com isto o programa parará de adquirir sinais apenas quando o usuário desejar, ou o limite máximo ou mínimo de tensão for atingido.

Figura 18- While Loop.

Outro ponto importante a ser citado é a necessidade de dividir o sinal analógico adquirido pelo DAQ Assistant em três sinais, um para cada gráfico. Para isto, na paleta de funções, vá à aba “Express”, acesse a opção “Signal Manipulation” e escolha o ícone “Split Signals”, adicione ele dentro do “While Loop” e arraste a borda inferior dele, conforme seu tamanho é expandido, é aumentado o número de sinais de saída. Realize a ligação entre as saídas e os gráficos.

Figura 19 – Split Signals.

O último passo a ser tomado para que o VI funcione corretamente é definir precisamente quantas chaves serão utilizadas no programa. Para isto vá até o painel frontal, e na matriz de chaves use a última chave a direita, clique com o segundo botão do mouse sobre a matriz, e na opção “Data Operations” clique em “Make Current Value Default”, caso contrário o programa acusará um erro ao ser utilizado.

A função ai = analoginput('nidaq','Dev1') comunica a variável ai com o módulo que está nomeado como “Dev1” no software “nidaq” responsável pelo funcionamento do módulo usb com o computador. A função addchannel(ai, 3) define que será usado o canal 3 do módulo associado à variável ai.

Para saber mais sobre o módulo que está sendo usado, como por exemplo suas propriedades configuraveis, basta adicionar o comando set(ai). Outra função de característica semelhante é a get(ai) , porém esta função exibira todas propriedades do módulo e as atuais configurações da variável ai. Como desejamos que a variável ai seja uma variável do tipo de entrada de dados o seguinte comando será usado:

set(ai,'InputType','SingleEnded');

Nesta linha de comando a variável de comando ai será uma variável de entrada de dados e do tipo terminal único, que representa como será a conexão no módulo, neste caso significa que para a aquisição de dados a porta ai3 e o terra( gnd ) do módulo serão usados. Uma outra opção seria utilizar Differential ao invés de SingleEnded , então seriam utilizadas as portas ai3 e ai7 (terminais 11 e 12 respectivamente), como podem ser vistos na figura1.

Para definir a taxa de amostragem e o número de amostras por “execução” serão utilizados os comandos, respectivamente:

ai.SampleRate = 10000; ai.SamplesPerTrigger = 10000;

É importante ressaltar que a taxa de amostragem não pode ser inferior ao número de amostras por “execução”, caso contrário o Matlab acusará um erro nesta linha de comando. Os valor 10000 é o máximo possível no módulo USB-6008.

O próximo passo é determinar a execução da variável ai , logo em seguida será utilizado o comando wait( ) determinando uma espera de dois segundos para a execução do próximo comando. Após a espera de dois segundos uma matriz de dados data receberá todos os dados adquridos pelo módulo, logo em seguida esses dados serão plotados em um gráfico e então será determinado o termino da aquisição e será deletado o vínculo entre a variável ai e o módulo.

start(ai); wait(ai,2); data = getdata(ai); plot(data); stop(ai); delete(ai);

A figura a seguir foi gerada por este script ao adquirir um sinal de um gerador de funções:

Figura 22 – Sinal obtido pelo script.

4.2 – Script para saída analógica:

Assim como o script para entrada analógica, uma variável representará a saída analógica do módulo e fará a comunicação do Matlab com o módulo, de forma análoga ao script anterior, será criada uma variável ao porém designada para saída de sinal:

ao = analogoutput('nidaq','Dev1'); addchannel(ao,1)

O comando addchannel(ao,1) define que será usado o canal 1 de saída do módulo(AO1 - terminal 15) como pode ser visto na figura1.

O próximo passo é determinar a taxa de amostragem, que será a máxima permitida pelo módulo (150), determinar o tipo de execução, no caso será adotada a imediata e o valor da tensão gerada, no exemplo será gerada uma tensão de 2 Volts:

set(ao,'SampleRate',150); set(ao,'TriggerType','Immediate'); putsample(ao,2)

4.3 – Script para entrada digital:

O script para receber sinais de entrada digitais é o mais simples e requer apenas três linhas de comando, assim como os scripts anteriores é necessário criar uma variável que comunique o Matlab com o módulo, esta variável será chamada de dio. Note que com sinais digitais a determinação se a variável servirá como entrada ou saída não ocorre na linha de comando que relaciona a variável com o módulo:

No sinal analógico: