Как правильно управлять воротами канала N из распиновки Adafruit Feather?

Я учусь создавать переключатель питания с мягкой защелкой, используя N-канальный МОП-транзистор.

На данный момент у меня есть это:

schematic

Идея состоит в том, что (пока что) я могу включить его с помощью переключателя, Arduino немедленно подает высокий уровень управления питанием (обеспечивая, чтобы полевой транзистор оставался включенным), и через 1,5 секунды переводит тот же вывод в низкий уровень (имитируя отключение по времени) ).

Однако; когда регулятор мощности становится низким, я все еще вижу напряжение около 1,8 В в линии управления питанием (я предполагаю, что оно плавающее?), что оставляет этот конкретный полевой транзистор частично открытым.

Если я отключу линию управления питанием от MCU, я получу ожидаемое поведение. Я могу коснуться регулятора мощности до +ve, и полевой транзистор включится. Если я подниму линию управления от +ve, полевой транзистор закроет затвор из-за понижающего резистора.

Я изо всех сил пытаюсь понять, почему полевой транзистор работает изолированно, но не работает при подключении к выходному контакту микроконтроллера. PinMode — ВЫХОД.

FET (3055VL): https://www.onsemi.com/pub/Col Lateral/MTP3055VL- D.PDF

Вот тестовый код, который я использую. Он просто мигает встроенным светодиодом 10 раз, а затем отключается.

int ledPIN = 17;
int controlPin = 11;
int lDelay = 150;

bool shouldBeUp = true;

void setup()
{
  pinMode(ledPIN, OUTPUT);
  pinMode(controlPin, OUTPUT);
  digitalWrite(controlPin, HIGH);
}

void loop()
{
  if (shouldBeUp) {
    for (int i = 0; i < 10; i++)
    {
      digitalWrite(ledPIN, LOW); // на
      delay(lDelay);
      digitalWrite(ledPIN, HIGH); // выключенный
      delay(lDelay / 2);
    }

    // Оставляем светодиод низким
    digitalWrite(ledPIN, LOW);
    digitalWrite(controlPin, LOW);
    shouldBeUp = false;
  }
}

Любая помощь приветствуется! Спасибо :)

, 👍0


1 ответ


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

1

Ваша проблема в том, что вывод GPIO привязан к земле, а МОП-транзистор изолирует эту землю.

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

schematic

Чтобы сохранить питание, установите GPIO LOW вместо HIGH.

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

,

Спасибо за это. У меня есть p-канал, чтобы попробовать это. Означает ли это, что схема, описанная здесь (https://www.youtube.com/watch?v=0IjJH3ksqfs), см. 1:27 м, также не будет работать, поскольку у PWR_CTRL будет та же проблема?, @scornflake

Именно эту схему я имею в виду, когда говорю о добавлении n-транзистора для переключения более высокого напряжения., @Majenko