Interface CNY70

El CNY70 es un sensor óptico reflexivo difuso, es decir el objeto a detectar es el que refleja los infrarrojos. Consta de un diodo emisor de infrarrojos y un fototransistor.vista-cny70

La base del fototransistor se gobierna con la luz infrarroja emitida por el diodo. Cuando la luz infrarroja del diodo se refleja hacia el fototransistor, este se satura y cierra el circuito (teoricamente).

Esta señal de salida del CNY es de caracter analógico  (depende de la cantidad de luz reflejada) por lo que necesita de una “digitalización” para poder utilizarse como entrada digital en un microcontrolador. Para ello normalmente se utiliza una puerta Trigger-Schmitt, ya que con su ciclo de histéresis rectifica la señal convirtiendola en digital.

En mi afán por minimizar y simplificar la electrónica de los robots “sigue-lineas”,  he probado a saltarme esta parte, ya que supone añadir al circuito de control un integrado más por cada 6 sensores. Los CNY70 se pueden conectar directamente a cualquier PIC que disponga de puerto C o superior.  Esto es posible, por que “casi” todos los pines del puerto C ( D, E…) tienen internamente un buffer Trigger-Schmitt.

Estructura I/O puerto C de un PIC

Estructura I/O puerto C de un PIC

interface-cny70

Lamentablemente eso significa que debemos utilizar al menos un PIC de gama media… por ejemplo un PIC16F876 o cualquier otro de 28 pines o más. Pero por mi experiencia creo que merece la pena; los últimos siguelineas (CurRo y VallBot) funcionan de esta forma.

Tags: ,

6 Responses to “Interface CNY70”

  1. Paco says:

    Hola Bastian,

    Antes de nada, comentar que me ha resultado dificilísimo encontrar una web asociada a la robótica como la tuya. Al final, de rebote te he encontrado.

    Acabo de terminar ingeniería informática, y siempre ha habido algo que se me ha escapado durante la carrera, y es la robótica. Me querría poner ahora a aprender sobre esto.

    ¿Sabrías darme que primeros pasos debería hacer para comenzar dentro de este mundo? Tuve una asignatura de microcontroladores (programación y puesta en placa), aunque la verdad la tengo muy olvidada.

    Te agradezco la página que has creado, muy interesante.

  2. bastian says:

    Hola Paco!

    Me alegro de que te guste. Hay muchas más y mucho mejores que la mia. No solo has encontrado mi blog, ya que este cuelga de la pagina web de A.R.D.E. (Asociación Española de Robótica y Domótica) y es la que te recomiendo para empezar. Échale un vistazo y ya me cuentas. Te aviso que tienes paisanos muy buenos en el tema.

    Deberías visitar esta página además….XBOT y empezar con TarriBot. Y si te quieres documentar sobre microcontroladores y lo necesario para empezar tienes este libro (y su página)

    Salu2!

  3. Paco says:

    Muchas gracias.

    Le doy un vistazo y ya te contaré.

    Saludos.

  4. FJ_Sanchez says:

    Ojo, no todos los PICs incluyen el trigger-schmitt en en todas las patas a partir del puerto C. Un ejemplo claro es el PIC18F2550/4550 que en el puerto C, las patas RC4 y RC5 (las que se usan para USB) son entradas TTL.

    Para saber si es TTL, CMOS, o tiene trigger-schmitt (ST) mirate el apartado “PINOUT I/O DESCRIPTION” del datasheet de tu microcontrolador.

    Un saludo.

  5. bastian says:

    Tienes razón, aunque yo estaba pensando en la serie 16F, de echo si te fijas hablo de la gama media, aunque no me queda muy claro. Gracias por la corrección. Por si acaso ya he puesto un “CASI”.

    Salu2!

  6. bluemilla says:

    hola espero me puedan ayudar ya que me super urge estoy haciendo un seguilineas con un pic16f688 tiene 14 pines y es un CMOS el circuito esta super sencillo tiene sus respectivos transistores diodos y resistencias para los motores, el cristal con sus capacitores, su regulador para el pic. mi problema probablemente sea de programacion por que al alimentar mi circuito los motores no encienden..si alguien tiene una sugerencia es bien aceptada…. pero por lo que leei es necesario que el pic tenga schmitt-trigger para que funcionen los sensores?? alguien me podria facilitar algun circuito o la manera de conectar el cny70 con sus resistencias al PIC