Página 1 de 2

Frequencimetro

MensagemEnviado: 26 Set 2008 11:16
por MTC
Seguinte,

to precisando acompanhar umas medidas de frequencia, e registrar isso em funcao do tempo. Inicialmente pensei em usar um multimetro de bancada com interface, mas agora vi que o buraco eh muito mais em baixo.

O sinal que preciso acompanhar eh de 5MHz, quais as sugestões para medir e registrar isso num pc?

Preciso resolucao de pelo menos 1HZ, e taxa de amostragem de 100Hz eh mais que suficiente.

A varicao do sinal nao passa de +/- 200 Hz.

Tem como converter Frequencia em tensao com a precisao e amostragem que preciso??

No caso de um contador de frequencia alguem sabe se o tempo base de amostragem pode ser 1/100 seg.?

Sugestões!!!???

[]`s

MensagemEnviado: 26 Set 2008 11:34
por renatokodaira
Se sua base de tempo for 0,01 s e o seu sinal eh de 5MHz e voce precisa de resoluçao de 1Hz, nao vai dar, pois se medir 5MHz por 0,01 s, a contagem será de 50000, entao sua resoluçao minima será de 100Hz.

MensagemEnviado: 26 Set 2008 13:42
por msamsoniuk
normalmente seria mais simples usar um microcontrolador com dois timers e uma serial. vc usa o sinal de 5MHz como clock de um timer e outro para a referencia de 1 segundo, conta a entrada e simplesmente transfere para o PC via serial. claro, com um timer de 16 bits vc precisa contar parte dos 5MHz com auxilio do software.

porem, com essa solucao simples vc nao calcula jitter.

MensagemEnviado: 29 Set 2008 23:53
por Monk
Se tiver acesso a um osciloscopio digital fica brincadeira de criança. É só mandar mostrar na tela.

Sobre a resolução, tá meio o confuso sua especificação.

Tenta racionar com o periodo que é mais fácil. Na prática mede-se o periodo.

Por exemplo:

5MHz = 5000000Hz --> 200ns

Adicionando um Hert
5000001Hz --> 199,99996ns

Ou seja, algo dessa frequencia variar um Hertz tem que ter uma precisão FDP

Raciocinando o contrario:

200ns --> 5000000Hz

Retirando 1ns
199ns --> 5025125,628Hz

Ou seja, mudar o periodo 1ns muda 25kHz

MensagemEnviado: 30 Set 2008 08:15
por brasilma
Para "contar" 5Mhz com resolução de 1Hz, são necessários 23 bits, isto se consegue com um contador de 16 bits mais um totalizador de 8 bits (= 24 bits).

A rotina de totalização precisa ser bem curtinha para dar tempo, talvez no próprio espaço de tratamento da interrupção.

Usar o maior clock que for possivel no sistema.

MensagemEnviado: 30 Set 2008 10:40
por kaoalex
Esse parece ser um bom e simples projeto.
http://www.myplace.nu/avr/countermeasures/index.htm

MensagemEnviado: 30 Set 2008 12:03
por brasilma
A ideia é boa Koala, porem é necessário fazer uma outra implementação - veja que o número de displays não é suficiente para exibir 5MHz com resolução de 1Hz.

MensagemEnviado: 30 Set 2008 13:20
por pbernardi
Bom, 1Hz de precisão em um clock de 5MHz é algo meio impossível, não? precisão de 0,0002% :shock:

Mas o que se faz para conseguir leituras com maio precisão, é: pegue o scope digital com melhor precisão que você tem/conhece. Salve vários pulsos de clock para análise (por exemplo, 200 pulsos). meça a diferença de tempo entre esses 200 pulsos e divida por 200.

Daí você tem uma aproximação muito melhor que medir apenas um pulso - até porquê um scope digital é discreto e por isso apresenta perdas.

MensagemEnviado: 30 Set 2008 14:30
por MTC
obrigado a todos pela atencao no tópico.

Bem, o link do kaoalex eh interessante, deixo aqui tbm esse: http://www.linuxfocus.org/English/September2002/article253.shtml
talvez seja util para alguem.

Qto ao que realmente preciso, talvez eu queira tampar o sol com uma peneira, mas vamo tenta se eXpricar como diria o fabim!!!

Na aplicacao que necessito, tenho um cristal de quartzo oscilando a uma determinada frequencia, pode ser cristal de 5, 6 ou até 10MHz.

Sobre uma das superficies do cristal terei um processo eletroquimico ocorrendo, e com a variacao da massa na superficie do cristal haverá uma mudanda na sua frequencia de oscilacao que é descrita pela equacao de Sauerbrey:
http://en.wikipedia.org/wiki/Sauerbrey_equation

Preciso acompanhar a variacao da frequencia do oscilador com o tempo para relacionar isto com a massa depositada sobre o cristal. Como coloquei no inicio do post, a frequencia do cristal fica em 5MHz, mas eu preciso apenas a diferenca de frequencia entre os instantes t0 e tn.

Tive a ideia de utilizar 2 cristais identicos em 2 osciladores e detectar apenas a diferenca de frequencia entre eles, com isso em qualquer instante tenho o valor de "Delta F".

Se utilizar um flipflop tipo D, 74HC74 eu acho... fica confiavel o valor????

So nao tenho ideia de como implementar isso, mas seria um caminho???


Na pratica geralmente é utilizado para medir a frequencia de oscilacao este contador da Stanford:
http://www.tti.co.uk/products-resale/srs/sr620.htm
Infelizmente nao tenho verba pra um desses, por isso surgiu o topico.

Tambem existem solucoes comeciais prontas:
http://ichf.edu.pl/offers/instrum/quartz_pliki/5610/a_mnu.htm

mas o sonho de consumo de um desses fica pro futuro.

[ ]`s

