Hice una serie de PCB para alimentar algunas válvulas de solenoide que usan una fuente de alimentación externa. Los cambio con MOSFET BS170 usando un Arduino como señal de puerta. Lo basé en una solución de Jason S.
Esta es una ilustración de cómo se ve mi circuito:
Al probar los PCB, noté que la mayoría de ellos funcionan bien, pero algunos no. No hay problema, probablemente una cosa de soldadura.
¡Sin embargo, esos defectuosos lograron destruir dos pines digitales de Arduino! En uno, obtengo un voltaje constante de 5 V, y el otro emite 0,2 V cuando le envío una señal ALTA y 0,5 V cuando le envío una señal BAJA. cosas extrañas
Así que supongo que los circuitos defectuosos de alguna manera causaron que (algunos de) los 16 V fluyeran a través del Arduino, destruyéndolos.
¿Cómo protejo el Arduino en este escenario de una corriente demasiado alta?
Sé sobre los diodos zener , pero no tengo idea de cómo colocarlos para proteger las entradas.
Información técnica:
El circuito está bien en teoría.
Se requiere mejorar en la práctica.
Agregar un diodo zener de fuente de puerta de, digamos, 12 V (> Vgate_drive) es una muy buena idea en todos los circuitos con carga inductiva. Esto evita que la compuerta sea impulsada destructivamente alta por el acoplamiento de "capacitancia de Miller" al drenaje durante variaciones inesperadas o extremas en el voltaje del drenaje.
Monte el zener cerca del MOSFET.
Conecte el ánodo a la fuente y el cátodo a la puerta para que el zener generalmente no conduzca.
La resistencia de accionamiento de compuerta de 10k (como se muestra) es grande y provocará un apagado y un encendido lentos y una mayor disipación de energía en el MOSFET. Esto probablemente no sea un problema aquí.
El MOSFET elegido es muy marginal en esta aplicación.
Los MOSFET mucho, mucho mejores disponibles en stock en Digikey incluyen:
Para paquete 26c/10 Digikey IRLML6346 SOT23, 30 V, 3,4 A, 0,06 ohmios, Vgsth = 1,1 V = voltaje de umbral de puerta.
NDT3055 48c/10 TO251 con plomo 60V, 12A, 0.1 Ohm, Vgsth = 2V
RFD14N05 71c/10 TO220 50 V, 14 A, 0,1 ohmios, 2 V Vgsth.
AGREGADO
MOSFETS ADECUADOS PARA UNIDAD DE PUERTA DE 3V:
El sistema acaba de desechar mi respuesta más larga :-(. Entonces, MOSFET DEBE tener Vth (voltaje de umbral) de no más de 2V para funcionar correctamente con controladores de suministro de 3V3.
Ninguno de los FETS sugeridos cumple con este requisito.
Pueden funcionar de alguna manera en el carga actual, pero tienen poca potencia y demasiada pérdida y la solución no se extiende bien a cargas más
grandes.Parece que los FETS IRF 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 .
Los FET OK incluyen 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 al menos un voltio menos e, idealmente, varios voltios menos que el voltaje real de la compuerta.
Su válvula tiene una capacidad nominal de 500 mA a 12 V. Si suministra 16 V, consumirá algo más de 500 mA. Asumiendo que es una resistencia, consumirá 667mA.
La corriente máxima absoluta para el MOSFET que utilizó es de 500 mA continuos. Cualquier cosa por encima de las clasificaciones máximas absolutas puede destruir el dispositivo. Esta es probablemente la razón por la que está viendo problemas de confiabilidad.
No hay un modo de falla 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 uno mejor. Elija uno en un estuche TO-220 que tenga 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?
Su válvula está clasificada para ~ 500 mA. Un BS170 también está clasificado para 500 mA, pero esa es la cifra de argumento de venta. Usaría un FET (mucho) más alto aquí, 500mA a través de un TO92 me pone nervioso. Y tiene una resistencia de compuerta de 1k, que es una buena idea en la mayoría de los casos, pero puede causar que el FET deficiente cambie demasiado lentamente para sobrevivir a los 0.5A.
Que diodo estas usando? Debe estar clasificado para 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 mayor que lo que haría una bobina simple.
En su imagen, tiene el valor de la corriente de retorno que fluye más allá de la conexión a tierra de Arduino. Cambiaría eso a una estrella: conecte la tierra de arduino directamente a la fuente de alimentación. O mucho mejor: use un optopar para aislar el circuito de alta corriente del Arduino (y use dos fuentes de alimentación separadas).
Debe tener una resistencia de fuente de puerta en su MOSFET para que la puerta no pueda flotar 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 ocurrir (a menos que garantice por diseño que Arduino siempre está encendido primero).
¿El MOSFET está realmente tan lejos del solenoide? Si es así, debe moverse mucho más cerca. Muévelo para que el drenaje se conecte directamente a la tira de protoboard donde el cable rojo va al solenoide y al diodo. Luego haga una conexión de fuente corta a la tira GND. Es mejor tener un bucle de señal de compuerta más largo (a baja potencia) que un bucle largo que transporta energía. También podría mover el Arduino más cerca del solenoide, manteniendo todos esos bucles cortos.
El circuito, como se ilustra, se ve bien, siempre que la única conexión a tierra entre la placa Arduino y el terminal negativo del suministro de +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 sucedido sin ver cómo se dispusieron los tableros problemáticos reales.
Si está presionando las especificaciones de su MOSFET, podría fallar fácilmente de tal manera que enviara +16 por la puerta, pero si las resistencias son como se ilustra, esperaría que Arduino esté bastante bien protegido.
En primer lugar, necesita diodos de conmutación ultrarrápidos, no estos diodos 2n4001-4 baratos, cuando usa motores o bobinas. Cuanto más rápido sea el cambio, mayor será el BEMF creado. También use un diodo de conmutación 914 a la puerta mosfet desde el arduino, y una resistencia pull/down de 10k desde la puerta a tierra.
mjh2007
teñido
Russel McMahon
abdullah kahraman
...When MOSFETs fail they often go short-circuit drain to gate...
Citado de aquí .abdullah kahraman
olin lathrop
abdullah kahraman
Russel McMahon
abdullah kahraman