TLC5940 проверка на работоспособность

arz_serg
Offline
Зарегистрирован: 05.04.2019

Приветствую!

Имеется вопрос. Заказал на Али TLC5940, начал её осваивать. Подключаю её согласно схеме в статьях из интернета, загружаю скетчи из примеров - светодиоды не горят.

Беру скетч BasicUse из папки с библиотекой - не работает.

Пробовал и по SPI  и по BITBANG -  не работает.

Начали закрадываться сомнения - я невнимательный/рукожоп или микруха не работает. Снимаю микруху с макетной платы и просто подаю на неё питание: +0,5В на всех выходах. Вставил её на место в макетку - на выходах 0 до 15 напряжение растет от 0,7 (на 0-ом) до 2В (на 15-ом), причем независимо от того, что написано в скетче. Пробовал и BasicUse, и скетч который всё включает на максимум и всё тушит - вольтаж на выходах во всех случаях от 0,7 до 2.

Собственно вопрос - как всё таки определить - микруха не исправна или я что-то не так делаю?

Может кто скинет свой проверенный скетч со схемой подключения, который тупо зажигает все 16 каналов, может кто проверенной, заведомо исправной микрухой поделится (не за спасибо конечно)

rkit
Offline
Зарегистрирован: 23.11.2016

Где схема? Где код?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Какие "примеры из интернета" - такое и поведение.

arz_serg
Offline
Зарегистрирован: 05.04.2019

del

arz_serg
Offline
Зарегистрирован: 05.04.2019

rkit пишет:

Где схема? Где код?

схема подключения TL5940:

[spoiler]

27 (VPRG) - земля

26 (SIN) - pin 11

25 (SCLK) - pin 13

24 (XLAT) - pin 9

23 (BLANK) - pin 10

22 (GND) - земля

21 (VCC) - +5В

20 (IREF) - на землю через резистор 2кОм

19 (DCPRG) - +5В

18 (GSCLK) - pin 3

[/spoiler]

RGB cветодиод (с общим анодом) соответственно анодом на +5В, катодами к выходам OUT1 2 3

В гайдах и базовом примере внутри библиотеки пишут, что 23 ногу (BLANK) можно ещё через резистор 10кОм к земле подцепить, чтоб диоды не горели при включении - у меня они не горят что с резистором, что без него (пробовал и так и так).

Скетчи которые пробовал:

Скетч 1 (базовый пример из библиотеки):

