NT01_AquisicaoDados_Lab245

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 10

N T- 0 1 : A Q U I S I Ç Ã O D E D A D O S

L A B O R AT Ó R I O D E C O N T R O L E - 2 4 5

PLACAS DE AQUISICAO DE DADOS

1. PCI6221- National Instrumets

A placa de aquisição da National Instrumets família NI 6221 apresenta as seguintes características:


barramentos PCI e PXI, 16 entradas analógicas: podendo ser utilizadas no modo diferencial (8 entradas
analógicas diferencial - tensão de modo comum) ou single (16 entradas), conversor A/D Multiplexado
resolução de 16 bits, 2 canais de saída analógicos com resolução de 16 bits, máxima taxa de saída de
833(KS/s), - tensão de saída de +
−10V, 24 canais de entrada e saída digitais, clock de 1MHz.

National Semiconductor PCI6221

As estão instaladas internamente a CPU e a conexão é realizada por meio do Conector CB68LP:

1/10
Referência: Application Note AN25

2/10
1. AQUISIÇÃO DE DADOS EM TEMPO REAL COM LABVIEW

Abrir o Labview

Criar novo VI > File New VI

No diagrama de blocos

1) Criar um loop de simulação e Controle

1a) Criar o loop

Functions > Control & Simulation > Simulation >

Control & Simulaton Loop

1b) Configurar o loop

Inicial Time: 0 Final Time: inf

ODE Solver: Range-Kutta 4

Step Size: 0,005 (este valor é apenas uma referência; escolha-o adequadamente!)

Signal Collection: Decimation:0

2) Inserir um DAQ Assist no diagrama de blocos

Functions > Express > Input > DAQ Assist

Configurar o DAQ (Clicar no bloco)

2a) Create New Express Task

Acquire Signals > Analog Input > Voltage > Dev1(PCI-6621) > ai0

2b) Configuration

Voltage: Max =10 Min=-10 Volts

Terminal Configuration: Differential

Custom Scale: No scale

Aquisition Mode: 1 Sample (On Demand)

Use (Add, +) para adicionar canais com o mesmo DAQ.

2c) Para gerar sinais a partir do kit, use um novo DAQ com a modalidade “Generate Signals”.

3/10
Obs.: Quando pertinente, adicione o bloco “Saturation” logo antes do DAQ (D/A) e fixe as saídas de
tensão em ±10 V.

3) Inserir Transfer Function

Functions > Control & Simulation > Simulation > Continuous Linear Systems

Transfer Function

SISO, Direct, Terminal (se quiser usar o Mathscript)

ou Configuration Dialog Box (se quiser configurar os polinômios em ordem crescente)

4) Inserir o Mathscript (opcional)

Programming > Structures > Mathscript Node

5) Inserir gráfico para visualização dos sinais

Ainda no Diagrama de Blocos

Functions > Control & Simulation > SimTimeWaveform

Obs.: Caso queira visualizar mais de um sinal no gráfico construa um Array

Array > Build Array

No Painel Frontal

6) Configurar eixos

Acesse o campo de propriedades do gráfico e mude as escalas de eixo x e y. Escolha também o número de
casas decimais.

7) Exportar dados para Excel

Selecione a área gráfica, com botão direito selecione exportar para Excel ou

Export Data to Clipboard e colar na LibreOffice


Obs.: Caso seja necessário, aumente o buffer de dados a ser salvo clicando com o botão direito do mouse
no gráfico e alterando uma indicação de valor binário.

4/10
2. A Q U I S I Ç Ã O D E D A D O S E M T E M P O R E A L C O M M AT L A B

Filosofia dos Programas: - Fluxo de Instruções (Editor de texto e.g., .m)

Orientado a eventos (Windows)

Fluxo de Dados (Labview, simulink, Spark)

Simulink : Programação Fluxo de Dados

Procedimentos:

- Iniciar com Exemplo Demo Real Time Controller (Problemas com Diretiva de compilação)

