I have spent more time working with this driver over the past few weeks than I care to admit (along with killing over 25 LEDs!!!!)
These are a few of my current observations:
1. The stock driver with the stock MCU and sense resistors (stock everything) on the highest level produces a voltage peak of around 4.22v, valley of around 3.26v, for a whopping 0.96v of ripple! Most XM-L2s seem to die at around 4.15V+ so the stock driver is too much for good input cells and thick wires.
2. The stock inductor seems to saturate at 100%. You can vary the PWM levels and sense resistors and the output will be fairly smooth and controlled until around 6A output, after which point things get out of control in a hurry. A larger inductor (more saturation capacity and uH) smooths things out a LOT at higher current levels, but makes the lower output levels have more ripple.
3. Adding some additional INPUT capacitance helps smooth things out at the higher drive levels. I suspect that the driver attempts to overcompensate for the input ripple.
4. Extra output capacitance helps a little bit, but not enough to keep from blowing XM-L2s unless you add a combination of ceramics and a LARGE (1000uF) electrolytic on top of that. This is just masking the underlying issues (toroid too small; too much ripple)
5. Fast 19.1K PWM works great coming from the attiny13a. I seem to get the best and smoothest results using this then setting the peak PWM level to around 200 instead of 255 (full on.) The buck IC seems to like this better than going 100%...you get around 95% of the 255 output but the output ripple is much lower. The buck IC seems to react much differently to full on PWM vs almost full on PWM. If you need more, just reduce input resistance.
6. You can piggyback or switch out the flyback diode if you want to reduce heat a little bit.
7. The 70N02 works as a replacement for the stock FET and it also seems to reduce heat generated by the driver (probably a much lower on resistance and/or faster switching time.)
A few takeaway lessons:
i. The stock driver will probably blow domed XM-L2s and will certainly blow dedomed XM-L2s (they seem to take a bit less overvoltage to blow). You can possibly get away with running it with an XM-L2 stock with 24AWG or smaller leads. The driver blows LEDs due to excessive voltage spikes not due to excessive current.
ii. If you want a good reliable buck driver without changing a lot of things, just add more resistance to the limiting bank. If you get it down to around 5A on the output it works great without any other driver changes.
iii. The quickest and easiest way to get the driver smoothed out at higher drive levels (6A+) is to add a larger inductor, add some input capacitance, and limit PWM to around 200 with fast PWM. The larger inductor and extra capacitors do add size to the driver so this won't work for some setups.
iv. If you want to reduce heat at the higher drive levels (7A+), swap out the FET and piggyback another large diode onto the flyback. The next biggest heat producer are the big limiting resistors but there is no way to get around that loss with this driver.
v. On the scope, adding modest amounts of output capacitance don't seem to help a lot. For higher drive currents, focus your efforts first on the inductor then on the input capacitance. If you need a bit more after that then you can add some ceramics to the output (but I doubt you will need it.)