SHUSTER

Линейка адресных LED горит не полностью (Arduino)

20 сообщений в этой теме

SHUSTER    0

Хочу зажигать адресные светодиоды в линейке по очереди. Схема следующая: 12v аккум, от него DC-DC понижающий преобразователь, от преобразователя запитаны Ардуина Нано и линейка адресных диодов. Код в Ардуине следующий:

#define PIN 13        // пин DI
#define NUM_LEDS 10   // число диодов
#include "Adafruit_NeoPixel.h"
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
  //pinMode (6, INPUT);
  strip.begin();
  strip.setBrightness(20);    // яркость, от 0 до 255
  strip.clear();                          // очистить
  strip.show();                           // отправить на ленту
}

void loop() {
        for (int i = 0; i < 10; i++ ) {   // всю ленту
        strip.setPixelColor(i, 0xffffff);     // залить белым
        strip.show();                         // отправить на ленту
        delay(100);
        }
}

В коде цвет диода выставлен белым. Но зажигаются белым только первые 7 диодов, восьмой горит жёлтым, 9 и 10 не горят вообще (я и по отдельности пробовал в коде зажигать только их). Лента заводской пайки работает как надо (метровая, на 30 диодов) - на ней я отрабатывал код. Но в итоге мне нужно спаять плату определённой формы - поэтому и паял. Фото платы залью позже, пока объясню на словах: диоды китайские (worldsemi), спаяны по даташиту (т. е. с конденсатором на 15 пФ между сигнальным входом диода и минусовой дорожкой возле каждого диода). На питании Ардуины конденсатор - 470 мкф, на питании моей светодиодной линейки - 1000 мкф. В цепи сигнальной линии между Ардуиной и линейкой 200 ом резистор.

Что пробовал:

- ставил другой dcdc преобразователь (с заводской лентой работало);

- брал аналогичную ардуину;

- убирал-ставил в разных вариациях конденсаторы по питанию (появились только глюки в работе светиков )))))))) );

-перепаивал 7 и 8 диоды (думая что они не пропускают дальше сигнал);

- ещё раз пропаял свои диоды, флюс отмыл;

- резистор менял на 500 ом.

В общем ничего не помогает - диоды зажигаются по порядку, согласно скетчу, но 9 и 10 не горят ни в какую, а 8-й горит желтым.

П. С. Хотя у меня получалось включить 9 и 10 диоды быстро включая-выключая питание)))))

Помогите.

Изменено пользователем SHUSTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GalatZ    183

Дак это, оно не работает на вашей плате? Или не работает вовсе, даже на плате ардуино? Когда подключаете заводскую ленту все работает как надо?

Модель диодов ваших какая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0

на заводской линейке диодов я именно этот скетч не проверял, но запускал другие скетчи - они работали всегда как я и задумывал. На своей-же (самопаянной) линейке диодов не включаются два последних, а перед ними, один (восьмой, по счёту) горит не тем цветом который я задаю.

Собственно вот прилагаю фотки моего творчества:

IMG_1806.JPG

IMG_1805.JPG

Конденсаторы на 15 пф положенные по схеме даташита к этим диодам распаяны с обратной стороны платы.

Вот эта линейка диодов работает: https://www.aliexpress.com/item/Full-Color-WS2812B-LED-Strip-DC5V-Black-White-PCB-RGB-Smart-Pixel-control-Led-Strip/32858553483.html?spm=2114.13010708.0.0.3a9933ednShBGf

А вот диоды которые на фотке: https://www.aliexpress.com/item/2-1000Pcs-4-Color-in-1-SK6812-RGBW-RGBWW-RGBNW-WWA-RGB-White-SMD-3535-5050/32666691387.html?spm=2114.13010708.0.0.3a9933edNZucT8

Изменено пользователем SHUSTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GalatZ    183

Есть возможность проверить заводскую ленту именно на этом коде?

Что за конденсаторы 15 пФ ? Впервые слышу о таких, единственные конденсаторы это 0.1 мкФ между плюсом и землей около каждого светодиода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0

Да, вот именно сегодня проверил скетч на заводской ленте - всё работает.

Что касается конденсаторов - вот ссылка: https://www.aliexpress.com/item/100PCS-50V-15PF-50-V-15-PF-Ceramics-capacitor-DIP-15PF-50V-Ceramic-Dielectric-Capacitors/32843912776.html?spm=2114.13010708.0.0.3a9933ed500zlo

Сорри, если с емкостью конденсаторов что-то не так сказал - я ж начинающий)))

Но вернёмся к диодам - получается, если на заводской ленте всё работает, то либо что-то не так с пайкой на моей сборке, но это я проверял (пропаивал второй раз), либо проблема в конденсаторах (предположу что по неопытности я их неправильно подобрал). В даташите указана ёмкость - "15 pF". Вот ссылка на даташит: http://www.world-semi.com/DownLoadFile/108 (третья страница, параметр "Input Capacity"). На схеме даташита конденсатор указан, вот я и припаял)))

Попробовать отпаять конденсаторы?

Изменено пользователем SHUSTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    556
34 минуты назад, SHUSTER сказал:

