collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Aquisição sinal até 20 MHz  (Lida 5247 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Aquisição sinal até 20 MHz
« em: 24 de Fevereiro de 2018, 18:42 »
Viva pessoal,

Preciso de fazer a aquisição de uma sinusoide, cujo offset e frequência varia. E preciso ler estes dois parâmetros (offset/valor médio e frequência). Este sinal é-me disponibilizado em corrente, com valor DC máximo (ou seja, offset da sinusoide) de 20 mA e frequência máxima de 20MHz.

O meu principal problema prende-se com a frequência ser tão alta. Para fazer a aquisição num PIC/dsPIC dum sinal deste tipo, necessito de uma frequência de relógio muito alta, considerando que os módulos CCP dos PIC18F funcionam a FOSC/4....

em termos de resolução, preciso de algo a rondar os 300kHz, considerando que a frequência varia entre 7MHz e 20MHz. Preciso de ter estes valores num uC e enviar, a cada 1ms, para outro uC.

Para a leitura do offset, não vejo grande problema, pois posso usar um filtro e tirar o valor médio. Para leitura da frequência é que não tenho grandes soluções... alguém que me consiga dar uma possibilidade de caminho? Já pesquisei alguns conversores de frequência/tensão, mas nada que sirva para estas frequências..

Obrigado!
 
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Aquisição sinal até 20 MHz
« Responder #1 em: 24 de Fevereiro de 2018, 20:02 »
Dividir a frequência à entrada, por 2 ou 4, com um contador/flipflop...

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Aquisição sinal até 20 MHz
« Responder #2 em: 24 de Fevereiro de 2018, 20:04 »
Loop de corrente 4-20mA a oscilar a 20Mhz?

De onde é que vem esse sinal?

É que manter integridade de sinal a 20Mhz já é preciso alguma atenção.

Converter para tensão com I/V activo(op-amp), e um PLL a trazer isso para um valor mais realista tipo 7-20Khz(dividir por 1000), não deve ser muito complicado.

Ou dado que só precisas do ponto de bias e frequência, I/V -> 2/3 portas lógicas NOT para tornar a coisa num sinal quadrado, usas isso como um clock externo para um dos timers que permita isso e está feito a parte da frequência, e o offset, passa baixo agressivo(possivelmente activo) e metes num pino com ADC.

Facilmente se faz num micro básico de 8 patas, num AVR o T1 pode receber um sinal acima do clock que mete o micro a funcionar, depois é prescalers e siga.
Avr fanboy

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Re: Aquisição sinal até 20 MHz
« Responder #3 em: 24 de Fevereiro de 2018, 22:28 »
Obrigado pelas respostas!

Dividir a frequência à entrada, por 2 ou 4, com um contador/flipflop...

Recomendas algum IC em específico?

Ou dado que só precisas do ponto de bias e frequência, I/V -> 2/3 portas lógicas NOT para tornar a coisa num sinal quadrado, usas isso como um clock externo para um dos timers que permita isso e está feito a parte da frequência, e o offset, passa baixo agressivo(possivelmente activo) e metes num pino com ADC.
Não percebi a parte das portas NOT para tornar num sinal quadrado, tendo em conta que a sinusoide tem um offset...
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.943
  • NERD!
Re: Aquisição sinal até 20 MHz
« Responder #4 em: 24 de Fevereiro de 2018, 22:46 »
Concordo com o que já foi dito.
Tens de separar as duas medidas.
Primeiro convertia a corrente em tensão, que pode não ser completamente trivial por causa da frequência, mas se não vai lá com opamps vai com amplificador discreto, uma pessoa esquece-se que um simples BC547 tem uma fT de 300MHz. Fiquei surpreendido quando o Dave analisou o andar de entrada de um osciloscópio rigol e eram quase só componentes "banais".
O offset é filtro passa baixo e medir valor com ADC, a frequência é remover componente DC (condensador) e passá-lo por comparador ou amplificador em saturação (que pode ser uma gate NOT como refere o senso) para tornar o mesmo quadrado e depois medir a frequência é banal com um  contador, n impulsos em x tempo é fazer as contas que frequencia corresponde.
Tens montes de esquemas na net de frequencimetros, é só escolher um andar de entrada, por exemplo dos primeiros no google: http://www.electronics-lab.com/project/100mhz-frequency-counter-with-pic16f628a-2/

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Re: Aquisição sinal até 20 MHz
« Responder #5 em: 25 de Fevereiro de 2018, 13:12 »
Obrigado pelas respostas.

Estou inclinado para utilizar o circuito que indicaste jm_araujo, mas com divisor de 16 antes do PIC. Assim tenho no maximo 2,5MHz a entrar num timer do PIC, e depois brinco com o prescaler do mesmo. Parece-me a melhor solução e assim tento ter a máxima resolução possível.

Vou estudar o filtro passa-baixo! ;)

