encoder push-pull o line driver RS422

Buenos dias a todos.

Posiblemente trastee un cacharro de estos:
www.connectric.com/Limes.pdf

y tengo una duda (posiblemente gorda)

¿Que diferencia hay entre los modelos push-pull y los RS422?
¿Se refiere a los niveles de tensión de salida?

Muchas gracias por adelantado y un saludo.

Google y la wikipedia no muerden:

Supongo que el más fácil sería usar el rs422 con un transceiver, maxim tiene alguno:

Un saludo

¿como le enchufo el encoder con rs422 a arduino?

No estoy puesto en rsXXX ni transceivers.

¿Hay algún ejemplillo o caso similar por ahí?

Un saludo

Otra cosa... si utilizo rs422 no puedo usar interrupciones ¿no?

Quiero decir:

Tenia pensado en monitorizar el encoder mediante interrupciones, pero si utilizo rs422 no puedo hacerlo ¿verdad?

Un saludo.

En la página 13 del datasheet tienes los pines y a que está conectado interiormente cada uno, además por las primeras hojas hay un esquema de conexión para el bus.

Al usar un bus con las señales ya procesadas y modificadas no podrías directamente, pero que encoder es el que quieres usar?

Un saludo

El encoder que quiero usar es el:

www.connectric.com/Limes.pdf

En el datasheet se muestran 2 tipos, pero solo se diferencian en la precisión. Ambos pueden pedirse como push-pull o rs422. El estandar es el rs422.

En la página 13 del datasheet del transceiver veo un esquema con A y B. ¿Eso se conecta a Tx,Rx?

En la sección internacional del foro me han recomendado pedirlo push-pull 24v y hacerle un divisor de tensión. ¿Que opinais? Ya he usado encoder con interrupciones y esta opción si me sería facil implementarla. ¿Que ventajas me ofrece rs422?

Otra cosa:
Chiva, el max3362 mide 3x3 mm. Dudo que pueda hacer pruebas con el. Buscaré otro.

Vale, ya he visto lo de signals figure, te envía directamente los pulsos tal cual por el bus, por lo que si que podrías usar interrupciones.

Si dicen que es más fácil el pull pregúntales como se hace

Si me envía los pulsos tal cual por el bus... ¿para que necesito un transceiver?
Por lo que he entendido con push-pull tengo lo mismo (pulsos) pero a 24v y tengo que hacerle un divisor de tensión para adaptarlo.

Al final va a ser igual pero con 5v o 24v.

Porque el RS422 es un bus diferencial y a +-6V por lo que el Arduino no tiene nada de eso

Hola, sin querer meter la pata, un encoder push-pull es un encoder con el cual puedes saber si gira en un sentido u otro (positivo o negativo).
No sé como lo hacen, pero las máquinas con las que trabajo con ese tipo de encoder saben si giran en un sentido o en el otro.

En un encoder de este tipo, tienes dos canales que envian pulsos desfasados. Debes conocer el número de pulsos por vuelta del encoder, lo dice el fabricante. Y me imagino que por interrupciones puedes contar los pulsos.

Si tienes un osciloscopio (de dos canales) a mano, lo mejor es que lo conectes al encoder lo veas.

Saludos

/BlueIcaro

Hola blueicaro.
Te comento:
El encoder que estoy tratando tiene dos configuraciones de salida: push-pull o line driver rs422. O una u otra.
En ambos casos el encoder envía la señal de dos canales para determinar cual es el sentido de marcha.
La diferencia entre uno y otro es la manera en la que se envían las señales.

Mi duda es:
¿Que ventajas e inconvenientes tienen...? Fácil conexión al arduino, fiabilidad, etc..

Creo que el RS422 es más fiable en largas distancias, pero en mi caso no voy a pasar de 2 m de cable

Un saludo.

Hola,

El RS422, es un bus de comunicaciones. Para que te hagas idea, es como un "puerto serie industrial".Necesitaras conocer la trama (mensajes) y leerlos desde tu Arduino. Efectivamente, necesitaras un driver (convierte niveles logicos TTL a niveles diferenciales de RS422).
Las ventajas es que con el bus puedes estar recibiendo varios sensores (hasta 10) por el bus de comunicaciones, inmunidad ruido,...
Para entendernos de forma sencilla: es como si tuviese un arduino (un microcontrolador) dentro del sensor, que lee los pulsos digitales, los procesa y se los devuelve al usuario por RS422 (para no liarte, imagina que es el puerto serie... Como el primer ejemplo de Arduino Playground - RotaryEncoders que una vez leidas las senyales, las procesa y manda el contador por puerto serie. )
La opcion de RS422 sera bastante mas cara. Necesitas la info del fabricante acerca de como son las comunicaciones con tu sensor. Tendrias que implementar dicha comunicacion(protocolo) en tu Arduino.

Push-pull, son directamente las senyales digitales en "cuadratura" (A y B). Lo que viene siendo "a pelo"....je,je,je
Es decir, dos senyales digitales desfasadas para saber cual es el sentido de giro. Puedes verlas en la pag 4 del link del datasheet que has puesto.
Si el pulso en A, es antes que en B es un sentido de giro, y si al contrario, el pulso de B es anterior al de A, pues el otro.
Luego ya es contar el numero de pulsos para saber la velocidad o desplazamiento.....

Lo mas directo,sencillo y barato es usar las senyales digitales (tendras que adaptar a niveles TTL para Arduino). Y medir con interrupciones, como bien has dicho.

Saludos :wink:

Igor R.

Con la explicación de Igor, yo lo haría por interrupciones , nada de bus.

Sobre la distancia, en el ambiente industrial, yo tengo encoders a una docena de metros y sin problemas, lo importante es poner un cable con malla para aislar el ruido. Ojo la malla no la conectes a nada, déjala tal cual está en el cable (si hay mucho ruido, se puede poner a masa con un condensador, aunque nunca me he visto en el caso).

Aunque si es un proyecto casero, quizás no sea tan importante el problema del ruido.

Ya nos contarás como evoluciona el proyecto.

/BlueIcaro

Muchas gracias Igor R. Tus comentarios son muy ilustrativos.
Utilizar rs422 es más laborioso pero tiene pinta de ser mucho más fiable. Descargo al arduino del control de pulsos y evito fallos por ruido. Voy a investigar en este sentido.
Hoy por hoy el proyecto es casero, pero algún día... ¿quien sabe?

Nota:

El tema de los encoders con interrupciones en arduino lo tengo mas o menos visto. Hace unos meses desarme un ratón de los de bola y conseguí sacar las señales (o senyales) de los encoders para arduino. Luego complique un poco el tema y conecte mecanicamente un motorreductor de 3v de un juguete con el encoder. La alimentación del motor la hacia con un adaptador multivoltaje marca International (legendaria en bazares y tiendas de chinos de alta gama). Pues bien, cada vez que acercaba el adaptador al enchufe de 220v arduino me contaba varios pasos del encoder. Los cables de señal estaban apantallados por el aire de mi garaje y su longitud era de palmo y medio. Conclusión: Hay que tener cuidado con el ruido. La sensibilidad de las interrupciones en un arma de doble filo.

Un saludo a todos.

Tal como comentas Jose Francisco, el ruido "electrico" es todo un rompedero de cabeza. Parece que el "adaptador" de tensión no tenía muchos filtros.
Si la tensión que alimenta el encoder, o el motor no está filtrada, pues ya se complica.
En el trabajo, yo tenia un encoder sin cable apantallado y pasaba cerca de un relé, y cada vez que se activaba, me contaba pulsos :o

Espero que tengas suerte con el tema del encoder.

Saludos

/BlueIcaro