Shop OBEX P1 Docs P2 Docs Learn Events
Protecting a WS2812B LED from Losing Ground. — Parallax Forums

Protecting a WS2812B LED from Losing Ground.

Duane DegnDuane Degn Posts: 10,588
edited 2013-12-26 04:38 in Propeller 1
One of my projects involves using rings on a PCB to transfer power and data to a ring of WS2812B LEDs mounted on an ActivityBot wheel.

I've burned out several LEDs in my experiments. Of the 16 LEDs in the ring, the only one to die is always the first in the ring.

In an effort to understand what was burning out the LED, I experimented with one of my single WS2812B PCBs. I found the LED would remain lit if the even if the ground connection was removed. I'm guessing the low pulses on the data line are enough to sink the required current to power the LED. I wasn't able to kill the single LED with any combination of 5V and ground across any of the pins (including reverse polarity). I think the problem arises when there are multiple LEDs in the strand. I think multiple LEDs will pull additional current through the data pin of the first LED and this is what burns out the LED.

Though I haven't confirmed this, I think I had a bad connection between the pogo pin and ring used on the ground line the times the LED burned out.

attachment.php?attachmentid=105730&d=1387844122
The ground ring is on the outside, 5V on the inside ring and signal in between the two power supply rings. My thought was to keep the 5V and ground away from each other to avoid shorts. I'm using pogo pins as brushes.

I'm getting tired of replacing LEDs in the ring. One thought I had (which I don't like) is to use a sacrificial LED at the beginning of the chain that can be easily removed. The LED could even be on the inside of the wheel.

I figure there has got to be a better way.

JonnyMac suggested the use of a TC4427 drivers to boost the Prop's 3.3V signal to 5V. I was planning on using a TC4427 on my next revision of power and data transfer rings. What I'd like to know is if the TC4427 would also solve my lost ground problem?

Do any of you know if the TC4427 would output logic pulses if it lost its ground connection?

I'm in the process of designing a new ring PCB (with larger rings and more space between the rings) and I'd like to include pads for any ICs that would protect the LEDs.

I need some way of making sure data line isn't active if the ground line isn't connected.

Besides including a level shifting IC on the rings PCB, I also plan to add a cap or two between 5V and ground lines to reduce the effect of any intermittent power losses caused by the brushes loosing contact with the rings.

I'd appreciate any help on selecting an appropriate IC to protect the LEDs and hopefully take care of the 3.3V to 5V level shifting at the same time. These WS2812 LEDs are one of the few 5V devices I've found that don't reliably work with 3.3V logic.
489 x 307 - 74K

