Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 13 of 13

Thread: Teens 4.0 TLC59116 Led Driver

  1. #1
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41

    Teens 4.0 TLC59116 Led Driver

    Hi,

    I'm trying to use a TLC59116IPWR that I made a pcb with but nothing happens. Here is the schematics:
    Click image for larger version. 

Name:	TLC59116.png 
Views:	13 
Size:	65.7 KB 
ID:	23332

    First, I noticed I might need to actually wire RESET and REXT, but I tried to do so by touching resistors to the pins and couldn't make it work anyway, might not be the best way to test though...

    But is there any other issues you could see in my schematics?

    SCL0 and SDA0 are connected to pins 19 and 18 of Teensy 4.0.

    And regarding code I'm testing with this library, and its Sinewave example:
    https://github.com/MajenkoLibraries/TLC59116

    Thanks

  2. #2
    Senior Member blackketter's Avatar
    Join Date
    May 2015
    Location
    San Francisco
    Posts
    318
    A couple of things to look at:

    According the datasheet, you'll need a pull-up resistor on the /RESET pin. Make sure you have that connected before you power it up.
    And you'll need REXT connected to a resistor to select the LED current. The example in the datasheet uses 931 ohms for a 20mA LED current, which seems like a good start.

    Once you get those set, try just a little test to make sure you have I2C connectivity:

    Code:
           Wire.beginTransmission(0xC0); // the device address with A0-A3 zero.
           uint8_t error = Wire.endTransmission();
    if error is returned as 0 then the Wire library was able to talk to the device. 2 means it's not found.

  3. #3
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41
    Thanks for the suggestions,
    So I have run that test without the RESET and REXT and also with them (but I'm connecting the resistors on that super small chip holding everything in my hands so I'm wondering how good is this test), and I also tried adding 2 pullups to SCL and SDA pins, but I always get a 4 as error code which I understands means there is some sort of chaos on the bus?

    I should have shared the bigger picture of my pcb, I have 2 other ICs on the same bus, one is the same chip, one is a PCF8574T.

    Here is the entire schematics:
    Click image for larger version. 

