
D4184 (модуль MOSFET), 1 канал, 36 В
На заказ
2 400 тг
2 160 тг
Дата публикации
Как выбрать MOSFET для Arduino и ESP32, почему важен logic-level, чем VGS(th) отличается от рабочего напряжения затвора, как рассчитать нагрев и подключить мотор, реле, клапан или светодиодную ленту.
Для управления мотором, насосом, клапаном, реле или светодиодной лентой от Arduino и ESP32 обычно используют N-канальный MOSFET в схеме с общим истоком. Микроконтроллер управляет только затвором транзистора, а ток нагрузки проходит между стоком и истоком.
Главная ошибка при выборе MOSFET – смотреть только на максимальный ток в характеристиках. Надпись вроде «50 А» ещё не означает, что транзистор сможет нормально коммутировать 5-10 А от GPIO микроконтроллера.
Для Arduino и особенно ESP32 важен logic-level MOSFET – транзистор, рассчитанный на полноценное открытие при сравнительно низком напряжении затвора.
Arduino Uno и Nano обычно формируют логический HIGH около 5 В. ESP32 работает с логическими уровнями 3,3 В. Поэтому MOSFET, который хорошо работает при 5 В на затворе, не обязательно будет нормально работать от ESP32.
При выборе в даташите нужно искать не только максимальные параметры, а значение сопротивления открытого канала RDS(on) и напряжение затвора, при котором оно гарантируется.
| Параметр | Что показывает | На что смотреть |
|---|---|---|
| VDS | Максимальное напряжение сток-исток | Должно иметь запас относительно напряжения нагрузки |
| ID | Допустимый ток стока | Не использовать как единственный критерий выбора |
| RDS(on) | Сопротивление полностью открытого MOSFET | Чем меньше, тем ниже потери и нагрев |
| VGS | Напряжение затвор-исток | Для ESP32 желательно наличие характеристик при 2,5-3,3 В |
| VGS(th) | Порог начала открытия | Не означает полноценное открытие транзистора |
| Qg | Полный заряд затвора | Важен при PWM и высокой частоте переключений |
| Pd | Допустимая рассеиваемая мощность | Зависит от корпуса, температуры и охлаждения |
Если в даташите RDS(on) указан только при VGS = 10 В, такой MOSFET нельзя автоматически считать подходящим для GPIO Arduino или ESP32.
Для ESP32 особенно удобно искать транзисторы, у которых производитель прямо приводит RDS(on) при VGS = 2,5 В или близком напряжении. Для Arduino подходят многие модели, рассчитанные на VGS = 4,5-5 В.
Подробнее о том, что происходит внутри силового ключа, можно посмотреть в статье [url href=/articles/silovye-klyuchi-i-drayvery']силовые ключи и драйверы[/url].

Параметр VGS(th) часто становится причиной неправильного выбора MOSFET. Например, в характеристиках может быть указано VGS(th) = 1-2,5 В. Возникает логичный вывод: если ESP32 выдаёт 3,3 В, транзистор точно откроется.
Формально он действительно откроется. Но это ещё не означает, что через него можно безопасно пропустить несколько ампер.
VGS(th) – это напряжение, при котором канал только начинает проводить ток. Производитель обычно измеряет порог при очень небольшом токе. В реальной силовой схеме MOSFET должен находиться значительно дальше от этого режима.
Именно поэтому для выбора нужно смотреть RDS(on).
Условный пример:
| Характеристика MOSFET | Значение |
|---|---|
| VGS(th) | 1-2,5 В |
| RDS(on) при VGS = 10 В | 15 мОм |
| RDS(on) при VGS = 4,5 В | 20 мОм |
| RDS(on) при VGS = 2,5 В | 28 мОм |
Такой набор характеристик показывает, что производитель действительно предусматривает работу транзистора при низком напряжении затвора.
Совсем другая ситуация, если в даташите есть красивое VGS(th) = 2 В, но RDS(on) гарантируется только при 10 В. От ESP32 такой MOSFET может открыться лишь частично.
Вместо ключа с сопротивлением в несколько десятков миллиом он фактически превращается в дополнительное сопротивление последовательно с нагрузкой. На нём появляется заметное падение напряжения и выделяется тепло.
Именно поэтому некоторые схемы выглядят исправными без нагрузки, но MOSFET начинает быстро нагреваться после подключения мотора или светодиодной ленты.

Для обычного включения нагрузки используется низковольтная схема коммутации по минусу – low-side switch. Нагрузка постоянно подключена к плюсу источника питания, а MOSFET соединяет её с общим минусом.
Типовая схема выглядит так:
+12 В / +24 В
│
Нагрузка
│
│
Drain
│
GPIO ── 100 Ом ── Gate N-MOSFET
│ │
10 кОм │
│ Source
│ │
GND контроллера ─┴─────┴── GND источника питания
Резистор между GPIO и Gate обычно имеет сопротивление порядка 47-220 Ом. Его задача – ограничить кратковременный ток зарядки затвора и уменьшить звон и помехи при переключении.
Резистор Gate-GND, например 10 кОм, удерживает MOSFET закрытым, когда GPIO ещё не настроен, микроконтроллер перезагружается или питание контроллера отключено.
Без него затвор может остаться электрически «висящим». MOSFET имеет очень высокое входное сопротивление, поэтому накопленного на затворе заряда иногда достаточно для частичного или полного открытия ключа.
Source подключают к общему GND, Drain – к нагрузке.
Если нагрузка питается от отдельного блока на 12 или 24 В, а Arduino или ESP32 – от USB или другого источника, в такой схеме их земли необходимо соединить.
Если требуется разрывать именно положительный провод, схема меняется. Для верхнего ключа используют P-канальный MOSFET либо N-канальный MOSFET со специальным драйвером затвора.
Для простого управления нагрузкой от Arduino или ESP32 схема low-side обычно получается проще и надёжнее.
Практический вариант такой схемы также разобран в материале транзисторный ключ для реле, мотора, ленты и клапана.
Даже правильно открытый MOSFET имеет небольшое сопротивление канала. Поэтому часть энергии нагрузки превращается в тепло непосредственно внутри транзистора.
При постоянном токе основные потери можно приблизительно оценить по формуле:
P = I² × RDS(on)
Например, через MOSFET проходит 5 А, а сопротивление открытого канала составляет 20 мОм, то есть 0,02 Ом.
P = 5² × 0,02 = 0,5 Вт
Полватта для крупного корпуса может оказаться приемлемой мощностью. Для маленького SMD-корпуса температура уже может заметно увеличиться.
Если ток возрастёт до 10 А:
P = 10² × 0,02 = 2 Вт
Ток увеличился в 2 раза, а потери выросли в 4 раза.
| Ток нагрузки | RDS(on) | Потери на MOSFET |
|---|---|---|
| 1 А | 20 мОм | 0,02 Вт |
| 3 А | 20 мОм | 0,18 Вт |
| 5 А | 20 мОм | 0,50 Вт |
| 8 А | 20 мОм | 1,28 Вт |
| 10 А | 20 мОм | 2,00 Вт |
Это только приблизительный расчёт статических потерь.
На практике ситуация сложнее: RDS(on) увеличивается с ростом температуры. Значение в таблице даташита обычно связано с определёнными условиями измерения, поэтому нельзя считать, что сопротивление останется неизменным при нагреве кристалла.
Кроме того, при PWM возникают динамические потери во время переключения.
MOSFET не переходит из полностью закрытого состояния в полностью открытое мгновенно. Некоторое время он находится в промежуточном режиме, когда через канал уже течёт ток, но напряжение между Drain и Source ещё остаётся заметным.
Поэтому сильный нагрев может иметь несколько причин:
Особенно важно учитывать пусковой ток двигателей. Если двигатель потребляет 2 А в установившемся режиме, это ещё не означает, что MOSFET достаточно рассчитывать на 2 А. При старте и блокировке ротора ток может быть значительно выше.
MOSFET хорошо подходит не только для включения и выключения нагрузки, но и для регулирования мощности через PWM.
Таким способом можно менять яркость светодиодной ленты, скорость DC-мотора, мощность нагревателя и производительность некоторых насосов или вентиляторов.
Принцип PWM подробно разобран в статье ШИМ-сигнал простыми словами.
Для MOSFET здесь появляется ещё один важный параметр – заряд затвора Qg.
Затвор MOSFET электрически ведёт себя примерно как ёмкостная нагрузка. Чтобы открыть транзистор, GPIO должен зарядить эту ёмкость. Чтобы закрыть – разрядить.
Чем крупнее и мощнее MOSFET, тем больше может быть заряд затвора.
При редких переключениях это почти незаметно. При PWM затвор приходится заряжать и разряжать сотни, тысячи или десятки тысяч раз в секунду.
Если переключение происходит слишком медленно, MOSFET больше времени проводит в промежуточном состоянии и сильнее греется.
Поэтому огромный MOSFET на условные 100 А не всегда является хорошим выбором для нагрузки на 2-3 А. У него может быть очень низкое RDS(on), но большой заряд затвора, с которым GPIO работает хуже, чем с компактным logic-level MOSFET.
| Режим | Что важнее |
|---|---|
| Простое ON/OFF | Низкое RDS(on), подходящее VGS |
| Медленный PWM | RDS(on) и нормальное открытие от GPIO |
| Высокая частота PWM | RDS(on), Qg и скорость переключения |
| Большой MOSFET и высокий ток | Часто требуется драйвер затвора |
| Несколько MOSFET одновременно | Нужно учитывать суммарную нагрузку на GPIO и динамику переключения |
Для небольшого logic-level MOSFET и умеренной частоты PWM управление непосредственно от GPIO часто вполне работоспособно.
Если используется мощный транзистор с большим Qg, высокая частота PWM или требуется очень быстрое переключение, между микроконтроллером и MOSFET устанавливают gate driver.
Драйвер способен быстро отдавать и принимать значительно больший импульсный ток, чем GPIO, поэтому затвор быстрее проходит промежуточную область.
Мотор, катушка реле, соленоид и электромагнитный клапан являются индуктивными нагрузками. При отключении тока энергия, накопленная в магнитном поле катушки, должна куда-то уйти.
Если дополнительного пути нет, на Drain MOSFET может возникнуть короткий импульс высокого напряжения.
Для обычной DC-катушки параллельно нагрузке ставят защитный диод.
+12 В
│
┌────── Нагрузка ──────┐
│ │
│ Drain
│ │
└─────|<|──────────────┤ MOSFET
диод │
Source
│
GND
При нормальной работе диод включён в обратном направлении и ток через него не проходит.
После закрытия MOSFET полярность напряжения на катушке меняется, диод открывается и создаёт путь для затухающего тока.
Диод выбирают с учётом:
Для небольших реле и клапанов требования одни, для мощного DC-мотора на несколько ампер – совершенно другие.
Обычный защитный диод хорошо ограничивает выброс, но одновременно делает спад тока в катушке более медленным. Для реле или электромагнита это может увеличить время отпускания.
Если механизм должен отключаться быстро, применяют другие варианты ограничения выброса – например, диод вместе со стабилитроном или TVS. При этом допустимое напряжение на MOSFET должно иметь соответствующий запас.
У светодиодной ленты или обычного резистивного нагревателя такого индуктивного выброса обычно нет, поэтому ставить flyback-диод только потому, что в схеме есть MOSFET, не требуется.
Большинство проблем с MOSFET в проектах Arduino и ESP32 связано не с неисправным транзистором, а с несколькими повторяющимися ошибками.
| Проблема | Причина | Что проверить |
|---|---|---|
| MOSFET сильно греется | Недостаточное напряжение затвора | RDS(on) именно при 3,3 или 5 В |
| Нагрузка работает слабо | MOSFET открыт частично | Не ориентироваться на VGS(th) |
| Нагрузка сама включается при старте | Gate остаётся плавающим | Добавить Gate-GND 10 кОм |
| Не работает отдельный БП нагрузки | Нет общей земли | Соединить GND контроллера и силового источника |
| ESP32 перезагружается | Просадка питания или помехи | Питание, разводка GND, конденсаторы, пусковой ток |
| MOSFET погибает после выключения мотора | Индуктивный выброс | Проверить защитный диод или TVS |
| Греется только при PWM | Медленное переключение Gate | Qg, частота PWM, резистор Gate, драйвер |
| MOSFET всегда включён | Перепутаны выводы или повреждён ключ | Проверить распиновку конкретного корпуса |
| На нагрузке не полное напряжение | Ключ установлен не в той конфигурации | Проверить Drain, Source и схему high-side/low-side |
Особенно опасно считать распиновку MOSFET универсальной. У транзисторов в одинаковых на вид корпусах расположение Gate, Drain и Source может отличаться. Перед монтажом нужно открыть даташит именно используемой модели.
Ещё одна распространённая ошибка – устанавливать N-канальный MOSFET сверху нагрузки и подавать на Gate обычные 3,3 или 5 В относительно земли.
По мере роста напряжения на Source разность VGS уменьшается, транзистор перестаёт нормально открываться. Для полноценного N-MOSFET high-side ключа напряжение Gate должно быть выше напряжения Source, поэтому обычно требуется драйвер.
Не менее важно учитывать ток самой нагрузки не только в штатном режиме.
У двигателя возможен большой пусковой ток и ток блокировки. У холодной лампы сопротивление нити меньше, чем после прогрева. Большая ёмкостная нагрузка при включении тоже может кратковременно потреблять высокий ток.
Поэтому MOSFET выбирают не только под цифру, которую показывает мультиметр после стабилизации схемы.
Перед покупкой или установкой MOSFET достаточно последовательно проверить несколько параметров.
Для типичной нагрузки постоянного тока схема в итоге получается простой: GPIO управляет затвором, MOSFET коммутирует силовой ток, а микроконтроллер не пропускает этот ток через себя.
При этом хороший MOSFET не обязательно должен быть самым большим или иметь максимальный ток в сотни ампер. Для Arduino и ESP32 часто важнее другое – насколько хорошо транзистор открывается от реальных 3,3 или 5 В и каким будет его сопротивление канала в этом режиме.
Если после сборки MOSFET заметно нагревается, это полезный диагностический признак. Нужно проверить не только радиатор, а сначала VGS, RDS(on), реальный ток нагрузки и режим переключения. Очень часто проблема находится именно там.
Комментарии (0)