Я сделал серию печатных плат для питания некоторых электромагнитных клапанов, использующих внешний источник питания. Я переключаю их с помощью полевых МОП -транзисторов BS170 , используя Arduino в качестве сигнала затвора. Я основал это решение Джейсона С.
Это иллюстрация того, как выглядит моя схема:
При тестировании печатных плат я заметил, что большинство из них работают нормально, а некоторые нет. Ничего страшного, скорее всего дело в пайке.
Однако этим неисправным удалось уничтожить два цифровых контакта Arduino! На одном я получаю постоянное напряжение 5 В, а другой выдает 0,2 В, когда я подаю на него ВЫСОКИЙ сигнал, и 0,5 В, когда я подаю НИЗКИЙ сигнал. Странные вещи.
Итак, я предполагаю, что неисправные схемы каким-то образом заставили (некоторые) 16 В проходить через Arduino, разрушая их.
Как мне защитить Arduino в этом сценарии от слишком высокого тока?
Я знаю про стабилитроны , но понятия не имею, как их разместить для защиты входов.
Техническая информация:
Схема в теории хороша.
Требуется улучшение на практике.
Добавление стабилитрона затвор-исток, скажем, 12 В (> Vgate_drive) — действительно очень хорошая идея во всех схемах с индуктивной нагрузкой. Это останавливает привод затвора на разрушительно высокий уровень из-за связи «емкости Миллера» со стоком во время неожиданных или экстремальных изменений напряжения на стоке.
Установите стабилитрон рядом с MOSFET.
Подключите анод к истоку и катод к затвору, чтобы стабилитрон обычно не проводил.
Резистор управления затвором 10 кОм (как показано) большой и будет вызывать медленное включение и выключение и большее рассеивание мощности в МОП-транзисторе. Тут, наверное, не проблема.
Выбранный полевой МОП-транзистор в этом приложении очень незначителен.
Гораздо более качественные полевые МОП-транзисторы, доступные на складе Digikey, включают:
Для 26c/10 Digikey IRLML6346 SOT23 pkg, 30 В, 3,4 А, 0,06 Ом, Vgsth = 1,1 В = пороговое напряжение затвора.
NDT3055 48c/10 TO251 с выводами 60 В, 12 А, 0,1 Ом, Vgsth = 2 В
RFD14N05 71c /10 TO220 50В, 14А, 0,1 Ом, 2В Вгст.
ДОБАВЛЕН
ПОДХОДЯЩИЕ МОП-транзисторы для привода ворот 3 В:
Система только что испортила мой более длинный ответ :-(. Итак, MOSFET ДОЛЖЕН иметь Vth (пороговое напряжение) не более 2 В для правильной работы с контроллерами питания 3V3.
Ни один из предложенных полевых транзисторов не соответствует этому требованию.
Они могут работать после мода на присутствует нагрузка, но они недостаточно активны и имеют чрезмерные потери, и решение не распространяется на большие нагрузки.Похоже
, что IRF FETS в диапазоне размеров касается того, что Vth (из Vgsth) <= 2 вольт ВСЕ имеют 4-значные числовые коды, начинающиеся с 7, кроме IRF3708 .
Полевые транзисторы OK включают IRFxxxx, где xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470
Будут и другие, но все предложенные, по-видимому, имеют Vth = 4 В или 5 В и являются маргинальными или хуже в этом приложении.
Vgsth или Vth должны быть как минимум на один вольт меньше, а в идеале на несколько вольт меньше фактического напряжения управления затвором.
Ваш клапан рассчитан на 500 мА при 12 В. Если вы подаете 16 В, он будет потреблять несколько больше, чем 500 мА. Предполагая, что это сопротивление, оно будет потреблять 667 мА.
Абсолютный максимальный ток используемого вами МОП-транзистора составляет 500 мА в непрерывном режиме. Все, что превышает абсолютные максимальные значения, может разрушить устройство. Вероятно, поэтому вы видите проблемы с надежностью.
Для полевых МОП-транзисторов не существует гарантированного режима отказа, поэтому я не удивлен, что он может выйти из строя таким образом, чтобы повредить выходы Arduino.
Как упомянул Джейсон в связанном ответе, BS170 — плохой выбор MOSFET. Вам нужен лучший. Выберите один в корпусе TO-220, который рассчитан на несколько ампер. Вы также должны убедиться, что Vgs рассчитан на привод логического уровня 5 В.
Какой диод используете?
Ваш клапан рассчитан на ~ 500 мА. BS170 также рассчитан на 500 мА, но это показатель продаж. Я бы использовал здесь полевой транзистор (намного) с более высоким номиналом, 500 мА через TO92 заставляет меня нервничать. И у вас есть резистор затвора 1 кОм, что в большинстве случаев является хорошей идеей, но это может привести к тому, что плохой полевой транзистор будет переключаться слишком медленно, чтобы выдержать 0,5 А.
Какой диод используете? Он должен быть рассчитан на 0,5А, поэтому 1n4148 не подойдет. Я не уверен, но на самом деле это может быть больше, чем 0,5, потому что движущаяся часть значения может вызвать даже больший всплеск, чем обычная катушка.
На вашем изображении у вас есть значение обратного тока, протекающего через заземление Arduino. Я бы поставил звезду: подключите землю Arduino напрямую к источнику питания. Или гораздо лучше: используйте оптопару для изоляции сильноточной цепи от Arduino (и используйте два отдельных источника питания).
У вас должен быть резистор затвор-исток на вашем MOSFET, чтобы затвор не мог плавать, если выход Arduino имеет высокое сопротивление. Поскольку источник питания соленоида и источник питания Arduino являются отдельными, этот сценарий может произойти (если вы не гарантируете, что Arduino всегда включен первым).
Действительно ли MOSFET так далеко от соленоида? Если это так, его следует переместить намного ближе. Переместите его так, чтобы слив прямо вставлялся в полосу макетной платы, где красный провод идет к соленоиду и диоду. Затем сделайте короткое соединение источника с полосой GND. Лучше иметь более длинную петлю стробирующего сигнала (при малой мощности), чем длинную петлю, по которой передается питание. Вы также можете переместить Arduino ближе к соленоиду, чтобы все эти петли были короткими.
Схема, как показано на рисунке, выглядит нормально, при условии, что единственным заземлением между платой Arduino и отрицательным выводом источника питания +16 является короткий синий провод. С другой стороны, возможно, что случайные шорты могут привести к плохим последствиям. Трудно точно предположить, что могло произойти, не видя, как были расставлены настоящие проблемные платы.
Если вы выдвигаете спецификации своего MOSFET, он может легко выйти из строя таким образом, чтобы отправить +16 затвор, но если резисторы такие, как показано, я ожидаю, что Arduino должен быть довольно хорошо защищен.
В первую очередь нужны сверхбыстродействующие диоды переключения, а не эти дешёвые диоды 2н4001-4, при использовании двигателей или катушек. Чем быстрее переключение, тем больше создается BEMF. Также используйте переключающий диод 914 к затвору mosfet от arduino и резистор 10k pull/down от затвора до земли.
mjh2007
Дайт
Рассел МакМахон
Абдулла Кахраман
...When MOSFETs fail they often go short-circuit drain to gate...
Процитировано отсюда .Абдулла Кахраман
Олин Латроп
Абдулла Кахраман
Рассел МакМахон
Абдулла Кахраман