Работая со схемой, управляющей приличной силой тока, вы зачастую сталкиваетесь с полевыми транзисторами (FET, Field-Effect Transistor). Независимо от того, хотите ли вы управлять парой мощных светодиодов, двигателем или включать/отключать USB-устройство, в схеме обычно присутствует полевой транзистор, выполняющий часть ответственной работы. Вы можете не знать, как именно он функционирует, как его использовать и какие нюансы при этом учитывать — поэтому начнём с основ.
Ниже представлена простая схема полевого транзистора, которая позволяет включать питание для, скажем, USB-порта, в некотором смысле подобно клапану, прерывающему подачу тока. В этой схеме используется P-FET — для включения питания мы открываем затвор транзистора путём притягивания сигнала GATE к земле, а для выключения закрываем его, возвращая GATE к верхнему уровню, на котором резистор удерживает затвор по умолчанию. Если вы хотите контролировать положение затвора с помощью микроконтроллера 3,3 В, который неспособен обрабатывать на своих выводах напряжение на стороне питания (high side), то можете добавить секцию NPN-транзисторов, как показано на схеме — таким образом вы инвертируете логику, приведя её к более интуитивной форме «высокий = вкл., низкий = выкл.» и уже не будете рисковать интерфейсом ввода-вывода.
Эта схема называется переключателем на стороне питания — она позволяет по желанию активировать подачу питания на устройство через полевой транзистор. Чаще всего она используется именно для этих транзисторов, и если вам интересно побольше узнать о переключателях на стороне питания, то очень рекомендую прекрасную статью Learn and build a high side switch от нашего друга Била Херда, в которой он простым и доступным языком рассказывает об их основах. Для этой статьи вы можете использовать в качестве ориентира приведённую схему, демонстрирующую типичное использование полевых транзисторов в электроцепи.
▍ Немного общей теории
Существуют разные виды полевых транзисторов — MOSFET, JFET и пара десятков менее популярных. Говоря о полевых транзисторах, люди обычно подразумевают MOSFET, и мы в этой статье рассмотрим тоже именно их — прочие разновидности не столь востребованы в среде хакинга электроники, да и с JFET я, честно говоря, не особо знакома. Тем не менее все они являются полевыми транзисторами и родственниками ещё одной разновидности — биполярных транзисторов (BJT, Bipolar Junction Transistor) — достаточно популярными, поэтому обычно мы просто называем их NPN- или PNP-транзисторами. И хотя все они попадают под одно определение транзистора, говоря «транзистор», люди обычно подразумевают биполярные, а говоря «полевой», имеют ввиду MOSFET.
Можете представить себе полевой транзистор как управляемый вами резистор, сопротивление которого может опускаться вплоть до уровня одного Ома (открыт) или подниматься до бесконечно высокого значения (закрыт). Открытие полевого транзистора происходит путём зарядки/разрядки его затвора — в простейшей форме можете представить затвор в виде конденсатора. Говоря в целом, полевые транзисторы действуют подобно резистору, используя встроенный конденсатор для управления своим сопротивлением.
Это делает их уникальными и прекрасно подходящими для таких вещей, как переключение линий питания. При управлении линией питания устройства с помощью биполярных транзисторов, ввиду их принципа действия возникает неизбежная просадка напряжения как минимум на 0,3 В. Это приводит к затратам части мощности на нагрев и исключает возможность применения таких транзисторов в цифровых устройствах, где уровень подаваемого напряжения играет важную роль. А вот применяемый в том же контексте MOSFET представит собой просто встроенное сопротивление ниже одного Ома — эффективно и удобно. Это основная причина, по которой полевые транзисторы используются для переключения питания, поэтому вы их встретите во всевозможных устройствах.
Следующий момент. полевой транзистор не переходит мгновенно из состояния «полностью открыт» в «полностью закрыт» — как и у биполярных, которые мы все знаем и любим, у него есть и промежуточные состояния, когда сопротивление не опускается до минимального уровня, но и не поднимается до бесконечно высокого значения в соответствии с вашей схемой (закрыт) — полевой транзистор оказывается частично открыт или, иными словами, находится в своей линейной области. Привести транзистор в такое состояние можно путём подачи напряжения, слегка недостаточного для полноценного открытия его затвора. Эту особенность можно использовать при сборке усилителей, для обеспечения электронной нагрузки или получения драйвера постоянного тока для светодиодов. Однако в целях переключения питания попадания полевого транзистора в линейную область нужно избегать — высокое сопротивление означает высокие потери и потребность в рассеивании генерируемого тепла.
Конструкция полевых транзисторов подразумевает наличие внутри так называемого паразитного диода. Исключить его никак нельзя — он есть всегда. Единственный вариант — это учитывать его присутствие при разводке схемы. Если диод нежелателен, избежать его воздействия можно путём размещения двух полевых транзисторов спиной к спине. Именно так работают цепи защиты литий-ионных батарей — они должны защищать батарею от переразряда, перекрывая исходящий ток, а также от перезаряда, перекрывая входящий, и одним из способов реализации этого является их установка диодами друг к другу. Если взглянуть на систему управления литий-ионными батареями с повышенным током, то мы неизбежно найдём там два полевых транзистора, подключенных именно таким образом, а может даже две серии транзисторов, установленных параллельно.
Как же конкретно работает такой транзистор на физическом уровне без подобных упрощений? Вот видео от Томаса Швенке, посвящённое конкретно этому виду транзисторов, а вот ещё одно от EEVblog, где рассматриваются и биполярные, и полевые разновидности. В сети также есть бесчисленное множество обучающих материалов и примеров вроде этой красивой GIF-анимации из Wikipedia. Так что фактически разбираться во всём этом вам не обязательно, но дополнительное понимание порой может оказаться весьма кстати, да и вообще это просто интересно!
▍ Открытие затвора
Чтобы открыть полевой транзистор, необходимо подать на затвор напряжение, превышающее порог Vgs, но не значение Vgs(max). Оба этих параметра указаны в спецификации. Имейте в виду — Vgs в спецификации (и в подборщиках деталей в онлайн-магазинах) зачастую указываются для некоего приемлемого значения сопротивления, но не для минимального его показателя, который может достичь транзистор. Так что вам нужно будет ознакомиться с приведённым в документации графиком зависимости Vgs от сопротивления. Далее, в аббревиатуре Vgs буква G означает затвор, S — исток. Третий же контакт является стоком. Когда затвор открывается, ток начинает течь от истока к стоку. Естественно, управляющее затвором напряжение также должно подаваться относительно истока.
Как и в случае NPN- и PNP-транзисторов, существуют модели N-FET и P-FET. N-FET подобны NPN-модификации — для открытия на контакте затвора должно присутствовать более высокое напряжение, чем на контакте истока. При этом P-FET подобны PNP-транзисторам — для открытия напряжение контакта затвора должно быть ниже напряжения контакта истока, естественно, превышая Vgs. В спецификациях к P-FET значение Vgs представлено отрицательным числом, например -1,7 В. Как вы могли заметить, проще всего использовать P-FET для переключения на стороне питания, а N-FET для переключения на стороне земли (low side) — до тех пор, пока Vgs будет ниже напряжения шины питания, вам не придётся выходить из диапазона напряжений, доступных в рамках вашей схемы.
Итак, при подключении полевого транзистора не забывайте о паразитном диоде — если использовать такой транзистор для переключения и подключить его неверно, перепутав исток и сток, то ваше устройство будет всегда запитываться через паразитный диод, вне зависимости от того, открыт затвор транзистора или нет. С другой стороны, этой проблемы можно избежать, ознакомившись с указанной в спецификации распиновкой, а при проектировании схемы значок полевого транзистора зачастую будет содержать в себе символ паразитного диода — или как минимум стрелку, отходящую от того же контакта.
Что касается различия в именовании, то запомнить его легко — при реализации переключения на стороне питания с помощью P-FET или на стороне земли с помощью N-FET вы подключаете источник питания к контакту истока, которым в случае P-FET выступает плюсовая шина, а в случае N-FET — минусовая. Даже если полевой транзистор вам нужен для других целей, эта мнемоника станет напоминанием, от какого и к какому контакту подключается паразитный диод. P-FET — положительный исток (positive), N-FET — отрицательный (negative).
Расположить полевой транзистор в цепи можно по-разному. Если вы переключаете шину питания 3,3 В, и напряжение вашего микроконтроллера равно 3,3 В, то вы также можете управлять таким транзистором непосредственно через интерфейс ввода-вывода. Несмотря на то, что зарядку затвора этих транзисторов не всегда можно реализовать через этот интерфейс, при небольших масштабах ёмкость затвора не составит для него особой нагрузки, так что в любительских проектах это хороший упрощённый приём. Для большего успокоения можете последовательно добавить между интерфейсом ввода-вывода и затвором резистор, скажем, на 100 Ом. Нередко управление N-FET транзисторами при переключении на стороне земли реализуется через контакты ввода-вывода точно так же, как в случае с NPN-транзисторами.
Вычисление делителя напряжения для удержания Vgs ниже напряжения истока
Тем не менее, если ваши уровни напряжения не совпадают, например, вы управляете нагрузкой 12 В с помощью P-FET и интерфейса ввода-вывода, то есть более популярный способ, который отражён в первом примере схемы. Он заключается в использовании другого полевого или биполярного транзистора для подтягивания затвора в одном направлении, и резистора — для подтягивания в другом. Если вам нужно сохранить Vgs в определённом диапазоне, просто добавьте между затвором и управляющим транзистором ещё один резистор, чтобы получить делитель напряжения.
Это очень эффективный способ, но не безупречный. Затвор — это конденсатор, поэтому его зарядка или разрядка через резистор займёт больше времени, чем проделывание противоположного действия с помощью транзистора, так что при движении в управляемом резистором направлении затвор будет дольше находиться в линейной области. Это небольшая проблема при эпизодическом включении/отключении нагрузок, но доставит неприятности, если вы решите реализовать ШИМ с повышенной частотой — скажем, при управлении светодиодами или скоростью вращения двигателя, когда индуктивность мотора ещё больше всё усложняет.
Именно здесь на выручку приходят FET-драйверы, представляющие собой небольшую микросхему, внутри которой есть стадия push-pull, помогающая управлять затвором строго, вне зависимости от ёмкости, а также поддерживать Vgs в рамках приемлемого диапазона. В целом вам нужно подключить управляющий интерфейс ввода-вывода к одной стороне микросхемы, затвор полевого транзистора к другой, следовать спецификации драйвера, и всё будет в порядке.
▍ Установка границ
Естественно, у полевых транзисторов есть свои ограничения и нюансы — существует множество их вариаций в корпусах SOT23, которые все выглядят одинаково, но лишь некоторые из них сдюжат, когда вам потребуется реализовать управление несколькими метрами светодиодной ленты. Самыми важными параметрами являются максимальная сила тока и напряжение между истоком и стоком — они определяют допустимую нагрузку, которой можно управлять с помощью полевого транзистора. Если она будет составлять 12 В/3 А, то мудрым решением будет выбрать транзисторы 20 В/4 А Vds/Ids, а если речь идёт о 3,3 В/1 А, то обычно подойдёт транзистор 12 В/3 А.
Паразитный диод может оказаться очень кстати, например, в случае переключения индуктивных нагрузок, так как будет рассеивать часть обратного электромагнитного поля, которое может получить транзистор. Хотя особо на него не полагайтесь. Если вам нужен диод, то лучше будет просто добавить дополнительный параллельно.
Нашли хорошие недорогие полевые транзисторы или, возможно, обнаружили неплохие у себя в закромах, но они слегка недотягивают по силе тока? Обрадую вас — зачастую можно установить похожие транзисторы параллельно, чтобы увеличить максимально проводимый ими ток. В отличие от диодов, большинство полевых транзисторов имеют положительный термальный коэффициент — чем больше тока через них протекает, тем сильнее они нагреваются. При этом также растёт сопротивление, в результате чего параллельно подключенные транзисторы выравнивают показатели друг друга, даже если их параметры не совпадают. В таком случае вам уже не потребуется использовать отдельные управляющие схемы — просто запараллельте транзисторы, соединив все три контакта, и это сработает.
Контакт затвора здесь окажется наиболее уязвимым — к примеру, он весьма восприимчив к электростатике, и в некоторых транзисторах даже есть специальные диоды защиты, подключенные между затвором и истоком. В отличие от биполярных транзисторов, которым требуется постоянно протекающий ток, здесь достаточно лишь один раз зарядить затвор, и он будет оставаться открытым достаточно долго. При этом требуется настолько небольшой заряд, что зачастую можно заряжать затвор буквально прикосновением пальца, если ничто его не притягивает в одном из направлений. Видите резистор R1 на самой первой схеме? Он удерживает затвор разряжённым, а транзистор закрытым до тех пор, пока тот не будет намеренно открыт — без этого резистора транзистор сам бы не закрывался, оказываясь восприимчивым к различным шумам. Если вы не используете драйвер затвора, то между ним и истоком вам обязательно потребуется резистор.
Защита затвора от статических разрядов
Кроме того, обычно порог максимального Vgs намного ниже порога Vds — к примеру, для транзистора 30 В Vds несвойственно работать при максимальном Vgs 12 В или около того. Превысьте эту величину, и транзистор наверняка откажет. Предположим, вы переключаете 20 В с помощью подобного P-FET в обычной конфигурации переключения на стороне питания и получаете хороший Rds (сопротивление сток-исток) при -6 В — вам нужно будет удерживать затвор примерно на 12 В. Опять же, проще всего это будет реализовать с помощью делителя напряжения, и резистор для подтягивания затвора прекрасно в эту картину впишется.
Отказ полевого транзистора обычно происходит в виде короткого замыкания — это весьма плохо, если вы полагаетесь на него в каком-то критическом месте. Но есть здесь и положительный момент, а именно то, что отказавший транзистор обнаружить довольно легко. В некоторых продуктах, таких как паяльники Pinecil, используются два последовательных полевых транзистора, обеспечивающих дополнительную защиту от подобных случаев. И оно понятно — вашим клиентам вряд ли понравится, если жало их паяльника будет нагреваться неконтролируемым образом. Тем не менее разработчики других продуктов используют по одному полевому транзистору и не заморачиваются — в целом отказы происходят редко.
К слову о Pinecil. В нём используется нетипичная управляющая схема — там присутствует NPN-транзистор, но его база управляется через конденсатор, чтобы пропускать только переменную составляющую управляющего сигнала. В результате, если основной микроконтроллер повиснет, и управляющий контакт ввода-вывода застрянет на высоком уровне, транзистор не останется активен.
▍ До скорой встречи
Хотите побольше узнать о полевых транзисторах? В сети есть уйма информации. К примеру, вот прекрасная заметка от Texas Instruments (ссылка может не работать, — прим. пер.). Здесь на Hackaday мы также рассматривали эти транзисторы в нескольких контекстах — логика КМОП, переключение высокого напряжения, поставка деталей, и общее знакомство. Вдобавок к этому выходило вводное руководство.
Естественно, об этих транзисторах можно рассказать ещё много интересного. В следующий раз мы перейдём от фрагментов схем к реальным случаям использования. Я хочу показать вам несколько крутых примеров, в которых такие транзисторы используются, возможно, менее традиционными способами; начиная со схем мягкого запуска и защиты от обратной полярности до смещения уровней, есть много задач, которые полевой транзистор может решать на вашей плате. Ах да, в продолжении я также приведу рекомендации по номерам деталей, дам советы по их выбору и поделюсь полезной информацией, которая может пригодиться вам для лучшего понимания темы.
Пол-лимона подарков от RUVDS. Отвечай на вопросы и получай призы 🍋