Моя схема соленоида, управляемая MOSFET, разрушает мои входы Arduino

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

Это иллюстрация того, как выглядит моя схема:Цепь клапана с полевым МОП-транзистором

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

Однако этим неисправным удалось уничтожить два цифровых контакта Arduino! На одном я получаю постоянное напряжение 5 В, а другой выдает 0,2 В, когда я подаю на него ВЫСОКИЙ сигнал, и 0,5 В, когда я подаю НИЗКИЙ сигнал. Странные вещи.

Итак, я предполагаю, что неисправные схемы каким-то образом заставили (некоторые) 16 В проходить через Arduino, разрушая их.

Как мне защитить Arduino в этом сценарии от слишком высокого тока?

Я знаю про стабилитроны , но понятия не имею, как их разместить для защиты входов.

Техническая информация:

Какое программное обеспечение вы использовали для создания этого рисунка? Это выглядит действительно хорошо!
Фрицинг. Бесплатно и очень удобно для таких вещей, а также для дизайна печатных плат :)
Стабилитрон затвор-исток, скажем, 12 В (> Vgate_drive) - действительно очень хорошая идея во всех схемах с индуктивной нагрузкой. Установите стабилитрон рядом с MOSFET. Анод к истоку и катод к затвору, поэтому стабилитрон обычно не проводит. || Намного лучше MOSFET на 26c/10 Digikey, например, IRLML6346 SOT23 . Или NDT3055 48c/10 TO251 с выводами, или RFD14N05 71c/10 TO220.
...When MOSFETs fail they often go short-circuit drain to gate...Процитировано отсюда .
Применение 16 В может убить ваши порты Arduino.
Вы действительно уверены, что транзистор подключен правильно? Обычно центральный вывод также соединяется с выводом питания, который является коллектором биполярных транзисторов и стоком полевых транзисторов. Вы показываете центральный провод, подключенный к ардуино. Дважды проверьте это.
@OlinLathrop, он использует BS170 в пакете TO-92, что на диаграмме выглядит нормально, за исключением типа пакета.
@abdullahkahraman - В вашей ссылке сказано, что «часто уходите от драина к дате» - и это правда. Но вместо этого они могут делать что угодно. Я думаю, что ==k его точка зрения заключается в том, что вы можете видеть напряжение стока, подаваемое на затвор, и вы должны быть готовы к этому, что является очень хорошим моментом. Я видел, как много-много мощных МОП-транзисторов выходят из строя :-). Общим является короткое замыкание DS с затвором, подключенным к короткому замыканию DS, или без него. Иногда вы получаете просто DG. Реже вы получаете обрыв цепи на всех клеммах. Мощные стабилитроны (скажем, 1 Вт+) имеют тенденцию к сильному короткому замыканию, но даже это ненадежно с некоторыми O/C.
Суперкот @RussellMcMahon упомянул о некоторых методах защиты в одном из своих ответов . Также в ссылке, которую я дал, упоминаются сверхминиатюрные резисторы затвора, которые выходят из строя при разомкнутой цепи, действуя как предохранители.

Ответы (6)

Схема в теории хороша.
Требуется улучшение на практике.

Добавление стабилитрона затвор-исток, скажем, 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 должны быть как минимум на один вольт меньше, а в идеале на несколько вольт меньше фактического напряжения управления затвором.

Да, я пойду безопасным путем и буду использовать другой мосфет. Это и стабилитрон, вероятно, должны помочь. В магазине электроники рядом со мной нет предложенных вами мосфетов, но есть: IRF520, IRF530, IRL530, IRF540, IIRF730, IRF740, IRF830, IRF840, IRF9140, IRF9530, IRF9540, IRF9610, IRFBC620, IRFDD110, IRFD9120, IRFP50, IRFP054, IRFP140, IRFP150, IRFP450, IRFP520, IRFP9140, IRFZ44, IRFZ46. Я полагаю, я мог бы взять, например, IRF520? непрерывный ток стока составляет от 6,5 до 9,2 А. Минимальное напряжение Vgs составляет 2 В, а максимальное — 4 В, это нормально для Arduino?
IRF520 отлично подходит для управления Arduino. Min Vgs и «max Vgs» - это не совсем то, что вы думаете, это «пороговое» напряжение, при котором MOSFET начинает проводить. Максимальное Vgs значительно выше (выше 5 В, которое будет выдавать Arduino). Превысьте этот более высокий рейтинг (20 В?), И вы сломаете полевой транзистор.
Он работает с использованием полевого МОП-транзистора IRF520 и стабилитрона на 5,1 В и, вероятно, продолжит работать на этот раз :) Большое спасибо за помощь. Все ответы мне помогли, но вы подробно рассказали о стабилитронах и конкретных типах полевых транзисторов, поэтому я принимаю ваш ответ.
@ Рассел МакМахон: напряжение, которое выдает мой Arduino, составляет (немного меньше) 5 В, а не 3 В 3. Это не меняет ситуацию?

