Leer LDR con convertidor A / D con sensibilidad ajustable

0

Estoy trabajando en un pequeño proyecto, donde leo hasta 12 valores de brillo de resistencias dependientes de la luz (mi esquema a continuación solo muestra tres). El diseño básico es un divisor de voltaje por sensor, que se alimenta a uno de los canales de ADC de un microcontrolador para adolescentes.

simular este circuito : esquema creado usando CircuitLab

Del ADC obtengo una buena lectura de 20-1000. En realidad, probé diferentes valores de resistencia para el divisor de voltaje (R5) y terminé con 47kOhms.

En algunos entornos, tengo menos luz y me gustaría hacer que el divisor de voltaje sea ajustable. Con poca luz, mis lecturas solo van a 200-300.

He intentado agregar un potenciómetro, pero esto no funciona. No estoy 100% seguro de por qué ser honesto. Hay otra manera de hacer esto? Quiero tener UN potenciómetro ajustable para cambiar los divisores de voltaje en todos los canales.

    
pregunta Chris

3 respuestas

1

Quieres un alto rango dinámico ... pero no tienes suficientes bits. Aquí hay un hack.

Supongamos que desea medir la resistencia de su LDR de 100 ohmios a 1 MOhms con una precisión decente ...

Retire las resistencias y reemplácelas por 10nF C0G o tapas de película. Ahora ...

  • Establezca el pin ADC en salida digital, y envíe 0V.
  • espera 100µs
  • Establezca el pin ADC en entrada analógica de alto Z
  • Espera un retardo de tiempo T
  • Adquirir valor analógico

Ahora, dependiendo del retardo de tiempo T, el capacitor tendrá más o menos tiempo para cargar a través del LDR. Para medir un valor LDR mucho más alto, ¡simplemente espere más para que se cargue! Esto le brinda un cambio de rango fácil sin partes o pines adicionales.

Otras soluciones incluyen:

  • ADCs con más bits
  • MUX analógico seguido de amplificador de ganancia variable
  • propuesta de dannyf arriba
respondido por el peufeu
0

Use los pines GPIO para acortar los divisores a través de diferentes resistencias para obtener una "sensibilidad" diferente.

    
respondido por el dannyf
-1

Si no tiene cuidado, terminará con MUCHAS líneas de E / S. Lo que haría sería usar un multiplexor analógico de 16 canales para cambiar todos los LDR a un potenciómetro digital controlado común, y leer el voltaje de eso. De esta manera, solo necesita 7 líneas, 4 para la dirección de 16 vías, 2 para las líneas SPI al pot, y la entrada ADC.

OK, se necesitan más circuitos integrados, pero pierdes 12 resistencias y 5 líneas de E / S.

    
respondido por el henros

Lea otras preguntas en las etiquetas