Go Down

Topic: Hi. Control 24V LED strip by Multiplexing. HELP Please!! (Read 919 times) previous topic - next topic

PaulRB

Yes, we can work together. The code will be simple. You can look for circuits driving 7-seg displays using 74hc595 to understand the principles. Do not be concerned about multiplexing, simply circuits in which one 74hc595 drives each digit.

Bigtimer

Hi mate

i've been having a look this weekend and found this potential set up for a circuit.

Just wondering, do you think we would be better to run each SER IN pin on the TPIC6596
from its own data pin on the Arduino rather then running them in a daisy chain as shown ?

Circuit

Have you found anything better?

Grumpy_Mike

#17
Nov 18, 2018, 09:36 pm Last Edit: Nov 18, 2018, 09:41 pm by Grumpy_Mike
Quote
Just wondering, do you think we would be better to run each SER IN pin on the TPIC6596
from its own data pin on the Arduino rather then running them in a daisy chain as shown ?
This is an instructables article, and they are nearly always crap. Two things about this one is :-

1) This is not multiplexing. So that shows you how much the author dosn't know.
2) There is no decoupling capacitors on any of the shift register, so it will be unreliable.  

Quote
Just wondering, do you think we would be better to run each SER IN pin on the TPIC6596
from its own data pin on the Arduino rather then running them in a daisy chain as shown ?
You don't gain a lot and it makes the software more complicated.


Quote
Have you found anything better?
Anything without instructables in the URL stands a 50% chance of being better.

This is a standard multiplexing circuit for common cathode displays.


For common anode displays use PNP transistors or P-channel FETs.

For a voltage greater than 5V you have to drive the PNP transistor with an NPN one.

Bigtimer

Hi Mike

So i'm using 24V LED strip, how would that curcit look?

Quote
For a voltage greater than 5V you have to drive the PNP transistor with an NPN one
I don't know what that looks like either

PaulRB

The instructable you found is interesting because the author gives lots of great and very sensible advice, such as buying common anode displays, or advantages and limitations of various types of shift register. And yet in other respects he clearly hasn't much idea of what he is talking about. As Mike pointed out, he does not seem to understand what multiplexing is, and his observations on Charlieplexing are just plain wrong.

The problem with Instructables is that the moderators are very strict and don't allow any criticism of the articles posted, even when those articles are dumb, or wrong, or even verging on dangerous.

Bigtimer

ok well i'm going to make all of my separate 28 LED strips run dictly of a 24V power supply, just like having 4 common anode displays.

then how would I use 4 TPIC6B596 to control the ground pins of each LED strip


Grumpy_Mike

You have to decide if you want a multiplexed display other not.
If you are then you don't need a shift register.

If you are not you need one.

Most single colour LEDs strips can be treated as a common anode with the direct connection to the positive voltage and you can switch them with an NPN transistor. That is switch the ground.

Bigtimer

I Want to go for the most simple option which ever that is. I guess that's the none multiplexed option using shift registers?

I trying doing this before with a multiplexed method but i believe this too be all wrong and didn't work.

So how would I then control the NPN transistor from the arduino using a shift register, specifically the TPIC6B596.




Wawa

With TPIC6B595 chips you don't need anything else (except for a 100n decoupling capacitor on the power pin).
Each chip can directly drive eight 15cm 24volt strips (~60mA each).

If you want it easier (and more expensive), then buy the chip on a breakout board.
Example code on the same site.
Leo..

Bigtimer

what am i doing wrong here, the shift register is working. it will light up the LED's me sequence. however it will not light up the LED strip. it just always has a slight glow.

the is Using a 74HC595 Shift Register

i am using PNP transistors.

Code: [Select]
int latchPin = 8;
int clockPin = 6;
int dataPin = 10;
byte leds = 0;
int currentLED = 0;

void setup()
{
    pinMode(latchPin, OUTPUT);
    pinMode(dataPin, OUTPUT);
    pinMode(clockPin, OUTPUT);

    leds = 0;
}

void loop()
{
    leds = 0;

    if (currentLED == 7)
    {
        currentLED = 0;
    }
    else
    {
        currentLED++;
    }

    bitSet(leds, currentLED);

    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, leds);
    digitalWrite(latchPin, HIGH);

    delay(250);
}

Wawa

I don't see any base current limiting resistors.
Without that you will fry the 595 chip and/or the transistors.

Post a diagram.
Leo..

Bigtimer


Wawa


Grumpy_Mike

You seem to be lacking a lot of fundamental information that you need for your project. I fear this is going to severely hamper you getting going without damaging things.

That photograph ( which is useless for trying to communicate circuits by the way ) you say you are using PNP transistors. That points to the fact that you don't know how transistors work. Please study this page:- http://electronicsclub.info/transistorcircuits.htm
Please ask if there is anything you don't understand, especially about the different ways PNP and NPN transistors word. First get your head around the NPN transistor, then try and think of a PNP transistor as an "upside down" transistor.

Bigtimer

sorry i meant to say NPN transistor

thanks for the article i've read through it and had ago at some of the equations. according to my math it should be working i just don't understand why its not.

transistor data sheet

Vs = 24V
RL = 606 ohms (i think, that's all the 6 Resistors on each 15cm strip) "101 ohms each"
Ic = 0.039

Maximum out put from IC from data sheet = 50mA

Vc = 24v  :smiley-confuse:

Vc = IC supply voltage (usually this is Vs but it will be different if the IC and load have separate supplies).

mine have separate supplits I think... so what is IC?

Ic(max) > 0.039

hFE = 24/3.5 = 6.85

hFE > 5 x 0.039/0.050

hFE > 3.9

RB = 0.2 x 606 x3.9

RB = 32.88?  :smiley-confuse:

or is it !

RB = (24 x 3.9)/(5 x 0.039)

RB = 480 ?  :smiley-confuse:






Go Up