collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


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]

Autor Tópico: Definir taxa de amostragem  (Lida 4010 vezes)

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

Offline jbecg

  • Mini Robot
  • *
  • Mensagens: 26
Definir taxa de amostragem
« em: 06 de Agosto de 2010, 01:28 »
Já escrevi algumas dúvidas que fui tendo ao longo do meu projecto e considero que as respostas que tenho obtido têm contribuído muito para a sua evolução. Por isso a todos vós um OBRIGADO. O problema que hoje trago prende-se com a frequência de amostragem que tenho de definir para um sinal. Pelo teorema de Nyquist é sabido que a frequência de amostragem tem de ser igual ou superior a duas vezes a frequência máxima do sinal que se pretende amostrar. Pois bem, o sinal que pretendo amostrar tem frequência máxima de 100Hz, como tal e tendo em conta outro estudos que usei como referência quero usar uma frequência de amostragem de 250 Hz (isto é, adquirir uma amostra a cada 4 ms).
O problema é esse mesmo como é que vou amostrar o sinal a cada 4 ms ? Já tenho toda a parte de ADC e porta série operacional, e o meu objectivo é enviar a conversão binária do meu ADC para um terminal no meu computador. Como é que o posso fazer? Gerar um atraso (delay) de 4 ms entre cada conversão? Então e o tempo que o ADC demora a converter o sinal? (vai ser acrescido aos 4ms e vou obter um frequência de amostragem diferente da que quero programar).
 

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Definir taxa de amostragem
« Responder #1 em: 06 de Agosto de 2010, 02:16 »
Talvez o melhor seja melhor programar uma interrupção de 4 em 4ms e nesta activar uma flag, flag esse que no programa principal despoleta uma conversão usando o adc e envia por serial, se bem que convem um baud-rate bem alto, porque comunicação serial é algo bastante lento
Avr fanboy

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Definir taxa de amostragem
« Responder #2 em: 06 de Agosto de 2010, 09:57 »
Mesmo usando uma amostragem de 1000Hz, estás perfeitamente à vontade para fazer outros trabalhos.

Um método possivel ::

- criar uma interrupção a cada 1ms
- nessa interrupção, ler o valor do ADC e dar ordem de nova leitura
- entre cada interrupção, sobram cerca de ~950micro-segundos ou aproximadamente ~950-1000 instruções.......  dá para fazer MUITA coisa.

O tempo de conversão do ADC é muito curto... cerca de alguns microsegundos ou 10/20us. Muito rápido.... não tens q te preocupar com atrasos daqui, especialmente pq o ADC trabalha sozinho.


Tens muita informação para mandar pela USART? qts bytes de cada vez? Tens q ter em conta que só tens ~950us para o fazer.
Então, se enviares 3-bytes, e se a comunicação demorar 500us, 24bits serão transmitidos a 48kbps. Não é standard.
57600 é standard e demorar-te-ia ~416us a transmitir os 3-bytes.


Espero que tenha ajudado.