01 #include "Tlc5940.h"
02  
03 void setup()
04 {
05   /* Call Tlc.init() to setup the tlc.
06      You can optionally pass an initial PWM value (0 - 4095) for all channels.*/
07   Tlc.init();
08 }
09  
10 /* This loop will create a Knight Rider-like effect if you have LEDs plugged
11    into all the TLC outputs.  NUM_TLCS is defined in "tlc_config.h" in the
12    library folder.  After editing tlc_config.h for your setup, delete the
13    Tlc5940.o file to save the changes. */
14  
15 void loop()
16 {
17   int direction = 1;
18   for (int channel = 0; channel < NUM_TLCS * 16; channel += direction) {
19  
20     /* Tlc.clear() sets all the grayscale values to zero, but does not send
21        them to the TLCs.  To actually send the data, call Tlc.update() */
22     Tlc.clear();
23  
24     /* Tlc.set(channel (0-15), value (0-4095)) sets the grayscale value for
25        one channel (15 is OUT15 on the first TLC, if multiple TLCs are daisy-
26        chained, then channel = 16 would be OUT0 of the second TLC, etc.).
27  
28        value goes from off (0) to always on (4095).
29  
30        Like Tlc.clear(), this function only sets up the data, Tlc.update()
31        will send the data. */
32     if (channel == 0) {
33       direction = 1;
34     else {
35       Tlc.set(channel - 1, 1000);
36     }
37     Tlc.set(channel, 4095);
38     if (channel != NUM_TLCS * 16 - 1) {
39       Tlc.set(channel + 1, 1000);
40     else {
41       direction = -1;
42     }
43  
44     /* Tlc.update() sends the data to the TLCs.  This is when the LEDs will
45        actually change. */
46     Tlc.update();
47  
48     delay(75);
49   }
50  
51 }

Скетч 2 (пример из интернета):

01 #include "Tlc5940.h";
02  
03 void setup()
04 {
05   //Инициализируем драйвер
06   Tlc.init();
07 }
08  
09 void loop()
10 {
11   //Устанавливаем нулевую яркость всех светодиодов
12   Tlc.clear();
13  
14   //Для каждого из 16 каналов:
15   for (int channel = 0; channel < 16; channel += 1) {
16       //Устанавливаем максимальную яркость
17       Tlc.set(channel, 4094);
18   }
19   //Применяем изменения (зажигаем светодиоды)
20   Tlc.update();
21 }

Скетч 3 (самописный):

01 #include "Tlc5940.h"
02  
03 void setup()
04 {
05   //Инициализируем драйвер
06   Tlc.init();
07 }
08  
09 void loop()
10 {
11  
12   Tlc.clear();
13   Tlc.set(0,0);
14   Tlc.set(1,4000);
15   Tlc.set(2,4000);
16   Tlc.set(3,4000);
17   Tlc.set(4,0);
18   Tlc.set(5,0);
19   Tlc.set(6,0);
20   Tlc.set(7,0);
21   Tlc.set(8,0);
22   Tlc.set(9,0);
23   Tlc.set(10,0);
24   Tlc.set(11,0);
25   Tlc.set(12,0);
26   Tlc.set(13,0);
27   Tlc.set(14,0);
28   Tlc.set(15,0);
29   Tlc.update();
30   delay(10000);
31 }

Со всеми скетчами микросхема ведет себя одинаково: на выходе OUT1 имеем 0,7-0,8В, на следующем чуть больше, на следующем ещё чуть больше и так до выхода OUT15 на котором 2В. Причем микросхема через минуту после включения слегка нагревается (градусов 40 примерно).

P.S. как спойлер-то делать, не нашёл че-т.... хотел спойлер и схему под спойлеры свернуть

arz_serg
Offline
Зарегистрирован: 05.04.2019

Люди добрыееее, помогите запустить TLC'ху пожалуйста

b707
Offline
Зарегистрирован: 26.05.2017

дайте ссылку на используемую библиотеку

 

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

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

дайте ссылку на используемую библиотеку

 

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

Ссылка на библиотеку: https://disk.yandex.ru/d/xZOG3e5wt_SUGw

Построить хочу часы... по задумке должен быть индикатор из дерева с тонкой стенкой, которая работает на просвет... за стенкой в каждом сегменте RGB-светодиод. Т.е. управлять надо 4 * 7 * 3 = 84 выводами. По задумке было так: каждым индикатором управляет одна ардуина и каскад из двух TLC, + есть "главная" пятая ардуинка, которая считает время и раздает его дочерним.

Вот видео, как работает без TLCхи на обычных светодиодах: https://disk.yandex.ru/i/dc5va1ukAqVucQ ; но светодиоды хочу RGB...

Собирал что-то похожее, только изначально была немного иная концепция: вместо светодиодов были шаговые моторчики, которые открывали и закрывали сегменты, а светодиоды были внутри включены постоянно. Там использовал ардуину + 7 драйверов + 2 сдвиговых регистра (один давал импульсы шагов, второй устанавливал направления) на один сегмент. Один сегмент работать заставил, но временно ту концепцию отложил в сторонку и решил собрать на светодиодах. Но вот досада - не могу заставить работать TLC-шку

https://disk.yandex.ru/a/p8Xm_BccOKEboA

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

вот так попробуй - 23 (BLANK) - pin 10    да (+ резистор 10к на +5V)

b707
Offline
Зарегистрирован: 26.05.2017

arz_serg пишет:

Построить хочу часы... по задумке должен быть индикатор из дерева с тонкой стенкой, которая работает на просвет... за стенкой в каждом сегменте RGB-светодиод. Т.е. управлять надо 4 * 7 * 3 = 84 выводами. По задумке было так: каждым индикатором управляет одна ардуина и каскад из двух TLC, + есть "главная" пятая ардуинка, которая считает время и раздает его дочерним.

ужос.... все это в полпинка делается на адресной ленте НА ОДНОЙ ардуине (а не на пяти, как у вас) и без TLC вообще

Подобных проектов в инете полно.

 

PS  не давайте ссылки на яндексдиск, ваша библиотека есть на гитхабе: https://github.com/PaulStoffregen/Tlc5940

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

ужос.... все это в полпинка делается на адресной ленте НА ОДНОЙ ардуине (а не на пяти, как у вас) и без TLC вообще

Подобных проектов в инете полно.

адресную ленту разбирать на светодиоды? есть ссылка для примера?

ну и на всё есть много разных вариантов... но раз уж есть TLC - хотелось бы разобраться с ними

на TLCхах тоже можно и на одной ардуине, но тут вопрос ремонтопригодности/модульности да и ради эксперимента

b707
Offline
Зарегистрирован: 26.05.2017

arz_serg пишет:

адресную ленту разбирать на светодиоды? есть ссылка для примера?

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

Цитата:
но раз уж есть TLC - хотелось бы разобраться с ними

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

На TLC и код и схема получается раз в сто сложнее....посчитайте -  пять ардуин, 8 TLC, невероятная куча проводов....  А на ленте только Нано. лента и БП. Все.

Да и код для ленты напишет даже ребенок

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

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

На TLC и код и схема получается раз в сто сложнее....посчитайте -  пять ардуин, 8 TLC, невероятная куча проводов....  А на ленте только Нано. лента и БП. Все.

Да и код для ленты напишет даже ребенок

ну вот и пытаюсь разобраться и ищу помощи в запуске TLC-хи, а не советов как это можно ещё реализовать...

как совет ваше сообщение конечно ценю, но мне хотелось бы разобраться с TLC-хой... И мне не нужно, чтобы это кто-то повторял, я это делаю для себя, а невероятную кучу проводов заменят дорожки на плате

b707
Offline
Зарегистрирован: 26.05.2017

arz_serg пишет:

ну вот и пытаюсь разобраться и ищу помощи в запуске TLC-хи, а не советов как это можно ещё реализовать...

как совет ваше сообщение конечно ценю, но мне хотелось бы разобраться с TLC-хой... И мне не нужно, чтобы это кто-то повторял, я это делаю для себя, а невероятную кучу проводов заменят дорожки на плате

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

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

 

Теперь по сути. Если вы берете МС, подключаете по схеме из библиотеки, заливаете код из библиотеки - и у вас не работает, то тут только два варианта -  либо МС нерабочая, либо вы что-то сделали не так, как написано. Проверяйте все еще раз. Вашей сборки никто не видел и проверить ее можете только вы.

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

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

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

 

Теперь по сути. Если вы берете МС, подключаете по схеме из библиотеки, заливаете код из библиотеки - и у вас не работает, то тут только два варианта -  либо МС неработает, либо вы что-то сделали не так, как написано. Проверяйте все еще раз. Вашей сборки никто не видел и проверить ее можете только вы.

Согласование 5ти ардуинок уже сделано.... сделано топорно, но работает...

Все соединения уже много раз проверил и перепроверил, всё соответствует схеме соединения. Думал может есть какой-то способ продиагностировать TLC. С али пришла одна микруха - с ней не работало, заказал вторую - с ней тоже самое. По-этому я и нахожусь в ступоре - то ли я совсем дурак, то ли лыжи не едут. Скетч №3 из 4-го сообщения должен зажигать мне RGB светодиод, если он анодом сидит на +5V от ардуины, а катодами на выходах OUT1 OUT2 OUT3? С той библиотекой с гитхаба и с подключением по схеме в том же 4-ом сообщении соответственно

b707
Offline
Зарегистрирован: 26.05.2017

arz_serg пишет:

Скетч №3 из 4-го сообщения должен зажигать мне RGB светодиод, если он анодом сидит на +5V от ардуины, а катодами на выходах OUT1 OUT2 OUT3? С той библиотекой с гитхаба и с подключением по схеме в том же 4-ом сообщении соответственно

насколько я вижу - да.

А ардуина какая? - уно, нано, мини, микро? И на ней "вавгат" случайно не написано?

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

насколько я вижу - да.

А ардуина какая? - уно, нано, мини, микро? И на ней "вавгат" случайно не написано?

Пробовал и UNO и NANO, обе не wavgat

ход конём - могу вам отправить обе микрухи (за свой счет естественно) на проверку на возмездной основе?

b707
Offline
Зарегистрирован: 26.05.2017

arz_serg пишет:

ход конём - могу вам отправить обе микрухи (за свой счет естественно) на проверку на возмездной основе?

а вы где территориально?

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

а вы где территориально?

РФ, Нижегородская обл., г. Арзамас

b707
Offline
Зарегистрирован: 26.05.2017

давайте пообщаемся

b707
Offline
Зарегистрирован: 26.05.2017

кстати, вы там выше даете ссылку на видео работы TLC на обычных светиках... сорри, само видео не видел, поэтому вопрос - это вы сами пробовали или это чужое видео из инета?

Если сами и мс на обычных диодах работает.... то разве это не проверка?

arz_serg
Offline
Зарегистрирован: 05.04.2019

b707 пишет:

кстати, вы там выше даете ссылку на видео работы TLC на обычных светиках... сорри, само видео не видел, поэтому вопрос - это вы сами пробовали или это чужое видео из инета?

Если сами и мс на обычных диодах работает.... то разве это не проверка?

я имел ввиду, что диоды к выходам ардуино напрямую подключал, а не через МС

МС у меня на руках не было

Sancho80
Offline
Зарегистрирован: 30.08.2014

ТС, не победил микруху? У меня такая же проблема, пару лет назад сделал 2 контроллера для лестнице, всё нормально работает. Недавно решил повторить, заказал TLC на Али, не работает. По 0,8В на всех выходах. По отзывам на Али у многих не работает, а магазин, где брал первый раз, исчез.

arz_serg
Offline
Зарегистрирован: 05.04.2019

Sancho80 пишет:
ТС, не победил микруху? У меня такая же проблема, пару лет назад сделал 2 контроллера для лестнице, всё нормально работает. Недавно решил повторить, заказал TLC на Али, не работает. По 0,8В на всех выходах. По отзывам на Али у многих не работает, а магазин, где брал первый раз, исчез.

Нашёл в закормах ещё одну TLC'шку, которая была куплена года 2-3 тому назад и оставлена до лучших времен (и благополучно забыта) - с ней всё заработало. Таким образом эти микрухи были обе нерабочие, оформил претензию, деньги вернули.

Вообще изначально были подозрения, что с этими TLC-хами что-то не так, ибо они были подозрительно дешевые. Видимо не спроста - поэтому на будущее лучше не пытаться сэкономить )

Sancho80
Offline
Зарегистрирован: 30.08.2014

Да, разброс цен в 3 раза, но и там, и там отзывы какие-то подозрительные, наверно продавцы сами пишут. А как доказывал неработоспособность?

b707
Offline
Зарегистрирован: 26.05.2017

Sancho80 пишет:
А как доказывал неработоспособность?

выше написано - сравнением с заведомо рабочей.

arz_serg
Offline
Зарегистрирован: 05.04.2019

Sancho80 пишет:
Да, разброс цен в 3 раза, но и там, и там отзывы какие-то подозрительные, наверно продавцы сами пишут. А как доказывал неработоспособность?

в претензии? описал ситуацию и приложил фото на котором видно подключенный светодиод, тестер и показание 0.8В

Sancho80
Offline
Зарегистрирован: 30.08.2014

Спасибо. Буду открывать спор.

arz_serg
Offline
Зарегистрирован: 05.04.2019

Sancho80 пишет:
Спасибо. Буду открывать спор.

Если надо, чуть позже могу поискать ссылку где я 2 года назад заказывал рабочую TLCху

Sancho80
Offline
Зарегистрирован: 30.08.2014

Если не трудно.

arz_serg
Offline
Зарегистрирован: 05.04.2019

Sancho80 пишет:
Если не трудно.

https://aliexpress.ru/item/32787390280.html?aff_fcid=0fd5c71997f94c3fb1a...

вот по этой ссылке я брал 3 года назад

цена кстати тоже низкая, так что не знаю, смотрите думайте сами

Sancho80
Offline
Зарегистрирован: 30.08.2014

Благодарю. Я вроде тоже покупал рабочие незадорого.