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

Thread: Large Led Matrix (TLC5940)

  1. #1
    Junior Member
    Join Date
    Sep 2018
    Posts
    9

    Large Led Matrix (TLC5940)

    Hello,

    I've been developing a large modular LED matrix using the TLC5940 chip/library and teensy 3.2.

    I got 16 x 16 LED PCBs fabricated and so far I have one fully assembled and working perfectly. However, I soldered the first 16 LEDs and 1 TlC chip to a new pcb and tried connecting the fully assembled matrix with the partially assembled matrix totaling 17 TLC chips and I'm having two different issues. And I'm almost certain it's not hardware related.

    In the 'tlc_config.h' file I updated the '#define TLC_CHANNEL_TYPE' from uint8_t to uint16_t as it says to do so when using more than 16 TLC chips.

    The first issue is that I can only run the provided examples from the library at 24Mhz cpu speed without glitches in the animation. However 16 chips is perfectly fine at 72Mhz. Any ideas on why this might be?

    Second Issue: The way I'm driving the LEDs is through a program in processing that playbacks video, samples colors, and sends strings of data over serial to the teensy. This works perfectly with the 16 TLCs, but freezes and crashes immediately when the '#define TLC_CHANNEL_TYPE' is changed from uint8_t to uint16_t. This behavior is really puzzling to me. I'm fairly certain changing the channel type is causing the program to freeze and I also know it has something to do with the serial port because when I don't send serial commands the app doesn't crash. Anyone have any idea on why this is happening and any possible solutions?

    Thanks

    Code:
     #include "Tlc5940.h"
    
     void setup() {
       Serial.begin(9600); // Start serial communication at 9600 bps
       Tlc.init();  
     }
     void loop() {
       if (Serial.available() > 0) {
    
        if (Serial.read() == '\n'){
    
         int led = Serial.parseInt(); 
         int brightness = Serial.parseInt(); 
      
         Tlc.set(led,brightness);
         Tlc.update();
         
         }
       }
    }

  2. #2
    Junior Member
    Join Date
    Sep 2018
    Posts
    9
    Hi,

    Iím still struggling to figure out why my led matrix is having issues running at higher cpu speeds. To recap, I have multiple pcbs each with 256 Leds and 16 TLC5940 chips. One panel runs fine at a 72mhz cpu speed on a teensy 3.2, but to run 2 panels I have to lower it to 24mhz. I attached a video showing two panels running first at 24mhz and then at 72mhz. Iíve discovered if I clip the sclk data line going from one board to the other the flickering is almost completely reduced and then if clip the gsclk line the flickering stops completely, but Iím not sure how to completely identify the true issue and how to fix it. Iíve attached the schematic. Does anything jump out immediately as problematic?

    Link to a video and schematic: https://www.dropbox.com/sh/hh0tqbu72...rDVZzYCEa?dl=0
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	c_sch.pdf.jpg 
Views:	7 
Size:	64.3 KB 
ID:	16508  

Posting Permissions

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