Привод двигателя постоянного тока с помощью H-моста (H-мост отключается слишком медленно и проблема с текущим монитором)

У меня есть два вопроса о моей схеме, управляющей двигателем постоянного тока с мостом H. На картинке ниже показан мой дизайн и то, как я управляю им с помощью сигналов.введите описание изображения здесь

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

Например, когда я заставляю двигатель вращаться вперед, я даю ШИМ-сигнал «S1», а «S4» всегда 1. Затем я обнаруживаю проблему, когда сигнал «T1» показывает, как на картинке вверху, что означает, что H-мост выключается. два медленных! ( Что вызовет проблемы, когда я хочу, чтобы двигатель двигался медленно ). Я изменил значения R1 и R2, чтобы U1B и U2B выключились как можно быстрее, но для сигнала «T1» это не сильно изменилось. Затем я анализирую индукционную электродвижущую силу. Может быть, как на картинке ниже,введите описание изображения здесь

Итак, не могли бы вы дать мне несколько советов по улучшению сигнала «T1», чтобы H-мост быстро выключался.

Кроме того, у меня есть еще одна проблема с текущим монитором, и я нарисовал аналогичный сигнал «T2» на рисунке 2 (иногда он имеет положительное напряжение, иногда отрицательное напряжение, как прерывистая синусоида). Какой-нибудь совет по улучшению моей текущей схемы монитора? (Я добавляю компаратор после «T2», но я хочу улучшить сигнал «T2»). Спасибо за ваше предложение!

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

Ответы (2)

Чтобы переключить силовой МОП-транзистор, вы должны пропустить значительный заряд через затвор и исток. В таблице данных будет указано что-то вроде «общий заряд ворот». Чтобы переместить весь этот заряд за короткое время, вам нужен большой ток. А в вашей схеме большой ток быть не может, так как ток через затвор в конечном счете ограничивается резисторами R1 и R3.

Другими словами, проблема в том, что в вашей конструкции U1B не отключается полностью до тех пор, пока не пройдет некоторое время после того, как S1 станет низким. И когда он выключается, это происходит медленно, поэтому вы видите, что напряжение на T1 медленно снижается. См . Что такое возможности управления затвором MOSFET и почему меня это волнует?

Чтобы уменьшить эту проблему, вам необходимо увеличить ток, который ваш драйвер затвора может получать и потреблять. Упрощенное решение — добавить пару эмиттерных повторителей , например:

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

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

Вы можете стать более изобретательным с дискретным подходом, подобным следующему. В дополнение к эмиттерным повторителям для увеличения тока, он использует ограничитель (D13, D23) для уменьшения задержки хранения биполярных транзисторов Q11 и Q21. Вы можете прочитать больше об этом в другом ответе .

полумост

Или вы можете просто купить встроенный драйвер затвора MOSFET и на этом закончить.

Спасибо за ваше предложение, двухтактный драйвер для полевого МОП-транзистора является лучшим решением, но теперь я склонен обновлять свою схему и менять общую конструкцию в следующий раз. Теперь моя проблема заключается в том, что после выключения U1B напряжение в начале точки «T1» падает с Vcc до нуля, это стоит долго (пожалуйста, обратитесь к картинке в моем вопросе), как я могу уменьшить это время ? Спасибо!
@Francisco Предлагаемые здесь предложения являются решением именно этой проблемы. Чтобы напряжение на T1 изменялось быстрее, вам нужно быстрее включать и выключать U1B, а для этого вам нужен лучший драйвер затвора.
Что ж, ваш ответ мне очень помог, но я запутался. Я имею в виду, что когда я запускаю ШИМ с частотой 10 кГц, время выключения U1B, которое я тестирую, в действительности составляет около 2 мкс, что я могу принять. Но после выключения U1B напряжение «T1» падает с Vcc до нуля, это время слишком велико для меня (пожалуйста, обратитесь к рисунку 2 в моем вопросе), из-за чего двигатель все еще вращается.
@Francisco Как вы определяете, что U1B отключается в 2us? Вы уверены, что это именно то, что происходит на самом деле?
Я измеряю как напряжение на контакте 4 U1B, так и напряжение на «T1». Напряжение на контакте 4 U1B изменяется примерно от нуля до Vcc примерно за 2 мкс. После выключения U1B напряжение «T1» начинает падать примерно с Vcc до нуля, но это стоило долго.
Я добавил еще одно изображение (последнее изображение) в свой вопрос. То есть, когда S1 переходит от 1 к 0, после того, как несколько us (например, 2us) U1B выключается, затем напряжение «T1» начинает снижаться, но это занимает много времени.
@ Франциско Я вижу. Я все еще думаю, что правильно понял ваш вопрос, и решение, которое я здесь представляю, является правильным. Я немного расширил объяснение в абзацах. Есть ли смысл сейчас?
Спасибо за ваше терпение, я настрою свою схему и перепроверю ее. Ваш ответ заставляет меня многому научиться, спасибо!

