Мы работаем над этим проектом для школы, где «важно сократить количество компонентов».
Нам нужно использовать небольшой коллекторный двигатель постоянного тока , поэтому мы подумали об использовании простой конфигурации привода нижнего плеча с N-канальным полевым МОП-транзистором, как здесь: IRLHS6242PBF .
Как узнать, достаточно ли «мощности» GPIO микроконтроллера для управления этим полевым МОП-транзистором? Вот ссылка на микроконтроллер, который мы думаем использовать.
Я посмотрел на заряд затвора MOSFET в таблице данных, время нарастания нашего ШИМ-сигнала и максимальный ток GPIO 25 мА, и, исходя из моих расчетов, похоже, что контроллер должен без проблем управлять затвором MOSFET до тех пор, пока насколько это позволяет требуемое время нарастания ШИМ. Я действительно ошибаюсь? Как бы вы его рассчитали?
РЕДАКТИРОВАТЬ: Мы стремимся к частоте переключения 1 кГц, я думаю, не намного больше.
Ответ да, и нет. Я имею в виду, что это зависит от того, что вам нужно делать с нагрузкой.
Для простого и относительно медленного включения/выключения можно обойтись при условии, что…
Ваш микроконтроллер имеет достаточный уровень выходного сигнала : большинство полевых транзисторов логического уровня характеризуются напряжением Vgs 4,5 В; обычно на обложке вы видите, что производитель хвастается своими Rd на 10 В (стандартный уровень) и 4,5 В (логический уровень)
Ваш MOSFET представляет собой так называемый суперлогический уровень, в данном случае он характеризуется напряжением 2,5 В; есть даже МОП-транзисторы с уровнем затвора 1,8 В (обычно для маломощных сред).
Обратите внимание, что вы вставили абсолютные значения для портов GPIO: для этой цели они не так интересны, как типичные значения. В таблице данных 17 есть ответы.
Убедитесь, что ваша максимальная громкость ниже порога гейта (во избежание ошибочных запусков!). У вас 0,4 макс на MCU и 0,5 мин на MOSFET, так что все в порядке. Также помните о раскрывающемся затворе, чтобы гарантировать, что MOSFET остается выключенным, когда порт находится в состоянии Tristate (обычно во время сброса).
Для состояния ON вам необходимо проверить VOH. Ваша цель - не менее 2,5 В (выходная кривая в таблице данных MOSFET говорит всю историю). Таким образом, вам нужно как минимум 3 В питания на MCU.
Обратите внимание на столбец условия в таблице: указанные значения указаны для 8 мА. Выходные ячейки CMOS несколько нелинейны (т.е. они не имеют точного выходного импеданса). Смысл в том, что вы попросите больше тока порт не достигнет заявленной производительности.
Для тока проблема немного сложнее: как вы, наверное, знаете, клемма затвора по существу является конденсатором (конечно, другая клемма является истоком). Включение/выключение MOSFET просто заряжает/разряжает этот конденсатор (почти: это составной конденсатор с разными фазами зарядки).
В первом приближении нужно смотреть на Ciss (входная емкость MOSFET). В данном случае это около 1,1 нФ. Еще один полезный параметр — общий заряд затвора Qg (он говорит, сколько вам нужно, чтобы зарядить затвор)
Итак, резюмируя:
Конечно, для ограничения тока GPIO вы используете резистор. Помните, что пустой конденсатор - это почти короткое замыкание, поэтому вам нужно ограничить весь выход 2,5-2,8 В до 8 мА. Закон Ома помогает.
Это все, что вам нужно для простого, медленного переключателя MOSFET (разумеется, не забудьте включить индуктивное размагничивание двигателя на выбеге). В этой ситуации MOSFET (существенно) полностью улучшен и рассеивается как резистор Rdson.
Теперь для PWM у вас есть две основные проблемы:
Только с 8 мА операция переключения медленная. Действительно. Теоретически для определения времени переключения можно использовать экспоненциальное поведение RC-цепи. На практике в наши дни вы обычно используете симулятор (часто основанный на SPICE), чтобы узнать, сколько времени это займет; это ограничивает частоту, которую вы можете использовать для ШИМ (помните, что вам также нужно разрядить затвор для выключения MOSFET, поэтому минимальный период в два раза больше времени!)
Во время коммутации рабочая точка перемещается по линейной области, поэтому значение Rdson больше не действует. В этой области значение Vds велико, и могут возникнуть проблемы с рассеиванием мощности (они называются потерями при переключении). Конечно, чем больше времени требуется, тем больше джоулей тратится на тепло.
Потери зависят от тока, необходимого для вашего двигателя, но могут быть оценены. Вы ничего не можете сделать для статических (Rdson) потерь. Коммутационные потери можно уменьшить, заряжая затвор быстрее , т. е. большим током. Тогда вам нужен драйвер ворот, и есть еще вопросы. Вы можете использовать драйверы затворов даже на логическом уровне (если драйвер работает на таком низком напряжении).
Хорошим вводным приложением является SLUP169 Fundamentals of MOSFET and IGBT Gate Driver Circuits от TI.
Самый простой способ получить здесь некоторые цифры — смоделировать транзистор. За исключением этого, есть некоторые предварительные расчеты, которые вы можете получить, чтобы понять, что происходит. Обратите внимание, что я использовал значения из выдержек из таблицы данных, а не из фактической связанной таблицы данных (они разные).
Аппроксимируйте заряд затвора полевого МОП-транзистора (Qg) как идеальный конденсатор. Обратите внимание, что этот заряд затвора зависит от VDS и IDS, а в таблице данных указано произвольное значение. Также обратите внимание, что емкость затвора нелинейна, поэтому на самом деле это приближение, а не решение.
Предположим, резистор включен последовательно, чтобы ограничить ток до предела GPIO:
Аппроксимируйте время нарастания/спада как постоянную времени RC. Поведение переключения не очень хорошо моделируется этим предположением, это просто для получения грубой оценки порядка величины. Использование постоянных времени 2.2 дает переход примерно на 10–90 %, что несколько пессимистично. Это также предполагает, что мощность привода GPIO одинакова при всех выходных напряжениях.
Так что это не супер быстро, но это не страшно. Фактическое время переключения выхода, вероятно, будет меньше. Я бы, вероятно, изучил его для более низких частот ШИМ.
Выходы GPIO хорошо аппроксимируются источниками тока, управляющими током, несколько меньшим, чем ток короткого замыкания, который вывод GPIO может подать на любую шину. Обычно драйверы GPIO имеют одинаковые возможности источника и приемника тока. Затвор хорошо аппроксимируется конденсатором, подключенным к истоку. Будет легко определить скорость нарастания и, следовательно, напряжение затвора (нарастание), а также момент, когда MOSFET начнет проводить, и когда он будет полностью включен.
Как правило, одиночные выходы MCU не обладают достаточной пропускной способностью по току, чтобы достаточно быстро включать и выключать полевые транзисторы с низким сопротивлением, чтобы минимизировать потери при переключении. Если вы можете позволить себе иметь гораздо больше доступных контактов GPIO, чем номинально необходимо, это достойная стратегия параллельного подключения нескольких контактов для увеличения эффективного тока. Это требует добавления контактов питания к MCU. Это делается путем подключения «фиктивных» выходов GPIO к GND и VCC и перевода их в логическое состояние 0/1 соответственно. Эти выходы обеспечивают дополнительные параллельные пути питания для соседних драйверов, которые управляют затвором MOSFET. Параллельные контакты пути питания будут чередоваться с выходными контактами, которые управляют затвором, чтобы снизить токи кольца питания ввода-вывода.
Этот трюк можно использовать для обеспечения гораздо более высоких комбинированных токов GPIO, чем это было бы достижимо в противном случае, без чрезмерной нагрузки на микросхему, даже если превышен абсолютный максимальный общий ток на выводах.
Это осуществимо только в том случае, если особое внимание будет уделено характеристике такой работы и гарантии того, что кольцо питания ввода-вывода не будет повреждено такими токами. Такие махинации имеют смысл в крупносерийных недорогих продуктах, где перекладывание как можно большей ответственности на микроконтроллер экономит затраты, несмотря на более высокие затраты на НИОКР. Если у вас есть какие-либо сомнения, для продукции небольшого объема просто используйте драйвер затвора. Это будет намного дешевле.
Посмотрите на рисунок 1 в таблице данных для MOSFET. На этом рисунке указано типичное значение для заданного значения и . Используйте только ту кривую, которая соответствует для вашего процессора.
Убедитесь, что МОП-транзистор может обеспечить достаточный ток для вашей нагрузки, сохраняя при этом достаточно низкий .
Если вы хотите оценить, насколько быстро микроконтроллер может переключать затвор MOSFET, используйте типичную общую емкость затвора для MOSFET и минимальную и для вашего микроконтроллера. Учитывая средний ток и емкость, вы можете рассчитать расчетную . Если вы знаете, насколько вы хотите изменить напряжение на затворе MOSFET ( , обычно равно напряжению питания микроконтроллера), то можно рассчитать ориентировочное .
Параметры, которые вы включили, и — абсолютные максимальные оценки устройства и упаковки; эти параметры здесь неуместны.
Взяв очень грубую оценку из таблицы данных, время включения в худшем случае (самое быстрое) составляет около 20 нс, а требуемый заряд затвора составляет 0,22 нКл. Таким образом, Ig составляет около 10 мА, что меньше вашего источника тока uController.
Вот простой пример с двигателем мощностью 100 Вт 12 В с использованием модели Falstad по умолчанию.
Обратите внимание, что графики показывают, что мощность, генерируемая источником напряжения, отрицательна около 95 Вт в установившемся режиме, а также для ДИОДА и полевого транзистора (~ 20 МОм).
Ps=95Вт, Pfet=1,5Вт, Pдиод=7,3Вт
Могу ли я управлять низковольтным затвором MOSFET напрямую с микроконтроллера?
Да... но при разработке драйвера двигателя возникает гораздо больше вопросов по дизайну.
Как узнать, достаточно ли «мощности» GPIO микроконтроллера для управления этим полевым МОП-транзистором?
GPIO не обеспечивает питание двигателя, но его выходы имеют низкое сопротивление. обычно составляет < 50 Ом при 25°C в зависимости от Vdd. (номинальный ток GPIO предназначен для логических уровней @Vol и Voh, которые здесь менее важны, поэтому используйте вычисляемый RdsOn )
Не используйте абсолютный максимальный ток для разработки своих драйверов, вы не должны приближаться к этим ограничениям. -Вместо этого вычислите ток и убедитесь, что он работает НИЖЕ ПРЕДЕЛОВ АБС.
Вычислить Rout следующим образом
Полевые транзисторы используют напряжение заряда емкости затвора (см. Ciss ), а порог затвора Vgs (th) (он же Vt) предназначен для высокого сопротивления. Для достижения низкого уровня RdsOn требуется около Vgs>=2 * Vgs(th), и рейтинг RdsOn близок к этому.
Время подъема ворот можно оценить по Ro * Ciss. Скорость нарастания выходного сигнала зависит от реактивного сопротивления нагрузки RdsOn и Coss. ref Я предлагаю вам получить полумост FET или полный мост (для двунаправленного) драйвера силового двигателя IC, пока вы не ознакомитесь со всеми параметрами конструкции.
https://www.pcbway.com/blog/technology/Powerful_H_Bridge_DC_Motor_Driver.html
Компоновка имеет решающее значение для хорошей производительности с заземлением для низкой индуктивности и хорошей развязки.
Обычно двухтактный драйвер, также известный как Half-Bridge, лучше, так как один переключатель PWM с диодным зажимом действует как двухтактный (Nch pull + диодный переключатель на Vdd от обратной ЭДС). Однако они склонны к сквозному отказу, если вы не проектируете с быстрым выключением, медленным включением, чтобы создать определенное «мертвое время или разрыв перед переключением рельсов». Это нормальная конструкция.
Дайте мне отзыв о моделировании.
ДКНгуйен
Лундин
Спехро Пефхани
мкейт
технофил
Лоренцо Маркантонио
Лундин
Лундин
Мачта