Mi solenoide operado por MOSFET destruye mis entradas Arduino

13

Hice una serie de PCB para alimentar algunas válvulas solenoides que usan una fuente de alimentación externa. Los cambio con BS170 MOSFETs usando un Arduino como señal de puerta. Basé en una solución de Jason S .

Esta es una ilustración de cómo se ve mi circuito:

AlprobarlosPCB,notéquelamayoríadeellosfuncionanbien,peroalgunosno.Nohayproblema,probablementeunacosadesoldadura.

Sinembargo,¡aquellosquefallaronlograrondestruirdospinesdigitalesArduino!Enuno,obtengounvoltajeconstantede5V,yelotrogenera0,2VcuandoleenvíounaseñalALTA,y0,5VcuandoenvíounaseñalBAJA.Cosasextrañas.

Asíquesupongoqueloscircuitosdefectuososcausaronquealgunos16VfluyeranatravésdelArduino,destruyéndolos.

¿CómoprotejoalArduinoenesteescenariodeunacorrientedemasiadoalta?

Sésobre diodos Zener , pero no tengo idea de cómo colocarlos para proteger las entradas.

Información técnica:

pregunta Dyte

6 respuestas

7

El circuito está bien en teoría.
 Se requiere mejora en la práctica.

Agregar un diodo zener de fuente de compuerta de, por ejemplo, 12 V (> Vgate_drive) es una muy buena idea en todos los circuitos con carga inductiva. Esto evita que la compuerta sea accionada destructivamente alta por el acoplamiento de "capacitancia de Miller" al drenaje durante variaciones inesperadas o extremas en el voltaje de drenaje.

Monte el zener cerca del MOSFET.
 Conecte el ánodo a la fuente y el cátodo a la compuerta para que el zener no conduzca generalmente.

La resistencia de la unidad de compuerta de 10k (como se muestra) es grande y causará un apagado y encendido lento y más disipación de potencia en el MOSFET. Esto probablemente no es un problema aquí.

El MOSFET elegido es muy marginal en esta aplicación.
 Los MOSFET mucho mejores disponibles en Digikey incluyen:

Para 26c / 10 Digikey IRLML6346 SOT23 pkg, 30V, 3.4A , 0.06 Ohm, Vgsth = 1.1V = umbral de voltaje Voltaje ..

NDT3055 48c / 10 TO251 conducido 60V, 12A , 0.1 Ohm, Vgsth = 2V

RFD14N05 71c / 10 TO220 50V, 14A, 0.1 Ohm, 2V Vgsth.

AÑADIDO

MOSFETES ADECUADOS PARA EL CONTROLADOR DE PUERTA 3V:

