Escola Politécnica Universidade de São Paulo PSI -2222 – Práticas de Eletricidade e Eletrônica...

Post on 18-Apr-2015

106 views 0 download

Transcript of Escola Politécnica Universidade de São Paulo PSI -2222 – Práticas de Eletricidade e Eletrônica...

Escola PolitécnicaUniversidade de São Paulo

PSI -2222 – Práticas de Eletricidade e Eletrônica 2 Agosto / 2008

Instrumentação Virtual

• João Kogler ………..PSI / EPUSP

Agenda

• O que é a Instrumentação Virtual • Como surgiu a Instrumentação Virtual• O LabVIEW e a Instrumentação Virtual• Como se usa o LabVIEW

Instrumentação Instrumento de medição

Grandeza Física Medida(valor numérico)

Instrumentode

Medição

Instrumentação Instrumento de medição

Calor, Aquecimento,Energia Térmica

Temperatura

Termômetro

Exemplo

Instrumentação Instrumento de medição

Calor, Aquecimento,Energia Térmica

TemperaturaTermômetro

Exemplo

Transdução

Converteaquecimentoem dilatação

Instrumentos de Medição Eletrônicos

• Baseiam-se na medida e transformação de grandezas grandezas elétricaselétricas Tensões, Correntes

• Valem-se de sensoressensores Transformam uma grandeza não-elétrica em elétrica

exemplo

termopar

Condicionamento /amplificador

display

Instrumentos de Medição Analógicos x Digitais

analógico

termopar

Condicionamento /amplificador

display

digital

termopar

Condicionamento /amplificador

display

Conversor A/D

display numérico

Instrumentos de Medição• Fornecem medidas de variáveis e parâmetros físicos• Sensores:

– Termopares– Extensômetros (strain gages), sensores de pressão– Acelerômetros, Velocímetros, Sensores de Deslocamento– Sensores fluidodinâmicos– Células de carga, Torquímetros– Sensores químicos e biológicos– Sensores ópticos– Sensores eletrodinâmicos

Instrumentação Instrumento de atuação

Grandeza Física

Dado de controle(valor numérico)

Instrumentode

Atuação

Instrumentação Instrumento de atuação

Energia Elétrica

Movimento

Motor+

Driver

Exemplo

Instrumentos de Atuação

• Exercem controle sobre variáveis e parâmetros físicos• Efetores ou atuadores:

– Aquecedores, resfriadores– Motores– Dosadores– Robôs, posicionadores– Cápsulas eletrodinâmicas, atuadores eletrodinâmicos– Atuadores pneumáticos e hidráulicos– Micro-atuadores

Instrumentação via computador digitalinstrumentos

experimento

Instrumentação via computador digitalinstrumentos

computador

experimento

Barramento de comunicação

Comunicação entre computador e instrumento

Instrumentos

Osciloscópio

Frequencímetro

Multímetro

Computador

Barramento GPIB

General General PurposePurposeInterfaceInterface

BusBus

Interface gráfica de controle dos instrumentos

Instrumentos

Osciloscópio

Frequencímetro

Multímetro

Computador

Barramento GPIB

Instrumento Virtual – Tipo 1

• Eletrônica de instrumentação

• Interface gráfica de controle

• Programa implementando os algoritmos de comunicação e análise

Instrumentação Virtual

•Tipo 1 - Computador comunicando com instrumentos remotos e acrescentando novas funcionalidades ao sistema de instrumentação

•Tipo 2 - Computador com hardware de aquisição de sinais realizando o papel de um instrumento

Instrumentos Equipamentos de Medição

Exemplo: Osciloscópio

Instrumentos Equipamentos de Medição

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Varredura / Excitação do

TRC

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Instrumentos Equipamentos de Medição

Amplificador / Atenuador

Vertical

Oscilador / Base de

Tempo Horiz.

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Instrumentos Equipamentos de Medição

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Amplificador / Atenuador

Vertical Oscilador / Base de

Tempo Horiz.

Instrumentos Equipamentos de Medição

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Oscilador / Base de

Tempo Horiz.

Amplificador / Atenuador

Vertical

