Двигатель постоянного тока и копченая ардуино

Я только что сжег свою ардуино и хочу понять, что произошло. Я попытался управлять двигателем постоянного тока 12 В 4 А с помощью 5 В Arduino Pro Mini, вот плата, которую я сделал для этого:

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

В нижней части вы можете увидеть контакты Arduino, я использовал необработанный вход для питания моего Arduino с 12 В и контакт 11 PWM для управления двигателем.

Я использовал N-канальный мосфет IRF3205 и диод 1N5817 в своей схеме. Резистор R1 — 220 Ом, R2 — 1 кОм. Схема, которую я пытался построить, выглядит примерно так (картинка из google): введите описание изображения здесьКогда я включил ее, моя ардуино задымилась через 3 секунды (думаю, где-то рядом с «сырым» контактом, может быть, был встроен- в регуляторе). Есть ли очевидные ошибки, которые я сделал? UPD: немного фото моей сборки: ссылка на imgur.com

Я не вижу ничего очевидного. Был ли подключен мотор? Был ли Arduino запрограммирован на переключение 11-го контакта? Правильно ли вы подключили блок питания (не наоборот)?
фото вашей сборки? может вы что-то замкнули при пайке?
Также предполагается, что вы правильно подключили питание.
@WesleyLee, imgur.com/a/ifF7N здесь вы можете найти несколько фотографий
Может у вас сгорел регулятор напряжения на pro mini? Официальные спецификации говорят, что максимальное напряжение, которое вы можете подать на контакт RAW, составляет 12 В. Это очень близко к вашему входному напряжению (любые колебания напряжения технически означают, что оно работает не по спецификации). Может быть, проверить, что это 12В и остается 12В?
@Suic Чтобы добавить в кучу, также учтите, что, когда сток достигает значения выше +12 В, это также на мгновение сильно влияет на емкость затвора. Таким образом, само напряжение на затворе будет рвануть вверх. Большинство выводов ввода-вывода имеют ограничение на пиковый ток внутреннего защитного диода, превышение которого может привести к защелкиванию. Учитывая проблему, я, вероятно, также подумал бы о добавлении BAV99 (или пары диодов) от шины к затвору и земле. Возможно, разделить R1 на R1a и R1b, каждый из которых имеет то же значение, что и сейчас, и использовать BAV99 на этом новом узле.
МОП-транзистор выжил?
@Suic Не размещайте изображение в комментариях, добавьте его к своему вопросу. Кроме того, постарайтесь ответить на другие вопросы, заданные людьми.
@EnricBlanco MOSFET пережил мою схему, но не выдержал распайку :)

Ответы (3)

Диод на вашей плате находится в правильном положении и должен иметь дело с индуктивностью двигателя, а также с проводкой непосредственно к двигателю. Тем не менее, ничто не мешает индуктивности питающих проводов вызвать всплеск входного напряжения регулятора при резком отключении полевого МОП-транзистора. У вас нет емкости и пути для энергии, хранящейся в индуктивности, и мало погрешности (см. ниже).

Глядя на клон, который у меня есть, регулятор представляет собой AMS1117 с абсолютным максимальным входным напряжением 15 В. Ваш может использовать другой чип. Микросхема MIC5205, используемая в некоторых моделях, выдерживает напряжение 20 В (без учета тепловых соображений). 78M05 может выдержать всплеск 35В.

Если используется AMS1117 или аналогичная деталь, 12 В слишком близко к абсолютному максимуму, чтобы ожидать, что TVS и т. д. защитят регулятор. Вам было бы лучше добавить некоторую шунтирующую емкость на плату (возможно, керамический конденсатор 2,2 мкФ 25 В параллельно с электролитическим конденсатором 100 мкФ / 16 В через источник питания 12 В - прямо на плате ) и добавить предварительный регулятор, такой как 78M08 для ремня. и безопасность подтяжек.

Рассмотрим приведенную ниже симуляцию. L1 и R2 представляют собой индуктивность двигателя и сопротивление обмотки в состоянии покоя (помните, что противо-ЭДС отсутствует, когда ротор находится в состоянии покоя, поэтому R2 определяется током останова). L2/L3 представляют собой индуктивность провода - она ​​будет меньше для коротких проводов и если вы скрутите провода вместе. Я переключил (случайный) МОП-транзистор с резистором затвора 150 Ом и источником 5 В. Поэтому я ожидаю, что эта симуляция будет качественно похожа на вашу схему, но не обязательно будет очень точной в количественном отношении.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Вот что напряжение питания регулятора видит как переключатели MOSFET:

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

Да, пики +165 В, несмотря на относительно медленное переключение MOSFET.

Это отличный пример того, почему вы должны быть очень осторожны, когда вокруг вас плавают большие токи, которые переключаются относительно быстро. Не требуется большой паразитной индуктивности, чтобы получить большое количество вольт, которые могут привести к поломке. Даже несколько миллиметров прямого провода имеют некоторую (вполне измеримую) индуктивность.

Вкратце: добавьте несколько колпачков НА ПЛАТУ через блок питания и повесьте 78M08 перед платой Arduino.

