Powering 2 60-LED NeoPixel strips, from a distance

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

Here's the big picture first:

I have 1 60-LED strip, in a circle, facing inwards, and another 60-LED strip (though having more pixels per inch), in a circle facing outwards. They will probably be glued to a 'cloudy' donut-shaped piece of plexiglass to see the colors well. And the idea is to place this "ColorRing" on a wall somewhere in the house. And of course, it needs power, GND, and Data (1 or 2 lines) running to it. And I don't just want the power supply & Arduino board just sitting on the floor right below the ring, I'd like it below and off to the side (like behind a bookshelf or something) - so it might be 4-5 meters away from the ring.

My power supply is 5V 10A, so plenty for the 2 strips. Also, I do plan on lighting all 120 LEDs to white at times, so I need to plan on 60mA * 120 = 7200mA running through the wires at times.

I've learned that the longer the wire (and the thinner the wire), the more resistance is has & the more resistance, the greater the voltage drop. I'm wondering if this is something I should be concerned about or not? What's the minimum thickness of wire I should use to power the 2 strips from a power supply that's 5 meters away or so? Also, is there a maximum thickness I shouldn't surpass either?!

Actually, I have the same question for the 2 data lines (1 for each strip) - what's the minimum width I should use? (and max, if there is a max?).

Or maybe I'm asking the wrong question - given that I'll be drawing 7.2A at times, should the question maybe be: what thickness of wire can handle 7.2A of current (at 5V)?

Thank you so much for your thoughts & help!

User avatar
adafruit_support_bill
 
Posts: 86258
Joined: Sat Feb 07, 2009 10:11 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by adafruit_support_bill »

For that much current you should run a fairly heavy-gauge wire to avoid the voltage drop. I'd recommend 14 awg or heavier.

The data wire does not carry significant current, so it can be fairly thin. But you may need some buffering for driving that distance. What type of led strips are you using?

User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

Hi Bill,

Thanks for your reply. The 2 strips I'm using are:
https://www.adafruit.com/products/1461 (60 LEDs / meter)
https://www.adafruit.com/products/1506 (144 LEDs / meter)

What do you mean by "buffering"?

Thanks again!

User avatar
adafruit_support_bill
 
Posts: 86258
Joined: Sat Feb 07, 2009 10:11 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by adafruit_support_bill »

The neopixel signal can degrade over long distances due to capacitance in the wire. And Neopixels are pretty sensitive and can be damaged by any noise that might be picked up in the wire.
See this post for an example of a buffer: http://forums.adafruit.com/viewtopic.ph ... 9&p=278523

User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

Ok, so it looks like the 2 strips I'm using (mentioned above) both use the WS2812B 4-pin chip, which from the buffer example link you sent, I gather that they ARE more susceptible to noise in the wires.

I'm a little concerned that you mentioned that they might be damaged by noise picked up in the wire. I can't picture how that could happen (too much voltage? too little? or just faulty serial data timing?!)

I'd like to be a little more sure of what I'm dealing with here, so my setup works well, & doesn't end up destroying pixels.... Can you point me to a link somewhere where I can learn this subject a little more deeply? (I tried a google search, but words like "buffer" and "wire" and "data signal" are too generic, so I can't seem to find what I really need to read up on.)

Another question regarding the "buffer" - does it affect the data rate? Or does it just basically "clean" the signal up (take out the noise)?

Thanks again so much for your guidance!

User avatar
adafruit_support_bill
 
Posts: 86258
Joined: Sat Feb 07, 2009 10:11 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by adafruit_support_bill »

I'm a little concerned that you mentioned that they might be damaged by noise picked up in the wire. I can't picture how that could happen
These two posts by Mike from our engineering support staff describe what kinds of things go on at the electrical level on the signal line.

These posts were from early on in our experience with the WS2812B chips as we were trying to figure out why so many first-pixels in the strips were dying.

http://forums.adafruit.com/viewtopic.ph ... 3&p=258323
http://forums.adafruit.com/viewtopic.ph ... 3&p=258323
Another question regarding the "buffer" - does it affect the data rate? Or does it just basically "clean" the signal up (take out the noise)?
That is correct.

User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

Thanks. Though you posted the same link twice. Can you also post the 2nd of the 2 posts from Mike?


User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

Ok, this information has been helpful - thank you! Now I'm trying to implement it into my circuit, though I'm still having trouble knowing what I should do.

