4 votos

MCP3008 ADC, 16 bits en lugar de 10 bits de lectura

Yo estaba jugando con algunos MCP3008 ADCs de Microchip con un Arduino. El parque tiene un ejemplo para el MCP3208 (que parece ser sólo un 12 bits versión de la MCP3008)

Bueno, cuando he probado el ejemplo, se me olvidó leer sólo 10 bits en lugar de los ejemplos de 12 bits. Me di cuenta de que la lectura haya sido de 0-4096

En el interés de aprender, he intentado hacer de 13 bits y podía leer a 8192. Con 16 bits, a 65535.

Es esto peligroso? Como en, no es exacta? Yo sólo tenía un hoteles de tornillos y placa. Hubo algunos notables de rebote, de 500 a 16 bits y alrededor de 90 en 13 bits. El desplazamiento fue de alrededor de 10 en 10 bits de lectura.

Son todos los Adc normalmente el mismo chip que es sólo binned basado en el rendimiento?

6voto

Rob Lachlan Puntos 7880

No, el MCP3008 es un 10 bits ADC. Echa un vistazo a cómo el microcontrolador lee los datos de la misma:

enter image description here

Observe que Dout sólo una salida de 10 bits valor [B9:B0], y no hay manera de enviar el microcontrolador un número con más bits. Por lo tanto, lo que estamos viendo es más probable que un desplazado a la izquierda de valor. Por ejemplo, si la salida del ADC fue 385 de 10-bit (que es 0110000001 en binario), si cambio a la izquierda 2 veces obtendrás 1540 (que es 011000000100 en binario). Pero realmente no has ganado ninguna información nueva, simplemente multiplica el número por un factor de 4.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X