Ваш клапан рассчитан на 500 мА при 12 В. Если вы подаете 16 В, он будет потреблять несколько больше, чем 500 мА. Предполагая, что это сопротивление, оно будет потреблять 667 мА.

Абсолютный максимальный ток используемого вами МОП-транзистора составляет 500 мА в непрерывном режиме. Все, что превышает абсолютные максимальные значения, может разрушить устройство. Вероятно, поэтому вы видите проблемы с надежностью.

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

Как упомянул Джейсон в связанном ответе, BS170 — плохой выбор MOSFET. Вам нужен лучший. Выберите один в корпусе TO-220, который рассчитан на несколько ампер. Вы также должны убедиться, что Vgs рассчитан на привод логического уровня 5 В.

Какой диод используете?

Привет Марк, я использую диод 1N4001: Fairchildsemi.com/ds/BS/BS170.pdf

Ваш клапан рассчитан на ~ 500 мА. BS170 также рассчитан на 500 мА, но это показатель продаж. Я бы использовал здесь полевой транзистор (намного) с более высоким номиналом, 500 мА через TO92 заставляет меня нервничать. И у вас есть резистор затвора 1 кОм, что в большинстве случаев является хорошей идеей, но это может привести к тому, что плохой полевой транзистор будет переключаться слишком медленно, чтобы выдержать 0,5 А.

Какой диод используете? Он должен быть рассчитан на 0,5А, поэтому 1n4148 не подойдет. Я не уверен, но на самом деле это может быть больше, чем 0,5, потому что движущаяся часть значения может вызвать даже больший всплеск, чем обычная катушка.

На вашем изображении у вас есть значение обратного тока, протекающего через заземление Arduino. Я бы поставил звезду: подключите землю Arduino напрямую к источнику питания. Или гораздо лучше: используйте оптопару для изоляции сильноточной цепи от Arduino (и используйте два отдельных источника питания).

Я использую диод 1N4001. диоды.com/datasheets/ds28002.pdf Я не думал об оптроне. Это хороший сценарий для расследования :)

У вас должен быть резистор затвор-исток на вашем MOSFET, чтобы затвор не мог плавать, если выход Arduino имеет высокое сопротивление. Поскольку источник питания соленоида и источник питания Arduino являются отдельными, этот сценарий может произойти (если вы не гарантируете, что Arduino всегда включен первым).

Действительно ли MOSFET так далеко от соленоида? Если это так, его следует переместить намного ближе. Переместите его так, чтобы слив прямо вставлялся в полосу макетной платы, где красный провод идет к соленоиду и диоду. Затем сделайте короткое соединение источника с полосой GND. Лучше иметь более длинную петлю стробирующего сигнала (при малой мощности), чем длинную петлю, по которой передается питание. Вы также можете переместить Arduino ближе к соленоиду, чтобы все эти петли были короткими.

Под резистором затвор-исток вы подразумеваете резистор между затвором и истоком MOSFET? Извините, если это глупый вопрос :). Какое значение вы предлагаете? Насчет расстояний нет, все компоненты близко друг к другу, у меня эта схема распаяна на самотравленой плате. Только провода к ардуино длиннее. Я должен сказать, хотя, я понятия не имел, что это имело какое-либо значение. Я думал, что разница во времени, когда ток проходит на несколько сантиметров дальше, незначительна.
@Dyte Да, резистор между затвором и истоком.
@Dyte, я думаю, резистор затвор-исток на 10 кОм подойдет. Цель состоит в том, чтобы убедиться, что ворота MOSFET не плавают. Вам нужно что-то достаточно низкое, что может «выиграть» у паразитных элементов схемы, но достаточно высокое, чтобы выход Arduino мог «выиграть», когда ему нужно включить MOSFET.

Схема, как показано на рисунке, выглядит нормально, при условии, что единственным заземлением между платой Arduino и отрицательным выводом источника питания +16 является короткий синий провод. С другой стороны, возможно, что случайные шорты могут привести к плохим последствиям. Трудно точно предположить, что могло произойти, не видя, как были расставлены настоящие проблемные платы.

Если вы выдвигаете спецификации своего MOSFET, он может легко выйти из строя таким образом, чтобы отправить +16 затвор, но если резисторы такие, как показано, я ожидаю, что Arduino должен быть довольно хорошо защищен.

В первую очередь нужны сверхбыстродействующие диоды переключения, а не эти дешёвые диоды 2н4001-4, при использовании двигателей или катушек. Чем быстрее переключение, тем больше создается BEMF. Также используйте переключающий диод 914 к затвору mosfet от arduino и резистор 10k pull/down от затвора до земли.