Página 1 de 1
Medir Frequência

Enviado:
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!

Enviado:
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.

Enviado:
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

Enviado:
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!

Enviado:
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...

Enviado:
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

Enviado:
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

Enviado:
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.