Eliminación de ruido digital en señales de codificador en cuadratura

3

Estoy usando un codificador de cuadratura con 3 líneas para rastrear la posición giratoria de un eje conectado a un motor BLDC (a través de una caja de engranajes planetarios).

Cuando giro el eje, las líneas A, B y Z siempre tienen un ruido digital errático (observado mediante un analizador lógico), que siempre desordena las lecturas de posición. La imagen de la señal digital es la siguiente. ElordendelasseñalesesA,BylaúltimaesZ(índice)

Elruidosiempreseveenlas3líneasjuntasy,encomparaciónconlospulsosrealesdelcodificador,esdemuycortaduración.

¿Cuálpodríaserlafuentedeesteruido?¿Cómopuedoeliminarelruidodelasseñales?Preferiblementeatravésdeunasolucióndehardwaremínima.

Losdatosdemiposiciónsonprocesadosporuncontroladorcuyocódigonopuedocambiar,porloquenoexistelaopcióndecompensarelruidoenelsoftware.

Unavistamáscercanaalruido

EDITAR:EstoyusandouncodificadorCUIAMT11-3S,queesuncodificadorcapacitivo Enlace  &erio; Hoja de datos

    
pregunta Tarang Shah

5 respuestas

4

Mirar las señales de un analizador lógico (especialmente donde el ruido es un factor) puede ser confuso. Es posible que el ruido que usted ve no esté al mismo nivel que sus señales de cuadratura, pero debido a que el analizador ve una señal en el umbral lógico o no, parecen tener la misma amplitud que su señal deseada.

En primer lugar, le sugiero que verifique que tiene al menos 10-20 uF en el voltaje de suministro al detector de cuadratura. Pueden ser sensibles a las fluctuaciones de voltaje si los está utilizando cerca del límite inferior de voltaje de suministro. La mayoría están diseñados para suministros de 5-12 o 12-24 V, pero algunos se especifican solo como 5 V (y generalmente un diseño muy diferente). Si está utilizando 5 o 12 V, tiene razón en su límite inferior para cada variante.

Asegúrese de que las señales A, B, Z tengan un receptor de activación Schmitt como el 74LS14, y verifique la hoja de datos de su detector de cuadratura para ver si espera una resistencia de extracción en el extremo del cable del receptor (la mayoría lo hace). ... a la inversa, si tiene una resistencia pullup, asegúrese de que no sea un valor demasiado bajo.

A continuación, se muestra un ejemplo de la hoja de datos de un codificador rotatorio de Omron: enlace

Observe que la estructura de E / S varía considerablemente para las variantes; Pulldown, pullup y drivers de línea.

    
respondido por el Jack Creasey
4

Un esquema de su sensor de cuadratura ayudaría a solucionar problemas. Permítame asumir que es un LED infrarrojo (quizás dos) combinado con un fototransistor que genera el Canal A y otro fototransistor que genera el Canal B. Un osciloscopio puede proporcionar más información que el analizador lógico.
Casi todos los fallos de ruido se producen cuando el sensor tiene poca lógica. Esto da una idea de que la luz LED puede ser insuficiente o demasiado brillante: solo un esquema podría indicar cuál. También podría ser causado por la desalineación óptica también. También podría deberse a un valor mal elegido para las resistencias de pull-up o pull-down en su detector óptico. Sin embargo, sí veo un fallo que va de alto a bajo, por lo que este no es el único problema. El ruido de la falla también puede ser causado por:
-Una fuente de alimentación cercana al modo de conmutación
-Su motor BLDC cambia de polo a polo

Parece que los fallos afectan simultáneamente a los tres canales (si todos son bajos, no cuando son altos). Eso sugiere una fuente de ruido externa. Tal ruido suele ser atacado en la fuente. Creo que su línea de índice debería permanecer en su mayoría baja, y por lo general sería alta una vez por revolución. Use esa línea para juzgar el éxito de sus esfuerzos de reducción de ruido.
 La hoja de datos de CUI AMT11-3S advierte que "GND" debe conectarse a la carcasa del motor con un cable corto. Eso puede violar el principio de puesta a tierra "estrella", creando un bucle de tierra que genera ruido. Este módulo tiene un solo pasador de conexión a tierra, que debe cumplir algunos propósitos:

    -Proporciona ruta de retorno para la fuente de alimentación de + 5v.
    -Proporciona referencia de tierra para líneas seriales TX, RX.
    -Proporciona una referencia lógica a tierra para los niveles lógicos de salida CMOS. -Es probable que proporcione blindaje electrostático de carcasa metálica

