6 votos

¿Qué puede hacer que un codificador de cuadratura produzca esta salida?

Estoy trabajando en un decodificador de cuadratura por software y probando con un Lego EV3 motor medio (que tiene un codificador de cuadratura integrado).

La cuestión es que, mientras el motor grande produce una salida de cuadratura de aspecto perfectamente normal, mi motor mediano produce esto:

Forward Reverse Close forward rise Close reverse rise

Las transiciones del canal 2 siempre adelantan al canal 1 en 130-200µs. Es, técnicamente, la secuencia de transición correcta para la cuadratura, pero las dos señales están casi en fase o antifase dependiendo de la dirección.

Es notable que estas formas de onda son consistentes con la implementación de ev3dev del decodificador (que supongo que es coherente con la implementación de Lego) que funciona a media resolución tratando los bordes de una entrada como relojes y la diferencia entre las dos señales como dirección. Estas formas de onda actúan como si se prepararan específicamente para ese tipo de detección (mantener los dos bordes cerca maximiza el tiempo disponible para que el software los muestree correctamente).

Esperaba evitar hacerlo así por la menor precisión. Quiero que el código sea un decodificador de cuadratura genérico y de precisión completa, pero que también funcione con estos motores.

Los esquemas que Lego proporcionar muestra lo que me parece un codificador perfectamente normal: EV3 medium motor schematic

Incluso si los sensores no están bien alineados o si son lentos en la transición porque el LED es demasiado débil, no deberían producir esta salida, ¿verdad? Mi razonamiento es que si se trata de un problema de alineación, deberían mostrar la misma superposición de fase en ambas direcciones, no una negativa.

Me pregunto si ambas líneas están rampando lentamente, internamente, pero la transición de la salida del disparador schmitt en una línea causa algún tipo de ruido que provoca una detección más temprana en la otra línea.

Eso no suena bien. ¿Alguien tiene alguna idea mejor de lo que está pasando aquí?

0 votos

Aquí hay alguien más con una experiencia similar de mala fase de la señal de cuadratura, parece que es un efecto secundario de los codificadores de consumo. - vexforum.com/index.php/

0 votos

La buena noticia es que no es por esto que mi código no funcionaba. Eso resultó ser problemas de configuración de E/S. Pero ahora veo que tengo que ser especialmente cuidadoso para elegir la línea correcta para el reloj.

5voto

Daniel Puntos 2699

Puede que sólo sea barato. En lugar de ajustar la fase con precisión como dice WhatRoughBeast, los ingenieros que diseñaron este pueden haber dicho simplemente "Bueno, puedes encontrar la velocidad y la dirección de esto, ¡bastante bien!"

El esquema muestra que ambos fototransistores forman parte del mismo paquete, por lo que pueden estar orientados de forma que capten las transiciones en el orden esperado, sin preocuparse de la fase.

the phototransistors are in a single package

0 votos

Pero si sólo se trata de una alineación no ideal, ¿no deberían las direcciones de avance y retroceso mostrar el mismo grado de superposición? Estoy descubriendo que cuando invierto el solapamiento se invierte. Es como si la fase cambiara de 10° a 170° en lugar de -10°.

0 votos

Sí, con lo que estoy sugiriendo las señales deberían estar en fase la mayor parte del tiempo. No se me ocurre un mecanismo físico que lo haga, salvo que algo se deslice en el interior cuando se cambia de dirección.

0 votos

Si la entrada con las fases retrasadas no cambia cuando se invierte la dirección, entonces sugiere que hay una debilidad en la electrónica y que esa fase no es tan sensible cuando la otra fase está en un estado particular, esto puede ser debido a los límites de corriente de la PSU u otra interacción que sólo podemos adivinar.

2voto

WhatRoughBeast Puntos 20870

Supongo que tienes un codificador malo. Bueno, no está mal (del todo) ya que funciona para determinar la velocidad y la dirección, pero tampoco funciona a plena resolución.

Supongo que utiliza una rueda de código único con los fototransistores desplazados en ángulo respecto al radio para conseguir el espaciado adecuado. Sugiero que los PTs están ajustados en un ángulo incorrecto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X