Name:	Motherboard-B-test.jpg 
Views:	10 
Size:	93.3 KB 
ID:	23333

    I'm not sure what I have done wrong in there to mess the I2C bus...

    If there doesn't seem to be anything wrong on the schematics I guess I will have to make a new PCB that would include the pullups resistors on SCL and SDA and the 2 resistors on RESET and REXT so that this is connected properly.

    Do you see any other things on this more global schematics?

  4. #4
    Senior Member blackketter's Avatar
    Join Date
    May 2015
    Location
    San Francisco
    Posts
    318
    You'll definitely need those resistors (I2C pull-ups, RESET, REXT), so see if you can get them soldered in somehow.

    And looking at the schematic, it seems you are using 5v+ for some of the devices, including the TLC59116, which is bad. Take a look at the typical application schematic on the first page of the datasheet to see how to power via 3.3v (the device is powered by 3.3v, the LEDs use the 5v rail). Hopefully you haven't damaged the Teensy.

    Error code 4 could be one of several error conditions on the I2C bus.

    Since you have multiple devices on the I2C bus, I'd double check that those lines are all intact (no shorts, opens) and that each of the devices on the bus is properly powered on.

    If you can disconnect any of them, that might narrow down where the I2C bus issue is.

    (Also, I noticed you have resistors on all the LED pins, which shouldn't be necessary as the TLC59116 has constant current outputs...)

  5. #5
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41
    Ah I looked at the schematics and since it was saying 3.3v to 5v power supply I chose 5v (cannot remember why though) but you are right the typical example shows it powered with 3.3v
    https://www.ti.com/lit/ds/symlink/tl...=1611017691232

    I'll check the power going to the other devices, but since I need 4 missing resistors and Im not able to solder them so I'm just trying to make the connections by hand it's not the best conditions to test anyway, but that will be a good starting point for the new test pcbs Ill make: one with just 1 TLC59116 and another with 2 TLC59116 and another with 1 PCF8574T, to test them separately, will cost me more because I order on JLCPCB the smt assembly for those because they are way to small for me to solder but I will be able to test better.

    Thanks also for telling me about the resistors on each leds, I only understood now that REXT was playing that role... that will simplify my design.

    Ill post again when I have more to test.

    Thanks!

  6. #6
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41
    So I've made a PCB only with the TLC59116 chip and the few required resistors to test. I still get the same result.

    I looked up the chip datasheet, and the address of this chip when A0-A3 are at zero is not 0xC0 actually it is 0x60. But anyway I tried both and get the same error code: 4.

    So then I thought, I would test with an audioboard that I know works, first I upload an audio example to make sure the audioshield works, it generates sound so it works, and then I try the same code you suggested to test the I2C transmission with the audioshield so this time with address 0x0A which is the address of the SGTL5000:
    Code:
      Wire.beginTransmission(0x0A);
      uint8_t error = Wire.endTransmission();
      Serial.println("Error:");
      Serial.println(error);
    And I still get "4"...

    I also tried the I2C scanner example, with the audioboard hooked to the Teensy, and it says "No I2C devices found".

    At this point I'm not sure what's going on and what else to try

    In case it can help, here is the schematics of my TLC59116 test board:
    Click image for larger version. 

Name:	tlc59116 test.jpg 
Views:	12 
Size:	70.9 KB 
ID:	23631

  7. #7
    Senior Member PaulS's Avatar
    Join Date
    Apr 2015
    Location
    Netherlands
    Posts
    500
    The first thing I see is that the Reset line is pulled high to +5V. I don't think the TI chip likes that because it's powered by 3V3.

    Paul

  8. #8
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41
    Quote Originally Posted by PaulS View Post
    The first thing I see is that the Reset line is pulled high to +5V. I don't think the TI chip likes that because it's powered by 3V3.

    Paul
    Thanks for the suggestion,

    First I made it work with the audio board and the scanner, I had to add these 2 lines at the top:
    Code:
    #include <Audio.h>
    AudioOutputI2S audioOutput;
    also I detect the audio board with this little test now:

    Code:
    #include <Wire.h>
    #include <Audio.h>
    AudioOutputI2S audioOutput;
    
    void setup() {
      Wire.begin();
      Serial.begin(9600);
      while (!Serial); // wait for serial monitor
      
      Wire.beginTransmission(0x0A);
     
      
      uint8_t error = Wire.endTransmission();
      Serial.println("Error:");
      Serial.println(error);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    But, I just tested to connect my test PCB's "5v" to the 3.3v of the Teensy instead of the Teensy's 5v, and it doesn't make any difference, I still get a "4"...

    Any other ideas?

  9. #9
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    7,989
    Quote Originally Posted by ghostintranslation View Post
    Any other ideas?
    Maybe show us some photos of the boards.

    Remove power from everything. If the Teensy is removeable, remove it.
    Use a multimeter to check if there are connections between
    - 3v3 on all chips
    - gnd to all chips
    - SCL to all chips
    - SDA to all chips.
    - Measure between SCL and 3V3 - is it really 2k2?
    - Measure between SDA and 3V3 - is it really 2k2?
    Last edited by Frank B; 02-08-2021 at 01:27 PM.

  10. #10
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41
    Quote Originally Posted by Frank B View Post
    Maybe show us some photos of the boards.
    I had the PCB done by JLCPCB, I soldered only the pins that are used:

    Click image for larger version. 

Name:	tlc59116-test-1.jpg 
Views:	9 
Size:	68.7 KB 
ID:	23638

    Click image for larger version. 

Name:	tlc59116-test-2.jpg 
Views:	11 
Size:	72.5 KB 
ID:	23639

    Click image for larger version. 

Name:	tlc59116-test-3.jpg 
Views:	7 
Size:	75.7 KB 
ID:	23640

    Quote Originally Posted by Frank B View Post
    Remove power from everything. If the Teensy is removeable, remove it.
    Use a multimeter to check if there are connectections between
    - 3v3 on all chips
    - gnd to all chips
    - SCL to all chips
    - SDA to all chips.
    - Measure between SCL and 3V3 - is it really 2k2?
    - Measure between SDA and 3V3 - is it really 2k2?
    Ill do that a little bit later today, thanks for the suggestions

  11. #11
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    7,989
    Click image for larger version. 

Name:	Image1.png 
Views:	6 
Size:	174.7 KB 
ID:	23641
    This looks interesting. Is it just the foto, the light, or is there really no connection?

  12. #12
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    7,989
    ...and I see not a single via. Is that correct?

    Edit: no there are some near the connector.

  13. #13
    Member ghostintranslation's Avatar
    Join Date
    Oct 2019
    Location
    Halifax, NS, Canada
    Posts
    41
    Quote Originally Posted by Frank B View Post
    ...and I see not a single via. Is that correct?

    Edit: no there are some near the connector.
    Yeah that's just the photo, the traces keep going to the "JPLED" connector. That might be the 45 angle on the low quality jpg that do not translate.

    Remove power from everything. If the Teensy is removeable, remove it.
    Use a multimeter to check if there are connectections between
    - 3v3 on all chips
    - gnd to all chips
    - SCL to all chips
    - SDA to all chips.
    - Measure between SCL and 3V3 - is it really 2k2?
    - Measure between SDA and 3V3 - is it really 2k2?
    And we have a winner, for some reason the 3.3v connection is missing, it is missing on the board traces even though it was in the schematics so it seems to be my mistake and not a manufacturing error... So the chip is not powered.

    With a wire to do the missing connection it works perfectly now!

    Thank you for the help

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •