понедельник, 16 апреля 2018 г.

Как выбрать MOSFET

Не так давно мне нужно было подключить нагрузку к Arduino nano и я столкнулся проблемой силовых ключей. У меня было несколько IRF640N, по мощности они подходили, но я сомневался можно ли их открыть 5-тью вольтами.
В даташите на этот MOSFET сказано, что максимальное напряжение для начала(!) открытия составляет 4 вольта.


Я на скорую руку собрал схемку для проверки сей надписи.
Вот так все в железе - через IRF640N я запитал светодиод.



Всё заработало, чего я в принципе и ожидал. НО! Запитан светодиод, которому много тока не нужно. А как будет вести себя мосфит, если через него попробовать прокачать несколько ампер?. Давайте же разберемся с MOSFET транзисторами и посмотрим какие из них будут работать при управлении Arduino, а какие - нет.

Как выбрать MOSFET, руководствуясь даташитом.


На данный момент самые популярные и недорогие MOSFET-транзисторы - N-канальные. Поэтому речь пойдет именно о них.
Итак, при подборе MOSFET-транзистора следует учитывать несколько параметров. Я думаю, что максимальный ток и максимальное напряжение, с которым они могут работать, учитывают все. А вот некоторые нюансы в плане напряжений открытия а так же максимальной рабочей частоты (или эффективной рабочей частоты) - учитываются не всеми. Тем не менее я расскажу и про максимальные токи с напряжениями. С них и начнем.

Максимальный ток и максимальное напряжение MOSFET


В даташите они указаны на самом видном месте. Для примера можем взять тот же IRF640N. Идем в гугл, вбиваем IRF640N datasheet, качаем, открываем и смотрим.
Ищем табличку с надписью "Absolute Maximum Ratings", в ней есть фактически все необходимые нам данные.


Из этой таблички мы видим, что максимальный непрерывный ток при температуре в 25 градусов составляет 18 Ампер, при температуре 100 градусов - на пять ампер меньше, тоесть 13 A (параметр Continuous Drain Current). Отсюда мы можем так же узнать мощность рассеивания, это параметр Power Dissipation.
Теперь посмотрим максимальное напряжение, это уже будет таблица Electrical Characteristics, в ней есть параметр Drain-to-Source Breakdown Voltage, он составляет 200 вольт. Но обратите внимание на то, что это напряжение пробоя, так что не стоит надеяться что мосфит будет работать при таком напряжении, всегда нужно оставлять хотя бы треть величины про запас (на случай непредвиденного скачка напряжения в схеме, например, или чтоб ничего не сгорело через час-другой, работая на пределе).


Итак, основные максимальные параметры мы рассмотрели, давайте теперь перейдем к напряжению управления мосфитом.

Что такое Gate Threshold Voltage или можно ли открыть MOSFET логическим уровнем


Когда я включал светодиод через мосфит, я этот самый мосфит открыл логической единицей с Arduino nano, тоесть напряжением в 5 вольт. Тем не мене, открыл я его не полностью. Тоесть ток, который пошел через открытый логической единицей MOSFET составляет всего 22 мА, так как чтоб светодиод не сгорел, я ограничил ток резистором на 220 Ом. Если я попытаюсь запитать через этот транзистор нагрузку в несколько ампер, то тогда станет ясно, что он открыт не полностью. В даташите в таблице Absolute Maximum Ratings у параметра Continuous Drain Current стоит примечание V(gs)=10. Это значит, что максимальный ток будет при напряжении между Gate и Source 10 вольт, это напряжение его полного открытия.


Есть и еще один параметр: Static Drain-to-Source On-Resistance - это сопротивление полностью открытого MOSFET транзистора. У IRF640N сопротивление 0.15 Ом, тоесть меньше одного Ома. Но в условиях сказано, что для того, чтоб сопротивление было таким, нужно чтобы напряжение между Gate и Source составляло 10 вольт.


Таким образом мы из даташита узнали, что данный мосфит не может управляться логическим уровнем в 5 вольт при высоких нагрузках. Для полноценной работы ему необходимо подать на затвор 10 вольт. Где их взять? Существуют специальные драйвера для управления мосфитами, которые в таких случаях и применяются. Но что делать, если не хочется ставить драйвер? Или нет возможности, например нет времени ждать.