Если вы хотите, чтобы полевые транзисторы с высокой стороны отключались быстрее, используйте в качестве подтягивающего резистора что-то лучше, чем резистор 2K. Используйте даже 200 Ом. Емкость затвора, умноженная на ваш подтягивающий резистор, дает вам постоянную времени, при которой затвор заряжается или разряжается. Умножьте это на 3, чтобы получить приблизительное время полной зарядки конденсатора, выхода из состояния «ВКЛ» и выключения полевого транзистора.

Я просмотрел техническое описание FDS8958 (которое было трудно прочитать по номерам деталей, которые вы использовали на крошечном схематическом изображении ...), и типичная емкость затвора находится в диапазоне от 300 до 700 пФ для N- или P-затворов. Возьмем наихудший случай 700 пФ, постоянная времени:

700 пФ * 2 кОм = 1,4 микросекунды.

Время полного разряда/заряда примерно в 3 раза больше, что делает продолжительность выключения около 4,2 мкс. В техническом описании утверждается, что они могут отключаться за десятки наносекунд при следующих условиях для PFET Q2:

VDD = -10 В, ID = -1 А, VGS = -10 В, RGEN = 6 Ом

Итак, дело в том, что вы заставляете свой полевой транзистор высокой стороны выключаться примерно в 200 раз медленнее, чем его наилучшая производительность. Это быстродействующий полевой транзистор, но с недостаточным сопротивлением.

Если вы переключите это на 100 кГц (не уверен, почему вы это сделаете, переключение мощности должно быть чуть выше диапазона человеческого слуха, максимум 22 + кГц, и ниже, если вы можете уменьшить потери при переключении), то при рабочем цикле 50% каждый высокий и низкий уровень длится всего 5 микросекунд. Цикл выключения 4,2 микросекунды означает, что ваш наклон выключения потребляет 85% цикла выключения, что ужасно - ваш полевой транзистор почти никогда не выключится должным образом. Это может вызвать перекрестную проводимость и разрушить ваш Н-мост.

Таким образом, ваш highside FET совсем не выключается очень быстро. У вас отличная сила заземления, поэтому он включается красиво и быстро, но подтягивание резистора 2K снижает его производительность и вызывает аномалии, которые вы видите. Исправление заключается либо в том, чтобы установить гораздо меньший (200 Ом было бы неплохо) подтягивающий резистор, либо даже использовать активные схемы привода, подобные тем, которые используются во встроенных ИС драйверов затвора FET. Это могут быть просто схемы двухтактного драйвера с тотемным полюсом, половина которых у вас уже настроена для заземления затвора PFET, поэтому просто добавьте BJT для привода затвора верхней стороны. Однако самым простым решением является подтягивающий резистор затвора. Удачи!

РЕДАКТИРОВАТЬ:

Что касается текущего монитора для сигнала в узле T2, есть ли у вас здесь двунаправленный ток? Помните, что поскольку ток течет в противоположном направлении при изменении полярности двигателя, стандартный несимметричный АЦП/монитор токового шунта может не справиться с этим должным образом. Вы можете попробовать операционный усилитель с полным входом/выходом с двойным питанием и с выходом, дающим смещение постоянного тока VCC/2, чтобы дать вам двунаправленное измерение тока.

Спасибо за ваше предложение, время выключения U1B в реальности составляет около 2 мкс, что может быть приемлемым для меня сейчас. Но после выключения U1B напряжение в начале точки «T1» падает с Vcc до нуля, это стоит долго (пожалуйста, обратитесь к картинке в моем вопросе), как я могу уменьшить это время? Спасибо!
@Francisco, измерение на T1 - это не то, о чем вам следует беспокоиться - это напряжение, накопленное в индуктивности / обмотках двигателя. Двигатель действует как интегратор с импульсными напряжениями (как вы делаете) и будет накапливать напряжение, пока импульс высокий, и затухать / терять напряжение, пока импульс низкий. Я думаю, что ваш FET U1A с низкой стороной отключается недостаточно быстро в сочетании с FET U1B с высокой стороны. В любом случае, не используйте контакт двигателя в качестве измерения - это индуктор, который ведет себя как индуктор с импульсным напряжением. Он сохраняет магнитный заряд, даже когда U1B выключен.
Да, полевой транзистор U1A с низкой стороны отключается недостаточно быстро, потому что я добавил конденсатор (C2 и C3, 2,2 нФ), но в моей конструкции, когда я заставляю двигатель вращаться в одном направлении, я позволяю низкой стороне ( U1A) всегда включайте и позволяйте высокой стороне (U1B) управлять ШИМ. Кроме того, конструкция C2 и C3 позволяет избежать импульса напряжения от Cgd полевого транзистора низкой стороны.
У меня есть вопрос, который, как вы говорите, «двигатель действует как интегратор с импульсными напряжениями (как вы делаете) и будет накапливать напряжение, пока импульс высокий, и затухать / терять напряжение, пока импульс низкий». Когда импульс низкий, двигатель затухает/теряет напряжение, в это время двигатель все еще вращается?
@Francisco да, двигателю требуется время, чтобы замедлиться (механическая инерция) и разрядить магнитную энергию (в обмотках). Поскольку двигатель действует как индуктор, вы не можете мгновенно изменить его напряжение и/или ток, а время, необходимое для этого, зависит от двигателя.