Así que compré un fotodiodo , que tengo la intención de conectar al puerto analógico de mi Arduino, para poder medir las diferencias en la luz que capta el fotodiodo.
Me di cuenta de que cuando no conecto a tierra el fotodiodo, obtengo muchos mV que van desde 2600 mV a 5400 mV cuando mido con mi multímetro. Obviamente, sin embargo, no puedo suministrar mis puertos analógicos con 5.4v o posiblemente más, ya que destruiría el Arduino.
Luego traté de conectar a tierra mi ánodo con la salida justo antes de la resistencia de la siguiente manera:
simular este circuito : esquema creado con CircuitLab
Desafortunadamente ahora, no me acerco a nada con una resistencia de 10kΩ. incluso con 40 kΩ, la salida no es nada de lo que presumir: al menos esperaría algo en el rango de 1000 mV, pero apenas obtengo 200 mV.
¿Qué está pasando aquí? ¿Estoy haciendo algo mal?
Falta una especificación de precisión.
Como han señalado otros, la corriente de fuga de su pin de entrada Arduino probablemente limita la precisión, especialmente para mediciones con poca luz. La corriente de fuga del fotodiodo es probablemente menor que la de Arduino, pero también afecta la precisión con poca luz. Las corrientes de fuga se ven muy afectadas por la temperatura.
Si está utilizando un convertidor de analógico a digital, aumente la resistencia de detección de corriente a un valor grande para mejorar la sensibilidad, pero tenga en cuenta que las resistencias de gran valor, aunque son bastante estables a la temperatura, hacen que las corrientes de fuga de temperatura variable afecten la precisión. un mayor grado.
Si solo le interesan los cambios en el nivel de luz , entonces, en una primera aproximación, puede calibrar las compensaciones causadas por fugas al tomar una lectura de referencia de luz cero como referencia almacenada y medir los cambios en el nivel de luz desde ese punto. Un cambio en la temperatura puede requerir una nueva lectura de referencia.
Considere también el nivel máximo de luz que prevé. Esto establecerá el valor máximo de la resistencia de detección de corriente... a medida que el voltaje a través de la resistencia se acerca a +5 V, el voltaje del diodo disminuye: el voltaje detectado ya no es proporcional a la intensidad de la luz.
Un requisito para la detección de rango muy amplio (tanto en situaciones de poca luz como de mucha luz) podría sugerir cambiar varios valores de resistencias de detección de corriente. Se puede programar un pin de E/S adicional para un estado lógico bajo, o bien un estado de alta impedancia donde su resistencia adjunta está desconectada. Pero ahora la fuga proviene de dos pines de E/S :
simule este circuito : esquema creado con CircuitLab
En este circuito, la alta sensibilidad se logra programando el pin de E/S para que sea de alta impedancia, de modo que R2 (100k) no esté conectado. R1 (10Meg ohm) es la resistencia de detección de corriente activa. Sin embargo, la corriente de fuga del pin de E/S R2 aún afecta la precisión.
Para disminuir la sensibilidad en situaciones de mucha luz, el pin de E/S se establece en lógica activa baja. Ahora tiene 10Meg en paralelo con 100K como resistencia de detección de corriente.
Tiene una hoja de datos que hace referencia a dos versiones diferentes con diferentes respuestas, sin embargo, los cálculos del reverso del sobre son...
Su fotodiodo (la hoja de datos hace referencia a dos) tiene un Isc típico de 6.3uA o 13uA a 100Lux. 6.3uA*40K= 252mV, 13uA*40K=520mV.
Así que no hay gran sorpresa allí...
Esto no tiene en cuenta el espectro de su fuente de luz que modificará estos valores (consulte la curva de respuesta espectral).
Si desea voltajes más altos, necesitará algo de amplificación (mucha información sobre "amplificador de fotodiodo") para comenzar.
Como se señaló en otra respuesta, la configuración que tiene se saturará (sin voltaje en el diodo) y causará no linealidad a escala completa.
No describe su aplicación en absoluto (rango de valores de luz), por lo que es difícil adivinar una respuesta.
Por ejemplo, supongamos que va a detectar en el rango de 1-10k Lux (consulte aquí los rangos/escenarios). En el nivel máximo de Lux, esperaría que el S1223 pasara alrededor de 6,3 mA a escala completa. Desea que la escala completa sea de 5 V o 3,3 V, según el Arduino que esté utilizando. Debe poder ajustar su configuración de escala completa (calibración), pero está limitado a la resolución de A/D para el extremo inferior de la escala (alrededor de 6uA/LSB). Aquí también se encuentra con corrientes de fuga para la entrada A/D que pueden dominar una lectura en el extremo inferior.
También debe asegurarse de que haya un voltaje razonable en el fotodiodo para evitar la falta de linealidad, por lo que conducir el diodo desde el mismo suministro que su MCU no funcionará bien.
Suponiendo que está manejando el Arduino desde Vin y no desde el nivel MCU VCC, podría hacer lo siguiente:
simular este circuito : esquema creado con CircuitLab
Suponiendo un Arduino de 5 V y un Vin de 9 V o más, lo anterior garantizará que no exceda el voltaje A/D pero que siempre tenga al menos 4 V en el fotodiodo.
Esto es bastante básico.
Su DMM tiene una entrada de 10 MΩ que desvía la corriente baja a un voltaje más alto en lugar de 10 kΩ. Dado que 10 MΩ es 1k más grande que 10 kΩ, también lo es el voltaje pero la misma potencia P = VI.
Según su experimento y el rango dinámico de voltaje deseado, cambie el valor de R1 para obtener la conversión deseada de PD de I a V. (el factor de conversión es simplemente la Ley de Ohm V=IR). Quizás 100k a 1M sea más adecuado.
Panasonic fabrica un "sensor de luz" radial económico de 5 mm que comprime el rango con una escala logarítmica, por lo que >4 décadas de entrada de luz desde casi la oscuridad hasta el sol brillante da una salida de 5 V con un valor R seleccionado para elegir su rango de luz de entrada óptimo .
La sensibilidad, S para el silicio, es de 0,6 A/W en λ=λp con una sensibilidad decreciente desde el IR hacia el azul. Esto es lo mismo que 0,6 uA/uW. La corriente de salida depende del área superficial de ~ 5 x 5 mm como una pequeña fuente de energía fotovoltaica.
Considere 1uA por R1 = 1Mohm * 1uA = 1V de salida. Esto simplemente usa la resistencia de derivación para convertir los fotones en microamperios * R = microvoltios.
Para la protección contra sobrevoltaje, las entradas analógicas generalmente están protegidas contra descargas electrostáticas (ESD) con diodos, pero están limitadas a aproximadamente 5 mA RMS, por lo que bajo la luz solar brillante a 100 klux, puede esperar una corriente de cortocircuito de 13 uA/100 lux * 100 klux = 13 mA.
Para evitar que esto fluya hacia el puerto analógico interno, utilizan un diodo de derivación de protección ESD a Vdd, pero está clasificado para solo 5 mA constantes más o menos.
Puede resolver esto de muchas maneras para evitar que Vin > 5 V por caídas de voltaje del cátodo PD (0,7 V) desde 5 V o agregue una entrada serie R al puerto analógico desde 1 M en derivación hasta 10 k serie.
"Shunt" significa paralelo o derivación.
¿Puedes averiguar mis sugerencias?
Jeppe Christensen
glen_geek
Jeppe Christensen
glen_geek
Jeppe Christensen
glen_geek