Solenoides que hacen que Arduino funcione mal a pesar del diodo de protección

6

simular este circuito : esquema creado usando CircuitLab

Tengo un Arduino Mega con el que estoy intentando controlar algunos solenoides y LED.

Los LED son 3.3V, controlados mediante un registro de desplazamiento de drenaje abierto y MOSFET

No estaba seguro de cómo representar mejor el Arduino en Circuitlab, así que usé algunos interruptores para representar los pines de E / S.

Básicamente, el problema es que, después de disparar los solenoides varias veces, las cosas comienzan a actuar de manera extraña. Primero, los registros de desplazamiento comenzarán a restablecerse a un estado aleatorio a veces cuando se dispara un solenoide. Si les presiona datos nuevos, volverán a funcionar bien hasta que se dispare otro solenoide. Después de un tiempo, el Arduino comenzará a pensar que está recibiendo entradas (tengo activadas las resistencias de activación internas, por lo que está pensando que las patas de entrada están conectadas a tierra cuando no lo están). Si apago el circuito y lo vuelvo a encender, todo funcionará bien por un tiempo más, pero no tengo idea de lo que está causando esto, y me preocupa que de alguna manera estoy friendo los componentes ...

También, mientras navegaba en preguntas similares, vi a una persona decir que deberías intentar colocar tu MOSFET lo más cerca posible del solenoide. Actualmente mi MOSFET está montado en el tablero con el arduino, pero los solenoides están a 2-3 pies de distancia. ¿Podría eso causar esto?

    
pregunta zacaj

3 respuestas

5

Esos son síntomas comunes de problemas de diseño, o posiblemente problemas con la fuente de alimentación si su suministro de 5V se deriva de su 25V (como a través de un regulador de dólar). Desea asegurarse de que las trayectorias a tierra estén separadas para sus lados de 5 V y 25 V, luego se unen exactamente en un punto lo más cerca posible de los suministros. Si eso no es suficiente, el siguiente paso sería aislar completamente los circuitos con un optoaislador.

    
respondido por el Karl Bielefeldt
3

Yo diría que más del 90% de los problemas de este tipo están relacionados con la Tierra. Si la ruta de retorno para la corriente del solenoide a través del mosfet comparte el mismo terreno que el arduino, "cosas" van a suceder. Tal vez lo he visto hasta diez veces en PCB, placas de pruebas y prototipos de prototipos mal distribuidos.

No estoy diciendo "definido". Estoy diciendo que si hay alguna duda sobre la tierra / tierra, entonces hay que mejorarla.

    
respondido por el Andy aka
2

Parece que hay tres áreas principales de preocupación aquí:

  • FET gate drive directamente desde un Arduino.
  • Proximidad de los solenoides a los interruptores.
  • Filtrado desconocido en el 25V.

Gate Drive for FETs.

La principal preocupación es apagar los FET. El Arduino tiene que manejar todos los cargos de \ $ C _ {\ text {gs}} \ $ y \ $ C _ {\ text {gd}} \ $ con el cambio de \ $ V _ {\ text {ds}} \ $ como el FET se apaga. Es dudoso que la ATMega haya sido diseñada para eso, y los pulsos actuales junto con la inductancia parásita podrían causar un rebote en el suelo. Eso podría provocar un comportamiento errático del chip. Sería mejor devolver la carga de la puerta a la fuente del FET mucho más directamente que a través del Arduino.

La resistencia en el circuito de la puerta también es una preocupación. R3 es 150 ohmios, supongo que \ $ R _ {\ text {drv}} \ $ (dentro del Arduino) es 50 Ohms, y \ $ R_g \ $ (dentro del IRF530) es ~ 7 Ohms. Eso es un total de 207 ohmios, que es demasiado para evitar que el FET se vuelva a encender durante el apagado. Cuando el FET se apaga, hay un dV / dt en \ $ V _ {\ text {ds}} \ $, impulsado por la inductancia del solenoide (\ $ L_s \ $). El tiempo de subida de \ $ V _ {\ text {ds}} \ $ se establecerá mediante la inductancia del solenoide que actúa con \ $ C _ {\ text {ds}} \ $ del FET. En este caso, \ $ L_s \ $ es 1uH y \ $ C _ {\ text {ds}} \ $ es 350pF, por lo que el tiempo de subida esperado a 25V de \ $ V _ {\ text {ds}} \ $ sería 35nsec. Cálculos siguiendo las pautas mostradas aquí

Ambos de estos problemas con el circuito de la puerta podrían resolverse agregando un transistor pnp para bajar la puerta durante el apagado. Aquí hay un circuito de ejemplo para darte una idea.

Este es un desplegador seguidor de emisores para la puerta que divide efectivamente la resistencia del circuito de la puerta por el transistor \ $ \ beta \ $.

Proximidad del interruptor de solenoide y FET.

Usted dice que los solenoides están a 2 o 3 pies de distancia de los interruptores. Eso es un problema porque habrá una inductancia perdida en el cable. Fácilmente podría haber 100 o 200 nH de inductancia parasitaria. Si los diodos de captura para los solenoides están directamente alrededor de los solenoides, entonces la inductancia del cable sonará con \ $ C _ {\ text {ds}} \ $ del FET y deberá ser amortiguada con un amortiguador RC en el FET, o manejado de alguna manera

Este es un problema de distribución para el circuito del solenoide. El área de bucle del solenoide 25V y la trayectoria de retorno deben reducirse considerablemente. El cable podría ser corto, o el cable podría estar torcido (una o dos vueltas por pulgada probablemente lo haría), para reducir la inductancia del cable.

Filtrado en 25V.

No se muestra ningún filtrado en los 25 V, pero debe haber suficiente capacidad local para manejar las corrientes de conmutación del solenoide. No puedo decir más que eso sin saber más sobre el suministro.

    
respondido por el gsills

Lea otras preguntas en las etiquetas