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

Это, во-первых, связано с тем, что допустимые токи для микроконтроллерных выводов редко превышают 20 мА, а для очень быстрых переключений MOSFET-ов (с хорошими фронтами), когда нужно очень быстро заряжать или разряжать затвор (который всегда обладает некоторой ёмкостью), нужны токи на порядок больше.

И, во-вторых, питание контроллера обычно составляет 3 или 5 Вольт, что в принципе позволяет управлять напрямую только небольшим классом полевиков (которые называют logic level — с логическим уровнем управления). А учитывая, что обычно питание контроллера и питание остальной схемы имеет общий минусовой провод, этот класс сокращается исключительно до N-канальных «logic level»-полевиков.

Одним из выходов, в данной ситуации, является использование специальных микросхем, — драйверов, которые как раз и предназначены для того, чтобы тягать через затворы полевиков большие токи. Однако и такой вариант не лишён недостатков. Во-первых, драйверы далеко не всегда есть в наличии в магазинах, а во-вторых, они достаточно дороги.

В связи с этим возникла мысль сделать простой, бюджетный драйвер на рассыпухе, который можно было бы использовать для управления как N-канальными, так и P-канальными полевиками в любых низковольтных схемах, скажем вольт до 20. Ну, благо у меня, как у настоящего радиохламера, навалом всякой электронной рухляди, поэтому после серии экспериментов родилась вот такая схема:

  1. R1=2,2 кОм, R2=100 Ом, R3=1,5 кОм, R4=47 Ом
  2. D1 — диод 1N4148 (стеклянный бочонок)
  3. T1, T2, T3 — транзисторы KST2222A (SOT-23, маркировка 1P)
  4. T4 — транзистор BC807 (SOT-23, маркировка 5C)

Ёмкость между Vcc и Out символизирует подключение P-канального полевика, ёмкость между Out и Gnd символизирует подключение N-канального полевика (ёмкости затворов этих полевиков).

Пунктиром схема разделена на два каскада (I и II). При этом первый каскад работает как усилитель мощности, а второй каскад — как усилитель тока. Подробно работа схемы описана ниже.

Итак. Если на входе In появляется высокий уровень сигнала, то транзистор T1 открывается, транзистор T2 закрывается (поскольку потенциал на его базе падает ниже потенциала на эмиттере). В итоге транзистор T3 закрывается, а транзистор T4 открывается и через него происходит перезаряд ёмкости затвора подключенного полевика. (Ток базы транзистора T4 течёт по пути ЭT4->БT4->D1->T1->R2->Gnd).

Если на входе In появляется низкий уровень сигнала, то всё происходит наоборот, — транзистор T1 закрывается, в результате чего вырастает потенциал базы транзистора T2 и он открывается. Это, в свою очередь, приводит к открытию транзистора T3 и закрытию транзистора T4. Перезаряд ёмкости затвора подключенного полевика происходит через открытый транзистор T3. (Ток базы транзистора T3 течёт по пути Vcc->T2->R4->БT3->ЭT3).

Вот в общем-то и всё описание, но некоторые моменты, наверное, требуют дополнительного пояснения.

Во-первых, для чего нужны транзистор T2 и диод D1 в первом каскаде? Тут всё очень просто. Я не зря выше написал пути протекания токов базы выходных транзисторов для разных состояний схемы. Посмотрите на них ещё раз и представьте что было бы, если бы не было транзистора T2 с обвязкой. Транзистор T4 отпирался бы в этом случае большим током (имеется ввиду ток базы транзистора), протекающим с выхода Out через открытый T1 и R2, а транзистор T3 отпирался бы маленьким током, протекающим через резистор R3. Это привело бы к сильно затянутому переднему фронту выходных импульсов.

Ну и во-вторых, наверняка многих заинтересует, зачем нужны резисторы R2 и R4. Их я воткнул для того, чтобы хоть немного ограничить пиковый ток через базы выходных транзисторов, а также окончательно подравнять передний и задний фронты импульсов.

Собранное устройство выглядит вот так:

Разводка драйвера сделана под smd-компоненты, причём таким образом, чтобы его можно было легко подключать к основной плате устройства (в вертикальном положении). То есть на основной плате у нас может быть разведён полумост, H-мост или что-то ещё, а уже в эту плату останется только вертикально воткнуть в нужных местах платы драйверов.

Разводка имеет некоторые особенности. Для радикального уменьшения размеров платы пришлось «слегка неправильно» сделать разводку транзистора T4. Его перед припаиванием на плату нужно перевернуть лицом (маркировкой) вниз и выгнуть ножки в обратную сторону (к плате).

Ниже приведены осциллограммы работы драйвера для напряжений питания 8В и 16В на частоте 200 кГц (форма входного сигнала — меандр). В качестве нагрузки — конденсатор 4,7 нФ:

