Página 1 de 1

Medir Frequência

MensagemEnviado: 03 Nov 2010 16:44
por Leomatias
Boa tarde Pessoal! Qual seria, e como seria a melhor forma de ler frequência utilizando por exemplo, o PIC 16F877? Seriam frequências baixas, não maiores que 60 hertz, sempre abaixo disso. Seriam pulsos originados da passagem de um objeto entre um sensor óptico tipo o PHFT, que estaria ligado ao pic para medir a frequência destes pulsos. O objeto em questão é uma haste conectada num motor DC.

O que seria melhor? Utilizar o Timer 0 como contador de pulsos externos? Ou por int. por Mudança de Estado? Talvez por CCP... este por sinal nunca trabalhei. Por CCP como poderia configurá-lo?

Desde já obrigado pela força!

MensagemEnviado: 03 Nov 2010 23:31
por jorgeluiz
eu ja usei o tmr0, como contador de pulsos externo. Faz uma interrupçao no timer1, de 100ms, e multiplica o valor do tmr0 por 60 para dar em RPM.

MensagemEnviado: 05 Nov 2010 01:34
por Andre_Cruz
Leomatias,

A melhor forma acredito que seje usando o CCP, mas depende da precisão que você precisa e da aplicação.

Se for possível forneça mais detalhes.

Abraço

André Cruz

Medir Frequência

MensagemEnviado: 05 Nov 2010 13:54
por Leomatias
Olá André, boa tarde!

Desde já obrigado pela sua atenção.

Então, gostaria de medir a frequência vinda de pulsos de um motor, que possui uma chapinha presa ao eixo, que passa por um opto, medindo assim a frequência. Possuimos um equipamento que faz isso mas pelo uso sequencial e pelo tempo está deteriorando.

Estou implementando com o pic. Além disso, o software também será cronômetro e sensor de disparo do cronômetro, isso já está OK e estou usando o Timer1 para esse propósito. Por essa razão talvez ficaria complicado de usa-lo, pelo o que li o CCP utiliza o Timer1. E sobre as possibilidades com o timer 0, int. por mudança de estado? Estou programando em Mikrobasic.

As frequências são baixas, menores que 60 h pois o motor possui uma rotação limitada.

Nunca trabalhei com o módulo CCP... estive lendo sobre, ele utiliza timer 1 e pelos registros do mesmo conseguimos obter a frequência, mas como eu já disse estaria sobrecarregando o timer1 de procedimentos já que estou com o programa pronto, funcionando bem para as outras funções que o aparelho fará.

Aguardo um possível retorno com outras idéias... obrigado a todos!

MensagemEnviado: 05 Nov 2010 16:24
por rcakto
olha caso voce possa receber o sinal pelo adc, basta voce fazer um contador de 1 seg, depois contar quantos "0" voce obteve nesse 1 seg .... lembrese de desconciderar o primeiro e ultimo zero....

1H vc obten 1 zero, 2 herts = 2 zeros e por ai vai

não e preciso mas quebra o galho ate voce achar uma melhor forma...

MensagemEnviado: 05 Nov 2010 16:45
por gabriel_prd
Use o LM2907, ele converte sua frenquencia em tensão, aí fica mole, é só ler no AD do PIC.

Re: Medir Frequência

MensagemEnviado: 05 Nov 2010 21:09
por roquetti
Leomatias escreveu:Boa tarde Pessoal! Qual seria, e como seria a melhor forma de ler frequência utilizando por exemplo, o PIC 16F877? Seriam frequências baixas, não maiores que 60 hertz, sempre abaixo disso. Seriam pulsos originados da passagem de um objeto entre um sensor óptico tipo o PHFT, que estaria ligado ao pic para medir a frequência destes pulsos. O objeto em questão é uma haste conectada num motor DC.

O que seria melhor? Utilizar o Timer 0 como contador de pulsos externos? Ou por int. por Mudança de Estado? Talvez por CCP... este por sinal nunca trabalhei. Por CCP como poderia configurá-lo?

Desde já obrigado pela força!


pinos que dah para usar: RA4 incrementa timer0, interrupcao pelo pino RB0, e mudanca de estado pelos pinos RB4 a RB7 , ou CCP

MensagemEnviado: 06 Nov 2010 15:32
por Cleber
eu usaria a interrução do RB0 pra contar e a base de tempo que ja faz com o timer 1 para determinar a frequencia.