¿Qué podría hacer que un codificador en cuadratura produzca esta salida?

6

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

La cosa es que, mientras que el motor grande produce un aspecto perfectamente normal salida en cuadratura, mi motor mediano produce esto:

Lastransicionesdelcanal2siempreconducenalcanal1en130-200µs.Es,técnicamente,lasecuenciadetransicióncorrectaparalacuadratura,perolasdosseñalesestáncasienfaseoantifasesegúnladirección.

Esnotablequeestasformasdeondasonconsistentescon implementación de ev3dev del decodificador (que asumo que es consistente con la implementación de Lego) que se ejecuta a media resolución al tratar los bordes en una entrada como relojes y la diferencia entre las dos señales como dirección. Estas formas de onda actúan como si se estuvieran preparando específicamente para ese tipo de detección (mantener los dos bordes cerca maximiza el tiempo disponible para que el software muestre las muestras correctamente).

Tenía la esperanza de evitar hacerlo de esa manera debido a la precisión reducida. Quiero que el código sea un decodificador de cuadratura genérico de precisión total, pero también que funcione con estos motores.

Los esquemas que Lego proporcionan Muestra lo que me parece un codificador perfectamente normal:

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

Me pregunto si ambas líneas avanzan lentamente, internamente, pero la transición de la salida del disparador de schmitt en una línea provoca 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 mejor idea de lo que está pasando aquí?

    
pregunta sh1

2 respuestas

5

Puede ser barato. En lugar de establecer la fase con precisión, como dice WhatRoughBeast, los ingenieros que diseñaron esta pueden haber dicho: "Bueno, puedes encontrar la velocidad y la dirección de esto, ¡lo suficientemente bueno!"

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

    
respondido por el Daniel
2

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

Supongo que utiliza una rueda de código única con los fototransistores desplazados en ángulo con respecto al radio para obtener el espacio adecuado. Sugiero que los PT estén en el ángulo incorrecto.

    
respondido por el WhatRoughBeast

Lea otras preguntas en las etiquetas