View Categories

MOSFET транзистор

Полевой транзистор, он же мосфет (MOSFET) – электронный компонент, позволяющий при помощи небольшого напряжения и тока с пина МК управлять мощной нагрузкой постоянного тока. Может использоваться с ШИМ сигналом для "плавного" управления скоростью моторов и вентиляторов, яркостью светодиодных лент, мощностью нагрева нагревательного элемента и так далее.

В наборе GyverKIT START IOT EXTRA
MOSFET

Подключение к Arduino #

Рассмотрим подключение N-канального мосфета, т.к. P-канальные на практике в таком виде не используются - они дороже, имеют более низкие характеристики, схема подключения сложнее.

  • Затвор (gate) - управляющий пин мосфета подключается к любому цифровому пину МК через токоограничивающий резистор на 100-200 Ом (мощность любая). Он выполняет защитную функцию: затвор полевика представляет собой конденсатор, в момент открытия затвора конденсатор начнёт заряжаться и в цепи пойдёт большой ток - практически короткое замыкание, который может повредить пин МК. Резистор просто ограничивает ток в цепи пин-затвор и спасает пин от скачков тока. В целом можно его не ставить, но когда-нибудь оно обязательно сломается =)
  • Затвор подтягивается к GND резистором на 5-50 кОм (мощность любая). Если случится так, что МК выключен или сигнальный провод от него отвалился - на затвор будут приходить случайные наводки и он может случайно открыться. Если в этот момент будет подключен источник питания - нагрузка тоже включится! Восстание машин начнётся именно с этого момента. Подтягивающий резистор позволяет "прижать" затвор, чтобы он не открылся сам по себе
  • Сток (drain) мосфета подключается к GND нагрузки
  • Исток (source) мосфета подключается к GND питания
  • VCC питания подключается к VCC нагрузки, GND соединяется с GND МК

N-канальный мосфет по сути замыкает линию GND, а питание подключается к нагрузке напрямую:

Выбор транзистора #

По сути МК может управлять любым транзистором, но с дополнительными компонентами в схеме (драйвер, дополнительный транзистор, и т.д.). Мы же хотим подключить мосфет напрямую к МК, поэтому нужно понимать, что будет происходить и как оно работает. Пин МК может выдавать логический уровень - обычно 5V (AVR) и 3.3V (ESP, STM).

Напряжение коммутации #

Максимальное напряжение, которое может пропустить через себя транзистор, часто указано в названии товара или в самом начале характеристик. В документации называется Vds - Drain-to-Source Voltage.

Напряжение открытия #

Полевой транзистор управляется напряжением: чем выше напряжение - тем сильнее "открывается" транзистор, тем ниже его сопротивление и тем выше ток, который он сможет через себя пропустить. Некоторые транзисторы начинают открываться с 7 Вольт, т.е. МК с логическим уровнем 5V даже не сможет его открыть.

  • Если в названии-описании мосфета есть фраза Logic Level, то он подойдёт лучше остальных
  • Лучше сразу смотреть низковольтные транзисторы (Vds), у них напряжение открытия ниже. Например между 55 и 100V лучше смотреть 55V
  • Открываем график Typical Transfer Characteristics (Id от Vgs) и смотрим ток при своём напряжении пина

Примеры:

  1. При 5V откроется на 3А, при 3.3 не откроется
  2. При 5V откроется на ~25А, при 3.3 не откроется
  3. При 5V откроется на 200А, при 3.3 на ~80А

Этот график показывает возможности кристалла по коммутации тока, но вовсе не означает, что если на третий транзистор мы подадим 3.3V, то он сможет держать 80А - важны также другие параметры.

Сопротивление канала #

Может быть явно указано в характеристиках как Rds, иногда бывает указано для нескольких напряжений. Вот например указано для 4.5V на затворе и 12А через транзистор:

То есть 5.8 миллиом на 12А при коммутации напрямую от МК (4.5V на затвор с пина). На транзисторе будет рассеиваться мощность Id * Id * Rds = 12 * 12 * 0.0058 = 0.8 Вт.

Для других условий нужно смотреть график Typical Output Characteristics (Id от Vds) и найти на нём линию, которая отвечает за нужное напряжение на затворе. Вот график от транзистора, с которого взята табличка выше, стрелкой отмечена точка пересечения линии 4.5V с током ~12А (выходит за график):

По нижней оси указано падение напряжения на транзисторе, т.е. при наших условиях имеем примерно 0.1V. Значит сопротивление затвора будет примерно Vds / Id = 0.1 / 12 = 0.008 Ом, что примерно соответствует таблице выше.

Допустим, нам нужно коммутировать этим же транзистором 30А, тем же напряжением на затворе (4.5V). Смотрим график:

Получается на транзисторе упадёт около 0.17V, значит будет выделяться мощность Id * Vds = 30 * 0.17 = 5.1 Вт.

Посмотрим более слабый транзистор. Допустим, нам надо коммутировать ~12А (шкала логарифмическая) напряжением на затворе 5V:

Падение напряжения составит ~0.31V, значит сопротивление канала 0.31 / 12 = 0.026 Ом, а мощность 12 * 0.31 = 3.72 Вт. Предыдущий транзистор на такой же нагрузке грелся с мощностью 0.8 Вт, т.е. он в 5 раз лучше для этой задачи!

Нагрев #

Вот предельная рассеиваемая мощность на воздухе для разных корпусов - при такой мощности транзистор очень горячий:

  • TO220: 1 Вт
  • Dpak: 0.6 Вт
  • TO92: 0.6 Вт
  • SOT23: 0.3 Вт

