Archive for the ‘Electronica’ Category

Interface CNY70

Lunes, Junio 15th, 2009

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.

Trucaje de servos futaba S3003

Viernes, Junio 12th, 2009

Para proyectos sencillos que utilicen motores en rotación continua, me gusta utilizar servos modificados para el giro continuo, pero manteniendo su electrónica. La razón es más bien práctica:

  • Solo se necesita una salida digital para controlar velocidad y sentido de giro de un motor.
  • El diseño de la electrónica se simplifica (No hace falta el puente en H).
  • El motor se gobierna como un servo sin trucar.

Hasta hace poco los trucaba cortando el tope mecánico y sustituyendo el potenciómetro del eje por un multivuelta del mismo valor. El inconveniente es que hay que hacerle un taladro al chasis del servo para poder ajustar el “paro” del motor. Además me resulta difícil conseguir los multivuelta con tornillo de ajuste horizontal y no vertical.

Servos trucados con potenciometro

Servos trucados con potenciómetro

Ahora lo que hago es sustituir el potenciometro por un divisor de tensión hecho con resistencias de 2K57 y tolerancia del 1%. El paro del motor lo ajusto por software y suele estar en torno a los 1300 microsegundos de ancho de pulso. La unica pega es que el tiempo en alto del PWM para parar el servo cambia de un motor a otro.

Pongo aquí un “Paso a paso” fotográfico del método:

Desmontaje del servo

Desmontaje del servo

Servo desmontado

Servo desmontado

Potenciometro del eje desmontado

Potenciómetro del eje desoldado

Divisor con resistencias

Divisor con resistencias

Divisor soldado en su lugar

Divisor soldado en su lugar

Eliminando el tope mecanico

Eliminando el tope mecanico

Tope cortado

Tope cortado

Montaje de los engranajes

Montaje de los engranajes

Se me olvidaba, tambien lo he probado con servos HiTec HS311.
Otro día … más!