ESP8266 5v中继USB断开连接问题

时间:2020-03-07 18:04:43

标签: esp8266 nodemcu arduino-esp8266

问题

-使用以这种方式连接的ESP8266时,它将在为继电器供电时随机断开USB接口。然后,它可能会重新连接,但却是零星的。

-可以在下面查看代码,但实际上继电器会通电300毫秒,然后等待10秒钟循环。

接线图https://i.stack.imgur.com/4mycx.png

测试:

我已换下继电器,泵,ESP8266,并多次重新布线,以检查是否短路。我还在每个循环周期中增加了一个整数,当ESP8266能够重新连接时,它将打印此变量,这表明开发板没有崩溃:

串行输出 https://i.stack.imgur.com/ziM8g.png

然后我修改了该图,因此5v电源不是并联的,而是有两个不同的电源,一个用于ESP8266,一个用于泵浦电路,但是观察到相同的问题:

测试接线图https://i.stack.imgur.com/7S0aP.png

问题:

为什么向继电器发送控制信号时USB断开连接? 有办法减轻这种情况吗?

代码:

int relayInput = 5; // the input to the relay pin
int debug_test = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(relayInput, OUTPUT); // initialize pin as OUTPUT
}

void loop() {
  // put your main code here, to run repeatedly:

  debug_test ++ ;
  Serial.println(debug_test);
  digitalWrite(relayInput, HIGH); // turn relay on
  Serial.println("Water on!"); 
  delay(300);

  digitalWrite(relayInput, LOW); // turn relay off
  Serial.println("Water off!"); 
  Serial.println("Waiting 10 seconds");
  delay(10000);


} 

零件:

泵-https://www.ebay.co.uk/itm/Mini-Water-Pump-DC-3V-4-5V-Fish-Tank-Fountain-Aquarium-Submersible-White-Parts/174211676084?hash=item288fd337b4:g:128AAOSwfQteYWF3

ESP8255-https://www.amazon.co.uk/gp/product/B07F5FJSYZ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

中继-https://www.amazon.co.uk/gp/product/B07BVXT1ZK/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

2 个答案:

答案 0 :(得分:0)

好吧,因此对此进行研究,似乎在泵启动时,它会吸收比PC所能提供的更大的电流(安培)。 它将用于连接到应为其提供足够电流的外部电源,但是我还希望能够灵活地将其通过串行连接连接到PC,以进行故障排除。

最后,是这样的: https://i.stack.imgur.com/MKD1h.png

答案 1 :(得分:0)

您正在驱动具有3.3v输出的5v继电器模块,该模块对某些人来说效果很好,但是取决于继电器模​​块和电路板,这可能是问题所在。或继电器消耗的电流超过12mA,这是ESP8266的GPIO可以提供的最大电流。

所以我建议您为继电器使用外部电源,并通过引脚(在您的情况下为D1)对其进行控制。

或者仅使用带有外部5v电源的通用5v继电器并通过晶体管控制它,这是一个电路。

enter image description here

其他信息:https://electronics.stackexchange.com/questions/213051/how-do-i-use-a-5v-relay-with-a-3-3v-arduino-pro-mini