Как правильно управлять воротами канала N из распиновки Adafruit Feather?
Я учусь создавать переключатель питания с мягкой защелкой, используя N-канальный МОП-транзистор.
На данный момент у меня есть это:
Идея состоит в том, что (пока что) я могу включить его с помощью переключателя, 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;
}
}
Любая помощь приветствуется! Спасибо :)
@scornflake, 👍0
1 ответ
Лучший ответ:
Ваша проблема в том, что вывод GPIO привязан к земле, а МОП-транзистор изолирует эту землю.
Вместо этого вам нужно переключать питание, а не землю - и для этого вы используете P-канальный МОП-транзистор.
Чтобы сохранить питание, установите GPIO LOW вместо HIGH.
Если вам нужно коммутировать более высокое напряжение, чем рабочее напряжение микроконтроллера, вам нужно будет добавить еще один N-канальный МОП-транзистор, чтобы отключить затвор P-канала.
- Альтернатива мосфету IRF520 в схеме выключения Arduino
- Подключение Arduino Arduino к MOSFET
- Питание моторного щита от Arduino pro mini 5v RAW Pin 150mAh не может запустить сервопривод
- Легкий сон ESP8266 — не могу проснуться
- как я могу подключить зарядное устройство для липосакции к teensy 4.0?
- Соленоид «вибрирует», а не толкает.
- Понимание того, как запитать объекты с помощью реле (featherwing, feather huzzah)
- Светодиодная панель ESP32 с регулируемой яркостью и MOSFET
Спасибо за это. У меня есть p-канал, чтобы попробовать это. Означает ли это, что схема, описанная здесь (https://www.youtube.com/watch?v=0IjJH3ksqfs), см. 1:27 м, также не будет работать, поскольку у PWR_CTRL будет та же проблема?, @scornflake
Именно эту схему я имею в виду, когда говорю о добавлении n-транзистора для переключения более высокого напряжения., @Majenko