Comments

  • JonnyMacJonnyMac Posts: 9,107
    edited 2013-12-23 18:54
    Do any of you know if the TC4427 would output logic pulses if it lost its ground connection?

    Doubtful; the output of the TC4427 is a totem-pole structure switching VDD and GND with FETs
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-23 19:26
    JonnyMac wrote: »
    Doubtful; the output of the TC4427 is a totem-pole structure switching VDD and GND with FETs

    This is what I'm hoping. It would be nice to "kill two birds with one IC".

    Is there a reason to look for a single channel IC? Or is it not worth the bother of having an additional part in ones inventory?
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2013-12-23 20:15
    Why not make a little PCB with a micro and button cells that completely attaches to, and turns with, the wheel, thus obviating the need for wipers to make connections?

    -Phil
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-23 20:51
    Why not make a little PCB with a micro and button cells that completely attaches to, and turns with, the wheel, thus obviating the need for wipers to make connections?

    -Phil

    Well first off, half the point of this is to try my hand at making a wiper and ring gizmo.

    Some other reasons why not (though I'm not excluding the possibility) is expense. These WS2812 LEDs can't be controlled with a little ATtiny uC. The only micro I know how to program (all of which I can count on one hand (even if the hand were missing a few fingers)) capable of driving these is the Propeller. At about $6 a pop (25 at a time from Digi-Key), it would considerably increase the cost of the board. Though I start to think about other things (sensors) that could be added to the board and it starts to look like an interesting idea.

    I also want the LED patterns to react to various sensors. I'd want the pattern to respond to the speed the wheel is turning. I could add small RF transceiver to the PCB for communication but that sure adds a layer of complexity to the project.

    I suppose another concern is how long button cells would last powering the 16 (really 48) LEDs in the ring. I have a couple of contactless charging units that would fit behind an ActivityBot wheel. It could be used the power the small PCB but at a huge efficiency loss.

    A self-contained PCB for the wheel sounds like an interesting project, but it's not one I want to pursue right now.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2013-12-23 23:15
    Makes, sense, Duane. All valid reasons! :)

    -Phil
  • OldFartRadiomanOldFartRadioman Posts: 30
    edited 2013-12-24 06:28
    I have a Atiny running 4 eight LED strips on my bike helment
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-24 09:43
    I have a Atiny running 4 eight LED strips on my bike helment

    But which LED strips? The LEDs that use a separate clock signal aren't so picky about the pulse timing. I'm not aware of any other individually addressable RGB LEDs with an internal control chip.

    The internal control chip is important in this particular application since it allows the LEDs to be placed close together without the need for additional ICs.

    attachment.php?attachmentid=105742&d=1387906524

    There's barely room for a few decoupling caps on the above ring. There isn't room for WS2801 chips. I suppose something could be worked out if I really wanted to use an ATtiny (which is one of the few uCs I have experience with) with this project. But as I told Phil, I really want to be able to control the patterns on the LEDs from the uC controlling the robot.

    Have you documented your bike helmet project anywhere? I'd like to see it.
  • OldFartRadiomanOldFartRadioman Posts: 30
    edited 2013-12-24 10:07
    I am using the Adafruit ws2812 eight led Neopixel strips and their neopixel library modified for Atiney85
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-24 10:13
    I am using the Adafruit ws2812 eight led Neopixel strips and their neopixel library modified for Atiney85

    Very cool. Thanks for letting me know.
  • OldFartRadiomanOldFartRadioman Posts: 30
    edited 2013-12-24 10:28
    bike helment.jpg
    This was quick and dirty the board tucks into the slot in the helmet, three more strips are daisy chained. The code is a very slightly modified version of strandtest.
    1024 x 683 - 70K
  • TubularTubular Posts: 4,703
    edited 2013-12-25 11:37
    Duane I have thought a bit about the burnt out led but I can't come up with a reason why that first one would always be the one that goes, especially if you're driving the data from a (current limited) prop pin. You shouldn't need a strong buffer/driver or logic level shifter but I guess it's worth a try. You could also try "terminating" the data signal to ground via several hundred ohms (on the wheel mounted pcb), or increasing the capacitance significantly to help cover brief power outages.

    I'm about to try an adafruit slip ring with a neopixel stick (kind of projected PoV application) and may encounter the same issues, although not if the slip ring does its job properly.
  • OldFartRadiomanOldFartRadioman Posts: 30
    edited 2013-12-25 13:48
    Easy to buffer power and ground, perhaps drive DI with multiple fixed IR leds and 1 IR RX on wheel?
  • YanomaniYanomani Posts: 1,524
    edited 2013-12-25 19:13
    Duane Degn

    I don't know if there are any chances for some pogo pins placement redistribution, so they can be evenly distributed along the perimeter, in a triangular shaped arrangement, 120º apart of each other?

    I was wondering about any mismatch on contact pressure distribution, caused by circuit board planicity imperfections, generating or amplifying some almost unnoticeable wobbling, when the wheels are spinning.

    I'd also noticed the pogo pins are touching solder dipped copper tracks, whose by nature, are rough and wavy surfaces, due to production proccess induced thermal cycling during cooling, when viewed at some microscopic level, the pogo pins may slightly be "kicking" over the solder surface, generating some sparking, although almost unnoticeable, other than "frying" the first WS2812B led.

    I know the board was already designed and produced, but IMHO, it can be a lot better to place the contact rings the closer to the axle as possible, being the ground ring, the inner one, based on the currently observed problems. Only to minimize the chances of contact pressure related issues.

    Also viewed under a microscope, the pogo pins can be touching the surface in some slightly deviated angle, other than an angle normal to the surface plane.

    As the rotational speed increases, frictional forces could generate some pogo pins "kicking" at the contact surface, yet amplified by their internal compression springs.

    If the wheels are intended to change their rotational movement direction, at each change there are even greater chances of contact pressure mismatch to occur.

    Only my two cents.

    Yanomani

    P.S. Pogo pins internal construction and movements can be better viewed at the following link:

    http://www.pccp.com.tw/index.php?option=com_content&view=article&id=118&Itemid=160
  • YanomaniYanomani Posts: 1,524
    edited 2013-12-25 20:20
    Elaborating a bit on the problem, if it could be practicable to embed some optically coupled galvanic insulation technic at the data circuit.
    Then only the two power distribution rings would be needed.

    This way, some reasonable decoupling cap could deal with any power outages, induced by sparking at the contact surface.
    Sure it will not totaly avoid minor flutuations, but the opticaly insulated data receiving circuit would be experimenting the same effects, totaly in sync with the internal (to the circuit board) power lines.

    Does anyone has any previous experience with clear acrylic sheet crafted light distribution rings?
    And the feasibility of data transmission relying on any approach like this one?
    Also, without having to use some tiny microcontroller to filter received data?

    There is also the problem of available space and directing light beams into the acrylic sheet plane, and the amount of transmited versus perceived luminous power, but IMHO it can be worked out, by using three transmitting leds, connected in parallel, driving the outer ring, and burying the receiver lenses into a hole, carved at inner acrylic ring's perimeter.

    Perhaps some delusion of mine, perhaps a good idea.
    Does someone knows the answer, for sure?

    Two more coins to the pot.

    Yanomani
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-25 21:07
    bike helment.jpg
    This was quick and dirty the board tucks into the slot in the helmet, three more strips are daisy chained. The code is a very slightly modified version of strandtest.

    That's a very cool mod to your helmet. I'm very pleased to know an ATtiny can drive these LEDs. Besides the Prop, the ATtiny84 is my most frequently used chip (though I don't use it much compared with the Prop).
    Tubular wrote: »
    Duane I have thought a bit about the burnt out led but I can't come up with a reason why that first one would always be the one that goes, especially if you're driving the data from a (current limited) prop pin. You shouldn't need a strong buffer/driver or logic level shifter but I guess it's worth a try. You could also try "terminating" the data signal to ground via several hundred ohms (on the wheel mounted pcb), or increasing the capacitance significantly to help cover brief power outages.

    I'm planning on adding some capacitors to the transfer ring PCB. When you say "terminating" the data signal, do you mean at the final data out pin on the last LED of the ring?
    Tubular wrote: »
    I'm about to try an adafruit slip ring with a neopixel stick (kind of projected PoV application) and may encounter the same issues, although not if the slip ring does its job properly.

    According to the AdaFruit website these LEDs have a 200Hz internal refresh rate. So even though you can get the data out to the LEDs quickly, I'm not sure a POV would look good with these particular LEDs.

    BTW, a slip ring is cheating! :smile:
    Easy to buffer power and ground, perhaps drive DI with multiple fixed IR leds and 1 IR RX on wheel?

    I'm not sure how well an this sort of data protocol would survive the being passed through an IR tx/rx pair. I'm not too worried about occasionally missing some of the data since the LEDs are mainly cosmetic. The transfer ring will also be close to a set of IR encoders so I'm not sure if additional IR would cause problems with the encoders.
    Yanomani wrote: »
    Duane Degn

    I don't know if there are any chances for some pogo pins placement redistribution, so they can be evenly distributed along the perimeter, in a triangular shaped arrangement, 120º apart of each other?

    Not really. I'm squeezing the pogo pins in between the servo and the ActivityBot's chassis. There's a little bit of room for the pogo pins but they all need to be in a line.
    Yanomani wrote: »

    I was wondering about any mismatch on contact pressure distribution, caused by circuit board planicity imperfections, generating or amplifying some almost unnoticeable wobbling, when the wheels are spinning.

    I'd also noticed the pogo pins are touching solder dipped copper tracks, whose by nature, are rough and wavy surfaces, due to production proccess induced thermal cycling during cooling, when viewed at some microscopic level, the pogo pins may slightly be "kicking" over the solder surface, generating some sparking, although almost unnoticeable, other than "frying" the first WS2812B led.

    I can assure you there are not "microscopic" imperfections in the tracks; the imperfections are very "macroscopic" aka "huge". I was afraid the gold plating OSH Park provides would wear off quickly so I tried to coat the tracks with a layer of lead free solder. While I generally use lead solder with my hobby electronics I used lead free solder in this case since I didn't want the robot trailing lead dust from the tracks. I also thought the lead free stuff might be more durable than lead solder. There was a lot of "kicking" going on. I would even hear it while the wheels turned.
    Yanomani wrote: »
    I know the board was already designed and produced, but IMHO, it can be a lot better to place the contact rings the closer to the axle as possible, being the ground ring, the inner one, based on the currently observed problems. Only to minimize the chances of contact pressure related issues.

    The rings are as close to the center of the wheel as I can get them and not have them blocked by the servo. While the design has been produced, I only had three boards made (the minimum order). I'm in the process of making a new version. Some of the rings in the newer version will be larger than the rings in the first version. I wanted to have the tracks a bit wider and I also wanted enough space between tracks that if a pog pin were to get bent, it couldn't touch two tracks at once.
    Yanomani wrote: »
    Also viewed under a microscope, the pogo pins can be touching the surface in some slightly deviated angle, other than an angle normal to the surface plane.

    Once again, you don't need a microscope to see the problems with my pogo pins. These pins started out with points and I used an abrasive disc to sand off the points. I did just receive in the mail some "D" versions of the pogo pins which have a rounded head.
    Yanomani wrote: »
    As the rotational speed increases, frictional forces could generate some pogo pins "kicking" at the contact surface, yet amplified by their internal compression springs.

    If the wheels are intended to change their rotational movement direction, at each change there are even greater chances of contact pressure mismatch to occur.

    Thanks the extra information. I really do appreciate yours and everyone else's ideas but this is far from a serious issue. It's an experiment in adding fun but completely impractical LEDs to my robot. I also wanted to try the pogo pin / ringed track idea. I don't think this first attempt gave the combination as good of a chance for success as may be possible using this technique.
    Yanomani wrote: »
    Two more coins to the pot.

    Thanks for more ideas. This is kind of fun problem to think about IMO. It would be interesting to see how of these various methods mentioned would work.
  • MJBMJB Posts: 1,235
    edited 2013-12-26 04:38
    Duane Degn wrote: »
    I need some way of making sure data line isn't active if the ground line isn't connected
    HI Duane, here a simple PNP transistor might do the work.
    It is placed on the wheel, base gets an R to GND. and the data line goes through the other pins.
    No ground -> no signal.
Sign In or Register to comment.