В то же время, TO220 замечательно ставится на внешний радиатор и кратно увеличивает отдачу мощности, а Dpak обычно паяется на плату на большой медный полигон с переходами, что увеличивает предел на пару ватт, а также сверху может располагаться радиатор.

Температуру корпуса при известной мощности можно вычислить по следующей формуле: T = Ta + Rja * P, где Ta - температура воздуха, Rja - параметр из даташита, P - мощность в Вт.

У транзистора из последнего расчёта выше (нагрузка 12 А) Rja = 62, мощность у нас получилась 3.72 Вт: 25 + 62 * 3.72 = 255 градусов - транзистор расплавился. Для транзистора, у которого мы брали сопротивление из таблицы, Rja = 110 на воздухе и 50 при монтаже на печатную плату лёжа. Мощность у нас была 0.8 Вт: 25 + 110 * 0.8 = 113 градусов - горячо, но нормально. При монтаже на печатную плату получится всего 65 градусов.

Ёмкость затвора #

Ещё один важный параметр - ёмкость затвора. Затвор мосфета - это конденсатор, когда мы подаём на него напряжение - он начинает заряжаться, и чем выше ток - тем быстрее. Мы же подключаем затвор к МК через резистор, чтобы уменьшить ток с пина - это увеличивает время зарядки затвора, т.е. он открывается не сразу - в это время сопротивление канала постепенно падает и транзистор нагревается. То же самое происходит при закрытии транзистора. Если он работает в режиме редкого включения и выключения - ничего страшного, нагреться не успеет. Но если транзистор управляется ШИМ сигналом, то при большой ёмкости затвора, слабом токе и высокой частоте ШИМ он может никогда не открываться полностью - сопротивление канала будет большим и транзистор будет сильно греться!

Как это посчитать и какой транзистор выбрать. Нас интересует Ciss (Input Capacitance), его можно взять из графика от Vds (напряжение питания нагрузки):

Например для 12V получим ~3000 и ~2100 пФ для обоих транзисторов соответственно. Затвор полностью зарядится за время, равное 5 * R * C, где R - сопротивление резистора с пина МК. У нас 100 Ом: 5 * 100 * 3000 * 10^-12 = 1.5 микросекунды, а для 2100 получится 1 микросекунда. Если транзистор управляется ШИМ с частотой 20 кГц, то условно на 50% заполнения время нахождения затвора в одном состоянии составит 1000000 / 20000 / 2 = 25 микросекунд. Получается, что из 25 микросекунд одну микросекунду транзистор будет открываться - нормально, но на заполнении, близком к 0 или 100% уже будет неполное открытие/закрытие и выделение тепла. Если взять частоту ШИМ 200 кгц - получится 2.5 мкс на 50% ШИМ - транзистор будет половину периода только открываться, т.е. нагрев вырастет почти в два раза.

Для коммутации на высоких частотах и уже нужно использовать драйверы, которые смогут "резко" открывать и закрывать затвор большим током. Существуют также Low-Gate Charge модели мосфетов с затворами низкой ёмкости.

Таким образом, для работы напрямую от МК стоит выбирать Low-Gate Charge + Logic Level модели полевых транзисторов - они сразу подойдут лучше остальных

Хорошие варианты #

Корпус TO220
Маркировка R, мОм Ток при 3V Ток при 5V
IRLZ24NPBF 60 4 20
IRF3704ZPBF 7.9 10 >100
IRLB8743PBF 3.2 20 >100
IRL2203NPBF 7 30 >100
IRLB8748PBF 4.8 10 >100
IRL8113PBF 6 40 >100
IRL3803PBF 6 20 >100
IRLB3813PBF 1.95 20 >100
IRL3502PBF 7 >100 >100
IRL2505PBF 8 20 >100
IRF3711PBF 6 80 >100
IRL3713PBF 3 20 >100
IRF3709ZPBF 6.3 40 >100
AUIRL3705N 6.5 20 >100
IRLB3034PBF 1.7 >100 >100
IRF3711ZPBF 6 20 >100
Корпус Dpak
Маркировка R, мОм Ток при 3V Ток при 5V
STD17NF03LT4 50 5 40
IRLR024NPBF 65 4 20
IRLR8726PBF 6 10 110
IRFR1205PBF 27 10
IRFR4105PBF 45 10
IRLR7807ZPBF 12 10 100
IRFR024NPBF 75 8
IRLR7821TRPBF 10 11 100
STD60N3LH5 8 30 160
IRLR3103TRPBF 19 11 100
IRLR8113TRPBF 6 40 110
IRLR8256PBF 6 10 110
IRLR2905ZPBF 13 100
IRLR2905PBF 27 20 90

Для слаботочных цепей и тестов на макетке мне нравится использовать полевик 2n7000 - тянет до 400 мА. Корпус - компактный выводной to-92.

Программирование #

Связанные уроки:

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

  • HIGH - открыть транзистор, включить нагрузку
  • LOW - закрыть транзистор, выключить нагрузку
  • ШИМ сигнал для плавного управления мощностью на нагрузке
#define MOS_PIN 3

void setup() {
  pinMode(MOS_PIN, OUTPUT);
}

void loop() {
  // включить-выключить
  digitalWrite(MOS_PIN, HIGH);
  delay(1000);
  digitalWrite(MOS_PIN, LOW);
  delay(1000);

  // включить на 50% и выключить
  analogWrite(MOS_PIN, 128);
  delay(1000);
  digitalWrite(MOS_PIN, LOW);
  delay(1000);
}

Полезные страницы #

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх