¿Cuál es la mejor manera de filtrar el ruido en la línea de datos?

0

Estoy trabajando en un producto que tiene un controlador conectado a un dispositivo a través de un cable de 8 conductores (un cable Ethernet). La longitud del cable varía según el lugar donde se instale el dispositivo, pero la longitud varía de 15 a 30 pies. El dispositivo que se controla consiste en un motor paso a paso, un sensor de temperatura digital y un interruptor de límite. El controlador emite impulsos a los cuatro cables del motor paso a paso para mover el motor. El sensor de temperatura emite una onda cuadrada de 0 a 5 V que tiene un ciclo de trabajo variable proporcional a la temperatura actual. La señal del sensor de temperatura tiene una frecuencia nominal de aproximadamente 50Hz. El controlador controla esta señal para calcular la temperatura actual en el dispositivo. El controlador del motor paso a paso es un controlador de corriente constante, lo que significa que enciende y apaga el motor muy rápidamente para mantener la corriente a través de la bobina en una cantidad determinada. Este impulso puede ocurrir a más de 100 kHz y el voltaje cambia de 0 a 12 voltios.

Están ocurriendo varios problemas. En primer lugar, la señal de salida del sensor de temperatura se induce en la tensión de alimentación de 5 VCC para el sensor de temperatura. Esto hace que la tensión de alimentación sea muy inconsistente y ruidosa. He intentado colocar un condensador de 10 uF, y otros más pequeños, entre esta señal y la conexión a tierra dentro del dispositivo controlado y eso ayuda un poco, pero todavía puedo ver un rizo. ¿Hay una mejor manera de deshacerse de esta onda que está a unos 50Hz?

El siguiente problema ocurre cuando el controlador paso a paso pulsa el motor para proporcionar un par de retención. El controlador pulsa el motor a alrededor de 100 KHz y esto también causa ruido en la señal de la sonda de temperatura, la señal de 5 VCC y la tierra cuando se mide en el dispositivo controlado.

El dispositivo controlado tiene una pequeña placa de circuito en su interior, así que tengo espacio para jugar con técnicas de filtrado allí. ¿Tienes alguna sugerencia? Creo que enviar controles del motor paso a paso y otros datos digitales por el mismo cable es algo muy común, por lo que debe haber una forma inteligente de eliminar el ruido.

NOTA: no creo que cambiar el tipo de cable sea una opción debido a problemas de compatibilidad con versiones anteriores.

    
pregunta PICyourBrain

2 respuestas

1

Intentar enviar este tipo de señales de 30 pies todos juntos en el mismo cable es una locura. Una arquitectura general mucho mejor es enviar energía y señales seriales digitales simples a través del cable. Maneje los detalles del control paso a paso y las lecturas del sensor en el extremo más alejado del cable, y reciba los comandos y envíe los resultados digitalmente. Con el cable CAT5 que describiste, puedes usar un par para transmitir, un par para recibir y los dos pares restantes para poder.

Russell ha descrito algunas cosas que puedes hacer para intentar hacer que este desorden fluya a lo largo. Tal vez si eres cuidadoso son lo suficientemente buenos. Sin embargo, el problema real está en la arquitectura de nivel superior, que es donde se tendrá que hacer cualquier solución real.

    
respondido por el Olin Lathrop
0

El principal problema es, por desgracia, que el sistema debe estar diseñado para funcionar, basado en principios fundamentales, y no lo ha sido.

Algunos puntos clave

  • Pares balanceados para paso a paso.

  • Regulador de voltaje en el sensor de temperatura.

  • Cable del sensor de temperatura del filtro en el controlador maestro.

  • Considere los inductores pequeños, así como las tapas, PERO no debería ser necesario.

  • Considere limitar la velocidad de giro de las señales paso a paso.

  • 50 Hz es probablemente la recolección de la red.

Si bien es posible mejorar en gran medida lo que está obteniendo, tiene una combinación de señales de alta energía y una combinación tan incierta de problemas que es difícil recomendar una solución del tipo que desee.

Una solución cercana es colocar un microcontrolador esclavo en el extremo remoto, alimentarlo con alimentación y señalización balanceada (por ejemplo, RS485) y quitar el cable de la ecuación. Puede que (aún) no esté preparado para aceptar un cambio tan extremo y realmente no debería ser necesario, vea más abajo.

Con el sistema existente, sea CIERTO que está utilizando pares equilibrados dentro del cable tanto como sea posible. Ejecute el paso a paso en dos pares balanceados, una bobina paso a paso en un par (probablemente). Sería útil hacer funcionar el sensor de temperatura en un par equilibrado, pero probablemente no sea factible; consulte a continuación.

Filtrar utilizando inductores pequeños y capacitores ayudaría, pero puede que no sea necesario.

La velocidad de giro de la señal del motor paso a paso se puede limitar si aún no es para minimizar la transferencia de ruido.

La salida del sensor de temperatura no necesita ser una señal de alta energía. Si está llegando a su propia fuente de alimentación, está haciendo algo muy mal.

La descripción de su uso del cable no permite que se sepa con certeza

Quizás:

4 pasos Suministro de 1 5V 1 interruptor de límite 1 sensor de temperatura 1 suelo

¿Sí?

Si es así, puede ejecutar el paso a paso en pares equilibrados pero no directamente el sensor. La salida del sensor de temperatura y la conexión a tierra en un par común pueden ser los mejores.

¿Qué hace el interruptor de límite? Terreno / abierto. 5V / abierto? 5V / tierra? Este último es el mejor y el suelo debe ser el estado normal, ya que proporciona un cable de blindaje adicional.

Sería una muy buena idea suministrar más de 5 VCC y usar un regulador de voltaje en el sensor. El regulador de 5V puede ser MUY pequeño y las tapas necesarias también pueden ser muy pequeñas.

La ondulación de 50 Hz sugiere una toma de red que probablemente sea independiente de las señales de inducción del sensor en su propia fuente de alimentación. Supongo que la ondulación que ve está en la salida del sensor, así como en su suministro, como se indica, ¿sí? (O si no, por qué te importaría).

Si la salida del sensor es señalada por su relación espacio-marca, ¿por qué es importante su nivel de pureza? Promediado en algunos ciclos, la ondulación sería irrelevante. El uso de un regulador en el sensor haría que su suministro fuera puro. La inducción paso a paso en el cable de la señal del sensor podría filtrarse en el extremo del controlador maestro y la detección de la temperatura se puede hacer en 1/50 de segundo cuando el motor no está siendo pisado.

¿Dónde estás? ¿Qué me pagarás para arreglarlo por ti? :-).

    
respondido por el Russell McMahon

Lea otras preguntas en las etiquetas