Питание Arduino, управляемое другим Arduino с помощью MOSFET

Я хотел бы управлять питанием Arduino B по сигналу цифрового контакта от Arduino A.

Я использую полевой МОП-транзистор IRFZ44N в качестве переключателя и источника постоянного тока +12 В. У Ардуино есть точки соприкосновения. Соединение:

  • Gate: сигнал от Arduino A (+5 В или 0 В)
  • Источник: +12 В.
  • Слив: Vin Arduino B

При этих настройках питание Arduino B подается независимо от значения на затворе. Что я делаю не так и как мне изменить настройки, чтобы получить желаемый результат? Я знаю, что неправильно понимаю, как работает транзистор, пожалуйста, покажите мне правильный подход.

, 👍-1

Обсуждение

поделитесь своей схемой здесь и нарисуйте, как использовать для управления напряжением затвора., @Vaibhav

Этот мосфет имеет внутренний диод между истоком и стоком. Таким образом, этот диод всегда будет пропускать ток, независимо от того, какое напряжение на затворе. Этот N-канальный МОП-транзистор не идеален для переключения верхнего плеча. Насколько я понимаю, для этого потребуются дополнительные схемы и даже дополнительный источник питания. Гораздо проще сделать переключение с низкой стороны. То есть; переключение GND вместо 12V., @Gerben

@Gerben, вы имеете в виду подключить + 12 В напрямую к Vin Arduino B, источник N-MOSFET к земле и сток к контакту GND Arduino B? Может ли тогда сигнал от Arduino A к Gate правильно переключать питание?, @Jan Turoň

Да, это то, что я имел в виду. Но вы должны быть осторожны, если у вас есть какие-либо другие соединения между двумя Arduino (например, провод между TX и RX двух Arduino)., @Gerben

@Gerben действительно, я только что запустил два GPIO: установить вывод на НИЗКИЙ уровень и закрыть затвор транзистора было не самой блестящей идеей. Есть ли какое-нибудь простое решение для предотвращения повреждений при случайном отключении контакта GND?, @Jan Turoň

Добавление резистора поможет. Он будет ограничивать ток. Еще одна вещь, которую нужно сделать, это установить любые контакты OUTPUT на INPUT, прежде чем включать питание второго Arduino. (Вы также можете установить их на HIGH, но я предпочитаю безопасность, устанавливая его на INPUT). Таким образом, ток не может течь от второго Arduino через внутренние фиксирующие диоды в микроконтроллере Arduino к выводу LOW OUTPUT первого Arduino., @Gerben


1 ответ


Лучший ответ:

3

У вас N-канальный МОП-транзистор. Это не подходит для переключения питания 12 В на Arduino.

Вместо этого вам нужен P-канальный полевой МОП-транзистор, напряжение затвора которого подтягивается до 12 В с помощью резистора, а затем N-канальный полевой МОП-транзистор с логическим уровнем, который используется Arduino, чтобы подтягивать затвор P-канального полевого МОП-транзистора к низкому уровню. включите его.

Что-то вроде:

schematic

Когда GPIO имеет ВЫСОКИЙ уровень, M2 включается. Это опускает ворота M1, включая их. Когда GPIO имеет НИЗКИЙ уровень или не используется активно (таким образом, его отключает R2), M2 выключен. Это позволяет затвору M1 подтягиваться до +12 В с помощью R1, отключая M1.

,

Спасибо за хороший дизайн. Можно ли подтянуть вентиль M1 всего к +5 В и открыть его, написав LOW в GPIO? (без М2), @Jan Turoň

Нет. Вот почему у вас в схеме m2. М1 надо подтянуть к 12в. Так работает МОП-транзистор., @Majenko

@JanTuroň «Пороговое» напряжение P-канального полевого МОП-транзистора - это напряжение затвора *ниже* напряжения источника. Он указан в даташитах как отрицательное напряжение. При напряжении источника 12 В затвор должен быть при напряжении источника, чтобы полностью закрыться, или ниже 12 В минус пороговое напряжение, чтобы он был включен. Вы можете включить его, но никогда не выключать, если вы не можете поднять гейт до напряжения источника (или очень близкого к нему)., @Majenko