20 votos

Alguna forma mejor de determinar la fuente de luz analizando el espectro electromagnético de la luz

Resumen del proyecto

Tengo la tarea de desarrollar un dispositivo basado en un microprocesador que, cuando se le muestre una luz, pueda determinar la fuente de la luz (luz natural, bombillas fluorescentes, bombillas LED, bombillas incandescentes, llama - fuego forestal). En esta fase, sólo se tiene en cuenta la luz visible.

Según mis investigaciones, la única manera de diferenciar la fuente de luz es analizando el espectro de emisión y comparándolo estrechamente con valores conocidos . Ejemplo:

enter image description here

Soluciones consideradas

Medición de la relación de composición RGB de la luz

He considerado seguir este camino ya que no parece demasiado complicado, es un dispositivo más pequeño, se puede integrar fácilmente en el proyecto mayor como detector de incendios forestales e incluso me lo ha sugerido mi supervisor. Pero tengo dudas de que esto sería muy preciso ya que algunas fuentes de luz pueden tener valores cercanos (la intensidad es lo que se está midiendo en una longitud de onda ball park).

El sensor que estoy mirando actualmente es el Sensor de color RGB S10917-35GT de Hamamatsu sensibles sólo a las longitudes de onda requeridas.

Construcción de un espectrógrafo de alta resolución con una película de rejilla de difracción

Esta vía es mucho más complicada y requiere un tratamiento externo de las imágenes para determinar la fuente de luz. Básicamente, se construye un espectrógrafo con una película de rejilla de difracción y una cámara de alta resolución. La imagen se procesa con un programa informático para trazar el gráfico del espectro de emisión y se puede analizar el gráfico para determinar la fuente de luz. La guía de desarrollo está aquí

Desgraciadamente, esto no es muy conveniente, ya que preferiríamos que el objetivo principal del dispositivo funcionara por sí solo, sin ninguna red.

Así pues, la pregunta

  • ¿Hay algún inconveniente en mi primera solución?
  • ¿Existe una solución mejor? ¿Preferiblemente quepa en un dispositivo independiente?
  • Probablemente sea algo descabellado, pero ¿existe algún sensor capaz de analizar una emisión luminosa y proporcionar valores de intensidad en un rango de longitudes de onda elegidas? O al menos algo que me ayude a construir un dispositivo que lo haga.

2voto

JRE Puntos 4167

Voy a estar de acuerdo con jonk, pero sugiero un método más sencillo para identificar las fuentes.

Construye un espectrómetro con cámara (utilizando un DVD u otra rejilla de difracción.) Hazlo mecánicamente sólido para que la cámara, la rejilla y la pantalla no puedan moverse entre sí.

No te molestes en calibrarlo, en absoluto. También querrás desactivar el balance de blancos automático en la cámara y utilizar un balance de blancos fijo.

Exponga su detector a ejemplos de las distintas fuentes de luz que desea detectar y grabe las imágenes.

Ahora, puedes utilizar los métodos de procesamiento de señal que prefieras para detectar cuál de los espectrogramas almacenados coincide más con el espectrograma actual.

Tanto OpenCV como Gnu Octave o SciPy presentan métodos viables para detectar similitudes.

2voto

Chris Warth Puntos 1

Aquí ya hay muchas respuestas excelentes, pero quisiera hacer algunos comentarios específicos a sus últimas preguntas:

¿Hay algún inconveniente en mi primera solución?

El inconveniente es que sólo tienes tres puntos de datos (r,g,b) para juzgar el color y, dependiendo de las distintas fuentes de luz que intentes distinguir, puede que no seas capaz de diferenciarlas. Es el mismo problema que se encuentra una cámara digital cuando intenta ajustar el balance de blancos y, a veces, la cámara se equivoca y los colores de la foto salen distorsionados. Sin embargo, si dejas que una cámara digital tome imágenes de un objeto conocido, como el mismo trozo de papel blanco, es probable que sea capaz de distinguir la fuente de luz la mayoría de las veces.

¿existe algún sensor que pueda analizar una emisión luminosa y proporcionar valores de intensidad en una gama de longitudes de onda elegidas?

Un espectrómetro basado en rejillas (o prismas) hace exactamente eso: proporciona la intensidad de la luz en función de la longitud de onda.

