Проблемы с NodeMCU и реле
Я подключил микроконтроллер к дешевому китайскому автомобильному зарядному устройству для телефона с напряжением 24/12 В на 5 В и подключил несколько проводов к реле. Когда я пытаюсь запрограммировать, неважно, установлен ли вывод на высокий или низкий уровень. Как только я подключаю провод «IN» от реле к любому из выбранных выводов, реле автоматически активируется.
вот схема Вход зарядного устройства подключен к 12-вольтовой батарее дрели для тестирования, а выход на Arduino представляет собой USB-порт, к соответствующим полюсам которого я припаял провода.
USB from Chinese charger Positive pole ------- NodeMcu Vin
USB from Chinese charger Negative pole ------- NodeMcu GND
USB from Chinese charger Positive pole ------- Relay VCC
Relay Ground --------------------------------- NodeMcu Gnd
Relay DataPin -------------------------------- NodeMcu D0 or D1
А вот и код:
int port = D0;
int portB = D1;
void setup() {
Serial.begin(115200);
pinMode(port,OUTPUT);
pinMode(portB,OUTPUT);
digitalWrite(port,HIGH);
digitalWrite(portB,LOW);
}
void loop() {
}
Но в результате реле всегда будет включено (контакт IN = низкий), даже если оно подключено к D0, который имеет высокий уровень... Есть идеи?
@Lucas Medeiros, 👍0
Обсуждение1 ответ
Лучший ответ:
Ваш nodemcu напрямую питает реле? Если это так, то 3,3 В (высокий уровень на выходе nodemcu) недостаточно для его активации. Я бы использовал транзистор типа s8050 для питания (не забудьте обратный диод на катушке реле)
Вы правы, я совсем забыл, что цифровое напряжение микроконтроллера составляет 3,3 В, а не 5 В, и он не смог правильно управлять реле, большое спасибо., @Lucas Medeiros
@LucasMedeiros, это было в комментариях dandavis, @Juraj
Вы можете попробовать подать на ESP 3,6 В или 3,7 В вместо 3,3 В; это должно работать нормально (в пределах/соответствии со спецификацией ESP) и может быть достаточным для срабатывания реле при высоком уровне, поскольку VCC (и, следовательно, D1@HIGH) будут повышены., @dandavis
- Как заставить 5-вольтовое реле работать с NodeMCU
- NodeMCU продолжает отключаться
- Сдвиговый регистр с релейной платой ведет себя хаотично
- Ультразвуковой датчик (HC-SR04), регистрирующий случайное расстояние
- Реле с NodeMCU не работает
- 2-ходовой переключатель с Arduino?
- Разница между этими двумя реле (экран мини-реле D1 и одиночное реле 5 В)
- NodeMCU с реле блокировки 5 В - реле с низким уровнем срабатывания
Извините, исправлено, «это» имелось в виду контакт данных реле, @Lucas Medeiros
Вероятно, одна сторона реле подключена к положительному напряжению... подключение другой стороны реле к штырю перегружает схему штыря и активирует реле., @jsotola
реле может потребовать больше, чем 3,3 В, чтобы показывать высокий уровень, попробуйте подать 5 В на контакт данных реле и посмотрите, активируется ли оно. Если это так, то оно предназначено для устройств Arduino с напряжением 5 В, а не 3,3 В. Кстати, я купил несколько видов, и это распространено среди модулей с одним реле, но по какой-то причине все несколько видов модулей с двумя реле, которые я купил, отлично работают с моими nodeMCU., @dandavis
Обратите внимание, что вы также можете использовать выводы SD логического MOSFET-транзистора для подключения линии данных реле к земле и использовать резистор 100 кОм от 5 В для передачи данных, чтобы подтянуть их вверх; когда вы устанавливаете вывод на высокий уровень, он включает затвор и подтягивает сигнал 5 В к земле. Мне нравится irlz44n для большинства приложений с напряжением 3,3 В., @dandavis
некоторые реле удерживают катушку при НИЗКОМ сигнале и отпускают при ВЫСОКОМ, @Juraj
Я попробую варианты выше, затем вернусь с результатами, и, возможно, я не смогу получить irlz44n, и да, мое реле удерживается на низком уровне, но даже если подключить D0, установленный на высокий уровень, оно удерживает катушку так, как будто она на низком уровне., @Lucas Medeiros
О, и выход зарядного устройства составляет 5 В и он подключен к Vin микроконтроллера и реле vcc., @Lucas Medeiros
то ясно, что 3,3 В не является ВЫСОКИМ сигналом для реле, работающего при 5 В, @Juraj