Спасибо. Я проверю это со своей следующей схемой, когда получу новый Arduino :) Просто чтобы уточнить, что я вас правильно понял: следует ли мне размещать конденсаторы так? imgur.com/a/N3UDM
Да все верно. Вы можете воскресить старый Arduino, заменив регулятор напряжения. Стоит попробовать.
Я приму ваш ответ как наиболее сложный и пояснительный. Я проверю и все остальные ответы, как только смогу. Это может занять некоторое время. Спасибо всем, я вернусь, когда у меня будут новости
Это, пожалуй, худший анализ, который я когда-либо видел… таких всплесков вы никогда не увидите. Начнем с того, что схема Pro min показывает, что 1 мкФ Керамика находится непосредственно напротив регулятора (будь то оригинальный Pro mini или его клон). Смоделируйте это и посмотрите, каков потенциальный импульс от индуктивности проводки. Если бы в заявлениях, сделанных здесь, была хотя бы одна правда, у нас было бы, что Arduino управляет большим количеством светодиодов (сильный ток), которые регулярно взрываются.
@JackCreasey Он использует клон, как видно из комментариев (не обязательно в исходном вопросе). Во многих клонах, в том числе и в том, что передо мной, такого конденсатора нет, только на выходе. Так что ничего, кроме обычного потребления тока, пока регулятор не сломается. До того, как это может произойти, есть только 3 В запаса (без сомнения, на практике больше).
На изображении своей платы (клон или нет), опубликованном ОП, видно несколько больших крышек вокруг регулятора. Кроме того, вы не можете работать с выводами источника питания как с простой объемной катушкой индуктивности, они фактически представляют собой линию задержки с разбросанными индуктивностью и емкостью. Проблема далеко не так критична, как вы описываете в своем посте, если бы это было так, то электроника была бы в ужасном состоянии. Я не согласен с тем, что линии питания могут иметь индуктивность, и могут возникать всплески, я просто думаю, что вы переборщили со своим описанием.

Мое мнение, что причина в токе самоиндукции двигателя. Когда MOSFET выключается, напряжение на выводе RAW увеличивается. Питание подается по длинным проводам. Вам необходимо использовать электролитический шунтирующий конденсатор большой емкости (от контакта RAW до GND).

Вы заметили диод в цепи? Именно для того, чтобы избежать именно той проблемы, которую вы упомянули.
Диод снижает колебания напряжения только одной полярности.
@ utu2012, другой диод находится в MOSFET.
@ utu2012, я думаю, вы упускаете мою мысль, несмотря на то, что показывает схема OP, IRF3205 имеет ВСТРОЕННЫЙ диод от стока до затвора.
@Trevor, работает нормально, если комплексное сопротивление источника питания низкое. Но в этом случае питание подается по длинным проводам (на фото). Ток контура: двигатель постоянного тока, диод в MOSFET, длинный провод, блок питания, длинный провод, двигатель постоянного тока. Длинный провод эквивалентен последовательно соединенным резистору и индуктивности.
@utu2012, мне кажется, мы говорим о разных вещах.. во всяком случае. Я согласен с вашим ответом и дополнил свой собственный, чтобы реализовать аналогичное, но улучшенное решение.

Ну, сначала я подумал, что ваша земля на Arduino на самом деле подключена к контакту TXD.

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

Но потом я узнал, что вы используете клон с другой распиновкой.

(Наверное, не клон... больше похоже на двойника.)

В любом случае, все, что осталось, это то, что ваши 12 В должны превышать предел напряжения на контакте RAW Arduino.

Я предлагаю вам немного изолировать себя, добавив один или два диода между входом 12 В на вашей печатной плате и контактом RAW. Также не помешает добавить конденсатор большой емкости на вывод RAW.

Далее я бы добавил диод в моторную линию. Рассуждение это. Когда двигатель набирает обороты, противо-ЭДС может быть очень близкой к 12 В. Когда вы отключите полевой транзистор, верхняя часть двигателя подскочит до ~ 12,7 В из-за прохождения тока через диод в полевом транзисторе.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Примечание. Показанные значения диодов и емкостей являются просто настройками редактора по умолчанию.

Судя по макету (в частности, по контактам справа), я подозреваю, что он использует другую модель (возможно, клон), такую ​​как эта . Но да, он должен перепроверить свои связи.
Или, возможно, он использует клонированную документацию.
На моей плате этот контакт помечен как Gnd
@suic Вы должны обновить свой вопрос, чтобы указать, какой клон вы используете.
@ Suic и на всякий случай .. проверьте, что контакт действительно подключен к земле. не просто плохо помечены.
@ Тревор, это земля (я только что проверил мультиметром)
Тогда почти единственное, что осталось, это то, что 12 В поднялись выше, чем вы ожидали. Возможно, из-за двигателя или вашего источника питания немного выше. Вы должны подумать о том, чтобы пропустить это через диод или два, прежде чем подавать на вывод RAW и добавлять еще один объемный конденсатор.
Пожалуйста, это Ардуино, а не Адрино.