Obrigado
« Última modificação: 25 de Fevereiro de 2018, 13:14 por beirao »
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Aquisição sinal até 20 MHz
« Responder #6 em: 25 de Fevereiro de 2018, 13:56 »
Podes experimentar meter o sinal directo num ADC (desde que esteja dentro dos níveis limite de tensão), a entrada do ADC já é um filtro passa baixo, e sendo a frequência mínima do sinal 7MHz, e o limite do ADC provavelmente inferior a 1Msps, talvez leias de lá directamente o offset.

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.943
  • NERD!
Re: Aquisição sinal até 20 MHz
« Responder #7 em: 25 de Fevereiro de 2018, 18:55 »
Arriscas a ter aliasing e ter uma medida desfasada da realidade.

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Re: Aquisição sinal até 20 MHz
« Responder #8 em: 28 de Fevereiro de 2018, 23:56 »
Para atualizar: vou pegar no sinal e colocar num amplificador diferencial aos terminais da resistência (que vai fazer I->V); depois retiro a componente DC e coloco na entrada de um comparador. Devo utilizar o LT1715, pois assim tenho VccIN=5V e VCCOUT=3.3V. No primeiro protótipo foi ter um dual D flip flop para baixar a frequência 4x: supostamente não iria precisar para baixar, pois o Clkin de um TMR0 de um PIC18F é no minimo 10ns, contudo como quero ler 3 sinais destes num PIC, não tenho timers com clock tão rápido.

Vou atualizando ;)
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.531
Re: Aquisição sinal até 20 MHz
« Responder #9 em: 18 de Março de 2018, 16:21 »
Ora bem, novidades!

Implementei o circuito que disse antes, contudo não implementei um amplificador diferencial mas apenas um buffer na entrada (OPA4354), e depois coloquei no comparador. A saída do comparador vai ao flip flop, e a onda quadrada vai à entrada T0CKI do PIC.

Na generalidade o sistema funciona: converto bem o sinal para onda quadrada e o PIC lê corretamente o sinal (configurei outro timer no PIC para de 1 em 1 ms verificar o counter do TMR0 e assim calculo a frequência). O que não está bem é a estabilidade do sinal: o sinal que me chega, ao passar pela resistência, coloca muito ruído no GND: coloquei apenas a corrente a passar pela resistência, e ao ver o sinal GND no osciloscópio tenho ruído de quase 100mVpp (com a frequência do sinal, de MHz). Ora, o sinal fica instável... tenho variações de kHz à saída do flip flop!

Experimentei substituir o condicionamento de sinal inicial por um transistor, mas esta questão do ruído está sempre presente...

Acho que me vou virar para um amplificador diferencial isolado (caso haja), e tentar ir buscar apenas o diferencial da tensão na resistência sem ter o GND da resistência ligado ao resto da minha PCB e perceber se assim consigo apagar o ruído para o lado do processamento..
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein