WS2812 — сначала белые, а затем ближе к концу становятся красными/желтыми/оранжевыми.
Я пытаюсь запитать около 150 светодиодов WS2812 от моей платы ESP8266 NodeMCU (выполняющей код NeoPixel Arduino). Первые несколько светодиодов белые, но примерно на полпути они становятся желтыми, затем оранжевыми и в конце практически красными.
Может ли это быть вызвано энергопотреблением? Сама полоска в настоящее время потребляет около 900 мАч, и я питаю ESP8266 от источника питания 1,5 А, 5 В. Светодиоды питаются напряжением 3,3 В непосредственно от ESP8266.
Кроме того, примерно через 2 минуты светодиоды полностью гаснут. Плата никогда не отключается от моего Wi-Fi. Они просто выключаются. Я смогу сразу включить их снова.
@MortenMoulder, 👍0
3 ответа
Лучший ответ:
См. Powering NeoPixels.
Каждый отдельный NeoPixel потребляет до 60 миллиампер при максимальной яркости белого цвета (красный + зеленый + синий).
...
Чтобы оценить потребность в источнике питания, умножьте количество пикселей на 20, затем разделите результат на 1000 для получения «практического правила» номинала источника питания в амперах. Или используйте 60 (вместо 20), если вы хотите гарантировать абсолютный запас прочности для всех ситуаций. Например:
Таким образом, для абсолютной безопасности вам понадобится не менее 3 ампер или даже 9 ампер.
Светодиоды питаются от 3,3 В напрямую от ESP8266.
Сомневаюсь, что он рассчитан на это. Внутренние дорожки не рассчитаны на то, чтобы выдерживать ток силой, может быть, 5 ампер.
Чтобы избежать ухудшения цвета через ленту, вы можете использовать несколько источников питания (чтобы избежать падения напряжения из-за сопротивления на ленте). Вы бы подключили заземление (и подключили бы провода данных, конечно), но разорвали бы линию +5 В посередине и вставили бы другой источник питания.
Однако один (довольно мощный) источник питания напрямую подключенный к NeoPixels может сработать. То есть, не через ESP8266.
Также см. Раскрытие NeoPixels: как (не обязательно) генерировать точно синхронизированные сигналы.
На этой странице:
В: На видео, когда вся полоса полностью белая, кажется, что дальний конец имеет оранжевый оттенок. Это артефакт камеры или что-то еще?
A: Ого, вы очень проницательны! Да, гирлянда начала становиться оранжевой в конце на полной мощности. На самом деле, у меня не только закончилась квартира, когда я делал эту длинную гирлянду, у меня также закончились блоки питания. У меня было 3 блока питания, каждый на 10 ампер. Этого почти достаточно, но не тогда, когда каждый светодиод горит полной яркостью белого цвета. Когда это происходит, напряжение в самом конце ленты начинает падать слишком низко, и светодиоды начинают выглядеть бледными. Почему оранжевые? Потому что синим светодиодам нужно самое большое падение напряжения, чтобы загореться, поэтому, когда напряжение падает, они первыми выходят из строя, за ними следуют зеленые, оставляя желтые оранжевым и, в конечном счете, красным.
(У него было 1000 пикселей). Так вот, этот парень использовал 3 отдельных блока питания по 10 ампер!
Из путеводителя Adafruit Uberg. https://learn.adafruit.com/adafruit-neopixel-uberguide/power
У меня та же проблема. Вот решение, которое я нашел.
Распределение электроэнергии Чем длиннее провод, тем большее сопротивление он имеет. Чем больше сопротивление, тем больше падение напряжения по его длине. Если Слишком большое падение напряжения может повлиять на цвет NeoPixels.
Рассмотрите полную 4-метровую катушку NeoPixels. С 5 В, поданными на один конец полосы, для тех пикселей, которые ближе всего к этому концу, мощность проходит всего несколько дюймов меди. Но на дальнем конце полосы, мощность проходит 8 метров медного кабеля — 4 метра на линии +5 В, 4 метра обратно на линию земли. Эти самые дальние пиксели будут окрашены в коричневый цвет из-за падения напряжения (синие и зеленые светодиоды требуют более высокого напряжения) чем красный).
leds_brownout.jpg
Совет профессионалов: NeoPixels не волнует, с какого конца они получают питание. Хотя Данные движутся только в одном направлении, электричество может двигаться в любом направлении. Вы можно подключить питание в голове, в хвосте, в середине или, в идеале, Распределите его по нескольким точкам. Для лучшей цветовой однородности, стремитесь к 1 метр или меньше расстояние от любого пикселя до подключения питания. С более крупные установки NeoPixel, представьте себе распределение питания как ветви дерево, а не одна непрерывная линия.
leds_nobrown.jpg
На случай, если у кого-то еще возникнет проблема
Соединять полоску нужно как кольцо, вернув хвостовой конец в блок питания,
Основы электричества!!!!
- Питание светодиодной ленты - Сколько ампер?
- Как узнать сопротивление внутреннего подтягивающего резистора?
- Пытаюсь прошить ESP8266 с помощью Arduino UNO
- Как узнать максимальный ток через VIN на плате NodeMCU?
- Скетч мигания ESP8266 не мигает светодиодом
- Сдвиг уровня 5В <-> 3,3В
- Ультразвуковой датчик HC-SR04: Как проверить напряжение на выводе ECHO
- Разбор HTML-запроса GET с параметрами с помощью WiFiEsp
Спасибо за ответ! У меня нет светодиодов NeoPixels. Я просто использую их библиотеку (ну, точнее, библиотеку Hakuna). Добавление питания к 5-метровой полосе кажется немного... странным. Это единственный способ? Они поддерживают 5 В, если это поможет., @MortenMoulder
WS2812 - то же самое. :) Добавление питания к полосе совершенно нормально. Вы просто берете данные и землю от вашего ESP8266, чтобы давать им команды, и +5 В и землю от вашего источника питания к строке пикселей., @Nick Gammon
Прочитайте [страницу, на которую я дал ссылку](https://learn.adafruit.com/adafruit-neopixel-uberguide/power) с советами от Adafruit. У них там много предложений., @Nick Gammon
О, да, питание ленты не проблема... как таковое. Проблема в том, что я не хочу тянуть дополнительные провода через всю комнату, просто чтобы запитать ленту. Неужели нет лучшего способа? У меня более 15 м светодиодной ленты, которую я могу запитать от одного источника 12 В (просто обычные светодиоды RGB 5050). Разве этого нельзя добиться?, @MortenMoulder
Я вижу, что последние светодиоды имеют напряжение около 2,2 В... Это нехорошо, ха-ха., @MortenMoulder
Итак, я подключаю тот же источник питания 1,5 А 5 В напрямую к VIN и GND на ESP8266, затем подключаю 5 В и GND от полосы к тому же источнику. Гораздо, гораздо лучший результат. Теперь первые 3 метра все такие же белые, но желтые после этого. Так что с 1 метра до 3 метров просто подключаю вот так. Пока что большой успех. Если я найду подходящий блок питания на 5 В с высокой выходной силой тока (например, 10 А), будет ли это нормально?, @MortenMoulder
Больший запас почти наверняка поможет. Для моих рождественских огней у меня была полоса из 300 NeoPixels, работающая от 5V 3A wall-wart. Я думаю, что было небольшое падение цвета к концу, но не слишком большое., @Nick Gammon
Это очень интересно. Я посмотрю, как взять источник питания 5 В с большой силой тока. Мне все равно придется питать их по отдельности, так как ESP8266 NodeMCU не выдаст такую большую силу тока :( Если я запитаю полосу от ESP, одновременно питая ESP через его VIN и GND (5 В), я получу точно такой же результат. Но если я просто перенесу питание с полосы на источник питания (тот же канал, что и питание ESP), я получу «хороший» результат., @MortenMoulder
Держу пари, что в дорожках Vin есть внутреннее сопротивление, поскольку они представляют собой тонкие медные полоски, не рассчитанные на ток силой 5 ампер., @Nick Gammon
Да, я уверен. Так что, по сути, разделение коннектора было бы достаточно эффективным, я полагаю., @MortenMoulder
Не стоит пренебрегать калибром силовых проводов. Чем тоньше провод, тем больше его сопротивление, что приводит к падению напряжения и обрыву тока. Используйте «большие» провода для питания., @Andre Courchesne