Mientras escribía mi pregunta sobre el LED, pensaba que su MCU podría reiniciarse 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 una ruta desde donde la corriente continuará fluyendo. Este contragolpe, si no está limitado con capacitores, es muy rápido, tiene un dV / dt muy alto. Este dV / dt está relacionado con la inductancia multiplicada por la corriente apagada. Cuanto más alto sea uno de estos, mayor será dV / dt.
En su circuito, la única ruta que puede usar esta corriente es la capacitancia de su MOSFET. Hay dos caminos a los que puede ir esta corriente: uno es Drain to Source capacitane: Coss (capacitancia de salida) y el otro es Drain to Gate capacitance - Crss (capacidad de transferencia inversa). El segundo es peligroso, porque con un drenaje rápido en aumento, apague los flujos de corriente hacia la puerta del transistor e intente volver a encenderlo. Es por eso que los buenos controladores MOSFET tienen un fuerte circuito desplegable para garantizar que el transistor se mantenga apagado con 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. La corriente inversa Crss * dV / dt fluye en el pin de su MCU y se descarga en el diodo ESD de la MCU y, de esta forma, la perturbadora Vcc hace que la MCU se reinicie.
Mis recomendaciones son:
-
Coloque un condensador de electrolito grande (al menos 220uF-470uF) cerca del terminal del motor desde Vcc a GND y en cerámica SMD paralela lo más alto que pueda encontrar.
-
Coloque un diodo de retorno con su ánodo conectado al drenaje del transistor (negativo del motor) y cátodo a Vcc (positivo del motor). ¡Nunca olvide el diodo de retroceso 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, un Schottky SS34 en el paquete SMA cabría y puede soldarse en los pines de la terminal.
-
Corte la traza entre el pin de MCU y la puerta del transistor y coloque un resistor en serie de 330-470 ohm. No está haciendo PWM, simplemente enciéndalo y apáguelo para que la velocidad no sea un problema.
-
Agregue una resistencia Gate to Source como 1k-2k para mantener apagado el MOSFET mientras la MCU está en reinicio y los pines están en triple posición.
-
También puede colocar un condensador de 10nF-47nF en los terminales del motor para proporcionar una ruta para la corriente dV / dt mientras el voltaje aumenta de 0 a Vcc.