Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

DotStar 5050 Reflow Damage
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

DotStar 5050 Reflow Damage

by Colecago on Thu Jan 02, 2020 2:48 pm

I was told to post here by support after experience a lot of failures reflowing the DotStar LEDs: https://www.adafruit.com/product/2343

I created my own board because I wanted power and ground on each side to aid wiring:
TOP
BoardTop.png
BoardTop.png (20.05 KiB) Viewed 302 times

BOT
BoardBot.png
BoardBot.png (14.5 KiB) Viewed 302 times


I have a converted toaster reflow oven on/off controlling the temperature using an Arduino and this paste: https://www.amazon.com/Clean-Leaded-Sol ... B017RSZFQQ
This is the exact oven used: https://www.youtube.com/watch?v=ckcHyMxqesM

I have panels made for these LEDs with 10 per panel. I have two thermocouples in my oven suspended in the air near where the boards are in the center, the logic looks at the average of the two thermocouples for control. 2 of these convert the thermocouples to I2C for the arduino: https://www.adafruit.com/product/269

I populated and ran one panel (10 parts) with my leaded profile and ran the profile from cold. The solder joints looked okay but there was some brown crust I assumed from unactivated flux. Later that day I created the rest of my boards, I accidentally had the profile set to lead free (RoHS) which gets hotter, the oven was run from cold, and I ran 2 panels (20 parts). The solder joints looked great and the flux looked to be fully activated. I ran another 20 parts (at this point the oven probably kept some of its heat) and I ran the RoHS profile again, they also looked good. I re-ran the first panel of 10 just to clean up the flux and kind of thought I might see some damage from baking twice, but was okay with that. It was the RoHS profile again and the oven was warm from the previous runs. The max temperature read by my thermocouples was 231 during the run so I assumed it should be okay for the LEDs given the datasheet says max 240.

The next day I cleaned up any residue using alcohol and one of the parts had its lens pop out. I assumed this was a one off bad part but then testing I had 17 parts of 50 fall out with no light and no shifted out communication. I have more LEDs on the way but I wanted to investigate why they failed before running more. After profiling the oven today with a thermocouple touching a bare board (not in the air like the ones controlling the oven), I might have overheated the parts. Attached is some pictures and a graph of my profile testing. Again, here is my order of populating and running:

10 parts - first run - leaded profile from cold
20 parts - second run - RoHS profile from cold
20 parts - third run - RoHS profile from hot
10 parts - rerun of first run - RoHS profile from hot

Profile control info -
Leaded - run to 140 30% duty cycle, hold for 45 seconds, run to 205 49% duty cycle, hold for 30 seconds
RoHS - run to 140 30% duty cycle, hold for 45 seconds, run to 230 49% duty cycle, hold for 30 seconds
I then open the oven to cool after waiting a bit

OvenGraph.png
OvenGraph.png (69.86 KiB) Viewed 302 times


Here are pictures of the oven and setup, working parts, and then all the bad parts in an array on white paper, another lens fell out as well: https://photos.app.goo.gl/Ev8TmKC687p9g8Be7

