Безумное выделение тепла с ESP8266

У меня есть ESP8266 на мини-плате Wemos D1. Простая анимация "Радуга с FastLED". Ничего особенного, но плата нагревается так, что я не могу до нее дотронуться, а батарея емкостью 2500 мАч разряжается менее чем за час.

Есть идеи, что я делаю неправильно? Тем более, что сопоставимая реализация микропитона просто не так сильно нагревается, а та же батарея держит около 5 часов...

Вот код

#define FASTLED_ALLOW_INTERRUPTS 0
#include "FastLED.h"
#include <EEPROM.h>

// Сколько светодиодов в вашей полосе?
#define NUM_LEDS 60
#define DATA_PIN 13
#define CLOCK_PIN 14
#define COLOR_ORDER RGB
int starthue = 0;
int incrementer = 255/NUM_LEDS;
CRGB leds[NUM_LEDS*2];
int address = 0;
int max_modes = 4;
int colormode; 

void setup() {
  Serial.begin(9600);
  // поместите сюда код установки для однократного запуска:
  FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS*2);
    EEPROM.begin(512);
  colormode = EEPROM.read(address);
  Serial.println(colormode);
  int new_mode = (colormode == max_modes) ? 1 : ++colormode; 
  Serial.println(new_mode);
  new_mode = (colormode == 0) ? 1: new_mode;
  Serial.println(new_mode);
  EEPROM.write(address, new_mode);
  EEPROM.commit();
  EEPROM.end();
}


void rainbow_mid(int howfast) {
  while (true) { 
    fill_rainbow(leds, NUM_LEDS, starthue, incrementer);
    for (int i =0; i< NUM_LEDS; i++) {
      leds[NUM_LEDS-i-1] = leds[i];
      leds[NUM_LEDS*2-i-1] = leds[i];
    }
    FastLED.show();
    delay(howfast);
    starthue++;
  }
}

void rainbow(int howfast) {
  while (true) { 
    fill_rainbow(leds, NUM_LEDS, starthue, incrementer);
    // добавить блестки (80);
    for (int i =0; i< NUM_LEDS; i++) {
      //светодиоды[NUM_LEDS-i-1] = светодиоды[i];
      leds[NUM_LEDS*2-i-1] = leds[i];
    }
    FastLED.show();
    delay(howfast);
    starthue++;
  }

}


void loop() {
  switch(colormode) {
    case 1: rainbow_mid(10); break;
    case 2: rainbow_mid(50); break;
    case 3: rainbow(10); break;
    case 4: rainbow(50); break;
  }

}

, 👍0

Обсуждение

Одна и та же плата, одинаковые соединения в обоих случаях?, @JRobert

Проблема не в вашем коде, а в соединениях. 60 светодиодов RGB потребляют около 20 мА*3*60 = 3,6 А (все светодиоды полностью белые). Отображение радуги будет потреблять меньше тока, но, как написал Тирдад в своем ответе, это все равно будет слишком много для встроенного регулятора. Как ты все подключил? Как ты подключил аккумулятор?, @chrisl


1 ответ


1

тепло поступает от линий питания платы.

Дело не в самом чипе, а если так нагреется, то чип надо уничтожать. кажется, вы подключили 60 светодиодов к плате и обеспечиваете ее питание от линии питания платы. поэтому линии нагреваются, и плата тоже нагревается. так что тепло не от чипа. это от дорожек питания на печатной плате.

используйте другой источник питания для светодиодной ленты.

,