Вот ссылка на даташит:

Не открывается - "архив повреждён".

35 минут назад, SHUSTER сказал:

Попробовать отпаять конденсаторы?

Естественно. Какие могут быть конденсаторы на линии данных ? Это глупость.

PS: Вы бы хоть визуально сравнили заводскую ленту со своей - что там и куда припаяно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
солар    180
9 часов назад, SHUSTER сказал:

параметр "Input Capacity")

Это емкость входа микросхем. А вам нужно припаять конденсаторы по питанию. См. Typical Application Circuit на стр.4 Remarks: C1 is the filter capacitor for VDD, its value of 100NF. , т.е. на каждый светодиод по питанию по 0,1 мкФ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0
16 часов назад, Alex сказал:
17 часов назад, SHUSTER сказал:

 

Не открывается - "архив повреждён".

Перекачайте, архив открывается (с 2-х компов пробовал)

16 часов назад, Alex сказал:

Естественно. Какие могут быть конденсаторы на линии данных ? Это глупость.

 

К линии данных я никаких конденсаторов не припаивал, вероятно, я не так выразился или вы что-то недопоняли. Конденсатор припаян именно между + каждой ноги светика и минусовой дорожкой (на фотках - слева).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GalatZ    183

Ну если заводская работает, а ваша нет, то вариантов только 2: накосячили в пайке/трассировке, некачественные диоды/брак.

Убирайте ваши 15 пик и напаивайте как можно ближе к выводам "+" и GND керамику 0.1 мкф, согласно схеме из даташита.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    556
1 час назад, SHUSTER сказал:

вероятно, я не так выразился или вы что-то недопоняли.

Даже не знаю, как тут что-то по-другому можно понять :

В 09.11.2018 в 00:58, SHUSTER сказал:

15 пФ между сигнальным входом диода и минусовой дорожкой

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0
3 часа назад, Alex сказал:

Даже не знаю, как тут что-то по-другому можно понять :

:)

А, да, сорри - я не прав.

 :drinks:

Написал неправильно, но спаял точно правильно - конденсатор между плюсовым выводом диода и минусовой дорожкой. Именно так и не иначе.

Кстати, попробовал сейчас отпаять эти конденсаторы - без них всё тоже самое.

В общем буду покупать нужные конденсаторы, как 

13 часа назад, солар сказал:

Это емкость входа микросхем. А вам нужно припаять конденсаторы по питанию. См. Typical Application Circuit на стр.4 Remarks: C1 is the filter capacitor for VDD, its value of 100NF. , т.е. на каждый светодиод по питанию по 0,1 мкФ.

Может, кстати, объясните, уважаемые форумчане, назначение этих самых конденсаторов в данном случае? А то что-то я нигде доступным языком не нашел для чего они служат.

4 часа назад, GalatZ сказал:

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

Пробовал, но немного не так. Брал новые диоды, не паяные ранее, и впаивал на место третьего и четвёртого с конца. Ничего не меняется)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    556
8 минут назад, SHUSTER сказал:

А то что-то я нигде доступным языком не нашел для чего они служат.

Для того же, для чего и все конденсаторы, которые ставят по питанию. Сглаживание и фильтрация.
В общем, ставьте минимум как в ДШ - 0.1 mF.

PS: А на рабочей ленте они стоят ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 378
13 минуты назад, SHUSTER сказал:

Может, кстати, объясните, уважаемые форумчане, назначение этих самых конденсаторов в данном случае?

 питание микроконтроллера

ЗЫ в данном разделе форума это совершенно не кстати, оный кагбе подразумевает наличие базовых знаний по работе микроконтроллеров.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0
7 минут назад, Alex сказал:

PS: А на рабочей ленте они стоят ?

Да, стоят, SMD-шные.

Т. е. одного общего конденсатора в начале

В 09.11.2018 в 00:58, SHUSTER сказал:

на питании моей светодиодной линейки - 1000 мкф

не хватает? И надобно ещё и возле каждого диода?

Изменено пользователем SHUSTER

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    556

Попробуйте, ради эксперимента, припаять ёмкость ещё и в конце линейки. Или где-нибудь в середине.
Учитывая Вашу плату, это можно сделать быстро.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 378
12 минуты назад, SHUSTER сказал:

Т. е. одного общего конденсатора в начале

нет , у них задачи разные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0

Припаял, как мне тут подсказали 0,1 мкФ как можно ближе к выводам - ничего не изменилось. Керамика, всё как говорили. Сегодня выложу фото - мож кто ещё чё подскажет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
matuei    3

Похоже, дело в том, что в скетче при инициализации вы указываете NEO_GRB + NEO_KHZ800, что относится к светодиодам WS2812, у которых 3 канала, а на плате у вас стоят SK6812, которые имеют 4 канала (RGBW). 

Вместо 4й строчки напишите 

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_NUM, LED_PIN, NEO_GRBW + NEO_KHZ800);

 

Изменено пользователем matuei

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SHUSTER    0

Да, всё верно - после исправления строчки кода загорается вся линейка как положено. Спасибо всем за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...