MensagemEnviado: 30 Set 2008 14:32
por msamsoniuk
brasilma escreveu:Para "contar" 5Mhz com resolução de 1Hz, são necessários 23 bits, isto se consegue com um contador de 16 bits mais um totalizador de 8 bits (= 24 bits).

A rotina de totalização precisa ser bem curtinha para dar tempo, talvez no próprio espaço de tratamento da interrupção.

Usar o maior clock que for possivel no sistema.


vc pode usar alguns 74F93 cascateados como "prescaler" para o timer do microcontrolador, isso ampliaria a faixa de frequencias para ateh uns 120MHz e facilitaria a vida do microcontrolador tambem! :)

MensagemEnviado: 30 Set 2008 15:03
por brasilma
Exatamente Marcelo, similar a proposta do colega Koala, porem com algumas modificações no soft e hard para poder exibio o resultado com uma resolução de 1Hz.

MensagemEnviado: 30 Set 2008 19:22
por Monk
MTC escreveu:Tive a ideia de utilizar 2 cristais identicos em 2 osciladores e detectar apenas a diferenca de frequencia entre eles, com isso em qualquer instante tenho o valor de "Delta F".

Se utilizar um flipflop tipo D, 74HC74 eu acho... fica confiavel o valor????



Eu já vi essa abordagem aqui(paginas 5, 6, 7):
http://thereminvision.com/version-2/The ... manual.pdf

Me parece uma ótima ideia.

MensagemEnviado: 30 Set 2008 19:36
por brasilma
Hummmm dependendo do resultado que se queira um PLL tbem faz isso, os receptores FM digitais possuem um oscilador local (na faixa dos MHz) e o som que ouvimos é justamentente a diferença entre este e o que vem da emissora.

MensagemEnviado: 30 Set 2008 19:55
por fabim
cumpadi..
dizsmelázio..

eu utilizei uma técnica interessante a um tempinho atráz..

veja se te serve..


Tempo de leitura 0.0998mS

eu fiz assim.

2 74F163 serializados, alimentando o TIMER 1 de 16 bits.

o F163 tem Clear, enable etc...

Fiz da seguinte forma..
Variavel de 32 bits.. A
Highest higher high low .. MSB >> LSB.
F163(1) e (2) ligados ao portD do 16f877

1° limpa F163
2° Lima TIMER1H & TIMER1L
3° Enable F163
Delay_mS(10) exatos " em asm calibrado via soft e cristal"
4° disable F163.
A.higher = TIMER1H
A.high = Timer1L
A.Low = PORTD "que é o valor de 8 bits dos F163"

Precisao...

Pic16F877 á 20mhz
1/5mhz = 0,0000002 T
0,000 000 2 * 5 000 000xtal = +/- 1hz..
Este tempo é o tempo que o pic leva para Low to high.
agora soma-se o tempo de disable de low para high do F163

independente .. PQP é uma PTA precisão.

E funciona tranquilamente

Dá proce ?

MensagemEnviado: 01 Out 2008 14:05
por MTC
Monk, valeu pelo link, este tipo de implementacao parece a mais simples no momento, ja pedi uns Cis e vo montar um simples FDC (frequency difference circuit) e testar a precisao com um osciloscopio digital.

Brasilma, ja andei estudadando um pouco sobre a possibilidade do PLL, mas o buraco parece ser mais embaixo pra simples mortais - como eu - ... rs...

Fabim, ocê destroço de vez, so sincero, não deu pra entender muita coisa. Ia ter q fazer um intensivao contigo pra pega a ideia da coisa. Se o FDC nao der bons resultados, te caço no msn, ok.

[ ]`s