Regarding protecting the data line (to protect the first pixel):
In mid March, in this post (http://forums.adafruit.com/viewtopic.ph ... 3&p=258323), Mike suggested:
Putting a series resistor at the WS2812 end of the wire
Is this the same resistor that's mentioned in: https://learn.adafruit.com/adafruit-neo ... no-library in red where is says:
Adding a ~470 ohm resistor between your microcontroller's data pin and the data input on the NeoPixels can help prevent spikes on the data line that can damage your first pixel. Please add one between your micro and NeoPixels!
I would imagine it's referring to the same resistor, though the uberguide doesn't mention WHERE to place the resistor, and Mike says that it's important that it be at the WS2812 end of the wire.

Also, however, Mike mentioned in 04 June (http://forums.adafruit.com/viewtopic.ph ... 9&p=278523):
The WS2812B does seem to be a bit more picky about the signals it accepts, but you can make an input buffer with a couple of transistors
Since this is a newer post, I'm wondering if it's meant as a replacement for the 470 ohm resistor solution?

Assuming we just need to add a resistor:
Currently my NeoPixel strips are still in the state that I bought them (the end of the strip has 5 wires (about 10cm in length) already soldered, and 3 of them going to a 3-pin header connector). Given this, where should I connect the 470 ohm resistor? At the 3-pin header connector (which is about 10cm from the first WS2812 chip)? Or should I unsolder the 5 wires, then solder the resistor right where the strip starts?

Assuming we need to build a buffer:
Does it matter where it's placed? Near the Arduino? Near the strip?

Thank you again for the clarifications & guidance.

User avatar
adafruit_support_bill
 
Posts: 86258
Joined: Sat Feb 07, 2009 10:11 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by adafruit_support_bill »

Mike talks about two resistors, one in series and one from the signal line to ground. Both should be installed as close to the first pixel as practical.

However, the buffer is a more robust solution. And given the long distance, I would recommend it in your case. It too should be installed as close to the first pixel as practical. You do not need the resistors if you are using the buffer.

User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

On my workbench (still close distances / short wires), I decided to try adding the 470 ohm resistor between Pin 6 and DIN of the NeoPixel Strip. The strip doesn't work at all when I do that. If I take out the resistor, and just directly connect pin 6 to the DIN line again, it works just fine. Sounds like what @Pat01 was saying in his comments.

Are you guys SURE "Adding a ~470 ohm resistor between your microcontroller's data pin and the data input on the NeoPixels" is a good idea? Or the "right" idea? Have others in your lab tried it? Just asking because I don't think I could mess up adding a resistor, in series, between 2 points... I'll attach some pictures too (wide angle & zoomed), just to be sure I'm doing the right thing.

Also, FWIW, I also tried connecting the resistor directly into pin 6 (not via the breadboard) - still didn't work. I also measured the resistor with a DMM - 469 ohm.

Thanks for looking into this.
470 ohm Big Picture
470 ohm Big Picture
IMG_1430-001.JPG (138.23 KiB) Viewed 1029 times
470 ohm Zoomed
470 ohm Zoomed
IMG_1430-002.JPG (156.72 KiB) Viewed 1029 times

User avatar
adafruit_support_bill
 
Posts: 86258
Joined: Sat Feb 07, 2009 10:11 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by adafruit_support_bill »

Are you guys SURE "Adding a ~470 ohm resistor between your microcontroller's data pin and the data input on the NeoPixels" is a good idea?
We build these into the neopixel devices we produce in our own factory. Many of our strip products have them on the first pixel as well. The ideal size for the resistor depends on the length and characteristics of the signal wire, which we have no control over, so the ~470 ohms is a middle ground estimate.

The active 2-transistor buffer is a better solution. A 74AHCT125 also makes an effective buffer for neopixels. https://www.adafruit.com/products/1787

User avatar
briggsm
 
Posts: 44
Joined: Thu Oct 24, 2013 11:17 am

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by briggsm »

What kind of transistors? (for the 2 transistor solution) I'm not too familiar with them, but I thought there were many different types & characteristics... If possible, can you list some possible part #'s (from you or DigiKey or somewhere)? Thanks.

User avatar
adafruit_support_mike
 
Posts: 66616
Joined: Thu Feb 11, 2010 2:51 pm

Re: Powering 2 60-LED NeoPixel strips, from a distance

Post by adafruit_support_mike »

It's true that there are lots of transistors out there, but the buffer doesn't need anything special. It would take some effort to find a kind that wouldn't work.

The BJTs I use as jellybeans are the 2N3904 (NPN) and 2N3906 (PNP), which have been around since the 1960s and have a whole lot of engineering history behind them. The BC54x series is about the same age and is equally generic.

The PN2222s we have in the shop (http://www.adafruit.com/product/756) can handle a bit more current than the 2N3904, but will work just fine for the buffer in question.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”