El sistema acaba de destruir mi respuesta más larga :-(. Por lo tanto, el MOSFET DEBE tener un Vth (voltaje de umbral) de no más de 2V para funcionar correctamente con los controladores de suministro 3V3.
 Ninguno de los FETS sugeridos cumple con este requisito.
 Es posible que funcionen de una manera en la carga actual, pero están poco dirigidos y tienen pérdidas excesivas y la solución no se extiende bien a cargas más grandes.
 Parece que los IRF FETS en el rango de tamaño en cuestión que tienen Vth (de Vgsth) < = 2 voltios TODOS tienen códigos numéricos de 4 dígitos que comienzan con 7 excepto IRF3708.

Aceptar FET incluye IRFxxxx donde xxxx =  3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470

Habrá otros, pero todos los sugeridos parecen tener Vth = 4V o 5V y son marginales o peores en esta aplicación.

Vgsth o Vth debe ser de al menos un voltio menos y, idealmente, varios voltios menos que el voltaje real de la unidad.

    
respondido por el Russell McMahon
10

Su válvula tiene una capacidad nominal de 500 mA a 12V. Si suministra 16V, consumirá algo más de 500 mA. Suponiendo que sea una resistencia, dibujará 667mA.

La corriente máxima absoluta para el MOSFET que usaste es de 500mA continuo. Cualquier cosa por encima de las calificaciones máximas absolutas puede destruir el dispositivo. Probablemente esta sea la razón por la que estás viendo problemas de confiabilidad.

No hay un modo de fallo garantizado para los MOSFET, por lo que no me sorprende que falle de tal manera que dañe las salidas de Arduino.

Como Jason mencionó en la respuesta vinculada, BS170 es una mala elección de MOSFET. Necesitas una mejor. Elija uno en un estuche TO-220 con una clasificación de varios amperios. También debe asegurarse de que el Vgs esté clasificado para una unidad de nivel lógico de 5V.

¿Qué diodo estás usando?

    
respondido por el markrages
5

Su válvula está clasificada para ~ 500 mA. Un BS170 está clasificado para 500 mA también, pero esa es la cifra de ventas. Yo usaría un FET con una calificación (mucho) más alta aquí, 500mA a través de un TO92 me pone nervioso. Y tienes una resistencia de 1k de compuerta, lo cual es una buena idea en la mayoría de los casos, pero podría hacer que el pobre FET cambie demasiado lentamente para sobrevivir a los 0.5A.

¿Qué diodo estás usando? Debe estar clasificado para el 0.5A, por lo que un 1n4148 no funcionará. No estoy seguro, pero en realidad podría obtener más de 0.5 porque la parte móvil del valor podría causar un pico aún más grande de lo que lo haría una bobina simple.

En su imagen tiene la corriente de retorno de valor que fluye más allá de la conexión a tierra de Arduino. Yo le haría eso a una estrella: conecte el suelo arduino directamente a la fuente de alimentación. O mucho mejor: use un optoacoplador para aislar el circuito de alta corriente del Arduino (y use dos fuentes de alimentación separadas).

    
respondido por el Wouter van Ooijen
5

Debería tener una resistencia de fuente de compuerta en su MOSFET para que la compuerta no pueda flotar hacia arriba si la salida de Arduino es de alta impedancia. Dado que la fuente de alimentación del solenoide y la fuente de alimentación de Arduino están separadas, este escenario podría suceder (a menos que usted garantice por diseño que el Arduino siempre está encendido primero).

¿Está el MOSFET realmente tan lejos del solenoide? Si es así, se debe mover mucho más cerca. Muévalo de modo que el drenaje se conecte directamente a la tira protoboard donde el cable rojo va al solenoide y al diodo. Luego haga una conexión de fuente corta a la tira de GND. Es mejor tener un bucle de señal de compuerta más largo (a baja potencia) que un bucle largo que transmita potencia. También puedes mover el Arduino más cerca del solenoide, manteniendo todos esos bucles cortos.

    
respondido por el Adam Lawrence
3

El circuito, como se ilustra, se ve bien, siempre que la única conexión a tierra entre la placa Arduino y el terminal negativo de la fuente +16 sea el cable azul corto. Por otro lado, es posible que los cortocircuitos accidentales puedan causar que sucedan cosas malas. Es difícil adivinar exactamente lo que podría haber ocurrido sin ver cómo se diseñaron los tableros problemáticos reales.

Si está presionando las especificaciones de su MOSFET, podría fallar fácilmente de tal manera que envíe +16 a la puerta, pero si las resistencias son como se ilustra, esperaría que el Arduino esté bastante bien protegido.

    
respondido por el supercat
1

En primer lugar, necesita diodos de conmutación ultrarrápidos, no estos diodos 2n4001-4 baratos, cuando utilice motores o bobinas. Cuanto más rápido sea el cambio, mayor será la creación de BEMF. También use un diodo de conmutación 914 a la puerta mosfet desde el arduino, y un resistor de extracción / caída de 10k de la puerta al suelo.

    
respondido por el Tommey Reed

Lea otras preguntas en las etiquetas