Instrumentos Equipamentos de Medição

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Oscilador / Base de

Tempo Horiz.

Amplificador / Atenuador

Vertical

Instrumentos Equipamentos de Medição

Varredura / Excitação do

TRC

Painel Frontal

Interface de Operação

sinal

Oscilador / Base de

Tempo Horiz.

Amplificador / Atenuador

Vertical

Painel Frontal

Instrumentos Equipamentos de Medição

Varredura / Excitação do

TRC

Interface de Operação

sinal

Oscilador / Base de

Tempo Horiz.

Amplificador / Atenuador

Vertical

Painel Frontal

Interface de Operação

= Interface Gráfica de

Usuário( GUI )

Instrumentação Virtual – Tipo 2

• O computador implementa o instrumento

Instrumentação Virtual – Tipo 2

Instrumentação Virtual – Tipo 2

Condicionamento do Sinal

Instrumentação Virtual – Tipo 2

Sensores

Aquisição do Sinal

•amostragem•digitalização

Processamento do Sinal

•filtragem digital

•interpolação

•estimação

Amostras

Valores numéricos

na memória

sinal

Exemplo – Medição e Análise

Exemplo – Medição e Análise

extensömetros(strain gages)

Exemplo: Teste

Exemplo – Teste

Exemplo – Teste

Instrumentação e Controle

• Instrumento de medição Sensor• Monitora uma variável

• Instrumento de atuação Efetor• Controla uma variável

g

T

v

e

atuação

f

mediçãoTd

Exemplo - Simulação e Prototipação

Exemplo – Simulação e Prototipação

LLababoratoryoratory VVirtualirtual IInstrumentnstrument EEngineeringngineering WWorkbenchorkbench

Painel Frontal

controles

indicadores

Diagrama de Blocos

conectores

Estruturas de

controle

Ambiente de Desenvolvimento

• Linguagem gráfica de programação– Maior eficiência

• Mais rápido de se desenvolver• Melhor retenção da estrutura• Melhor visão de conjunto

– Visão clara das dependências entre processos e dados• Orientação ao fluxo de dados fica explícita• Independência entre threads fica explícita

• Separação da GUI (Interface Gráfica de Usuário) e dos algoritmos

Separação entre a GUI e o algoritmo

Interfaces Gráficas de Usuário - Automação

Linguagem de Programação GráficaLinguagem de Programação Gráfica – GG

Exemplo:

•Construir um programa que–Crie um vetor com 100 elementos

• Preenchido com dados aleatórios–Acha o maior valor contido nesse vetor

O programa escrito em G ( LabVIEW )

#include <stdio.h>#include <math.h>main( ){ double num[100], max; int i; // Preenche vetor com números aleatórios printf("O vetor de numeros aleatorios:\n\n"); for(i=0; i<100, i++){

num[i]=(double) rand( ) ;printf("%f\n", num[i]);}

// Acha o valor máximo contido no vetor max=0; for(i=0; i<100, i++){

if(num[i] > max) max = num[i];}

printf("\nValor Maximo: %f\n", max); }

O mesmo programaem linguagem CC

#include <stdio.h>#include <math.h>main( ){ double num[100], max; int i; // Preenche vetor com números aleatórios printf("O vetor de numeros aleatorios:\n\n"); for(i=0; i<100, i++){

num[i]=(double) rand( ) ;printf("%f\n", num[i]);}

// Acha o valor máximo contido no vetor max=0; for(i=0; i<100, i++){

if(num[i] > max) max = num[i];}

printf("\nValor Maximo: %f\n", max);

}

Evolução da Abstração de SoftwareA

bstr

ação

Complexidade do Sistema

Código de Máquina

Linguagem Assembly

C

C++

C#

Plataforma para Projeto de Sistemas

As Linguagens de Programação são usadas há mais de 50 anos

• FORTRAN (1954)• BASIC (1963)• Pascal (1968)• Smalltalk (1970)• C (1971)

• E o LabVIEW?

Criador do LabVIEWCriador do LabVIEW

Jeff Kodosky

LabVIEWLabVIEW

Parte prática – Exercícios com LabVIEW

João Kogler2008

