Page 3 of 5 FirstFirst 12345 LastLast
Results 21 to 30 of 45

Thread: WS2811 flicker but only at low brightness - Help please?

  1. #21
    Join Date
    Dec 2011
    Location
    UK S80 postcode
    Posts
    1,489
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Hi, you have done some serious testing with these. I went back to your first post.
    - programmed a sequence to have pixel 0 to 250 pixels permanently off and pixels 251 to 295 to ramp up and down solid red slowly - flashing on whole of the second half (251-495) at low brightness - exactly the same as if the first half was on as well.
    - disconnecting the data-in at the first pixel when set on a low brightness, causes all flickering to stop.
    (All 10x 50 pixel strands work on their own or in any combination up to 250 pixels all the time).
    Can I ask, you I think later state that Red is the worst offender at low values (20 ish), do the pixels just flash a brighter Red or other colours?

    When you disconnected the data, and the flickering stopped what did the pixels display nothing, the colour they were displaying at the time you disconnected the data or the correct colour and brightness?

  2. #22
    Join Date
    Dec 2011
    Posts
    6,393
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Better pixels that won't disappoint !

  3. #23
    Join Date
    Jun 2020
    Location
    UK
    Posts
    17
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Hi,

    When the string of 500 pixels is set to a low brightness level, the first 300(ish) pixels behave exactly as expected (steady low brightness), the remainder of the pixels randomly flash brighter red (tends to be brighter flashes the further away from the start flashing point, all the flashes are syned together) with the correct low brightness red in between the flashes. The same thing happens with any low brightness colour. ( I just use test mode 24/255 on red as it is my "reference worst case".

    I tried a full 1000 pixels: similar behavior to above up to around 750 pixels but then random red, green and blue flashes in large blocks of the same colour, (pixel 1 to 300 = no flashing. Pixel 300 to 750 bright red flashes. Pixel 750 to 1000 very bright RGB flashes). All flashes synced together. Full white and bright levels - no problems.

    Also tried loading the PSU with a couple of high wattage resistors to give a constant additional 6 amps of load (thinking the PSU may not be able to regulate as well under low load). No difference at all (although the scope trace of 5v also told me this wouldn't work, and teh pSu works with other pixels at low brightness, but hey clutching at straws now).

    When the data is disconnected, pixels freeze on what ever the were showing before the data was disconnected. No flashing, just steady constant level of what ever was there before disconnecting.

    The flashing does not always start at the same exact single pixel. The start point moves around depending upon brightness/colour/ loading etc. It would be impossible to identify a single pixel start point to add the capacitor (without adding one to almost every pixel) to cover all eventualities.
    Every single pixel of the 2500 I have work absolutely fine when tested as a single string of 50, or as a string of up to 250 total pixels so I don't think it is a single or few pixel issues.
    I have also inserted a full 50 string of good pixels from a different supplier just before the flashing started (at pixel location 200 to 250). The effect of this was to push the flashing start point a further 50 into the string (flashing started at around 350 instead of 300), but otherwise the same. putting the good string in the middle of the flashing pixels causes the good pixels to flash as well.

    I don't know exactly why (other than you need to decouple/bypass chips close to them), but I am convinced the lack of capacitors on every pixel causes instability and ripple at the actual chip, worsened possibly by the PWM frequency in the chip at lower brightness, and I cant overcome it with a simple to implement solution external to the resin package.

    A couple of pictures from the scope tests are attached (sorry for poor pictures on the phone, couldn't be bothered to hook the scope to the PC to grab the data and process it):
    5v power pic: The best I could the power to be throughout the full string with various caps placed throughout the string. (I recognise this is NOT the power that the chips are actually seeing as they are further from the caps).
    Data pics: example of typical data pulse timing and shape throughout the entire string.

    Kind regards,
    Steve
    Attached Images Attached Images

  4. #24
    Join Date
    Jun 2020
    Location
    UK
    Posts
    17
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Quote Originally Posted by angus40 View Post
    Better pixels that won't disappoint !
    I appreciate Ray Wu is well respected on this board, but I am afraid I will be very reluctant to buy anything from him again. Everyone is allowed to make mistakes (not sure if he makes his own pixels or just resales), but refusing to help resolve the problem and lying about the specs of the cable and WordSemi spec does not entice me to spend more money with him.

    In addition to the missing capacitors (and resistors, although I don't believe the resistors are adding to the problem); the cable on the pixels I purchased was described as "24 AWG"... the actual wire on these pixels contains 5 (yes five only) individual strands each with a diameter of 0.14mm. That equates to a cross sectional area of about 0.077mm^2. Roughly equal to somewhere between 29 and 28 AWG.

  5. #25
    Join Date
    Dec 2011
    Location
    UK S80 postcode
    Posts
    1,489
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Hi, again great work. I agree the data wave form is as good as you are likely to see from a component of this price range and to be honest at much higher prices. If you get chance and wouldn’t mind can you set up a fault condition and scope the data from the good and bad side. It doesn’t need to be the exact pixel the junctions of the 50’s will be fine.

    As you have probably worked out by now the data line by default is normally ‘low’.
    To start a data bit the data line is taken ‘high’.
    If it only stays ‘high’ for a short period of time this is a ‘data zero’.
    If it stays ‘high’ for a longer period of time this is a ‘data one’.

    The way I think of this and I have no insight in to the IC’s manufacture is; the WS sits dormant until the data line is taken ‘high’ at which point a timer is started. Given that the data sheet specs a ‘high speed Zero’ as 0.25uS and a ‘high speed one’ as 0.6uS, (it actually list double those values and states that high speed is half the times) let’s say at about 0.4uS the timer times out and the WS checks the state of the data line to determine the value of the data bit. If the data line is still ‘high’ it’s a ‘one’ if the data line is ‘low it’s a ‘zero’.

    What I’m in interested in is does the data change along the string and if so how is it being corrupted such that the intensity increases with distance. It is interesting that the effect increases with distance (by that I mean number of pixels).

    I know this is a big ask but it will prove a data corruption issue, this may not exclude wiring or power supplies.
    I would go for a value of 16, 8, 4 2 or 1 Red. As this is a single bit it will be easier to spot corruption. Dependant on the colour order of your pixels (I’ll assume RGB) and that from the data sheet the data is sent RGB and MSB first:

    R7,R6,R5,R4,R3,R2,R1,R0, G7,G6,G5,G4,G3,G2,G1,G0, B7,B6,B5,B4,B3,B2,B1,B0.

    So for example if you chose Red = 1, Green = 0 and Blue = 0 you would expect to see:

    (R) 0,0,0,0,0,0,0,1 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,0.

    With the scope all you are going to have to work with is a ‘low’ to ‘high’ trigger, so you can set the resolution to capture the full 24 bits or just spam the captures until you get a ‘one’ and the next bit which we are interested in.

    Where does this end up?

    If your set up is ‘not ideal’ we can work through it and get the pixels working.

    If these pixels have an issue, you can demonstrate to the supplier, with hopefully a positive outcome for both of you.
    Last edited by Barnabybear; 06-21-2020 at 06:01 AM.

  6. #26
    Join Date
    Oct 2014
    Location
    Sauk City, WI USA
    Posts
    1,300
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    I am not very electronic educated but since it happens with longer runs of data and affects the back more than the front, is this some form of reflection? Without resistors on the data line (although they -might- be present in the IC, the data sheet we have access to specifically calls this out.

    "To prevent the reflection and hot-swap protection, we suggest to connect a 33ohm resistor at the data input or output port for impedance." v1.4 of ws2811 data sheet

    The 5V version of the reference schematic shows two resistors on the data line between each (R3 on data out and R2 on data in). When you tried resistors, did you put them on the data line or the power line?

  7. #27
    Join Date
    Dec 2011
    Location
    UK S80 postcode
    Posts
    1,489
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Hi, one explanation (although I’ve never seen it before) is that a bit is being dropped or lost at points along the pixels. If you started with Red = 1, Green = 0 and Blue = 0 this would look as follows:

    (R) 0,0,0,0,0,0,0,1 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,0.

    If a bit becomes dropped or lost the ‘1’ moves

    (R) 0,0,0,0,0,0,1,0 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,0.

    The data is sent most significant bit first so the values are as follows

    128, 64, 32, 16, 8, 4, 2, 1.

    In the two examples above you can see that what started off as Red with a value of ‘1’, became Red with a value of ‘2’. Even with a bit dropped or lost the data is still legitimate although incorrect, as such the pixels continue to pass the data on and reflect the values. This would explain the effect in blocks. It appears that when this happens it occurs in multiple places, each compounding the error e.g. ‘1’ becomes ‘2’ then ‘4’ and so on.
    I tried a full 1000 pixels: similar behavior to above up to around 750 pixels but then random red, green and blue flashes in large blocks of the same colour, (pixel 1 to 300 = no flashing. Pixel 300 to 750 bright red flashes. Pixel 750 to 1000 very bright RGB flashes). All flashes synced together. Full white and bright levels - no problems.
    If this occurs enough times it would lead to a colour change not just an increase in brightness.

    (R) 0,0,0,0,0,0,0,1 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,0 -- (R) 0,0,0,0,0,0,0,1
    After 6, 7, 8, 9 occurrences.
    (R) 0,1,0,0,0,0,0,0 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,0 -- (R) 0,1,0,0,0,0,0,0.
    (R) 1,0,0,0,0,0,0,0 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,0 -- (R) 1,0,0,0,0,0,0,0.
    (R) 0,0,0,0,0,0,0,0 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,0,1 -- (R) 0,0,0,0,0,0,0,0.
    (R) 0,0,0,0,0,0,0,0 (G) 0,0,0,0,0,0,0,0 (B) 0,0,0,0,0,0,1,0 -- (R) 0,0,0,0,0,0,0,0.

    I’m guessing that the last pixel stops working as well as it has an incomplete set of data.

    I’m not sure what would cause this but I’ll have a think about it and see if I can come up with something that might be of use to you.
    Last edited by Barnabybear; 06-21-2020 at 09:29 AM.

  8. #28
    Join Date
    Jun 2020
    Location
    UK
    Posts
    17
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Thanks for more suggestions.


    Spent the morning trying to capture data for the tests that Barnabybear suggested but not completely sure I managed to achieve what you suggested. I would have liked to capture longer samples but I am afraid my scope is pretty poor by today's standards.

    Set up 500 pixels, F16v3 set to test mode and red set to 1/255 brightness. Result = flashing as before. Flashing was at a rate of about 6 Hz (estimated).

    Probed 0v and data line between pixel 50 and 51 (no flashing on pixels in the 50 pixel string either side of this point).
    Captured data on the scope and then zoomed in and scrolled through to find the first single wide "1" pulse as a reference (then scrolled back to align with the MSB structure in Barnabybear's post) and recorded all the following "0" and "1" (as eyeballed on the scope). This resulted in the following data:

    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

    This was the most my scope would store with sufficient resolution to ensure timing and structure was within specification. Typical pulse specs recorded were:
    Voltage of pulse= ~4.8v.
    Width of wide "1" pulse (at base)= 720 to 750ns.
    Width of narrow "0" pulse (at base)= 400ns.
    Time between a "1" pulse and a "0" pulse = 380 to 400ns.
    Time between "0" and "0" pulse= 840 to 880ns.


    Then probed 0v and data line between pixel 450 and 451 (flashing on pixels in the 50 pixel string either side of this point). Used same methodology to gain the following pulse data:
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

    Absolutely identical when eyeballing the "0" and "1" pulse data. I was hoping to see some anomalous 1s to correspond with brighter red flashes with that sample, but nothing. Most pulse data parameters were very similar to the first case however I did find one instances where the time between two consecutive "0" pulses was 1120ns. I did capture the data to USB on the scope but have not yet had time to do more detailed analysis on the PC and compare all pulses to specifications.

    Of course, all my eyeballing of the 0s and 1s does not take into account the voltage at the chip at the time the pulse arrives to determine the threshold values for 0s and 1s that the chip will actually use. (0.3* VDD for low and 0.7*VDD for high). Therefore there is no guarantee that where I have assessed the pulse as sufficient to be above/below the thresholds, the chip will have done the same. I have scoped the voltage close to pixel 50 and 450 (same as data measurement points): There is a greater magnitude of ringing on the 5v at pixel 450. (No additional external capacitors were in my test set up for these tests). Pics and data attached.

    My speculation is the chip voltage could be very unstable without the decoupling capacitor right next to the chip and therefore the "good" pulse data may not be interpreted correctly due to ringing chip VDD causing thresholds that are not being met by the data, but this is just a guess at the moment. Any thoughts?

    Barnabybear - If I have missed the mark with what you were suggesting I should capture, please let me know and I will give it another go. Many thanks.

    There's a few .txt CSV files and some pictures of the scope screen attached. (Cant fit the full 24/25 pulses on a single scope screen with enough clarity to see all pulse differences).


    MikeKrebs,
    When I tried resistors, I used 33 ohms in series on the data line. I have not changed the resistor network on the F16v3 outputs though - the resistors I added were in addition to the F16v3 - I understand it could be beneficial to change the resistor networks on the controller but my understanding is that is only necessary to get better transmission distance from the controller to the first pixel. I don't that have that issue. I placed one before the very first pixel (about 300mm from the F16v3), then added another one after the last pixel. Also tried adding in a 3rd 33 ohm resistor at various places in series to the data line throughout the 500 pixel string at various points between the 10 strings. This was an attempt to reduce reflections up and down the data line, but not sure I have a reflection problem anyway. It made no noticeable difference at all by eye to the flashing so I didn't spend time with the scope looking at it any further. The dodgy pixels do not have any resistors on the boards on the input and output of the data (as per the WorldSemi data sheet, but neither do any of my pixels that do function completely correctly. I'm happy to to more testing with resistors on the data line if you believe it could help?

    Kind regards,
    Steve
    Attached Images Attached Images
    Last edited by pixel-newbie; 06-21-2020 at 10:49 AM.

  9. #29
    Join Date
    Jun 2020
    Location
    UK
    Posts
    17
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    And the .txt CSV files attached.
    Attached Files Attached Files

  10. #30
    Join Date
    Dec 2011
    Location
    UK S80 postcode
    Posts
    1,489
    Post Thanks / Like

    Default Re: WS2811 flicker but only at low brightness - Help please?

    Hi, that’s great thanks, I'll have a look at the data. Do the .csv files start at a fresh data transmission or could it have triggered during a transmission?

Page 3 of 5 FirstFirst 12345 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •