TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: BrunoF en 25 de Febrero de 2015, 13:10:54

Título: Intentanto leer circuito Rotary encoder
Publicado por: BrunoF en 25 de Febrero de 2015, 13:10:54
Buenas,

hoy me ha tocado hacer la pregunta a mi. Resulta que tengo un circuito con rotary encoders y demás. El circuito multiplexa los cables necesarios para reducir su número. El problema es la parte del rotary. Relevé el circuito y esto es lo que tengo en la parte del rotary encoder (se comporta básicamente como 2 pulsadores):

(http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=44153.0;attach=23307;image)

El problema es que no logro manera sencilla de poder determinar desde un micro los 4 estados posibles de los pulsadores: (OFF,OFF), (OFF,ON), (ON,OFF), (ON, ON).

Destaco que lo que está dentro del rectángulo no puede modificarse.

Desde los 3 IOS, puedo comandarlos tanto como entradas, como salidas, como también habilitar a gusto en cualquier momento sus weak pull ups. También podría utilizar el ADC en algun IO pero preferiría no hacerlo por cuestiones de practicidad y velocidad.

Le agradezco a quien se le ocurra algo. Mis soluciones no han sido para nada sencillas y no se me ocurre en qué ha estado pensando quien diseñó esto.

Saludos!
Título: Re: Intentanto leer circuito Rotary encoder
Publicado por: Chaly29 en 25 de Febrero de 2015, 14:02:31
Hola BrunoF, estas seguro que levantaste bien el circuito de tu encoder? Porque el diodo D2 no tiene mucho sentido en ese lugar!!
Aparte, como es eso de que no se puede desarmar? Si los diodos son superficiales debes poder desoldarlos para sacarlos?!.

Espero respuestas. Un saludo.

Atte. CARLOS.

Título: Re: Intentanto leer circuito Rotary encoder
Publicado por: Jorge555 en 25 de Febrero de 2015, 14:36:23
Las pruebas que hice con un rotary encoder hace tiempo: http://webdelcire.com/wordpress/archives/1545

por si puedes sacar alguna idea.

S2
Título: Re: Intentanto leer circuito Rotary encoder
Publicado por: BrunoF en 25 de Febrero de 2015, 15:35:37
Hola BrunoF, estas seguro que levantaste bien el circuito de tu encoder? Porque el diodo D2 no tiene mucho sentido en ese lugar!!

Espero respuestas. Un saludo.

Atte. CARLOS.

Hola Carlos! Sí, lo revisé muchas veces. Demasiadas ya! Ja ja! Los diodos vienen en encapsulado SOT23. Revisé y son dos diodos (no transistores). El D2 asumo que está previsto para multiplexar aún más cables, pero no está en uso acá. Como bien decís, es irrelevante. Lo más loco es esa resistencia de 2K2 que entorpece la lectura.

Aparte, como es eso de que no se puede desarmar? Si los diodos son superficiales debes poder desoldarlos para sacarlos?!.

El problema es que esto es un aparato cerrado comercial. No puedo modificar el circuito.

De momento he logrado leer 3 de los 4 pasos del rotary poniendo una resistencia pullup de 470R en IO1. Eso me basta para leer el sentido de giro del rotary. Es un despropósito igualmente tener que poner una resistencia de tan bajo valor como pullup por culpa de la resistencia de 2K2 (me genera bastante consumo al trabajar). Sigo sin entender por qué lo diseñaron así... Parecería que pusieron componentes para complicar en lugar de simplificar.

P.D. IO3 parece ser el GND del circuito.

Las pruebas que hice con un rotary encoder hace tiempo: http://webdelcire.com/wordpress/archives/1545

por si puedes sacar alguna idea.

S2

Te agradezco jorge. He trabajado muchas veces en el pasado con rotary encoders. El problema en este caso es que debo leer uno asociado al circuito que he mostrado en la imágen.
Título: Re: Intentanto leer circuito Rotary encoder
Publicado por: Chaly29 en 25 de Febrero de 2015, 22:59:07
Hola BrunoF, este circuito es lo más sencillo que se me ocurre para no usar convertidores A/D, ni usar muchos recursos del PIC, como verás el encoder se encuentra a la derecha, y las salidas por la izquierda, las salidas son activas en BAJO. Por lo tanto, cuando giras el encoder para un lado, una de las salidas tira pulsos negativos, y para el otro lado será la otra le cual tire los pulsos, la salida inactiva permanecerá en alto. Y los pulsos, por supuesto serán proporcionales a los enviados por el encoder.

(http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=44153.0;attach=23315;image)

Espero te sea de ayuda.

Cualquier duda me la consultas.

Un saludo.

Atte. CARLOS.

Pda. Te propongo este circuito porque no encuentro otra solución para ese encoder. Puedes minimizar los componentes eliminando el 74LS74 y retirando los pulsos directamente de los comparadores.

Título: Re: Intentanto leer circuito Rotary encoder
Publicado por: BrunoF en 26 de Febrero de 2015, 18:06:34
Gracias Carlos!

Si no me funciona lo de la pullup voy a intentar con tu circuito!

Saludos!!
Título: Re: Intentanto leer circuito Rotary encoder
Publicado por: Nocturno en 27 de Febrero de 2015, 02:05:39
¡Qué complicación!