Autor Tema: adc 1023 ou 1024 ,255 ou 256  (Leído 3407 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
adc 1023 ou 1024 ,255 ou 256
« en: 13 de Mayo de 2004, 23:13:00 »
PARA ACABAR COM DUVIDAS E ENGANOS PRESTEM ATENÇÃO:

O CONVERSOR TEM 10 BITS DE RESOLUÇÃO,SUPONDO QUE SÓ TIVESSE 3 BITS ENTAO O MÁXIMO QUE CHEGARIA SERIA 111(BINARIO) OU 7(DECIMAL) AO TOTAL TERIAMOS 8 VALORES(0,1,2,3,4,5,6,7).

ENTAO NÃO PODEMOS CALCULAR QUE PELO FATO DE TER 3 BITS O VALOR MÁXIMO SERIA 23=8 E SIM O CERTO É 23-1=7.


ENTAO PARA 10 BITS É:

210-1=1023(VALOR MAXIMO ATINGIDO PELO AD,MAS TERIAMOS NO TOTAL 1024 VALORES).

O ERRO É DE APROXIMADAMENTE 5mV,POUCO PARA UNS ,MAS PARA MIM QUE UTILIZA SENSORES QUE VARIAM A CADA 1mV SERIA MUITO!


ESPERO TER AJUDADO!

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #1 en: 13 de Mayo de 2004, 23:29:00 »
Haber si no me falla la memoria. La fórmula general para calcular la resolución de cualquier conversor es: VRES=VFS/2^n siendo VFS el valor a fondo de escala y n el número de bits.

Esta fórmula es válida para todos los conversores tanto A/D como D/A salvo para el de resistencias ponderadas en la que aparece 2^n - 1.

No sé que tipo de conversor A/D lleva el PIC internamente, supongo que será uno de aproximaciones sucesivas y para este es válida la fórmula general por lo tanto hay que poner 2^n en la fórmula de la resolución.

Un saludo

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #2 en: 14 de Mayo de 2004, 00:08:00 »
Escrito originalmente por pocher
Haber si no me falla la memoria. La fórmula general para calcular la resolución de cualquier conversor es: VRES=VFS/2^n siendo VFS el valor a fondo de escala y n el número de bits.

Esta fórmula es válida para todos los conversores tanto A/D como D/A salvo para el de resistencias ponderadas en la que aparece 2^n - 1.

No sé que tipo de conversor A/D lleva el PIC internamente, supongo que será uno de aproximaciones sucesivas y para este es válida la fórmula general por lo tanto hay que poner 2^n en la fórmula de la resolución.

Un saludo



NÃO É BEM ASSIM POCHER:

SUPONHA QUE SEU CONVERSOR TENHA 1 BIT(0 OU 1) DE RESOLUÇÃO,ENTAO SEGUNDO O QUE VC DISSE TERIAMOS:


VRES=VFS/2^n
VRES=5/2^1
VRES=2,5V

OU SEJA :

0=0V E 1 =2,5V


O CERTO SERIA:

VRES=VFS/(2^n-1)
VRES=5/((2^1)-1)
VRES=5V

OU SEJA :

0=0V E 1 =5V


Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #3 en: 14 de Mayo de 2004, 00:11:00 »
Só para justificar o uso do 1024, ele ocorrre devido ao fato de uma divisão por 1024 corresponder a 10 rotações para a direita do numero sem necessitar de nenhum algoritimo para divisão. Já com 1023 (que seria o correto) você precisaria de um algoritimo que lhe consumiria um tempo grande. Como os dois são muito próximos justifica-se a utilização do 1024,este tipo de divisão é mais facilmente implementada, desde que a sua aplicação possa tolerar o erro .

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #4 en: 17 de Mayo de 2004, 01:26:00 »
A ver que opinas de esto:

Para n=8bits:

Según lo que yo creo:

- VRES=5V/256=19.53125mV --> Vmax=255·19.53125=4980mV

Según lo que tú crees:

- VRES=5V/255=19.6078mV --> Vmax=255·19.6078=5000mV

(Hay una diferencia entre los resultados de un escalón)

Ahora viene la prueba:

Si haces en PROTEUS un programa (yo lo he hecho)  que a medida que vayas cambiando la tensión de entrada se te vayan encendiendo luces en los 8 bits del PORTB, podrás comprobar que el valor máximo (todas las luces encendidas se alcanza para Vi=4983mV que salvo un pequeño error de 3mV es lo que tendría que sacar según lo que yo pienso y creo que es (2^n)

Sería interesante que tú lo comprobases también, y mejor aún que te agenciases un buen polímetro e hicieses esta misma prueba de forma real.


 

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #5 en: 17 de Mayo de 2004, 06:35:00 »
compile o exemplo do pcw "EX_AD12" e va em VIEW->SYMBOL MAP
APARECERA PARA 8 BITS O SEGUINTE:


Compiler Settings:
    Processor:      PIC16F877
    Pointer Size:   8
    ADC Range:      0-255
    Opt Level:      9
    Short,Int,Long: 1,8,16

Se compilar o exemplo de voltimetro que coloquei neste forum ira aparecer:

Compiler Settings:
    Processor:      PIC16F877A
    Pointer Size:   8
    ADC Range:      0-1023
    Opt Level:      9
    Short,Int,Long: 1,8,16


quanto ao seus testes o valor correto seria 5000mv ou 5v!

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #6 en: 17 de Mayo de 2004, 09:42:00 »
El ADC Range lo que te indica es que hay 256 valores. Desde 0 (0000 0000) hasta 255 (1111 1111), ya que en el programa se está eligiendo por omisión del #device una resolución de 8 bits.

Si en el programa eliges #device adc=10 entonces te saca ADC Range= 0 (00 0000 0000) hasta 1023 (11 1111 1111)

Lo dicho: has la prueba, o bien con el PROTEUS o bien físicamente.

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #7 en: 17 de Mayo de 2004, 17:13:00 »
"El ADC Range lo que te indica es que hay 256 valores. Desde 0 (0000 0000) hasta 255 (1111 1111)"

eu disse que era 256 valores, de 0 a 255,vc acabou de dizer!

não entendi,vc disse que apresentou este  range pq eu não coloquei o device???

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #8 en: 17 de Mayo de 2004, 17:14:00 »
"El ADC Range lo que te indica es que hay 256 valores. Desde 0 (0000 0000) hasta 255 (1111 1111)"

eu disse que era 256 valores, de 0 a 255,vc acabou de dizer!

não entendi,vc disse que apresentou este  range pq eu não coloquei o device???

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: adc 1023 ou 1024 ,255 ou 256
« Respuesta #9 en: 17 de Mayo de 2004, 23:23:00 »
En fin, por mi parte ya no tengo nada más que añadir, solo que hagas la prueba física.

Un saludo