¿Cómo protegerse contra la interferencia electromagnética (nivel DIY)?

3

Estoy construyendo un codificador de rotación óptico para mi "robot autónomo" (un LED que apunta a un fotodiodo que se interrumpe cuando el eje gira).

Mi problema es que al voltaje que estoy usando los motores (~ 9v) generan demasiada interferencia electromagnética, por lo que el microcontrolador (arduino) provoca una "caída" sin ningún movimiento físico (hace que un valor de ~ 5v oscile a continuación ~ 2.2v)

Creo que eso es lo que está pasando. Ver mi imagen para mi configuración de prueba.

Tengo mi circuito conectado a la computadora y tengo un motor de CC completamente independiente conectado a baterías aisladas. Cuando enciendo el motor, el microcontrolador comienza a disparar como loco (incluso 50 veces por segundo, a unos 20 cm de distancia).

Creo que la única causa posible es la interferencia electromagnética. Me doy cuenta de que mi circuito está expuesto (estoy usando LEDs, resistencias, etc., sin cubrir).

Entonces, como prueba cubrí mi "codificador de rotación" (el protoboard rojo en la imagen) en papel de aluminio. Ayudó mucho (pero no solucionó el problema completamente en la configuración de prueba estática; el problema es aún peor si el eje se está moviendo). También cubrí el motor DC en papel de aluminio con una mejora de no (creo que en realidad empeoró las cosas).

No cubrí las resistencias y los LED con aislamiento de plástico (termo-encogible) porque este es el prototipo en el protoboard (quiero evitar invertir todo el tiempo porque lo estoy desarmando en el momento en que funciona para montarlo el robot real). Puedo hacer eso si encuentro indicaciones que ayuden.

Entonces, la pregunta es: para un proyecto de nivel de hobby / bricolaje, ¿qué enfoque debo tomar para aislar el circuito de la interferencia que parece provenir del motor de CC?

Gracias.

Nota: por solicitud de circuito de codificador agregado.

    
pregunta rufo

2 respuestas

4

No estoy del todo sorprendido de que tengas recogida. Tienes cables colgando por todo el lugar. Sugeriría dos cosas para hacer:

1) Tuerza los cables del fototransistor (azul y amarillo) para formar un par trenzado. Al mismo tiempo, asegúrese de que las conexiones de su fototransistor sean lo más compactas posible sin cortocircuitos, le sugiero que mueva las clavijas de conexión mucho más juntas. Además, haga sus conexiones de resistencia de 5k utilizando un par de cables lo más corto posible. Recomiendo hacer la conexión en el protoboard a la derecha en los pines Arduino sin utilizar ningún cable. Como beneficio adicional, consigue un poco de trenza de cobre y encierra tu par de 20 cm en la trenza, con un extremo atado al suelo Arduino.

2) Lo más cerca posible del Arduino, conecte un condensador pequeño (100 pF a 1000 pF) entre D2 y GND. No puedo ser más específico en cuanto al valor, ya que no sé a qué velocidad operará el aislador. En general, cuanto más grande, mejor, excepto que en algún momento encontrará que la tapa reduce la amplitud de la señal a medida que gira el eje del motor.

    
respondido por el WhatRoughBeast
1

Después de mucha experimentación, he encontrado dos cosas que seguramente son evidentes para alguien con más conocimiento:

  1. Estaba sosteniendo el motor con la mano directamente durante la prueba (algunas veces). Estaba actuando como una antena a la interferencia. No hagas eso.
  2. El motor tiene una clasificación de 3 V (máx. 4,5). Estaba usando ~ 14V en PMW. Tampoco hagas eso.

También me resulta muy difícil hacer algún tipo de protección física (nada de lo que intenté).

Usando la información proporcionada por la respuesta aceptada (retorciendo cables, haciéndolos más cortos, usando condensadores), mejoró mucho.

También, el uso de un voltaje más bajo (~ 7V) ayudó mucho. Todavía tengo problemas, pero está funcionando mucho mejor (necesito intentar aumentar la tensión a aproximadamente 4V para ver si eso ayuda).

En cualquier caso: incluyo esto como una "respuesta" porque proporciona información objetiva sobre cómo solucionar el problema / pregunta original.

    
respondido por el rufo

Lea otras preguntas en las etiquetas