El motor de CC ESP8266 no se detiene

Tengo algunos problemas con mi Feather HUZZAH ESP8266 y un motor DC de airsoft (similar a este ).

Este es mi circuito:ingrese la descripción de la imagen aquí

Quiero usar el Pin 4 en el ESP8266 para encender y apagar el motor de CC en intervalos de 0,5 segundos a través del MOSFET IRL40B209 . Reconociendo que la MCU solo puede emitir 3.3V el pin GPIO, estoy usando un controlador MOSFET TC4427 para llevar la señal a Vcc (7.5V a 2A). La MCU está en un regulador de voltaje 7805CT, mientras que M1 se extrae directamente de la fuente de alimentación. La fuente de alimentación es una fuente de alimentación regulada Philmore Multivoltage ajustada a 7,5 V.

Desafortunadamente, una vez que M1 se enciende, no se apagará, incluso con la resistencia pulldown en R2. Una vez que se enciende, se enciende a plena potencia y nada menos que tirar del cable de la puerta o apagar la energía lo detendrá. En mi multímetro, muestra que el pin de datos no tiene un nivel lógico bajo después de que M1 se enciende. Creo que el motor está interfiriendo con la MCU cuando se enciende.

¿Qué puedo hacer para asegurarme de que el motor se apague cuando la MCU baja?

(PD: tenga en cuenta que el comportamiento anterior NO ocurre mientras la MCU está conectada a mi computadora. El código está escrito en Micropython y originalmente lo probé mientras la MCU estaba conectada y el código se ejecuta a través de webREPL. El circuito funciona exactamente como se esperaba. mientras estaba enchufado USB Una prueba con mi multímetro también mostró que el bajo voltaje lógico era más bajo mientras estaba conectado a mi computadora (0.055V) en comparación con cuando se estaba quedando sin fuente de alimentación a través del regulador de voltaje de la MCU (0.885V).

EDITAR: mientras está en la fuente de alimentación Philmore, una vez que se enciende el motor, el ESP8266 permanece en un nivel lógico alto de 3,3 V aunque está programado para bajar después de 0,5 segundos, según lo medido por el multímetro en la salida del pin 4 entre la resistencia y el controlador MOSFET. Este comportamiento NO ocurre mientras el ESP8266 está conectado a mi PC mediante un cable USB.

Fuente de alimentación regulada multivoltaje Philmore 'Proporciona corriente constante de 0-2000mA'. Apuesto a que el motor consume más de 2A. "el bajo voltaje lógico fue más bajo mientras estaba conectado a mi computadora (0.055V) en comparación con cuando se estaba quedando sin fuente de alimentación a través del regulador de voltaje de la MCU (0.885V)": ¿dónde leyó ese voltaje? Es posible que tenga un 'bucle de tierra'. Publique una foto de su configuración, que muestre el enrutamiento del cable de alimentación.
@BruceAbbott, medí esos valores con mi multímetro en el pin de salida del controlador MOSFET. Todo esto está en una placa de prueba, por lo que no es lo más ordenado para mirar. Me he asegurado de que no se ejecuten líneas donde no se supone que deben estar. Además, el motor definitivamente está tratando de extraer más de 2A. Los motores Airsoft están clasificados para funcionar con hasta 30A.
@BruceAbbott Mi error, mido ANTES de la entrada del controlador del motor, no en la salida.
@DevilMayTry: eliminé mi respuesta, ya que había adivinado erróneamente las diferencias entre las configuraciones "que funcionan" y "que no funcionan". En mi humilde opinión, sería útil actualizar la pregunta para explicarlos claramente. Las diferencias en los voltajes que midió en esas 2 configuraciones son vitales para comprender el problema en mi humilde opinión. Sin embargo, sin hacer mis propias pruebas, aún no tengo una mejor hipótesis sobre la causa. Su comentario anterior de que el motor definitivamente está tratando de dibujar> 2A es un problema cuando se usa una fuente de alimentación de 2A, por supuesto, ya sea que esté relacionado o no con el problema que describe. ¡Buena suerte!
@SamGibson, gracias por tu respuesta. Me dio un lugar para empezar a buscar por lo menos.
Para el beneficio de otros lectores, sus comentarios sobre mi respuesta (eliminada) fueron: " La diferencia entre el esquema anterior y el estado que no funciona es simplemente conectar la placa Feather a mi computadora con un cable USB. Esa es literalmente la única diferencia. En ningún momento intento operar el motor sin alimentación USB. La fuente de alimentación se enciende mientras el ESP8266 está enchufado. D2 se agregó DESPUÉS de que ocurriera este problema por primera vez. Antes de eso, usé un cable simple (todo esto fue construido en una protoboard, lo que puede contribuir al problema) .
[continuación] " Además, estoy operando esto a 7.5V porque es un prototipo para una unidad de disparo de airsoft programable que usa una batería LiPo de 7.4V. Debo agregar que mientras el ESP8266 está conectado a mi computadora, desconecto desde el 7805. "

Respuestas (1)

Bueno, encontré una solución, aunque todavía no estoy seguro de si es la correcta.

Cambié el controlador MOSFET TC4427 de Microchip en el esquema anterior por un ON Semiconductor MC34152 . Ordené algunas unidades de ambos controladores hace un tiempo, durante la fase de planificación de este proyecto. Cambié el TC4427 por el MC34152 pensando que no habría diferencia en el rendimiento, pero resulta que el MC34152 tiene un diseño interno diferente que de alguna manera funciona mejor en aplicaciones de motor.

La diferencia puede estar en la histéresis variada entre los dos circuitos integrados. El TC4427 ofrece 300 mV de histéresis entre los umbrales alto y bajo de la entrada, mientras que el MC34152 ofrece 170 mV de histéresis. Además, la hoja de datos del MC34152 detalla explícitamente la resistencia desplegable interna de 30K ohmios en cada entrada y resistencias desplegables de 100k ohmios en cada salida. Estos pueden evitar el comportamiento de "bloqueo" que estaba experimentando antes en el TC4427.

De cualquier manera, ahora funciona según lo previsto con una salida de 7,5 V 2 A de la fuente de alimentación. Es hora de ver si lo mismo puede manejar 7.4V 30A de una batería LiPo.