TLC5940NT, не работает светодиод

ValiantSugar
Offline
Зарегистрирован: 07.08.2021

Доброго времени
При подключении TLC5940NT ровно по офф схеме - чип греется, но светодиод не работает.
Менял раза 3 ардуино плату, пробовал и Uno и Nano. Менял чип. Перепроверял соединения и распиновку раз 5 - 6. Абсолютно всегда чип дико нагревается, а светодиод при подключении к нему - не горит.
Использовал и свой скетч и из инета и стандартный в примерах BasicUse.
Буду благодарен за помощь, не хочу еще месяц ждать в ожидании других комплектующих на замену.

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

покажите свою "офф схему" и скетч.

только, плиз, схему покажите именно свою (то есть нарисуйте сами) - а не из инета или копию из даташита

ValiantSugar
Offline
Зарегистрирован: 07.08.2021

Скетч стандартный из TLC5940 примеров

#include "Tlc5940.h"

void setup()
{
  /* Call Tlc.init() to setup the tlc.
     You can optionally pass an initial PWM value (0 - 4095) for all channels.*/
  Tlc.init();
}

/* This loop will create a Knight Rider-like effect if you have LEDs plugged
   into all the TLC outputs.  NUM_TLCS is defined in "tlc_config.h" in the
   library folder.  After editing tlc_config.h for your setup, delete the
   Tlc5940.o file to save the changes. */

void loop()
{
  int direction = 1;
  for (int channel = 0; channel < NUM_TLCS * 16; channel += direction) {

    /* Tlc.clear() sets all the grayscale values to zero, but does not send
       them to the TLCs.  To actually send the data, call Tlc.update() */
    Tlc.clear();

    /* Tlc.set(channel (0-15), value (0-4095)) sets the grayscale value for
       one channel (15 is OUT15 on the first TLC, if multiple TLCs are daisy-
       chained, then channel = 16 would be OUT0 of the second TLC, etc.).

       value goes from off (0) to always on (4095).

       Like Tlc.clear(), this function only sets up the data, Tlc.update()
       will send the data. */
    if (channel == 0) {
      direction = 1;
    } else {
      Tlc.set(channel - 1, 1000);
    }
    Tlc.set(channel, 4095);
    if (channel != NUM_TLCS * 16 - 1) {
      Tlc.set(channel + 1, 1000);
    } else {
      direction = -1;
    }

    /* Tlc.update() sends the data to the TLCs.  This is when the LEDs will
       actually change. */
    Tlc.update();

    delay(75);
  }

}

 

Yuz
Offline
Зарегистрирован: 06.08.2021

Что-то не так с ограничением тока в цепи светодиода

Цитата:

23 вывод дополнительно соединяется через подтягивающий резистор 10 кОм к рельсе питания, что бы при включении драйвера все светодиоды были погашены.

Не тут ли собака порылась?

https://uscr.ru/kak-podklyuchit-drajver-svetodiodov-tlc5940-k-arduino/

ValiantSugar
Offline
Зарегистрирован: 07.08.2021

К сожалению нет.
Пробовал и без 10к резистора - по нулям

Yuz
Offline
Зарегистрирован: 06.08.2021

ValiantSugar пишет:

К сожалению нет.
Пробовал и без 10к резистора - по нулям

И 23 вывод через резистор пробовали подключить не к земле, а к питанию?

ValiantSugar
Offline
Зарегистрирован: 07.08.2021

Да, на схеме попутал
К 23 выводу подключен резистор - питание

Yuz
Offline
Зарегистрирован: 06.08.2021

ValiantSugar пишет:

Да, на схеме попутал
К 23 выводу подключен резистор - питание

Может схему лучше сфоткать, глядишь ещё пару косяков обнаружится  ;)

Людям с боку виднее свежим взглядом

ValiantSugar
Offline
Зарегистрирован: 07.08.2021
ValiantSugar
Offline
Зарегистрирован: 07.08.2021

Ни у кого нет идей?