sábado, 1 de febrero de 2014

Encoder cuadrático por botones

Hola...

           siguiendo con los últimos trabajos,  la opción de poder disponer de una botonera para manejar el DDS, me he animado a ampliar la información. En mi canal de YouTube están los videos que muestran el funcionamiento pero quería detallar el esquema del prototipo, ya realmente es una versión final bien comprobada y operativa.

El circuito lo que hace es generar la señal utilizando un PIC, las combinaciones electricas desfasadas 90º dependiendo del sentido de giro que un encoder rotativo mecánico generaría. En este caso dependiendo
del botón pulsado obtendremos una señal practicamente perfecta. Se entiende quen el encoder no genera nada por si solo, está conectado a líneas de un microcontrolador...

Los botones mejoran la usabilidad, no hay que estar girando una rueda y con la función de scan mientras que se pulsa el botón resulta realmente práctico. La versión que detallo genera pulsos mientras se mantiene pulsado el botón de uno de los sentidos e incrementa la velocidad de avance de forma progresiva.

Otra ventaja del los botones es la duración, el encoder mecánico tiene una vida útil que depende de la calidad de éste. Los ópticos son mejores en este sentido. Otra ventaja de los botones es que no sobresalen tanto y en determinadas aplicaciones puede ser interesante.

Si sustituimos el encoder del DDS por este circuito tendremos que añadir el pulsador de modo como un botón más ya que perdemos el pulsador integrado en el Encoder rotativo...

El esquema es el siguiente:
 


¿Cómo se conecta?  Si quitamos el encoder nos vamos a encontrar con los puntos de conexión situados a la derecha. Las líneas A, B, GND y el pulsador. Lo que hay que tener en cuenta es que el PIC 12F508 necesita 5V para funcionar. Podemos sacarlos del circuito, el DDS tiene una toma de +5V auxiliar. El consumo de este circuito es muy bajo.

Es importante destacar que el circuito es compatible para sustituir el Encoder del DDS, por defecto las líneas A y B del DDS están a nivel alto y se van conectando a GND en el orden adecuado para generar la modulación. Podemos decir que el encoder trabaja con conexión del terminal común a masa o GND.

Las patitas 2 y 3 son por donde sale la señal A y B generada según las pulsaciones y la detección de los botones (up/down) se realiza por las patitas 7 y 6 respectivamente.

Sobre el botón MODE no se tiene ningún control como he dicho, sólo lo he llevado a la placa de la botonera.

El condensador de 10nF debe estar como se indica en el esquema, cercano a la pata 1.

Si separamos mucho la botonera del hardware debemos usar cable con algún tipo de apantallamiento por evitar posible interferencias en el receptor.En principio la botonera no debería producir ningún tipo de interferencia.

Ahora sólo queda programar el PIC, para ello colocaré junto a los enlaces de la derecha el HEX.

Grabar con WDT  Off y se usa el oscilador interno.

Cualquier duda o consulta, como digo siempre, estaré encantado de atenderos. Si no contesto, me he podido despistar,  volved a preguntarme. Recibo muchos correos normalmente!

Un saludo (73)
Víctor.


1 comentario:

Unknown dijo...

Hola tucan googleando he tenido la suerte de encontrarme con tu blog y este articulo que encaja perfectemente con lo que busco.
Brevemente, estoy intentando sustituir un encoder que controla un arbol de menus en un LCD por tres botones 'arriba', 'abajo' y 'enter' para el control de una impresora 3d, es decir lo que hace tu proyecto, pero tengo algunas dudas:
- El codigo HEX del pic es el llamado "Botones HEX 12F508"
- Podrias publicar el codigo fuente para hacer posibles cambios
- Me puedes aconsejar algun grabador casero, (solo voy a grabar este pic), barato y sencillo, como posibles medios tengo varias placas arduino y se algo de electronica como para construir algun circuito sencillo.
Bueno, no es poco lo que pido, te agradezco que compartas tus proyectos con la comunidad y gracias por todo.
Un saludo.