Как видите, длительности фронтов практически не зависят от уровня питающего напряжения и составляют чуть больше 100 нс. По-моему, довольно неплохо для такой бюджетной конструкции.

Одно дело, когда для скоростного управления мощным полевым транзистором с тяжелым затвором есть готовый драйвер в виде специализированной микросхемы наподобие UCC37322, и совсем другое, когда такого драйвера нет, а схему управления силовым ключом необходимо реализовать здесь и сейчас.

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

Весьма стоящая, лаконичная и качественная идея с целью решения аналогичной задачи была предложена еще в 2009 году Сергеем BSVi в его блоге «Страничка эмбеддера» (смотрите — Драйвер полевых транзисторов из хлама).

Схема была успешно протестирована автором в полумосте на частотах до 300 кГц. В частности, на частоте 200 кГц, при нагрузочной емкости в 10 нФ, удалось получить фронты длительностью не более 100 нс. Давайте же рассмотрим теоретическую сторону данного решения, и попробуем подробно разобраться, как эта схема работает.

Основные токи заряда и разряда затвора при отпирании и запирании главного ключа текут через биполярные транзисторы выходного каскада драйвера. Данные транзисторы должны выдержать пиковый ток управления затвором, а их максимальное напряжение коллектор-эмиттер (по datasheet) обязано быть больше чем напряжение питания драйвера. Обычно для управления затвором полевика достаточно 12 вольт. Что касается пикового тока, то предположим, что он не превысит 3А.

Если для управления ключом необходим ток более высокий, то и транзисторы выходного каскада должны быть более мощными (разумеется, с подходящей граничной частотой передачи тока).

Для нашего примера в качестве транзисторов выходного каскада подойдет комплиментарная пара — BD139 (NPN) и BD140 (PNP). У них предельное напряжение коллектор-эмиттер составляет 80 вольт, пиковый ток коллектора 3А, граничная частота передачи тока 250 МГц (важно!), а минимальный статический коэффициент передачи тока 40.

Для повышения коэффициента усиления по току в схему выходного каскада добавлена дополнительная комплиментарная пара слаботочных транзисторов КТ315 и КТ361 с максимальным обратным напряжением 20 вольт, минимальным статическим коэффициентом передачи тока 50, и граничной частотой 250 МГц — такой же высокой, как у выходных транзисторов BD139 и BD140.

В итоге на выходе получаем две пары транзисторов, включенных по схеме Дарлингтона с общим минимальным коэффициентом передачи по току 50*40 = 2000 и с граничной частотой равной 250 МГц, то есть теоретически в пределе скорость переключения может достигать единиц наносекунд. Но поскольку здесь речь идет об относительно продолжительных процессах заряда и разряда емкости затвора, то это время будет на порядок выше.

Управляющий сигнал необходимо подавать на объединенные базы транзисторов КТ315 и КТ361. Токи открывания баз NPN (верхних) и PNP (нижних) транзисторов должны быть разделены.

Для этого в схему можно было бы установить разделительные резисторы, но гораздо более эффективным для данной конкретной схемы оказалось решение с установкой вспомогательного блока на КТ315, резисторе и диоде 1n4148.

Функция этого блока — быстро активировать базы верхних транзисторов слаботочного каскада при подаче высшего напряжения на базу данного блока, и так же быстро через диод подтянуть базы к минусу, когда на базе блока появится сигнал низшего уровня.

Чтобы иметь возможность управлять данный драйвером от слаботочного источника сигнала с выходным током порядка 10 мА, в схему установлены слаботочный полевой транзистор КП501 и высокоскоростная оптопара 6n137.

При подаче управляющего тока через цепь 2-3 оптопары, выходной биполярный транзистор внутри нее переходит в проводящее состояние, причем на выводе 6 находится открытый коллектор, к которому и присоединен резистор, подтягивающий затвор слаботочного полевого транзистора КП501 к плюсовой шине питания оптопары.

Таким образом, когда на вход оптопары подается сигнал высокого уровня, на затворе полевика КП501 будет сигнал низкого уровня, и он закроется, тем самым обеспечив возможность для протекания тока через базу верхнего по схеме КТ315 — драйвер станет заряжать затвор главного полевика.

Если же на входе оптопары сигнал низкого уровня или сигнал отсутствует, то на выходе из оптопары будет сигнал высокого уровня, затвор КП501 зарядится, его стоковая цепь замкнется, а база верхнего по схеме КТ315 подтянется к нулю.

Выходной каскад драйвера начнет разряжать затвор управляемого им ключа. Важно учесть, что в данном примере напряжение питания оптопары ограничено 5 вольтами, а главный каскад драйвера питается напряжением 12 вольт.

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

