Двигатель постоянного тока ESP8266 не останавливается

У меня возникли проблемы с моим Feather HUZZAH ESP8266 и двигателем постоянного тока для страйкбола (похожим на этот ).

Это моя схема:введите описание изображения здесь

Я хочу использовать контакт 4 на ESP8266 для включения и выключения двигателя постоянного тока с интервалом в 0,5 секунды через полевой МОП-транзистор IRL40B209 . Признавая, что MCU может выводить только 3,3 В на вывод GPIO, я использую драйвер TC4427 MOSFET , чтобы довести сигнал до Vcc (7,5 В при 2 А). MCU работает на стабилизаторе напряжения 7805CT, а M1 питается напрямую от источника питания. Блок питания представляет собой регулируемый блок питания Philmore Multivoltage, настроенный на 7,5 В.

К сожалению, как только M1 включится, он не выключится, даже с подтягивающим резистором на R2. Как только он включен, он переходит на полную мощность, и ничто, кроме выдергивания провода ворот или отключения питания, не остановит его. На моем мультиметре он показывает, что вывод данных не переходит в низкий логический уровень после включения M1. Я думаю, что двигатель мешает MCU, когда он включается.

Что я могу сделать, чтобы убедиться, что двигатель отключается, когда MCU становится низким?

(PS Обратите внимание, что описанное выше поведение НЕ происходит, когда MCU подключен к моему компьютеру. Код написан на Micropython, и я изначально тестировал его, когда MCU был подключен, и код запускался через webREPL. Схема работает точно так, как предполагалось. при подключении к USB Тест с моим мультиметром также показал, что низкое логическое напряжение было ниже при подключении к моему компьютеру (0,055 В) по сравнению с питанием от источника питания через регулятор напряжения MCU (0,885 В).

РЕДАКТИРОВАТЬ: При подключении к источнику питания Philmore после включения двигателя ESP8266 остается на высоком логическом уровне 3,3 В, хотя он запрограммирован на понижение через 0,5 секунды, как измеряется мультиметром на выходе для контакта 4 между резистором и драйвер МОП-транзистора. Это поведение НЕ происходит, когда ESP8266 подключен к моему ПК через USB-кабель.

Блок питания Philmore Multivoltage с регулируемым напряжением «обеспечивает постоянный ток от 0 до 2000 мА». Держу пари, двигатель потребляет более 2А. «логическое низкое напряжение было ниже при подключении к моему компьютеру (0,055 В) по сравнению с питанием от источника питания через регулятор напряжения микроконтроллера (0,885 В)» - где вы прочитали это напряжение? Возможно, у вас есть «контур заземления». Выложите фото вашей установки, показывающую прокладку проводов питания.
@BruceAbbott, я измерил эти значения с помощью мультиметра на выходном контакте драйвера MOSFET. Это все на макетной плате, так что смотреть на это не очень аккуратно. Я убедился, что ни одна линия не проходит там, где ее быть не должно. Кроме того, мотор определенно пытается тянуть больше 2А. Двигатели для страйкбола рассчитаны на работу при токе до 30А.
@BruceAbbott Моя ошибка, я измеряю ДО ввода драйвера двигателя, а не на выходе.
@DevilMayTry - я удалил свой ответ, так как неправильно угадал разницу между «рабочими» и «неработающими» конфигурациями. ИМХО было бы полезно обновить вопрос, чтобы четко объяснить их. Различия в напряжениях, которые вы измеряли в этих двух конфигах, жизненно важны для понимания проблемы, ИМХО. Однако без проведения собственных тестов у меня пока нет лучшей гипотезы о причине. Ваш комментарий выше о том, что двигатель определенно пытается потреблять> 2 А, является проблемой при использовании источника питания 2 А, конечно, независимо от того, связано ли это с проблемой, которую вы описываете. Удачи!
@SamGibson, спасибо за ответ. По крайней мере, это дало мне возможность начать искать.
В интересах других читателей ваши комментарии к моему (удаленному) ответу были такими: « Разница между приведенной выше схемой и неработающим состоянием заключается в простом подключении платы Feather к моему компьютеру с помощью USB-кабеля. Это буквально единственная разница. Я ни в коем случае не пытаюсь управлять двигателем от USB-питания.Питание включается, когда ESP8266 подключен.D2 был добавлен ПОСЛЕ того, как эта проблема впервые возникла.До этого я использовал простой провод (все это было построено на макетной плате, что может способствовать возникновению проблемы) » .
[продолжение] « Кроме того, я использую это при напряжении 7,5 В, потому что это прототип программируемого триггера для страйкбола, использующего литий-полимерную батарею 7,4 В. Я должен добавить, что, когда ESP8266 подключен к моему компьютеру, я отключаю его. это из 7805. "

Ответы (1)

Что ж, я нашел решение, хотя я пока не совсем уверен, правильное ли оно.

Я заменил драйвер Microchip TC4427 MOSFET на приведенной выше схеме на ON Semiconductor MC34152 . Я заказал несколько единиц обоих драйверов некоторое время назад, на этапе планирования этого проекта. Я заменил TC4427 на MC34152, думая, что разницы в производительности не будет, но оказалось, что MC34152 имеет другую внутреннюю конструкцию, которая почему-то лучше работает в двигателях.

Разница может быть в различном гистерезисе между двумя ИС. TC4427 предлагает гитерезис 300 мВ между верхним и нижним порогами на входе, а MC34152 предлагает гитерезис 170 мВ. Кроме того, в техническом описании MC34152 явно указаны внутренние подтягивающие резисторы 30 кОм на каждом входе и подтягивающие резисторы 100 кОм на каждом выходе. Это может предотвратить поведение «защелки», которое я испытывал раньше на TC4427.

В любом случае, теперь он работает как положено при выходном напряжении 7,5 В 2 А от источника питания. Пришло время посмотреть, сможет ли то же самое выдержать 7,4 В 30 А от батареи LiPo.