6 votos

¿Válvula motorizada que interfiere con el botón?

Tengo el siguiente circuito:

circuit not working

El relé será básicamente controlado por el Arduino (usando el pin 3), basado en un valor que está recibiendo (de un módulo NRF24L01). Sin embargo, también quiero que el relé sea controlable a través de un botón.

El problema:

El control del relé con el botón funciona bien SIN que la carga (una válvula motorizada de 3 vías) esté conectada. Cuando la carga está conectada, el botón se pulsa aleatoriamente MIENTRAS la válvula se mueve.

Según esta observación, supongo que la válvula motorizada de 3 vías interfiere con el botón. Lamentablemente, no sé cómo resolver este error. He pasado varias horas, sin éxito. Algunas cosas que he probado:

  • añadir diodos flyback alrededor de la válvula
  • fijar el botón de diferentes maneras
  • intentó colocar resistencias
  • separar el circuito del relé del resto, como debería ser idealmente (no tuve éxito haciendo esto, porque el transistor debe estar conectado a la tierra común? + el Arduino tiene la misma fuente de alimentación que la válvula de 3 vías..)

Otra solución es (creo que obviamente) separar el circuito del relé del resto. Pero no puedo averiguar cómo dividir la fuente de alimentación de 12V en dos fuentes de alimentación separadas.

Mi solución temporal...

Como el botón sólo se pulsa aleatoriamente MIENTRAS se mueve la válvula, he escrito mi código para ignorar el botón durante el movimiento de la válvula. Considero esto como una solución temporal. Quiero entender qué pasa exactamente y cómo solucionarlo.

¿Interfiere la válvula motorizada? ¿Cómo resolver este problema?

0 votos

El botón está bien, la válvula no lo presiona. ¿Es realmente su esquema completo también, desacoplamiento y todo?

0 votos

@awjlogan Sí este es el esquema completo. Había algunos LEDs conectados y el módulo NRF24L01, pero los he quitado por ahora. -- el botón sólo se pulsa aleatoriamente mientras la válvula se mueve.

0 votos

El botón no está presionado, pero estás recibiendo voltaje inducido en ese pin, que es por lo que parece estar presionado. Cosas sencillas para probar: algún desacoplamiento cerca de la válvula, comprobar que el cableado está limpio y la tierra es un punto único, un tirón más fuerte en ese pin, desacoplamiento de ese tirón, diodos de abrazadera en el pin.

6voto

ozmank Puntos 127

Una solución de hardware es añadir 100~1000pF en el puerto de entrada.

y asegúrese de que Vdd-Vss tiene desacoplamiento ~ 0,1uF cerca del chip.**

Por supuesto, ignorar el interruptor durante un periodo de actividad funcionará, pero el ruido de los picos podría interferir en el futuro con otra cosa. ( ¿20ms de tiempo de asentamiento?)

Lo ideal es que los diodos de polarización inversa estén a través del interruptor, no de la bobina, para que el área del bucle de corriente siga fluyendo en la misma trayectoria y dirección a medida que decae, en lugar de un dI/dt abrupto entre la fuente del interruptor y el amortiguador del diodo del final del par.

El transitorio en el bucle de corriente de la válvula se acopla mutuamente a la zona del bucle de alta impedancia del interruptor a pullup interno a gnd. Este es un problema típico de EMI que puede ser conducido o radiado o ambos. Cuando la carga inductiva de la válvula se libera del lado alto a un diodo normalmente sesgado inversamente en el carril opuesto. La corriente del diodo sujeta el pico de voltaje y disipa la corriente del inductor más lentamente (T=L/R) donde la corriente del lado alto cambia de los contactos ahora al diodo polarizado hacia adelante en el riel opuesto (0v).

Esto parece intentar desplazar la tierra más abajo, pero lo más probable es que tire hacia abajo el pull-up de alta impedancia en el puerto del uC hacia el carril de tierra desde el cable (1pF/cm) y la capacitancia del interruptor (1pF) desde el disparo del borde negativo creando un falso disparo.

También hay un campo EMF negativo radiado durante el pico de tensión negativa de apagado del lado alto que puede acoplarse al par de cables del interruptor sin blindaje.

Esto suprime el ruido dV/dt parásito con una capacitancia más grande para derivar la corriente inducida de la capacitancia parásita (~10 pF) o la inductancia mutua con un condensador más grande (pero no demasiado grande) en la entrada del interruptor, ya sea a Vss o Vdd, dependiendo de su elección para el encendido, como 1nF cerca del CI.

Puedes o no querer que el interruptor esté activo durante el reinicio de la alimentación, así que utiliza la tapa de la entrada a Vdd para evitarlo.

Las soluciones electromagnéticas incluirían, pares trenzados apantallados (cable STP), pares de hilos ortogonales para el conmutador y la carga, bolas de ferrita tanto en el emisor como en el receptor de ruido con una pequeña capacitancia de carga (30pF).

Pero no estás buscando un gran ancho de banda aquí y sólo quieres suprimir el glitch así que 100pF a 1nF debería ser suficiente a través de la entrada del interruptor.

La opción técnica es hacer pullup RC > L/Rdc donde Rdc es ahora el diodo (<1 Ohm) y esto reduce el pico de ruido dV/dt pero sin hacerlo demasiado grande para que cuando el interruptor se cierre la energía almacenada de la tapa no queme la superficie de contacto excesivamente sino lo suficiente para quemar cualquier oxidación si no está chapado en oro o carbono.

TAMBIÉN SE DEBE TENER EN CUENTA

Su relé 2A sólo está clasificado para 1A @ 30Vdc lo que significa que la corriente de su válvula no debe exceder de 1A para una larga vida, de lo contrario el chapado se quema y Rs se eleva a un rápido envejecimiento térmico.

5voto

TimWescott Puntos 261

Sin saber exactamente lo que pasa, aquí hay cosas que se pueden intentar:

  • Desacople los 12V al Arduino, con una resistencia en serie desde los 12V y un tapón desde la entrada de alimentación del Arduino a tierra. Yo miraría el mayor consumo de corriente que espero del Arduino, y elegiría una resistencia que no deje caer más de 2V (1V por preferencia), y no más de unos 220 ohmios. A continuación, utilice un 10 \$\mu\$ Tapa de derivación F.
  • Usa un pullup externo en el botón, para hacerlo más rígido. Los pullups internos del Arduino son intencionalmente débiles (para reducir el consumo de energía) y varían (porque están hechos en silicio).
  • Coloca el botón cerca del Arduino. Si no puedes, apantalla el cable que va al botón utilizando algún cable de micrófono apantallado o coaxial.
  • Revise cuidadosamente su esquema de conexión a tierra. Lo ideal es que lleves la alimentación y la tierra del motor a la fuente de alimentación por separado de la alimentación y la tierra del Arduino.

0 votos

Una resistencia en serie en la línea de alimentación no suele ser el mejor plan. Un diodo sería mucho mejor, porque eso hace lo que usted necesita, que es detener el motor de drenaje de la tapa de la fuente de alimentación del Arduino.

0 votos

Depende de lo que busques y del tipo de ruido que tengas. Pero sí un diodo puede ser mejor, en este caso.

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