¿Cuántos contenedores puedo codificar usando una resistencia en un ADC?

Tengo un dispositivo que puede tener diferentes cosas conectadas. Estoy tratando de usar una resistencia en estas cosas para identificarlas de manera única. Es decir, si conecto la Cosa A, puedo leer la resistencia como 100 ohmios y saber que es una Cosa A. Si conecto la Cosa B, puedo leer la resistencia como 200 ohmios y saber que es una Cosa B. Conozco la resistencia varía con la temperatura y la tolerancia, por lo que quiero tener algo de margen de maniobra en cada código único.

Estoy usando un divisor de voltaje y un ADC para medir la resistencia. Suponiendo que tengo una entrada constante de 3 V, una referencia ADC de 12 bits de 2,5 V, usaré resistencias con una tolerancia del 1% y quiero tantos códigos únicos como sea posible, con un pequeño espacio entre cada uno, ¿cómo calculo cómo? Cuántos códigos únicos puedo obtener?

Primero pensé que podría usar una resistencia de 2k, y luego la segunda resistencia podría ser de 0 a 10k. Con 4095 pasos en 12 bits, eso significa 0,6 mV por paso. Con una tolerancia del 1%, eso significa que el contenedor superior podría tener cualquier valor entre 9900 y 10100, es decir, 200 ohmios de ancho. Sin embargo, eso es solo 80 contenedores. Sin embargo, una resistencia de 100 ohmios solo variaría de 99 a 101, o 2 ohmios de ancho, por lo que una fórmula lineal claramente no es apropiada.

¿Cómo puedo averiguar la cantidad correcta de contenedores únicos que puedo detectar de manera confiable?

Un multímetro digital puede medir la resistencia <0,1 % durante 5 décadas con fuentes de corriente escalonadas. cuantos contenedores necesitas? Para calcular la precisión en el mejor de los casos, divida el error INL máximo por 2N, donde N es el número de bits
Si conecta algo, debe otorgar amplios márgenes de seguridad para detectar cualquier cosa de manera confiable. La resistencia de contacto varía mucho, podría ser Ohms, y eso también depende de la fuerza de inserción y la humedad.
Es posible que desee utilizar chips de identificación únicos como el DS2401 en su lugar. Incluso vienen en forma de lata (DS1990) que puede pegar o soldar a las cosas que desea identificar.
Considere usar una fuente de corriente constante para controlar la resistencia desconocida en lugar de incluir la R desconocida en un divisor. Creo que podría obtener una mayor resolución de resistencia de esta manera. También es posible que desee incluir una resistencia de referencia incorporada para calibrar la fuente de corriente o el divisor de resistencia antes de tomar cada lectura en la R desconocida.
Espero algo así como 200-400 contenedores. Janka tenía un buen punto sobre la resistencia de contacto, que puede ser un problema. Espero que al estar en la década más alta de resistencia, los pocos ohmios de la resistencia de contacto sean insignificantes.
High-ohmic también es malo, porque su circuito es más susceptible al ruido en ese momento. Tienes que hacer un compromiso.

Respuestas (1)

Si usa resistencias E192 0.5%, entonces hay 192 valores por década. Si configura cada década como escala completa A/D (es decir, 2,5 V), los valores están separados por 4096/192 --> 21 * 0,6 mV --> 12,6 mV de diferencia. Tan fácilmente discernible por su A/D.

  1. Pruebe en qué década se encuentra una resistencia configurando una corriente (o simplemente una resistencia en serie) para que el valor superior de la década sea una escala del 50 % (1,25 V). El voltaje debe estar entre 10 y 2047. Si el valor de salida A/D es menor que < 10 o > 2047, elija una década más alta o más baja para probar.
  2. Una vez que sepa la década, configure la corriente de medición para obtener la escala completa con la resistencia más grande de la década. Mida el valor A/D para identificar el recipiente.

Debería poder medir al menos 3-4 décadas con poca complejidad y usando una sola resistencia comprada, lo que da una cantidad práctica de contenedores de alrededor de 768.

Podría hacer lo mismo con valores de resistencia E96 1% y obtener 384 contenedores en 4 décadas.