Это, во-первых, связано с тем, что допустимые токи для микроконтроллерных выводов редко превышают 20 мА, а для очень быстрых переключений MOSFET-ов (с хорошими фронтами), когда нужно очень быстро заряжать или разряжать затвор (который всегда обладает некоторой ёмкостью), нужны токи на порядок больше.

И, во-вторых, питание контроллера обычно составляет 3 или 5 Вольт, что в принципе позволяет управлять напрямую только небольшим классом полевиков (которые называют logic level — с логическим уровнем управления). А учитывая, что обычно питание контроллера и питание остальной схемы имеет общий минусовой провод, этот класс сокращается исключительно до N-канальных «logic level»-полевиков.

Одним из выходов, в данной ситуации, является использование специальных микросхем, — драйверов, которые как раз и предназначены для того, чтобы тягать через затворы полевиков большие токи. Однако и такой вариант не лишён недостатков. Во-первых, драйверы далеко не всегда есть в наличии в магазинах, а во-вторых, они достаточно дороги.

В связи с этим возникла мысль сделать простой, бюджетный драйвер на рассыпухе, который можно было бы использовать для управления как N-канальными, так и P-канальными полевиками в любых низковольтных схемах, скажем вольт до 20. Ну, благо у меня, как у настоящего радиохламера, навалом всякой электронной рухляди, поэтому после серии экспериментов родилась вот такая схема:

  1. R1=2,2 кОм, R2=100 Ом, R3=1,5 кОм, R4=47 Ом
  2. D1 — диод 1N4148 (стеклянный бочонок)
  3. T1, T2, T3 — транзисторы KST2222A (SOT-23, маркировка 1P)
  4. T4 — транзистор BC807 (SOT-23, маркировка 5C)

Ёмкость между Vcc и Out символизирует подключение P-канального полевика, ёмкость между Out и Gnd символизирует подключение N-канального полевика (ёмкости затворов этих полевиков).

Пунктиром схема разделена на два каскада (I и II). При этом первый каскад работает как усилитель мощности, а второй каскад — как усилитель тока. Подробно работа схемы описана ниже.

Итак. Если на входе In появляется высокий уровень сигнала, то транзистор T1 открывается, транзистор T2 закрывается (поскольку потенциал на его базе падает ниже потенциала на эмиттере). В итоге транзистор T3 закрывается, а транзистор T4 открывается и через него происходит перезаряд ёмкости затвора подключенного полевика. (Ток базы транзистора T4 течёт по пути ЭT4->БT4->D1->T1->R2->Gnd).

Если на входе In появляется низкий уровень сигнала, то всё происходит наоборот, — транзистор T1 закрывается, в результате чего вырастает потенциал базы транзистора T2 и он открывается. Это, в свою очередь, приводит к открытию транзистора T3 и закрытию транзистора T4. Перезаряд ёмкости затвора подключенного полевика происходит через открытый транзистор T3. (Ток базы транзистора T3 течёт по пути Vcc->T2->R4->БT3->ЭT3).

Вот в общем-то и всё описание, но некоторые моменты, наверное, требуют дополнительного пояснения.

Во-первых, для чего нужны транзистор T2 и диод D1 в первом каскаде? Тут всё очень просто. Я не зря выше написал пути протекания токов базы выходных транзисторов для разных состояний схемы. Посмотрите на них ещё раз и представьте что было бы, если бы не было транзистора T2 с обвязкой. Транзистор T4 отпирался бы в этом случае большим током (имеется ввиду ток базы транзистора), протекающим с выхода Out через открытый T1 и R2, а транзистор T3 отпирался бы маленьким током, протекающим через резистор R3. Это привело бы к сильно затянутому переднему фронту выходных импульсов.

Ну и во-вторых, наверняка многих заинтересует, зачем нужны резисторы R2 и R4. Их я воткнул для того, чтобы хоть немного ограничить пиковый ток через базы выходных транзисторов, а также окончательно подравнять передний и задний фронты импульсов.

Собранное устройство выглядит вот так:

Разводка драйвера сделана под smd-компоненты, причём таким образом, чтобы его можно было легко подключать к основной плате устройства (в вертикальном положении). То есть на основной плате у нас может быть разведён полумост, H-мост или что-то ещё, а уже в эту плату останется только вертикально воткнуть в нужных местах платы драйверов.

Разводка имеет некоторые особенности. Для радикального уменьшения размеров платы пришлось «слегка неправильно» сделать разводку транзистора T4. Его перед припаиванием на плату нужно перевернуть лицом (маркировкой) вниз и выгнуть ножки в обратную сторону (к плате).

Ниже приведены осциллограммы работы драйвера для напряжений питания 8В и 16В на частоте 200 кГц (форма входного сигнала — меандр). В качестве нагрузки — конденсатор 4,7 нФ:

Как видите, длительности фронтов практически не зависят от уровня питающего напряжения и составляют чуть больше 100 нс. По-моему, довольно неплохо для такой бюджетной конструкции.