collapse

* Links de Robótica

* Posts Recentes

Medir Agua que está no Poço por jm_araujo
[Hoje às 00:36]


URGENTE - display de 7 segmentos com backpack por helderjsd
[Ontem às 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Palavras Cruzadas por Njay
[19 de Setembro de 2017, 02:24]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


Apresentação por TigPT
[17 de Setembro de 2017, 07:31]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]


Preparar bancada de testes por jm_araujo
[14 de Setembro de 2017, 10:24]

Autor Tópico: Definir taxa de amostragem  (Lida 1897 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.390
  • 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.641
    • 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.