collapse

* Links de Robótica

* Posts Recentes

Ideias para construir um quadrúpede simples por Njay
[Hoje às 03:04]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]


Preciso de uma fonte de corrente constante ? por samc
[09 de Novembro de 2017, 14:18]


Pressoestato 0-10V por artur36
[07 de Novembro de 2017, 23:22]

Autor Tópico: Definir taxa de amostragem  (Lida 1940 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.400
  • 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.642
    • 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.