Observations:
Looking at the graphs, when the oven is cold the overshoot is very high, running it after it has been run recently brings the max temp down by 30°C
Looking at the leaded profile I'm not sure why the cold run didn't fully activate the flux, according to Amazon the melt temp is 183°C, its composition is 63Sn37Pb
2 panels (20 parts) have exceeded 240 C with the RoHS cold run, unfortunately I didn't follow any traceability to see which parts came from which run
The hot run profiles have a hot oven but they also have a hot board, temperatures of my panels were probably a little lower because they were room temp boards
The thermocouples in air is not an ideal control scenario, probably should lengthen them and have them touching the boards if possible (the rack moves but the thermocouples don't when opening the door, might not be possible
Just saw when finding the youtube video of this oven someone commented that the thermocouple readers being near the oven might introduce a lot of error because of the cold junction compensation making oven read higher than it is, that seems counter-intuitive to me if the cold junction is not at room temp and the temperature reads difference wouldn't the thermocouples read low if their cold junction is hot? Anyways not sure if this is the reason for the hot runs being cooler than from cold.

Were these parts baked too hot resulting in the damage I saw? Any ideas on how I should run the next batch when I get LEDs in again?
Colecago
 
Posts: 8
Joined: Fri Apr 20, 2012 7:42 pm

Re: DotStar 5050 Reflow Damage

by adafruit_support_mike on Sat Jan 04, 2020 5:43 am

Based on the variation in the graphs, your control system doesn't know how to compensate for the thermal masses of the oven.

It takes time for heat to move through different materials, so a burst of heat applied at t=0 won't show up as a change in the measured temperature until some time later.. from the graphs above, it looks like there's about 20 seconds of lag. The same principle works the other direction though: if you shut the heat off at t=60, the measured temperature will still keep rising for another 20 seconds.

That difference shows up in the rising edges of your hot-oven and cold-oven graphs. The hot oven settles to about 130C for about 20 seconds, but the cold oven doesn't. It takes about 20 seconds longer to reach 130C, then slows down a little about the time the control system wants to ramp the temperature up again. That creates a large proportional offset with a low differential damping coefficient (assuming your oven has a PID controller), so the control system pushes heat into the oven as hard as it can to bring the curve back in line with the profile. By the time the measured temperature gets where it should be, there's so much heat moving through the system that the temperature keeps rising and overshoots by about 30C.

First, make the system hold at 130C for about a minute longer. It takes the cold oven about 1:20 to reach that temperature, so the hold stage has to last until at least 1:40 to let the heat already in the system get measured. Another 20 seconds after that will help the system stabilize, and is smaller than the variation in length of the graphs above.

Second, if you're using a PID controller, adjust the coefficients a bit. It looks like your oven has a maximum heating rate of about 2.5C/s, and the positive terms (proportional and integral) are trying to push the system to move faster than it can. Lower the integral term to zero, drop the proportional term until a cold oven heats toward 130C at a maximum rate of about 2C/s, then raise the proportional term again until the slew rate is just below 2.5C/s. Then increase the negative term (derivative) until the cold oven heats to 130C with only about 5C of overshoot before dropping again. Then if there are any DC errors (the temperature settles above or below 130C), raise the integral term until those go away.

For measurement, put a piece of two-sided copper clad on either side of the board being processed, and put the thermocouples in direct contact with the top layer of copper. That will give you a better estimate of the actual temperature of the solder and components.

Regarding the lens popout, I'd guess that's a combination of overshooting the maximum temperature and having a cool-down rate that's too steep.

For each NeoPixel, the metal leadframe, the epoxy lens, and the glass-filled plastic package will all have about the same coefficients of thermal expansion: for any change in temperature, they'll all change size by about the same amount. They have different rates of thermal transfer though, so the metal will change to a new temperature much faster than the epoxy.

The popout shown in your photos looks like it's pulled the silicon die off the leadframe, which suggests two things: the lens was larger than the socket holding it, and the bond between the silicon die and the leadframe was fairly weak. Those conditions are most likely to happen after the leadframe has gotten hot enough to weaken the bond between itself and the die, and the leadframe/package are shrinking faster than the lens.

That puts suspicion on the cool-down curve, which looks like the temperature drops at about 5C/s. Try adjusting your profile to keep that down around 2.5C/s like the heating ramp. That should keep the fast-changing materials roughly the same size as the slower-changing lens.

adafruit_support_mike
 
Posts: 61407
Joined: Thu Feb 11, 2010 2:51 pm

Re: DotStar 5050 Reflow Damage

by Colecago on Mon Jan 06, 2020 10:27 am

Lots of good information there, thank you for responding. The system does not have a PID control currently, I was going to try that when I worked on the oven a few years ago but I think I ran into read rate issues between the two SPI thermocouple readers and LCD control inside the read loop. I thought about switching to analog thermocouple readers and I could play with the code to make it more responsive and add PID eventually.

I can definitely change the 130C hold time. For the copper clad pieces, do you think I could just make a box with open sides using two pieces of copper clad and metal standoffs? I imagine I need to ensure the copper clad is not near touching the plastic LED package or it will melt?

As for the rapid cooling, that was probably the result of me opening the oven to allow cooling. I can add a state that counts down before letting me know the oven is okay to open.
Colecago
 
Posts: 8
Joined: Fri Apr 20, 2012 7:42 pm

Re: DotStar 5050 Reflow Damage

by adafruit_support_mike on Tue Jan 07, 2020 1:14 am

Colecago wrote:I can definitely change the 130C hold time. For the copper clad pieces, do you think I could just make a box with open sides using two pieces of copper clad and metal standoffs? I imagine I need to ensure the copper clad is not near touching the plastic LED package or it will melt?

I don't see any advantage in having multiple layers.

My suggestion was to cut a couple pieces of copper clad about 1" square, set them on the oven's rack about half an inch to either side of the PCB you want to reflow, and place the thermocouples so they touch the top layer of copper. The chunks don't need to touch the PCB, in fact it's better to have some separation between the PCB and the chunks of copper clad.

The idea is to have a couple of PCB-like objects without solder, sitting in the same plane as the PCB with the solder paste and components. The pseudo-PCBs will heat at nearly the same rate as the real PCB, but you don't have to worry about the thermocouples coming into contact with any components or molten solder.

Ideally you'd want the chunks of copper clad to match the PCB you're processing: if your parts are on a 1/16" single-sided PCB, use 1/16" single-sided copper clad. If the real PCB is a 1/32" two-sided board, use 1/32" double-sided copper clad. The closer you get to a match for the real PCB, the better the pseudo-PCBs will track its temperature.

adafruit_support_mike
 
Posts: 61407
Joined: Thu Feb 11, 2010 2:51 pm

Re: DotStar 5050 Reflow Damage

by Colecago on Tue Jan 07, 2020 8:37 pm

I misunderstood, for either side I thought you meant top and bottom, to maybe block the direct heat and spread it more evenly than air or something.
Colecago
 
Posts: 8
Joined: Fri Apr 20, 2012 7:42 pm

Re: DotStar 5050 Reflow Damage

by adafruit_support_mike on Wed Jan 08, 2020 5:31 am

Nope, just proxy boards in the same plane as the real one, making it easier to get a direct measurement of the copper foil.

Thermal control is kind of tricky, and overflows with ways for the system to be unpredictable. Most of the good practices try to eliminate variables and make things as simple as possible.

adafruit_support_mike
 
Posts: 61407
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.