Mosfet no se apaga

Bueno, tengo este diseño de circuito que impulsa un motor (dibuja aproximadamente 3A) a través de un mosfet de canal N. Funciona bien en una placa de pruebas. Decidí ir con pcb y pedí algunos de oshpark. Sorprendentemente, una vez que se hace clic en el botón, el mosfet se enciende como se esperaba, pero después de soltarlo, nunca se apaga. Primero pensé que había algo mal con el botón o el mosfet y los reemplacé a ambos, pero no sirvió de nada.

¿Alguien sabe qué le pasa a mi circuito? Soy nuevo en esto del diseño de PCB y me encantaría escuchar sus comentarios.

MCU -> Attiny85

Mosfet --> PSMN1R0-30YLD

Fuente de alimentación --> 3.7 lipo 15A C batería nominal

ingrese la descripción de la imagen aquí

¡Muchas gracias!

En primer lugar, necesita un diodo Schottky en paralelo inverso a las terminales del motor. En segundo lugar, no es bueno conducir una puerta de un mosfet de potencia directamente desde el pin IO de MCU. Tercero, tiene LED, ¿se apaga cuando apaga el motor?
Mida el voltaje en la puerta cuando se supone que debe estar apagada. Si la puerta está baja y el FET está conduciendo, probablemente la ausencia del diodo frió el FET.
Un FET con óxido frito generalmente solo estará "parcialmente" encendido y es probable que se caliente bastante cuando pase unos pocos amperios.
@TodorSimeonov: en realidad, el esquema representado, con accionamiento directo desde una MCU y una resistencia desplegable, es bastante común y aceptado para motores pequeños y FET de nivel lógico. Muchos FET tienen suficiente diodo en su estructura interna para no necesitar uno externo para tal uso.
@TodorSimeonov: cuando el motor no está conectado, el LED y el botón pulsador funcionan bien, cuando el motor está conectado al circuito (tomando corriente), el mosfet y el LED permanecen encendidos incluso el botón pulsador está apagado
El hecho de que el LED permanezca encendido cuando está en un bit de salida separado sugiere un problema de diseño de la placa o la necesidad de tapas de derivación adicionales.
Continuando con mi comentario, un motor de 3 amperios puede reducir los voltajes de suministro en trazas delgadas de PCB que causan fallas en otros lugares. Asegúrese de tener anchos de trazo adecuados o refuércelos con un cable grueso para fines de diagnóstico.

Respuestas (1)

Mientras escribía mi pregunta sobre el LED, estaba pensando que su MCU podría estar reiniciando debido a la corriente inducida a través del pin. Ahora, cuando dices que el LED permanece encendido, estoy bastante seguro de eso.

Un motor eléctrico tiene una gran inductancia. Cuando la corriente que fluye a través de él se detiene y uno de sus pines se desconecta, el flujo magnético hace todo lo posible para que esta corriente continúe fluyendo. El resultado de este efecto es un retroceso de voltaje: el terminal negativo del motor salta a un voltaje más alto que su terminal positivo en busca de un camino desde donde la corriente continuará fluyendo. Este retroceso, si no está limitado por condensadores, es muy rápido: tiene un dV/dt muy alto . Este dV/dt está relacionado con la inductancia multiplicada por la corriente apagada. Cuanto mayor sea uno de estos, mayor será dV/dt.

En su circuito, el único camino que puede usar esta corriente es la capacitancia de su MOSFET. Hay dos rutas por las que puede ir esta corriente: una es la capacitancia de drenaje a fuente - Coss (capacitancia de salida) y la otra es la capacitancia de drenaje a puerta - Crss (capacitancia de transferencia inversa). El segundo es peligroso, porque con un drenaje ascendente rápido, la corriente fluye hacia la puerta del transistor y trata de volver a encenderlo. Es por eso que los buenos controladores MOSFET tienen un fuerte circuito desplegable para garantizar que el transistor permanezca apagado con un alto dV/dt en su drenaje.

En su esquema, ni siquiera tiene una resistencia en serie desde el pin de MCU hasta la puerta del transistor. Creo que la corriente inversa Crss * dV / dt fluye hacia el pin de su MCU y se descarga a través del diodo ESD de MCU y, de esta manera, perturbar a Vcc hace que la MCU se reinicie.

Mis recomendaciones son:

  1. Coloque un condensador de electrolito grande (al menos 220uF-470uF) cerca de la terminal del motor de Vcc a GND y en paralelo SMD de cerámica tanto más alto como pueda encontrar.

  2. Coloque un diodo flyback con su ánodo conectado al drenaje del transistor (negativo del motor) y el cátodo a Vcc (positivo del motor). ¡Nunca olvide el diodo flyback cuando cambie cargas inductivas como motores, relés, bombillas incandescentes, calentadores, cargas con cableado largo, etc.! ¡Nunca! Este diodo debe ser rápido. En su caso, cabría un schottky SS34 en paquete SMA y se puede soldar en los pines de la terminal.

  3. Corte el rastro entre el pin de MCU y la puerta del transistor y coloque un resistor en serie de 330-470 ohm. No está haciendo PWM, solo enciéndalo y apáguelo para que la velocidad no sea un problema.

  4. Agregue una resistencia Gate to Source como 1k-2k para mantener el MOSFET apagado mientras la MCU se reinicia y los pines están triestablecidos.

  5. También puede colocar un capacitor de 10nF-47nF en los terminales del motor para proporcionar un camino para la corriente dV/dt mientras el voltaje aumenta de 0 a Vcc.

¡Gracias por tomarte el tiempo de explicar todo en detalle! Intenté poner un diodo y funcionó a las mil maravillas. Pero no me voy a quedar ahí, voy a diseñar otra placa y esta vez tendrá todos los componentes sugeridos. ¡Dios le bendiga señor!