Help – Examples: Real-Time Controller

Open this model

Save as

- Obs.: use “short names ”

Configurações / Options / BUILD / Linguagem C/C++

5/10
Bloco Entrada/ Saída Analógica

Seleção da Placa / Tempo de Amostragem / Canal / Sinal de Saída

Inserindo Novos Blocos

6/10
7/10
3. A Q U I S I Ç Ã O D E D A D O S C O M D A Q D O M AT L A B

Exemplo:
clear all
close all
clc

% Iniciando uma seção


daq.getDevices
ni = daq.getDevices;
s = daq.createSession('ni')

% Definindo canais de entrada e Saida


s.addAnalogInputChannel('Dev1', 'ai0', 'Voltage');
%s.addAnalogOutputChannel('Dev1', 'ao0', 'Voltage');

% Definindo a taxa e tempo de execução


rate = 1e3;
s.Rate = rate;
s.DurationInSeconds = 10;

%Executando a aquisição
data = s.startForeground();

% Plotando os dados
plot(data)

% Compensando os Sinais
% Vetor de Entrada
u=data;
% Vetor de Tempo
t=(1/rate)*(0:length(data)-1);

% Definindo a Função de Transferência do Compensador


Gc=tf(Num,Den);
y=lsim(Gc,u,t);
output =y;

% Gerando a fila de dados e timestamps para a saída


queueOutputData(s,output);
[data, timestamps, triggerTime] = startForeground(s);

% Plotando a saida
plot(timestamps, data);
xlabel('Tempo'); ylabel('Saída');

Exemplos de Referências:

https://www.mathworks.com/help/daq/examples.html?s_tid=CRUX_topnav
8/10
4. A Q U I S I Ç Ã O D E D A D O S C O M A R D U Í N O E O C TAV E

A placa Arduino Mega 2560 é baseada no microcontrolador ATmega2560, possui 54 pinos de entradas e
saídas digitais onde 15 destes podem ser utilizados como saídas PWM. Possui 16 entradas analógicas, 4
portas de comunicação serial.

A alimentação da placa Arduino Mega, como ocorre na Arduino UNO pode ser feita tanto pela
USB, como por uma alimentação externa (conector). Quando o cabo USB é plugado a um PC, por
exemplo, a tensão não precisa ser estabilizada pelo regulador de tensão, dessa forma a placa é alimentada
diretamente pela USB. A alimentação externa é feita através do conector Jack com positivo no centro,
onde o valor de tensão da fonte externa deve estar entre os limites 6V a 20V, porém se alimentada com
uma tensão abaixo de 7V, a tensão de funcionamento da placa, que no Arduino MEGA 2560 é de 5V,
pode ficar instável e quando alimentada com tensão acima de 12V, o regulador de tensão da placa pode
sobreaquecer e danificar a placa. Dessa forma, é recomendado para tensões de fonte externa valores de
7V a 12V (https://www.embarcados.com.br/arduino-mega-2560/).

AQUISIÇÃO DE UM SINAL ANÁLÓGICO COM OCTAVE - Procedimentos Básicos:

1) Conectar o módulo arduino na porta USB e dar o comando arduinosetup

2) Criar um novo script e salvá-lo

3) Carregar os pacotes de interesse. Exemplo:

pkg load arduino

pkg load control

4)Seleção/Inicialização do Arduino. Exemplo:

ar = arduino ();

5) Especificar o canal e Ler sinal analógico. Exemplo

dado=readVoltage(ar, "A4");

6) Salvar os dados em arquivo de texto

save('-ascii','data.txt','dado');

7) Plotar os dados

plot(dado)

9/10
5. AQUISIÇÃO DE DADOS COM OSCILOSCÓPIO

- Conecte o cabo USB do osciloscópio ao PC.

- Abra o software de aquisição do osciloscópio

- Realize a aquisição e salve os dados em um arquivo.

10/10

Você também pode gostar