Hello. I'm an amateur having a hard time wrapping my head around designing a snubber for a buck converter LED driver powered by a bicycle dynamo.
Some background: Bicycle dynamos reach a saturation current (typically around 0.5-0.6A) at a fairly low speed. The way I understand it, the voltage across the dynamo is load-dependent. At higher speeds there is more potential power available (in the form of higher voltage), but it cannot be gotten without adjusting the load. Getting more current out of the dynamo can be achieved using a buck converter by lowering the duty cycle at higher speeds. So, I built a digitally controlled synchronous buck converter using an Arduino 32kHz PWM channel to drive a MOSFET driver, pair of N-fets, inductor, etc . It works as expected (more current at lower duty cycle) and is reasonably efficient on the breadboard (70-80%).
The problem is I was zapping the high side MOSFET (Q1), presumably by exceeding the max Vds during the off-cycle from the inductance in the windings in the dynamo. My first solution was to try to protect the MOSFET with C3 and D2 (D1 is a Vgs protection diode that I put in before I realized that the likely problem was transient voltage from the dynamo and D3 is another attempt at limiting the voltage out of the dynamo).
This seems to work; I'm no longer frying the high side FET (but haven't tried duty cycles below 50%). Although I still see lots of transient spikes on the scope, they seem to be clipped to about 20V or so, presumably from the 19V TVS diode.
However, if I disconnect the LEDs I fry the high side MOSFET, despite my crude efforts to save it. The more I've read about it, the more it seems like I need a proper RC snubber. My question to you guys is where should this go? If left to my own devices I'd put it between the drain and source of Q1. Are there any pitfalls to doing that? My second questions is what format should it be? A simple RC snubber? Any suggestions on how to calculate values would also help.
Comments and suggestions encouraged!
Some background: Bicycle dynamos reach a saturation current (typically around 0.5-0.6A) at a fairly low speed. The way I understand it, the voltage across the dynamo is load-dependent. At higher speeds there is more potential power available (in the form of higher voltage), but it cannot be gotten without adjusting the load. Getting more current out of the dynamo can be achieved using a buck converter by lowering the duty cycle at higher speeds. So, I built a digitally controlled synchronous buck converter using an Arduino 32kHz PWM channel to drive a MOSFET driver, pair of N-fets, inductor, etc . It works as expected (more current at lower duty cycle) and is reasonably efficient on the breadboard (70-80%).
The problem is I was zapping the high side MOSFET (Q1), presumably by exceeding the max Vds during the off-cycle from the inductance in the windings in the dynamo. My first solution was to try to protect the MOSFET with C3 and D2 (D1 is a Vgs protection diode that I put in before I realized that the likely problem was transient voltage from the dynamo and D3 is another attempt at limiting the voltage out of the dynamo).
This seems to work; I'm no longer frying the high side FET (but haven't tried duty cycles below 50%). Although I still see lots of transient spikes on the scope, they seem to be clipped to about 20V or so, presumably from the 19V TVS diode.
However, if I disconnect the LEDs I fry the high side MOSFET, despite my crude efforts to save it. The more I've read about it, the more it seems like I need a proper RC snubber. My question to you guys is where should this go? If left to my own devices I'd put it between the drain and source of Q1. Are there any pitfalls to doing that? My second questions is what format should it be? A simple RC snubber? Any suggestions on how to calculate values would also help.
Comments and suggestions encouraged!
