Защита от скачков обратного напряжения на стороне высокого напряжения (обмоточного) реле без обратноходового диода

У меня есть микроконтроллер, взаимодействующий с нормально разомкнутым автомобильным реле на стороне высокого напряжения через P-MOSFET. Когда микроконтроллер закрывает исток и сток P-MOSFET (путем отправки НИЗКОГО сигнала на затвор, в результате чего Vgs <0), автоматическое реле получает питание и замыкает отдельную цепь высокого усилителя (не имеет отношения к этому вопросу).

Автомобильное реле не имеет обратноходового диода, а это означает, что мне приходится иметь дело с всплеском обратного напряжения между реле и P-MOSFET.

Следуя этому руководству , я получил эту рабочую схему:

схема

Примечания

  • Микроконтроллер питается от автомобильного аккумулятора через понижающий преобразователь.
  • Оба заземления в цепи идентичны (шасси автомобиля)
  • Я не могу изменить свой интерфейс с помощью реле или чего-либо вокруг него; У меня есть доступ только к проводу, идущему к контакту + катушки (обозначенному выше как «Нагрузка»), так что это единственное место, где я могу справиться с всплеском обратного напряжения.

Что было бы лучшим способом предотвратить всплеск на выводе D MOSFET при размыкании реле?

PS: я очень новичок в такого рода проектах, поэтому, если вы обнаружите что-то, что явно не работает с приведенной выше настройкой, пожалуйста, сообщите! Для первого прототипа у меня было реле вместо MOSFET, и это работало нормально, но я хочу а) уменьшить размер схемы, используя транзисторы, и б) узнать больше об электронике, опробовав различные компоненты.


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

Однозначно отметьте на своей диаграмме (скажем) красным крестиком или кружками, к каким узлам у вас есть доступ. Из ваших слов непонятно.
Почему выход 3,3 В замыкается на 12 В? Изолирует ли преобразователь, и вы собираетесь использовать 3,3 В в качестве источника FET, чтобы вы могли управлять VGS до -3,3 В? Кроме того, полевой транзистор практически не включается при напряжении затвора 3,3 В, вам нужно больше.
@Justme Признаюсь, я не знаю, почему и как этот бит работает, но он работает. Я отредактировал сообщение, добавив ссылку на руководство, которому я следовал. Ворота включаются нормально, Vgs(th) полевого транзистора составляет -3 В (минимум-максимум -2 и -4В).
@biasedbit Пожалуйста, покажите, какой именно преобразователь 12 В в 5 В вы использовали. Обычный понижающий преобразователь LM2596 не будет изолирован, и схема сгорит. Пожалуйста, также покажите, как вы их соединили в реальной жизни, возможно, схема не соответствует тому, что вы построили.
@Justme Я использовал один из этих amazon.com/Zixtec-LM2596-Converter-Module-1-25V-30V/dp/…
@biasedbit Эта штука не изолирует, входные и выходные земли соединены вместе на плате регулятора. Я не знаю, как вы подключили эту штуку в реальной жизни, но если подключить ее так, как нарисовано на схеме, она подаст 12 В от автомобильного аккумулятора на 3,3 В, разрушив микроконтроллер.
@justme понял. Я еще не прицепил его к машине. Я использовал регулируемый источник питания для эмуляции источника питания 12 В, и прямо сейчас я питаю микроконтроллер через USB (для программирования и тестирования) — та же схема, за исключением регулируемого шага вниз.
@biasedbit Что ж, хорошо, что ваш регулируемый источник питания является плавающим. Это также единственная причина, по которой ваш компьютер все еще работает, поскольку он, вероятно, повредил бы регулятор, и 12 В могли в конечном итоге пройти через USB к источнику питания 5 В вашего компьютера. Возможно, это было не очень хорошее видео на Youtube, чтобы следить за ним. Я надеюсь, вы упомянули об этом ранее, как вы на самом деле питаете схему, так как несколько человек теперь указали на ту же ошибку в схеме, которую вы даже не используете.
@Justme Welp, хорошо, что я спросила 🙃 Похоже, ответ Спехро - правильный путь. Я попробую. Если у вас есть лучшие идеи, я хотел бы узнать о них! (Не нужно вдаваться в подробности, просто ссылки или названия компонентов были бы отличным подспорьем!) Спасибо!
Почему вы не можете переключить его на низкую сторону?

