Go Down

Topic: WB2812Bs with FastLED & Mega2560 (Read 1 time) previous topic - next topic

Rydogdav

One last time:


Replace that pixel with a new one.

Does your DVM measure +5V when you put your leads across VCC & VSS?

Did you try a different I/O pin on the Arduino?

Sorry. Thought I already addressed this. Yes, it reads a correct voltage. Yes, I've tried a different LED. And yes, I've tried a different I/O pin.

Paul__B

#16
Nov 03, 2019, 10:51 pm Last Edit: Nov 03, 2019, 10:56 pm by Paul__B
As Larry has said, the lack of the capacitor is not the cause of complete failure to work, but it is specified and indeed as is so often pointed out on this forum, a bypass capacitor is specified for every IC used - and these LEDs are of course, just that - ICs.  (I first typed "logic IC" but that is in itself, misleading as the requirement is no less critical for analog ICs!)

I suppose two things remain: I am not familiar with FastLED, but Larry has verified your code.

OK, just disconnect the wires from the PCB and carefully connect them to the correct pins on one Pixel.

Your PCB is in any case completely useless for the lack of the 0.1 µF chip ceramic capacitor for each chip and the wrong power traces.

Rydogdav

As Larry has said, the lack of the capacitor is not the cause of complete failure to work, but it is specified and indeed as is so often pointed out on this forum, a bypass capacitor is specified for every IC used - and these LEDs are of course, just that - ICs.  (I first typed "logic IC" but that is in itself, misleading as the requirement is no less critical for analog ICs!)

I suppose two things remain: I am not familiar with FastLED, but Larry has verified your code.

OK, just disconnect the wires from the PCB and carefully connect them to the correct pins on one Pixel.

Your PCB is in any case completely useless for the lack of the 0.1 µF chip ceramic capacitor for each chip and the wrong power traces.
Connected the wires direct to the pixel, but to no avail. I'm currently reschemticing (let's assume that's a word) the board to include 0.1uf SMD capacitors. Thank you guys for your help so far. Hopefully we can figure out what is wrong.

Rydogdav

#18
Nov 04, 2019, 06:29 am Last Edit: Nov 04, 2019, 06:30 am by Rydogdav
Okay, so, I know I'm asking a lot, but if anyone can double check my work here, am I connecting C1 and C2 (the 0.1uf SMD caps) correctly for D1 and D2 (the WB2812Bs)? I apologize for overstepping my help if I am, but I'd really like to not wait another month for another batch of PCB to ship in from China, only to find out it still doesn't work.

larryd

#19
Nov 04, 2019, 06:32 am Last Edit: Nov 04, 2019, 07:52 am by larryd
Make up one of these then try it out on a solderless breadboard.



OR







No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

larryd

#20
Nov 04, 2019, 07:21 am Last Edit: Nov 04, 2019, 06:27 pm by larryd
There is no need to have your traces that close to the pads.

Here is a similar PCB that I made a while back.

You can see there is a GND pour and a thick +5V trace on the bottom side of the PCB.

The Xs are Vias.



Blue = GND (bottom), Red = +5V (bottom), Green = Top traces and White = Silk Screen.






No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

Paul__B

Positive rail could be wider and top ground traces could be continuous from one to the next.  In fact, the topside ground traces could instead, directly connect to the bypass capacitor for the same LED.  In this case (or indeed, in most), positive rail is carrying exactly the same current as the ground so deserves the same width!  :smiley-lol:

Rectilinear traces are wasteful.

Rydogdav

#22
Nov 07, 2019, 07:28 am Last Edit: Nov 07, 2019, 07:33 am by Rydogdav
Haven't got a chance to test another pixel with the breadboard setup quite yet, but meanwhile, I redesigned the board. Is this more like what you guys are thinking of? I'm struggling to understand exactly what you guys are suggesting, but I think I'm understanding enough to make changes in the direction you all are suggesting I take.
(Red = Top Layer, Blue = Bottom Layer, Green Circles = Vias)



larryd

#23
Nov 07, 2019, 07:58 am Last Edit: Nov 07, 2019, 08:02 am by larryd
Why are you avoiding putting wide power planes/pours under the pixels i.e on the side opposite where the pixels are mounted?

Do you understand that VCC & GND planes can be added to a PCB to supply low impedance power distribution to your circuit?

Your "DIG" trace is really close to the Vss and Vcc pads ???



It is highly recommended you place a large capacitor between Vcc and Vss.
A 450-1000uf should suffice.
Also There should be a series data line resistor somewhere on your DIG line.
Similar as seen here:








No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

Rydogdav

#24
Nov 08, 2019, 04:34 am Last Edit: Nov 08, 2019, 04:36 am by Rydogdav
Alright. So, got an LED to work on the breadboard, so it's clearly something with the board, not sure what though.

I am aware that a pour will lower impedance, so I am working on widening the power traces that run underneath the LEDs. Thank you for info on the data line resistor and the power supply capacitor. I will incorporate that into the design shortly. I will also fix the "DIG" trace now that I have my power traces running underground, so to speak.

larryd

#25
Nov 08, 2019, 05:00 am Last Edit: Nov 08, 2019, 06:57 am by larryd
If your PCB is 16 X 16 pixels it could take as much as ~15 amps.

For powering things, suggest your have 4 rows of pixels in parallel, therefore you will have 4 such groups.

I also suggest you then place a 0Ω 1206 SMD resistor in series with each VCC pad (to act as a last resort fuse).



Edit:




BTW
The 1206 zero ohm resistors I use typically have a resistance of 40mΩ.





No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

Paul__B

I am aware that a pour will lower impedance, so I am working on widening the power traces that run underneath the LEDs.
It's not just lower impedance and a matter of widening the power traces, it''s the lowest possible resistance because of those 15 Amps.

Your objective is to use virtually all of the PCB foil including as much of the top as possible, distributed such as to have the Vcc area almost as large as the ground.  As larryd demonstrated, but his was for a small array.  For yours, you need to make even better use of the copper.

larryd

No technical PMs.
If you are asked a question, please respond with an answer.
If you are asked for more information, please supply it.
If you need clarification, ask for help.

Rydogdav

If your PCB is 16 X 16 pixels it could take as much as ~15 amps.

For powering things, suggest your have 4 rows of pixels in parallel, therefore you will have 4 such groups.
Okay, so how do you suggest I power the 4 separate rows? Should I get a 20V DC power supply and run the 4 groupings in series to split the voltage across the 4 sections? Or is there an electronics trick I'm missing?
(Side note: I figured out how to do a copper pour in Eagle, so I'm working on getting a VSS pour going right now. Correct me if that's not what I'm supposed to be doing now or forever hold your peace :) )

Paul__B

Should I get a 20V DC power supply and run the 4 groupings in series to split the voltage across the 4 sections?
In short, no!  :smiley-eek:

So, you really are a bit new to electronics, eh?

Go Up