Este pin de conexión a tierra debe volver a la tierra de su microcontrolador junto con la línea de + 5v DC. Poner a tierra su carcasa BLDC podría ayudar, pero no está claro dónde conectar la conexión a tierra (ATM11-3S gnd, microcontrolador gnd, chassis gnd?)

El ruido de protección, el ruido de filtrado es una alternativa mucho más pobre para matar el ruido en la fuente, pero como dices, a veces estás limitado por otros que dicen "no puedo cambiar mi parte". ¡Oh, la diversión de la ingeniería!

    
respondido por el glen_geek
3

Tienes que insertar un filtro de paso bajo en tus señales que suprimirá los transitorios cortos. Puede hacer esto usando un RC seguido de un comparador, o puede hacerlo digitalmente. Ver, por ejemplo, el debouncer MC14490 .

    
respondido por el WhatRoughBeast
0

La primera respuesta obvia es tratar de proteger el cableado y verificar las referencias a tierra. Si eso falla ...

Los codificadores utilizados en sistemas industriales casi siempre usan señalización diferencial. Es fundamental en los sistemas que utilizan motores de CC sin escobillas, motores de CC con escobillas o unidades de frecuencia variable; todo lo cual produce grandes cantidades de ruido eléctrico.

Puede convertir la señal de sus codificadores X, Y, Z (o sin / cos / mark, etc.) a un diferencial con un transmisor RS422 o RS485. Luego use un receptor 422/485 en el otro extremo. Mantenga el transmisor lo más cerca posible del codificador y tal vez protéjalo con un gabinete de metal. El cableado debe ser un par trenzado de 120 ohmios con un blindaje general. Coloque una tapa de desacoplamiento a través de las líneas eléctricas de cada chip. Una cerámica de 0.1μf es una buena elección.

Este es un enfoque de bajo costo ya que los chips cuestan unos pocos dólares cada uno. El cable de 120 ohmios se usa comúnmente en la comunicación industrial en serie para RS422 o RS485 y se tiene fácilmente. Puede encontrar los controladores y receptores de línea RS422 / 485 para funcionamiento a 5 V, lo que hace innecesarios los suministros de energía y el cableado. Este es también el método estándar de la industria para la señalización de codificador diferencial, por lo que no es algo fuera de lo común, de hecho, es bastante común.

Hay muchas variaciones de chip de controlador de línea diferentes para la lista, pero hay muchas que ofrecen varios controladores de línea en paquetes DIP o SOIC con fuentes de alimentación de 5V. Un ejemplo sería utilizar el transmisor cuádruple MAX3042 emparejado con un receptor cuádruple MAX3095. También puedes ver el catálogo de Ti.

    
respondido por el Mister Tea
0

La solución más fácil es agregar una pequeña carga a los cables de señal. Por ejemplo, un registro de 4.7k que agrega aproximadamente 1 mA de corriente a un voltaje de alimentación de 5V. Estas resistencias deben colocarse entre cada línea de señal y GND. Esta es la solución más barata.

Agregar condensadores de cerámica con ~ 10 a 100pF tiene casi el mismo efecto.

Si desea mejorar su circuito hacia los problemas de EMI y resolver su problema, agregue un diodo TVS a cada línea de señal, por ejemplo. PESD5V0S1BA con Hoja de datos . Estos diodos previenen los picos de voltaje, que pueden destruir su controlador y agregar 45 pF de capacitancia. Esta es la mejor solución.

Elija el que elija, debe estar cerca del controlador, que lee las líneas de señal.

    
respondido por el auoa

Lea otras preguntas en las etiquetas