martes, 19 de mayo de 2015

Análisis de Sensor de Bajo Coste para evitar obstáculos.

En la entrada anterior hablábamos de como tomar datos con Excel desde el puerto Serie. Aquí tenemos una aplicación práctica. Análisis de un sensor de infrarrojos para evitar obstáculos en robótica.

Este sensor extremadamente barato, consta de un emisor de infrarrojos y un foto detector del mismo espectro. La placa sólo lleva una resistencia para proteger a los LED de las sobre intensidades.

La verdad sea dicha, que cuando me propusieron analizarlo, no daba mucho por el sistema, no porque fuese muy barato, más bien la arquitectura abierta y carente de geometría que me echaba para atrás. Pero no deja de sorprenderte la electrónica. Es evidente que no es el sensor del siglo, pero no es tan inútil como pensaba a priori.
Así que monté el sensor en el Arduino, lo fijé, cogí mi Excel preparada y ¡a realizar pruebas!



EXPERIENCIA 1. ESTABILIDAD Y RUIDO DE LA MEDIDA.
Lo primero que hicimos, fue una prueba de estabilidad. Pretendemos saber cuan de uniforme es la medida, si tiene mucho ruido o no. Así que tomamos varias medidas en un mismo punto y calculamos su dispersión.
El resultado fue la siguiente tabla.











El eje horizontal son las muestras en un mismo punto (9 en total) y en vertical los distintos puntos (en centímetros) en los que se han hecho los ensayos.

En vertical vemos ya la no linealidad del sensor.

CONCLUSIONES DEL PRIMER ENSAYO.

El conversor A/D  va de 0-1024, vemos que el máximo valor es 500 aprox. luego desperdicia la resolución del conversor.
La máxima distancia medible según el experimento está en torno a los 35-40 cm.
Tenemos una resolución teórica de 1mm por unidad de A/D, pero se ve gravemente perjudicada por una dispersión de en algunos casos 7 mm de error, luego veremos que se agrava con las condiciones lumínicas.

EXPERIENCIA 2. VARIACIÓN CON EL ÁNGULO.

En un punto fijo, fuimos variando el ángulo del obstáculo. Tomamos 15 cm. El resultado fue el siguiente.


Apreciamos poca variación con el ángulo. Aunque después en las pruebas prácticas si manifestó mucha sensibilidad.

Hay una ligera asimetría pero creo que es porque los leds están montado en horizontal, pienso que se corrige si se montan en vertical.

EXPERIMENTO 3. CAMBIO DE COLOR.

Usamos tres cajas de 20x30 cm, de color blanca, roja y negra y probamos la linealidad de la medida en los diferentes puntos.


Podemos comprobar que el dispositivo no es nada lineal, por lo que si quisiéramos usarlo como medidor de distancia, habría que corregirle la curva.


Podemos observar que la caja negra con poca reflectancia es un auténtico desastre. Literalmente el sensor NO LA VE.

INFLUENCIA DE LA LUMINOSIDAD AMBIENTE Y LA TEXTURA DE LOS MATERIALES.

Comprobamos que la influencia era bestial. La luz influye positivamente en los objetos blancos ya que es reflejada y afecta al foto-detector, pero de forma independiente a la iluminación del propio led. Es una reflexión de casi-albedo, permitiendo detecciones de unos 50cm . Cuando sometemos al sistema a oscuridad, el sistema apenas detecta a unos 10 cm. 

La textura de los materiales (brillo, color, etc.) es muy importante también. El negro-mate es invisible para el sensor.

El ángulo de reflexión es importante y se agrava con la distancia.

PRUEBAS PRÁCTICAS.

Modificamos el sketch e Arduino y calibramos para que disparase un led cuando la lectura fuese menor que 450. Como en el sitio que me pilló no tenía leds a mano, usé el pin 13 que en la mayoría de las placas suele tener un led de prueba, así que en el vídeo tenemos que fijarnos en el led de la placa.



CONCLUSIONES.

  • Obviamente no es un sensor ideal para medir distancias. Impreciso, no lineal, sensible a un montón de parámetros ambiente.
  • Como sensor de presencia o para evitar colisiones, parece que puede utilizarse, teniendo en cuenta que a oscuras la distancia de medición se reduce a unos 10 cm. En el caso de una pared negra-mate, el sistema se la "pega" seguro.

POSIBLES MEJORAS.
  • Un cinturón de varios sensores montados en vertical y alrededor del objeto, podría evitar el problema de la perpendicularidad.
  • Un fotodetector que capte la luz ambiente podría permitir corregir errores de medida, así podríamos usar una medida diferencial y discriminar la luz ambiente.
  • Usar algún tipo de carcasa de enfoque.
  • Usar un led más potente para iluminar la zona y alcanzar mayores distancias a oscura.





No hay comentarios:

Publicar un comentario