Discussão sobre Produtos NI

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Calculo da Velocidade

Boa tarde, eu estou desenvolvendo um programa para faculdade onde eu preciso calcular velocidade media.

Eu estou utilizando 2 sensores de barreira para captar o pulso de entrada através da placa de aquisição NI USB-6009.

Minha ideia era a seguinte, quando eu receber 1 na primeira entrada, eu começo a contar o tempo (segundos) e quando receber o segundo 1 eu paro de contar, e faco a conta de Vm= S/T. porem eu não estou conseguindo marcar o tempo, alguém poderia me ajudar?

 

0 Kudos
Message 1 of 9
(587 Views)

Bom Dia, Gabriel. Tudo bom?

 

Eu entendi o que você quer fazer, mas não entendi porque você não está conseguindo marcar o tempo. Onde exatamente está a sua dificuldade?

 

Você tem algum código básico que começou a desenvolver? Pode postá-lo aqui para a gente ver?

 

Atenciosamente,

Felipe Flores
Application Engineer
National Instruments Brazil




0 Kudos
Message 2 of 9
(544 Views)

Boa noite Felipe,

Meu problema é que eu não consigo pegar o intervalo de tempo, não estou conseguindo utilizar nenhum bloco para fazer isso ( minha primeira vez que estou utilizando o LabView). Vou postar o programa que eu fiz.

No lugar que esta escrito sensor 1 e 2 vão os blocos de entrada digital para pegar o verdadeiro sinal do sensor, meu problema esta para obter o tempo.

O funcionamento é basicamente, quando eu ativar o primeiro sensor, vai começar a contar o tempo, quando eu ativar o segundo o tempo para e eu faço a conta. Como eu consigo fazer isso?

 

Att, Gabriel

0 Kudos
Message 3 of 9
(515 Views)

Bom Dia, Gabriel.

 


@gabrielpelicano wrote:

 

"...O funcionamento é basicamente, quando eu ativar o primeiro sensor, vai começar a contar o tempo, quando eu ativar o segundo o tempo para e eu faço a conta..."

Eu entendo o que você precisa fazer, mas isso não está refletido no uso da função Elapsed time. Eu posso te ajudar com a parte do LabVIEW, mas para isso eu preciso que você me forneça a parte da lógica.

Poste aqui um fluxograma simples da sua lógica de programação que eu te oriento em como converter isso para LabVIEW.

 

Atenciosamente,

Felipe Flores
Application Engineer
National Instruments Brazil




0 Kudos
Message 4 of 9
(509 Views)
Highlighted

Felipe, boa noite.

Na foto tem um fluxograma simples do que eu pensei.

Outra forma também seria registrar a hora que o sensor 1 for acionado e registrar a hora que o sensor 2 for acionado, fazer a diferença entre os dois tempos, com isso teria o Tempo para o calculo da Velocidade Media.

Obs: para a aquisição do sinal dos sensores, estou utilizando a placa NI-USB6009.

0 Kudos
Message 5 of 9
(502 Views)

Boa tarde Felipe,

 

Eu faria uma máquina de estados simples com os seguintes estados:

 

1) Aguardando sensor 1

2) Passou pelo sensor 1 -> armazena tempo 1 (T1)

3) Aguardando sensor 2

4) Passou pelo sensor 2 -> armazena tempo 2 (T2)

5) Calcula velocidade: V=S/(T2-T1)

 

Espero que ajude

André Manzolli

Mechanical Engineer
Certified LabVIEW Developer - CLD
LabVIEW Champion
Curitiba - PR - Brazil
Message 6 of 9
(366 Views)

Perfeito, Manzolli. 

 

Um máquina de estados é a melhor solução para esse desafio. 

 

Gabriel, como o André comentou acima, vale você criar uma arquitetura de máquina de estados no seu programa, que sequenciará as tomadas de tempo e o cálculo de velocidade. Segue dois links que mostram como implementar uma máquina de estados no LabVIEW. 

 

http://www.ni.com/tutorial/7595/en/

https://www.youtube.com/watch?v=JyJxNrgABsI

 

Dessa forma, você poderá criar a máquina de estados que está exemplificada no anexo.

 

No caso da leitura do pulso, você já conseguiu fazê-la? Você está usando entradas analógicas ou digitais?

 

Atenciosamente,

Plínio Costa
Applications Engineer II
National Instruments Brazil



0 Kudos
Message 7 of 9
(359 Views)

OI Grabriel

 

Vc precisa usar uma funcao que esta na palete de Timer, chamada Tick Count (no diagrama, right click, TIMING functions Tick Count). qdo vc detectar cada evento, use a funcao Tick count e armazene o valor depois vc faz a diferenca entre os dois pra encontrar a diferenca de tempo. 

Vc precisa implementar uma maquina de estados (um while loop com um case structure dentro). Cada Case structure vai ser o estado que vc vai estar. 

Por exemplo

Case 1 - Fica lendo o sensor. Qdo sensor for detectado, leia o tick count (use um sequence pra garantir que vc le o tick count DEPOIS do sensor ser detectado), e passe pro proximo estado 

Case 2 Aguarda ler o segundo sensor, qdo sensor for detectado, leia o tick count de novo (tb use o sequence pra garantir que vc le o tick count DEPOIS de ler o sensor)

Case 3 Calcule a velocidade. 

 

RKO
0 Kudos
Message 8 of 9
(304 Views)

Nesse video explica como implementar uma maquina de estados (state machine ) no labview 

https://www.youtube.com/watch?v=Fgsa88g8m-M

RKO
0 Kudos
Message 9 of 9
(301 Views)