Есть специальные MOSFET транзисторы, которые управляются логическим уровнем. Давайте рассмотрим несколько таких мосфитов.
Первым будет IRL510. Выбор на него пал по причине наличия сего мосфита в моих закромах, плюс к тому же я с ним уже работал.
Идем в гугл, вбиваем туда IRL510 datasheet, открываем на сей мосфит даташит и смотрим. Первое различие с 640-вым - это Gate-Source Threshold Voltage, который ровно в два раза ниже. Но основной параметр не этот, нужно обратить внимание на сопротивление транзистора (Drain-Source On-State Resistance), а точнее на условие, при котором сопротивление по даташиту низкое и соответствует полностью открытому мосфиту.


Более того, отсюда мы видим, что irl510 может управляться 4-мя вольтами.
Для более глубокого понимания можно рассмотреть irlz44n и irfz44n. Первый управляется логическим уровнем, второй же - нет.
Глянем характеристики IRLZ44N из datasheet на него.


Как видим сопротивление указано и для 4 вольт и для 10-ти. Gate Threshold Voltage максимум 2 вольта. Отсюда делаем вывод, что данный полевой транзистор откроется при логической единице в 5 V.
В случае с irfz44n мы видим сопротивление только для 10-ти вольт, да и напряжение открытия у него от 2 до 4 вольт.


Отсюда вывод, что этот мосфит не сможет полностью открыться при 5-ти вольтах. Тем не менее, он откроется. Что будет, если заставить мосфит работать в полуоткрытом состоянии, я расскажу позже, а сейчас поговорим о том, что делать, если нам надо управлять MOSFET транзистором не 5-тью вольтами, а 3.3 V, подключая к STM32, например.
Первый вариант - это подбор полевого транзистора, способного работать с управляющими 3.3 V.

Давайте посмотрим как читать графики из даташитов на MOSFET-транзисторы. Берем, к примеру, IRL510. Нас интересует график Typical Transfer Characteristics, в нем приведены два параметра: Drain Current - это амперы, которые пройдут через транзистор; и Gate-to-Source Voltage - это напряжение на затворе.
Проводим через график две черты, первую вертикальную в месте примерно 3.3 вольт, вторую горизонтальную в месте пересечения первой линии с линией графика - это будут амперы, которые мы получим, открыв транзистор напряжением 3.3v


Мы видим, что получается больше 10-ти ампер, таким образом делаем вывод, что вполне возможно запитать через этот полевой транзистор нагрузку до 10-ти ампер (помним про необходимость запаса).
Теперь возьмем еще один MOSFET с управлением логическим уровнем - IRLZ44N.


Тут примерно та же картина, что и у предыдущего мосфита.
Теперь глянем два графика, один на IRF640N, второй на IRFZ44N.


Как видим, у обоих графики начинаются с 4.5 вольт, а не с 2V, как у предыдущих. Так же при 5-ти вольтах у IRF640N будет ток около одного Ампера, а учитывая, что Arduino может питаться по USB с прибора, который выдаст всего 4.5V - ток не составит и одного Ампера.

У IRFZ44N график чуть получше, при 5V он спокойно даст больше 10-ти Ампер.
Что будет если через полуоткрытый MOSFET потечет большой ток? MOSFET будет очень сильно греться, грубо говоря он станет работать как резистор, ибо его сопротивление будет высоко. Проще говоря, из ключа он превратиться в резистор. Это стоит учитывать при проектировании, стараясь подбирать полевые транзисторы таким образом, чтоб они открывались полностью. Либо запитывая через не полностью открытый полевик такой потребитель тока, который не будет брать на себя тока больше, чем половина из того, который может течь через наполовину открытый MOSFET. Это всё только в том случае, если нет возможности построить схему открытия MOSFET транзистора так, чтоб он открылся полностью. Например, как сделал я.


Это та схема, которой я запитал светодиод через IRF640N в самом начале статьи. По этой схеме можно подключать только те мосфиты, которые управляются логическим уровнем.
Как по названию MOSFET определить логическим он уровнем управляется или нет? Очень просто, я думаю вы уже заметили, что у тех, которые управляются логическим уровнем, в названии присутствует буква L.

Теперь посмотрим как правильно подключить MOSFET через биполярный транзистор. Для примера я взял всё тот же IRF640N, подключив его через MJE13005. С MJE13005 это конечно перебор, но я взял тот, что под руку попался. Вместо него можно использовать фактически любой маломощный NPN транзистор.


Правильная схема подключения полевого транзистора через биполярный должна предусматривать еще и защиту микроконтроллера на случай пробоя биполярного транзистора. Можно и пренебречь защитой, удешевив конструкцию, но я предпочитаю перестраховаться. По этой схеме MOSFET можно подключать как к Arduino, так и к STM32, либо любому микроконтроллеру AVR. Да и с PIC тоже работать будет. Вместо светодиода с резистором можно подключать любую нагрузку, какую вам захочется - мотор, например.

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