WS2801 LED Strip is getting over powered [SOLVED]

Hello,

I've been playing with my Arduino's for a while now and most recently I picked up some WS2801 LEDs. The type I use is the 12v 36mm square.
The strips come with 20 LEDs and I chose a random adapter to power it. I also have 12v 36mm LPD6803 that I currently use for Ambilight and some other stuff so I changed a few lines of code in one of my libraries and the WS2801 worked without problem. The random power adapter is a 12v 800mA.

For this project though I will only need to power 5 LEDs. With the LPD6803 that isn't a problem. I can just cut off the 5 LEDs and power those, pretty easy!
The ws2801 strip has problems, when I use less than 10 LEDs it is getting over powered. I tried adding a resistor somewhere and it started to get very hot!

I've been reading around a little and I think this can be done with resistors.

btw the data sheet specifies that each LED can take up to 40mA per channel and 120mA per LED. For 5 LEDs this totals 600mA which is why I think the adapter should be fine for this project. How it can power the entire strip I have no clue. 20x120mA = 2400mA (3 times the capacity of the supply) yet it works perfectly.

Thanks for all the help!

Fexduino:
The ws2801 strip has problems, when I use less than 10 LEDs it is getting over powered!

No it isn't, it works perfectly.

Fexduino:
How it can power the entire strip I have no clue. 20x120mA = 2400mA (3 times the capacity of the supply) yet it works perfectly.

No it doesn't. Not if you set all the LEDs to white at the same time.

Okay that was not particularly helpful.

No it isn't, it works perfectly.

If your point is that this behaviour is expected, then help me figuring out what to do!
The LPD6803 chips do not have this behaviour. I can simply attach one LED to the 12v PSU without 'issues'

Let me add the following. The 800mA adapter I am using can power the LEDs. When I put all of them on full white I feel like sunbathing without the warmth. I also have a 12v 5A power supply that gives me exactly the same result in terms of brightness. That supply unfortunately makes the LEDs very HOT so I tried another one (800mA).

You need less volts, not less amps. Try a 5V power supply (3A minimum).

Fexduino:
The type I use is the 12v 36mm square.

Be very careful with that assumption. Just because the vendor said they're 12V does not mean they are. Especially if you purchased them from a Chinese vendor. I've had things labeled 5V when they're 12V and labeled 12V when they're 5V. Unless you're seeing a zener diode somewhere in the circuit, they're 5V. Anything over 5V and those ICs will need a zener to clamp the voltage.

Thanks for answering guys, the both of you!

The reason I have assumed they are 12v is:

  • The friendly chinese sales person told me
  • The previous 36mm LPD6803 was also 12v. The IC and LEDs themself might need less but I assumed it was because of the total number of leds (3x20)
  • The Adafruit website also specifies 12v
  • The PCB says 12v (see picture below next to red wire
  • The strip does what it needs to do on 12v when longer than 10 pixels

Now, I have tried hooking it up to 5v. Nothing happened. I have attached a picture for you guys of one of the pixels:

This is the link on Ada:

What I find so strange is that the other LED strip (LPD6803) I have doesn't get hot at all. Also it allows me to attach just a single pixel which works fine.

Does the other strip have that zener diode?
I'm so confused! :slight_smile:

Yeah, there's a zener on there, you can see it in the picture. So yeah, those would be 12V. So perhaps those are not meant to be driven with strings shorter than 20? I don't know, never used them.

Thanks for the help everybody, this problem is solved!!

A buddy of mine came over and taught me how to correctly measure the voltage and amps used by this led.
It turns out all of my theories were wrong (which I could have known) and the solution was very simple.

The first measurement I took showed me that the 12v adapter I was using really outputted 18v. The thing is really old and I should have never even used it.
My friend immediately knew that this was the culprit and upon further inspection we noticed that the 20 strand strip also had the same color problems, just hardly visible.

I have another beasty PSU that I am using to power my ambilights (LPD6803) that supplies 12v 5A, when I measured that the multimeter gave the exact 12v result and the problem was solved.
One of the mistakes I made was thinking I needed to supply less amps for less leds but that doesn't make sense at all. A shorter strand just draws lesser amps right?

Sorry but I am just a Arduino beginner that wanted to program some leds with c++. 8)
Now I'm back to what I am good at .. writing code ..

(does anybody what to see my project, do you have showcase forums for that?)

Fexduino:
One of the mistakes I made was thinking I needed to supply less amps for less leds but that doesn't make sense at all. A shorter strand just draws lesser amps right?

It's called Ohm's law. It's the reason your lightbulbs don't draw the full terawatt that comes from your power station.