Como alternativa, si sólo desea unos pocos sensores, podría simplemente tomar un fotodetector de silicio y colocar delante de él el filtro óptico adecuado (vidrio coloreado) para permitir que sólo pase al filtro el rango de longitudes de onda de interés. Una ventaja de este enfoque sería que los fotodetectores individuales podrían funcionar probablemente más rápido que un detector de matriz, y podrían permitirle observar la estructura temporal de la luz y detectar patrones característicos, como la fluctuación de 60 Hz de una bombilla o el rápido parpadeo de una llama.

2voto

g.kertesz Puntos 121

No es necesario que construya su propio espectrómetro, ya existen dispositivos disponibles en el mercado, como este ultracompacto C12666MA de Hamamatsu .

La resolución espectral de 15 nm podría ser suficiente para esta tarea.

También es una buena idea distinguir entre CC y 50/60 Hz, quizá con un sensor independiente.

1voto

gb96 Puntos 151

Esta es una pregunta antigua, y me pregunto cuál era la solución, pero mirando a través de las respuestas estoy bastante sorprendido de no ver una solución bastante obvia.

En primer lugar, no es necesario analizar todo el espectro. Basta con muestrearlo de forma que se maximice la separación de las fuentes. Dado que tienes relativamente pocas fuentes, puedes hacerlo a ojo o realizar un análisis PCA o ICA en una versión discreta del espectro esperado. Una vez que haya seleccionado un puñado de regiones espectrales, puede proceder.

En segundo lugar, yo consideraría seriamente la región infrarroja. Principalmente porque un incendio tendría abundante emisión allí, pero sobre todo porque los sensores en esta región son muy comunes.

En tercer lugar, seleccione un sensor discreto o una combinación de sensor y filtro que le proporcione una respuesta espectral suficientemente buena en la primera banda deseada. Tenga en cuenta que hay muchos filtros, fotodiodos, fototransistores y dispositivos PIR baratos que pueden seleccionarse por longitud de onda (incluso los LED monocolor pueden funcionar en caso de apuro).

En cuarto lugar, si lo haces matemáticamente, proyecta tus respuestas esperadas en la respuesta del sensor/filtro y réstala para poder repetir el procedimiento con la siguiente banda significativa. Si no, basta con solapar y estimar qué región es la siguiente.

Ten en cuenta que también se pueden utilizar filtros para eliminar bandas. Si dos sensores cubren el área perfecta, pero sus respuestas se solapan demasiado, la sustracción de la banda solapada aumentaría su discriminación. .

Después de repetir esto dos o tres veces, tendrás un pequeño conjunto de sensores baratos que podrás utilizar. Coloca algunos circuitos alrededor de ellos y calibra su respuesta con algunas fuentes conocidas. Si has hecho la separación correctamente, sólo necesitarás una calibración aproximada de la sensibilidad de tu diseño de filtro/sensor/circuito.

Se trata básicamente de la idea del sensor RGB, pero utilizando intervalos de longitud de onda adecuadamente ajustados en lugar de otros más bien arbitrarios.

0voto

Si no necesitas una sensibilidad radiométrica muy alta, colímala, pásala por una rejilla y vuelca la imagen en un conjunto de sensores lineales. Analizar el espectro es fácil si se dispone de un microprocesador. La variación temporal por sí sola no funcionará muy bien, ya que los sistemas de iluminación de consumo varían mucho en frecuencias de parpadeo. Las únicas cosas que serán difíciles de distinguir en el espectro son las incandescentes y las llamas. Podrías utilizar la variación temporal para eso, partiendo de la base de que la llama será bastante aleatoria y la incandescente debería tener un componente de 60 Hz distinto. Sin embargo, hay que tener en cuenta que la electrónica tiende a captar los 60 Hz parásitos, por lo que habrá que asegurarse de que se está viendo luz de 60 Hz y no ruido de 60 Hz. Los sensores lineales son una parte barata y simple que no debería tener ningún problema de interfaz. La única forma en que podría ver esto funcionando con 3 canales es si sólo estuvieras tratando de clasificar la llama y pudieras tirar todas las otras fuentes de luz en una pila de "no importa". En ese caso, es bastante razonable considerar incandescente o llama cualquier cosa que tenga, por ejemplo, más emisión NIR que azul. Si estás dispuesto a trabajar con detectores MWIR, puedes omitir la variación temporal y simplemente buscar el pico de emisión de CO2. La incandescente no debería tenerlo. Es lo que usan muchos detectores comerciales.

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