Principal
Arriba

 

SENSORES PARA UN SIGUELINEAS (by avlober)

Cuando una persona quiere hacer un robot siguelineas, ya sea velocista o un rastreador o similar, una de las cosas mas importantes que tiene que plantearse es la elección del sistema de sensores.

Antes de nada hay que decir que el sistema de sensores depende primeramente de como será la configuración de nuestro robot, es decir, donde tiene los motores el robot, cuantos tiene, si los sensores se mueven o van fijos, si la configuración es diferencial, hackerman ((Ackerman.wmv), etc, etc. Para dejarnos de especulaciones y palabrerías varias, nos centramos en lo práctico y funcional. La mayoría de los robots siguelineas tiene una configuración diferencial, esto es, el robot tiene dos motores situados en la parte trasera, los cuales pueden girar de forma independiente y los sensores están situados en la parte delantera y van fijados al chasis de alguna manera, no se pueden mover de forma independiente. Podemos ver un ejemplo:


 

Vamos a tomar como referencia este modelo para decidir el sistema de sensores. Este tutorial no pretende ser un desarrollo teórico sobre sistemas de sensores, sino mas bien lo contrario, se propone un sistema de sensores concreto, basado en la práctica y se dejan al margen los desarrollos teóricos y la explicación del funcionamiento de los sensores.

Por tanto vamos a plantear como será es sistema de sensores:

    SENSORES: Podríamos plantearnos las discusión sobre que modelo concreto de sensores utilizamos, sin embargo directamente proponemos los sensores CNY70. La razón es muy simple, son los mas utilizados para este tipo de robots, son asequibles, no solo económicamente, sino también que los podemos conseguir en cualquier tienda de electrónica y funcionan perfectamente para lo que queremos: detectar una linea negra sobre un fondo blanco (o viceversa)

    Nº DE SENSORES: Como se comentará en otro tutorial de control de motores necesitamos que el sistema de sensores nos de información sobre como se encuentra el robot con respecto a la linea que tiene que seguir. Para un algoritmo sencillo (pero poco práctico) únicamente necesitaríamos saber si el robot esta sobre la linea, si esta hacia la derecha, o está hacia la izquierda, para así actuar sobre los motores con un sistema “todo o nada”, en este caso nos valdría con un sistema de sensores que tuviese 3, 2 o incluso 1 sensor. Nuestro objetivo es que podamos tener un sistema de sensores que nos diga la situación del robot sobre la linea con varios grados o niveles de distinción. Por tanto si lo que pretendemos es hacer un robot velocista un sistema de 6 sensores nos dará una buena resolución en la lectura. Si lo que queremos es hacer un robot rastreador un sistema de 8 sensores cubre todas las expectativas.

    DISPOSICIÓN DE LOS SENSORES: La disposición de los sensores en un velocista es simple; formando una linea recta, en cuanto a la separación entre los sensores se podría hablar largo y tendido pero lo que hay que tener en cuenta es que depende sobre todo del algoritmo de lectura de sensores utilizado. Dado que se propondrán algunos algoritmos de lectura se aconseja la siguiente regla práctica: la separación debe ser tal que dos sensores puedan simultáneamente detectar la linea pero tres simultáneamente no (siempre que la linea de sensores esté perpendicular a la linea a seguir). También es interesante que los dos sensores centrales estén ligeramente mas juntos entre si que el resto de los sensores. Si lo que tenemos es un rastreador es interesante que los sensores se dispongan en forma de 'V' o formando un arco no demasiado cerrado; también siguiendo el mismo criterio en cuanto a la separación.
     


Ilustración 1: Disposición de sensores para velocista



 






 

 


Ilustración 2: Disposición de sensores para rastreador

 

    DISTANCIA AL SUELO: La distancia al suelo viene determinada por el tipo de sensor y por el tipo de lectura que estamos haciendo. En la mayoría de los casos la lectura es digital, es decir, leemos '1' o '0' y por tanto lo que nos dice el fabricante es que la distancia máxima es de unos 5 mm. Como regla práctica podemos decir que en el caso de lectura digital, cuanto mas pegado esté el sensor al suelo mejores resultados obtendremos, incluso si el robot es lo suficientemente ligero y el peso no está distribuido excesivamente hacia la parte delantera podemos llevar los sensores tocando el suelo. No obstante si podemos disminuir el rozamiento colocando un ball caster u otro dispositivo similar el robot irá mucho mejor; aunque a veces es complicado encontrar un dispositivo adecuado in spain. En el caso de que se realice una lectura analógica de los sensores la distancia correcta puede estar entre 5 y 8 mm, aunque este caso se escapa de este tutorial.


     


     


    Separación de sensores para lectura analógica

      DISTANCIA RESPECTO AL EJE DE LOS MOTORES: En este punto tendremos que buscar el equilibro entre: cuanto mas alejados del eje de los motores coloquemos los sensores más anticiparemos la llegada de una curva pero sin embargo peor responderá o dicho de otra forma los motores deberán de hacer mas fuerza para mover o corregir el robot. También podemos considerar que cuanto más alejados estén los sensores del eje de motores deberán estar mas separados entre si. Como regla práctica podemos decir que si medimos la distancia entre una rueda y otra, una colocación aceptable estará entre 0,8 y 1,2 veces esa distancia.


       

      ELECTRÓNICA ASOCIADA AL SENSOR: Antes de nada tenemos que decir que que lo lógico es que la lectura de cada sensor nos de un '1' lógico cuando el sensor está encima la linea y un 0 cuando no lo está, aunque esto no es imprescindible ya que se puede corregir por software. Existen (al menos) dos posibilidades para conectar los sensores al microcontrolador, podemos conectarlo directamente al micro o utilizar un driver intermedio (típicamente el 40106). Después de múltiples robots con diferentes configuraciones la opción más sencilla, es decir, conectarlos directamente al micro ha funcionado correctamente en todos los casos.



     

    CIRCUITO PROPUESTO PARA UN VELOCISTA

    Una vez dicho todo lo anterior el circuito propuesto para un velocista es el siguiente:


    A partir de este circuito se ha realizado la placa. Esta placa ha sido diseñada y realizada sin ningún problema por alumnos de 1º de EEC por el procedimiento de la “plancha”. Se han utilizado resistencias en encapsulado de montaje superficial de tamaño 1206 para que puedan familiarizarse con este tipo de componentes. El pcb resultante es el siguiente:



    Y la placa una vez realizada ha quedado así:




    Los ficheros de esta placa (para eagle 5.4) son:

    CIRCUITO PROPUESTO PARA RASTREADOR

    Por priorizar otros tutoriales, se pospone :(

    OTRAS POSIBILIDADES

    Simplemente poner alguna fotografía a modo de idea.

    Sensores móviles. Los sensores pueden moverse mediante un eje motorizado. No es necesario poner un número grande de sensores.



    Lectura analógica de sensores. Esta opción es muy interesante puesto que mediante la lectura analógica podemos conseguir la precisión que queramos en la lectura. Por ejemplo el robot que se ve puede tener un vector de dirección con mas de 1000 valores (esto es, puede distinguir que desviaciones de la trayectoria de décimas de mm). Interesante verdad, y que pensais si os digo que para hacerlo no utiliza entradas analógicas del micro lo hace con entradas digitales. Se puede hacer con un simple 18f84