Ответы (2)

В примечаниях по применению, на которые вы ссылались, я обнаружил, что единственное, что может касаться защиты стока, — это фиксирующие диоды между затвором и стоком. Однако на самом деле они предназначены для смягчения больших скачков напряжения, которые в противном случае могут привести к нарушению изоляции затвора. На самом деле, я бы предположил, что эти зажимы даже подвергают все, что управляет затвором, воздействию экстремальных напряжений стока, генерируемых катушкой реле. В вашем случае это хилый, хрупкий микроконтроллер. Я не считаю эти устройства хорошим выбором для вашего приложения.

Вам все еще нужно как-то погасить эти скачки напряжения на катушке.

Ваш модуль явно имеет доступ к аккумулятору +12В, заземлению (шасси, аккумулятор 0В) и верхнему концу катушки реле. Я не понимаю, почему вы не можете установить диод (внутри вашего собственного модуля) между землей и соединением катушки реле. Он по-прежнему будет эффективно находиться на катушке реле, даже если физически он может быть расположен далеко от фактического реле. Может быть даже аргумент в пользу установки диода рядом с вещами, которые он пытается защитить:

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

Каким бы ни было это «3Vout» на микроконтроллере, вы уверены, что хотите, чтобы он был подключен к +12V? Кажется глупым подключать что-либо в микроконтроллере к чему-то большему, чем его собственное питание, хотя я могу что-то упустить.

Наконец, выход микроконтроллера должен быть с открытым стоком или с высоким импедансом, чтобы позволить подтягивающему резистору 10 кОм поднять напряжение затвора полевого транзистора до 12 В. В противном случае вы не сможете выключить полевой транзистор (и реле). Это проклятие транзисторного переключателя верхнего плеча.

Приложение

В свете ваших комментариев и ссылки на видео, которую вы добавили к вопросу, вот дополнение:

Упомянутое вами видео косвенно ссылается на необходимость 12 В для отключения полевого транзистора - он говорит, что для управления этим переключателем MOSFET с P-каналом высокого уровня с помощью Arduino требуется изолированный источник питания, и что вы должны подключить источник питания + 5 В Arduino. и питание двигателя +12 В вместе, чтобы «поднять» логические выходы Arduino до уровней, требуемых затвором MOSFET.

Однако модуль преобразователя «Риоранд», как и большинство, использующих LM2596, вероятно, имеет клеммы -Vi и -Vo, соединенные вместе, что означает, что он не изолирован .

Таким образом, в вашей схеме вы неявно подключаете землю 0 В Arduino к земле автомобиля через понижающий преобразователь, что, на мой взгляд, правильно. Однако это означает, что цифровые выходы Arduino не могут достичь уровня +12 В, необходимого для выключения полевого транзистора, и вы должны каким-то образом преобразовать выходной сигнал от 0 до 5 В от Arduino в сигнал от 0 до 12 В для затвора MOSFET.

И вы должны отказаться от этой чепухи «3Vout to +12V».

Это несложно сделать с другим транзистором, как продемонстрировал Спехро Пефхани в своем ответе, хотя я думаю, что его значение для R5 (и, вероятно, R6) излишне низкое в этом приложении. Для полноты я включаю сюда адаптацию использования BJT Спехро Пефхани для выполнения перевода этого уровня:

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

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

Если, как показано в видео, положительный источник питания Arduino подключен к положительному выводу батареи, +12 В, и вам каким-то образом удается подать на заземляющий контакт Arduino напряжение на 5 В ниже этого (т.е. +7 В), то его цифровые выходные уровни равны фактически +12 В и +7 В, которые отлично подходят для MOSFET.