Exemplo simples:•Criar as variáveis de entrada A e B e a de saída C posiocionando• controles e indicador numéricos no painel frontal•No diagrama de blocos aparecem os respectivos conectores•Realizar a adição A + B produzindo saída em C

Continuação:•Substituir a variável B no diagrama de blocos por uma função de biblioteca que gera números aleatórios uniformemente distribuídos no intervalo [0,1]

Continuação:•Para repetir o cálculo constantemente, colocar o laço de while no diagrama de blocos.•Note que o botão de execução mudou para uma flecha quebrada, indicando erros. Clicando-se nele, abre um pop-up com a indicação dos erros•No caso o erro é a falta da condição de parada do while

Continuação:•Erro resolvido, colocando-se o botão de stop•Acrescentada a função Wait que permite a diminuição da velocidade do laço, introduzindo um tempo de espera (no caso especificado como 500 ms)

Continuação:•Acrescentada saída gráfica em tempo de execução

Continuação:•Como ilustração, a condição de parada do loop que era stop if true foi trocada para continue if true•Neste caso o laço while executa apenas uma iteração

Continuação:•Filtragem de média móvel:

•Supondo que o resultado da adição seja um sinal ruidoso, realizar sua filtragem fazendo-se a média aritmética dos valores de saída, em tempo de execução

Continuação:•Exibição dos valores não filtrados (pontos vermelhos) e filtrados (curva verde) em um único gráfico

Continuação:•Idem, porém substituindo os blocos por texto, a título de ilustração de outra opção de programação

Continuação

Continuação:•Criação de sub-vi todo o trecho do programa foi substituído por um sub-vi criado a partir desse trecho (selecionado com o mouse)

Continuação:•Cálculo do histograma usando um sub-vi da biblioteca de funções matemáticas do LabVIEW – no caso um Express VI•O display do histograma é feito através de outro tipo de gráfico (waveform graph)

ArrayArray

Continuação:•Cálculo do valor médio do array de saída através de um laço For

While

For

Novo exemplo:•Etapa 1 da criação de um jogo tipo Mine Sweeper modificado•Exemplos de arrays booleanos (array de controles –chaves - e array de indicadores – LEDs )

Continuação:•Regras do Jogo 2 arrays de LEDs – um deles é implementado como controle (apostas) e o outro como indicador (resultados)•As jogadas são feitas no array Apostas •O diagrama mostra a inicialização desses arrays•O array resultados é inicializado com as posições das minas (não é mostrado para o jogador)

Continuação:•No caso anterior o valor 0.5 indicava o ponto médio do intervalo de valores aleatórios•Neste caso o valor 0.5 foi substotuido por um controle que permite escolher o grau de dificuldade do jogo (de 0 a 10)

Máquina de estados do jogo

• Corresponde ao mecanismo de transição de estados que segue as seguintes regras do jogo:

– O jogo começa no estado de novo jogo (NOVO)– Em NOVO o jogador pode escolher o nivel de dificuldade– Escolhido o nivel de dificuldade, ele aperta o botão NOVO– Ao apertar o botão JOGA, entra no estado em que se faz as jogadas. O jogador

entra com uma jogada clicando em um nos LEDs do array APOSTAS. O computador testa se o LED escolhido corresponde a um LED contendo mina, no array RESULTADOS:

• Se não, continua em JOGA, permitindo nova jogada• Se sim, encerra o jogo, mostrando o conteúdo do array resultados e vai para um

novo estado, chamado PERDEU• Se o jogador escolher NOVO, retorna ao estado NOVO, do início;• A outra opção é o jogador escolher PARA, que vai para o estado PARA e termina a

sessão de jogos.

Diagrama de estados

1 2

43

JOGA

PERDEU

PARA

NOVO

Exemplo de máquina de estados:•Cada estado corresponde a um botão•Pressionando-se o botão, ela vai para aquele estado•Neste exemplo, a máquina muda de estado ao pressionar o botão, mas volta ao estado inicial (default)

Continuação:•Neste exemplo, foi inserido o mecanismo para fazer a transição de estados somente se ocorrer mudança

Continuação:•Voltando ao jogo – como fica com a máquina de estados