Каковы основы этой p-канальной схемы MOSFET/драйвера?

У меня есть эта схема ниже. У меня есть схема для переключения питания 8 В с использованием MOSFET и NPN-транзистора с 3,3 В Arduino. Мощность переключаемой стороны будет около 2 А (если это как-то имеет значение).

Введите описание изображения здесь

У меня есть два вопроса.

  1. Сколько стоит R55? Как он рассчитывается и как-то связан с 2 А?

  2. Когда вывод Arduino находится в состоянии LOW, точка D измеряет 8 В. Когда вывод Arduino находится в состоянии HIGH, точка D измеряет около 0,3 В. Насколько я понимаю, точка B всегда находится на 8 В, потому что она получает напряжение от батарея в точке C. Как получилось, что транзистор «разрывает» это от точки D до B и снижает / подавляет это напряжение, поступающее из точки C?

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

Ответы (5)

Неудивительно, что есть проблемы с пониманием схемы. Он нарисован нетрадиционным способом, полевой транзистор перевернут для дополнительной путаницы.

  1. Значение R55 не указано, оно рассчитано как обычно для управления базами транзисторов. Миллиампер был бы хорошей отправной точкой. Он не имеет связи ни с какими токами 2А.

  2. Вы определили, как правильно работает точка D. Но обратите внимание, что точки D и B — это одна и та же точка, так как они соединены проводом. Транзистор BJT управляет затвором полевого транзистора, чтобы включить или выключить полевой транзистор.

Давай переставлять. R55 вообще не зависит от 2А вашей нагрузки; он предназначен для управления воротами NDP6020P. Если R55 слишком низкое, вы, возможно, сожжете 2N3904, пропуская слишком большой ток через переход BE. Если R55 слишком высокое, вы не будете потреблять достаточно тока через R2, чтобы понизить Vgs M1 настолько, чтобы включить его. Между ними у вас есть ряд опций, которые изменяют скорость переключения M1 и силу привода.

Когда выход Arduino на базу Q1 низкий, ток базы отсутствует, поэтому (по существу) ток коллектора не течет, и NODE1 получает напряжение до 8 В с помощью R2. Когда на выходе Arduino появляется высокий уровень, протекает базовый ток, что позволяет протекать току коллектора, а NODE1 падает на Ic*R2.

РЕДАКТИРОВАТЬ: включено значение R55 @mkeith.

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Спасибо ! Так что пренебрегать R55 вообще плохой идеей?
Да, вы можете думать о переходе база-эмиттер Q1 как о своего рода диоде. Если у вас нет ничего, чтобы ограничить ток через него, он, безусловно, способен пропустить достаточно, чтобы повредить себя. У @mkeith есть хорошее объяснение того, как рассчитать резистор.
Если хотите, еще один вопрос: почему резистор R2 не влияет на ток, протекающий через M1, а влияет только на Q1?
потому что M1 является полевым транзистором, который не имеет какой-либо гальванической связи между своим затвором и цепью исток-сток (за исключением тока утечки и паразитной емкости). он управляется не током, а зарядом.

2n3904 используется как коммутатор. Он контролирует напряжение в точке B. Резистор 10 кОм подтягивает точку B к высокому уровню (до 8 В), но когда 2n3904 включен, он обеспечивает путь с низким импедансом от точки B до GND. Таким образом, резистор 10 кОм тянет точку B вверх, но когда вы включаете 2n3904, он тянет точку B вниз, и тянет намного сильнее, чем резистор, поэтому выигрывает перетягивание каната.

R55 управляет величиной тока в базе 2n3904. Вы используете 2n3904 в качестве переключателя с насыщением, поэтому вы хотите, чтобы ток базы был примерно в 0,1 раза больше тока коллектора (больше тоже нормально). Ток коллектора 8 В/10 к = 800 мкА. Таким образом, базовый ток должен быть 80 мкА.

Типичное базовое напряжение в такой схеме будет около 0,6 В.

Базовый ток VDD - 0,6 В/R55. Итак, мы хотим установить его равным 80 мкА и решить для R55.

Судя по вашей схеме, VDD составляет 3,3 В. Итак:

R55 = (3,3 - 0,6)/80 мкА

R55 = 33 750 Ом.

Таким образом, вы можете использовать резистор на 33 кОм (стандартное значение 33 кОм). Если изменится VDD, или изменится резистор 10 кОм, или если коммутируемое напряжение будет не 8 В, то следует пересчитать R55.