Однако вы не можете получить +7 В от LM2596 (по крайней мере, не так, как вы можете использовать здесь). Он не может обеспечить 5 В ниже +12 В, он может дать вам только 5 В выше 0 В. Это то, что подразумевается под «не изолированностью». Таким образом, вы вынуждены иметь общую землю между транспортным средством (шасси, отрицательный аккумулятор) и Arduino, чьи выходы, следовательно, будут 0 В или + 5 В, а не + 7 В или + 12 В.

Вам нужен сигнал 12 В, чтобы выключить MOSFET, поэтому функция Q2 заключается в преобразовании (и инвертировании) выходных уровней Arduino 0 В и + 5 В в + 12 В и 0 В соответственно.

Интересный момент в размещении диода! Я как бы предполагал, что ток будет просто течь обратно от реле обратно к выводу D MOSFET, и что мне нужно найти способ направить его куда-то, если он превысит определенный порог напряжения. Спасибо за предложение!
Что касается выхода 12 В на 3 В MCU, я точно не знаю, как это работает, но это работает. Я обновил исходный вопрос, включив в него ссылку на учебник, которому я следовал. В видео есть комментарий о том, что P-MOSFET «должен быть подключен к стороне цепи VCC». и как для этого нужно «подтянуть Arduino 5V и положительную сторону источника питания 12V к одному уровню». Я думал создать еще один пост, чтобы попытаться заставить кого-нибудь объяснить, что это такое :)
Учитывая эту новую информацию, я изменил свой ответ.
Блин, спасибо за терпение и подробное объяснение! 🙌
Собрал и работает как положено! Видео (светодиод в качестве обратноходового диода только для этого прототипа, чтобы увидеть всплеск обратного тока). Спасибо, @simon-fitch.
@biasedbit Добро пожаловать.
  1. 12В подключается к выходу регулятора 3В. Это мгновенно уничтожит MCU.

  2. Вы не можете переключать p-канальный МОП-транзистор 12 В с выходом 3 В. Он будет оставаться включенным все время (поскольку Vgs = -9 В и должно быть намного ближе к нулю). Итак, вам понадобится драйвер верхнего плеча, по крайней мере, дополнительный транзистор (NPN или N-канальный МОП-транзистор) для управления p-каналом. Или один с открытым стоком, способный безопасно >> 12 В, но вы его не найдете.

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

Там, где они показали подключенную шину 3,3 В, вы подключаете выход MCU. Дополнительные детали также снижают вероятность того, что ваш микроконтроллер выйдет из строя из-за контакта с 12 В из-за отказа полевого МОП-транзистора и т. д.

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

Я обновил сообщение, добавив ссылку на руководство, которому я следовал для переключателя высокого уровня. Признаюсь, я не очень понимаю, почему это 12 В подключено к VCC MCU, но оно работает, и ничего не загорается (земля MCU не совпадает с землей источника питания 12 В). Что касается добавления обратноходового диода к нагрузке, я упомянул в посте, что не могу этого сделать, так как у меня есть доступ только к высокой стороне нагрузки, то есть к проводу, идущему к автомобильному реле.
Похоже, единственная причина, по которой я не сжег эту штуку, заключается в том, что я на самом деле не подключил схему к машине, а питаю MCU через USB. Я могу понять, как работает схема, которую вы предлагаете, в отличие от той, которую я нарисовал, которая в значительной степени основана на моей (неправильной) интерпретации учебника. Что касается обратного диода, я попробую предложение Саймона в другом ответе. Я собираюсь создать прототип и вернусь, чтобы принять ваш ответ. Ваше здоровье!
Диод на схеме Саймона подключен идентично и имеет почти одинаковый номер детали (1 А и рассчитан на 1000 В, а не 400 В), любой тип более чем достаточно хорош.
МОП-транзистор должен иметь достаточно высокое значение V_gs, чтобы выдерживать любые всплески напряжения питания 12 В (если таковые имеются). Для размещения этого полевого транзистора vor со слишком низким макс. V_gs Дополнительный резистор между коллектором Q3 и R6 = затвор Q4 может уменьшить максимальное значение V_gs.