Удивительно, спасибо! Может ли вообще пренебрежение R55 повредить 2n3904? или какие последствия?
У вас есть очень широкий диапазон допустимых значений для R55, но он должен быть там, чтобы избежать чрезмерного тока в базе или 2n3904. Возможно, что 2n3904 может быть поврежден, если R55 составляет 0 Ом или 100 Ом или что-то в этом роде. Все, что превышает 1 КБ, вероятно, защитит его. Вместо 2n3904 можно поставить маломощный мосфет. Например, BSS138, и в этом случае 0 Ом будет в порядке (R55 не понадобится).
Я забыл, откуда в ваших расчетах взялось значение 0,6 В?
Ой, извини. 0,6 В — это падение напряжения от базы к эмиттеру типичного биполярного транзистора. Он может быть немного выше или ниже в зависимости от температуры окружающей среды и силы тока, который через него проходит. Обычно люди используют 0,6 или 0,7 В для этого типа расчета.
Что касается того, что R55, возможно, опущен - это будет TTL-выход Arduino, а не база 2N3904, о которой я бы беспокоился :-) Не уверен, что выходы Arduino защищены от короткого замыкания ... или общего назначения дискретный биполярный транзистор должен выдержать пару миллиампер базового тока.
@frr о, да, это правда. Если что-то будет повреждено, в данном случае это, вероятно, будет GPIO. Я думаю, может быть, я думал больше в целом, вы не хотите подавать 3,3 В на базу NPN-транзистора, когда эмиттер заземлен.

Какова стоимость R55, как она рассчитывается и связана ли она каким-либо образом с 2А?

Это не имеет никакого отношения к 2А переключателя PMOS. Этот резистор является базовым резистором NPN BJT. Значение составляет около 4,7 кОм, оно должно пропускать достаточный ток базы, чтобы биполярный транзистор перешел в область насыщения - работа транзистора в качестве ключа. Если бы транзистор проводил без каких-либо потерь (нулевое сопротивление), ток коллектора был бы 8 В / 10 кОм = 0,8 мА. Поскольку мы знаем, что Ic=Beta*Ib, вы можете рассчитать Ib, тогда макс. значение базового резистора. Бета-минимум для 2n3904 составляет где-то 40, поэтому Ib должен быть >= 20 мкА. Rb=(3,3 В-0,65 В)/20 мкА < 133 кОм.

Когда контакт Arduino находится в состоянии LOW, точка D измеряет 8 В. Когда контакт Arduino находится в состоянии HIGH, точка D измеряет около 0,3 В.

Ну и должно быть ближе к 0,6В.

Насколько я понимаю, точка B всегда на 8 В, потому что она получает напряжение от батареи в точке C.

Нет, между B и C есть резистор 10k.

Как получается, что транзистор «разрывает» это от точки D до B и понижает/отменяет это напряжение, поступающее от точки C? Надеюсь, я правильно понял свой вопрос :)

Точки B и D совпадают.

большое спасибо !!! как вы рассчитали 0,6 В, на самом деле я думаю, что я измерил около 0,3 В, когда мой вход был 8,2 В, имеет ли это какой-то смысл?
@JordanSheinfeld Извините, я просмотрел таблицу данных и Vce (sat) действительно составляет 0,3 В.

На мой взгляд, эти обсуждения довольно продвинуты, поскольку вы спрашивали об основах, которые я понял из ваших дополнительных вопросов, которые вы еще не поняли. Это совсем не странно, учитывая, что никто здесь, похоже, не хочет просто делать это простым, поэтому я решил попробовать. НЕОБХОДИМО Имейте в виду, что это немного упрощено;

Резистор 10 кОм между B и C всегда подает ток на узел B. Несмотря ни на что. Но когда BJT включается и обеспечивает путь от B к земле, вы можете более или менее рассматривать BJT как резистор с низким значением, поскольку его сопротивление намного ниже, чем 10 кОм. Это означает, что теперь у вас есть 2 сопротивления последовательно между ваши 8 вольт и земля. (От C до B до GND).

Как вы, возможно, знаете, 2 последовательно соединенных сопротивления между источником напряжения и заземлением — это то, что мы называем резистивным делителем напряжения (ЕСЛИ вы не знаете, что это такое, вы должны погуглить, это простая концепция). Когда сопротивление ближе всего к земле намного ниже, чем ближайший к вашему источнику напряжения, напряжение между сопротивлениями (в данном случае в точке B) будет ближе к GND (0 В). И наоборот, если сопротивление ближе к источнику напряжения меньше, то напряжение между ними будет ближе к источнику напряжения (8 В). Это то, что вызывает падение напряжения на затворе МОП-транзистора, даже если ток все еще течет от C к B через резистор 10 кОм.

И, как указывали ранее другие, базу BJT всегда нужно пропускать через резистор, поскольку внутреннее сопротивление BJT от базы к эмиттеру настолько низкое, что это можно назвать коротким замыканием. Однако они не указали, что, хотя это разрушит ваш BJT, который действительно дешев, он, скорее всего, также разрушит ваш Arduino, поскольку ток короткого замыкания через BJT поступает непосредственно от вашего Arduino и намного выше, чем 20 или около того миллиампер, которые может обеспечить вывод Arduino.

Большое спасибо! Действительно, вы указали действительно хорошее объяснение того, что я ценю! Теперь еще понятнее.