Transients connecting and disconnecting SMPS from battery

Jan 05, 2007 4 Replies

I am finalizing my design for a fairly simple boost converter to convert 12 VDC nominal SLA battery voltage to 20 to 50 VDC at 750 mA to power a series string of high power white LEDs. I am using a PIC16F684 with PWM at 100 kHz, a 10 uH inductor, and an HUF75645P3 MOSFET as discussed in the 2N3055 thread. This is to be used in an underwater searchlight.



As an extra feature, I want to be able to toggle the power switch to the battery so as to provide two or more brightness ranges. The PIC can monitor the raw battery supply, while its own power is kept up by isolating it with a diode and large capacitor. The raw 12 VDC is stabilized by a 0.47 uF capacitor.



I was concerned that there might be potentially damaging transients if the battery switch is opened while the inductor is still transferring energy to the output circuit. I confirmed this in LTSpice simulation by using a 12 VDC pulse source for the battery. I got very high currents of several hundred amps. However, the simulator circuit did not have any series inductance from the battery, so I added 100 nF. This reduced the current from a sharp spike to a ringing waveform, but I saw a negative voltage transient of about -10 volts peak at the capacitor. I added a Schottky diode across it, and the transient was reduced to about -1.5 volts with a diode current of almost 20 amps for about 1 uSec.



I have additional filtering from the input voltage divider as well as from the output voltage divider and the output current sampling resistor, with time constants of 1 mSec or so, and I think that will eliminate any chance for latch-up of the PIC. Previously, I had left off a capacitor for one of the A/D inputs, and the PIC got quite hot, probably because of latch-up. (But it survived!)



This circuit must be as reliable as possible, as it will be encapsulated and not repairable. Cost is only a minor factor, as the LED assembly is something like $50. The PCB is about 1" x 2". In simulation, I was able to get efficiency of 90% to 95%. In bench testing a rough prototype I measured about 85%, although none of the components got very warm.



It made a big difference when I used a true-RMS AC+DC meter for output voltage measurement, and it may still not be accurate enough at 100 kHz. I'm also using E^2/R for output power, so small errors are significant.



I will probably add the series inductor to the raw battery supply from the switch, and also the Schottky diode. It seems to work best with the 0.47 uF capacitor directly across the input, then the small inductor, and finally the diode to ground. The simulator showed capacitor currents of 150 amps with input pulse rise and fall times of 10 nS, but was a more reasonable 50 amps at 100 nS. There is probably enough external inductance in the battery and wires, and also enough variation of resistance as the switch contacts (actually a reed relay) operate, that there should be no problem.



However, I'd like any suggestions or comments before finally committing this to copper on a first run PCB.



Thanks,



Paul


You may want to consider using a power MOSFET to switch the battery instead of using a relay. You can then apply some type of soft turn on scheme to the FET (using a Miller capacitance for example) to slow down the voltage rise and thus significantly reduce the current spiking.

The relay that you are using now has the disadvantage that you already see with near zero ohm initial contact resistance allowing for these huge currents to flow. but do consider that there are several other things to consider as well. The real relay may bounce several times at closure causing there to be several of the current surge pulses - each at lesser amplitude than the one before it. You mentioned a reed relay

- it is also likely that the relay contact will die with current surges like this going through it.

- mkaras

That would be a good solution, but it does add complexity to the circuit, and the reed switch is not an integral part of this design, but is located elsewhere. This device is powered through a cable two or three feet long from the battery pack. I think there may be enough inductance and resistance to safely limit the surge currents into the 0.47 uF capacitor. If I add this soft start, I could probably put an N-channel MOSFET in the ground return leg, and feed the gate with a fairly high value resistor and use the gate capacitance for an RC TC of 10 mSec or so.

There is also a 1N4148 diode from the raw 12 VDC to a 100 uF capacitor in parallel with a 1 uF. I did not include these in the simulation. However, I think at least the 100 uF has a fairly high ESR, which should limit the current. Maybe I will need to use a higher current diode.

Maybe a small series thermistor would be helpful, but efficiency would suffer.

Thanks,

Paul

Hi, Paul -

I may not be able to help, but I'm very interested in investigating your problem for self-education reasons. I am currently working on a boost circuit myself but at a much lower power.

Could you please email your LT Spice netlist to me at groups6 at verizon dot net? Or, if there are no objections, you could post it here. I'd like to play with it and see what is causing the high current.

Thanks, John

"John" wrote in message news: snipped-for-privacy@verizon.net...

One problem I had was not having a good model for a switch. The voltage controlled switch in the component library was replaced with a default model. To simplify things, I used a pulse voltage source, with a turn-on delay, rise time, and fall time. An actual switch may be hard to model because of random bouncing at turn-on and turn-off. The pulse source is not accurate because it presents a low impedance to ground when it is off.

I added a 12 VDC supply with diode and capacitor. It seems to have lowered the turn-on transient current as well as the current through the Schottky.

BTW, the series inductor I added was 100 nH (not nF, duh).

My actual circuit uses a PIC16F684 with PWM output, and A/D converters as well as a comparator to provide regulation and output and input voltage sensing. My model uses a pulse train for the gate drive. The LTspice ASCII file is as follows:

Version 4 SHEET 1 1216 680 WIRE -128 -240 -128 -256 WIRE -128 -240 -304 -240 WIRE -64 -240 -128 -240 WIRE 224 -240 -64 -240 WIRE 592 -240 224 -240 WIRE -304 -208 -304 -240 WIRE 224 -192 224 -240 WIRE 592 -144 592 -240 WIRE -304 -48 -304 -128 WIRE -192 -48 -304 -48 WIRE 592 -32 592 -64 WIRE 640 -32 592 -32 WIRE 688 -32 688 -48 WIRE 688 -32 640 -32 WIRE 736 -32 688 -32 WIRE 816 -32 800 -32 WIRE 928 -32 816 -32 WIRE 944 -32 928 -32 WIRE 1072 -32 944 -32 WIRE -64 -16 -64 -240 WIRE 592 0 592 -32 WIRE 928 0 928 -32 WIRE 352 16 112 16 WIRE 480 16 480 -16 WIRE 480 16 432 16 WIRE 1072 16 1072 -32 WIRE 640 32 640 -32 WIRE -192 48 -192 -48 WIRE 224 48 224 -128 WIRE 320 48 224 48 WIRE 816 64 816 -32 WIRE 816 64 752 64 WIRE 224 80 224 48 WIRE 480 80 480 16 WIRE 544 80 480 80 WIRE 752 96 752 64 WIRE 816 96 816 64 WIRE 320 112 320 48 WIRE 928 112 928 80 WIRE -304 128 -304 -48 WIRE 640 128 640 96 WIRE 1072 128 1072 96 WIRE 1152 128 1072 128 WIRE 480 144 480 80 WIRE 112 160 112 16 WIRE 1072 160 1072 128 WIRE 1152 176 1152 128 WIRE 592 192 592 96 WIRE 752 192 752 160 WIRE 816 192 816 160 WIRE 816 192 752 192 WIRE 1152 192 1152 176 WIRE 928 208 928 176 WIRE 1072 272 1072 240 WIRE 1152 272 1152 240 WIRE 1152 272 1072 272 WIRE -304 304 -304 208 WIRE -192 304 -192 112 WIRE -192 304 -304 304 WIRE -64 304 -64 48 WIRE -64 304 -192 304 WIRE 112 304 112 240 WIRE 112 304 -64 304 WIRE 224 304 224 144 WIRE 224 304 112 304 WIRE 320 304 320 192 WIRE 320 304 224 304 WIRE 480 304 480 224 WIRE 480 304 320 304 WIRE 592 304 592 272 WIRE 592 304 480 304 WIRE 640 304 640 208 WIRE 640 304 592 304 WIRE 720 304 640 304 WIRE 784 304 720 304 WIRE 816 304 816 192 WIRE 816 304 784 304 WIRE 832 304 816 304 WIRE 928 304 928 272 WIRE 928 304 912 304 WIRE 1008 304 928 304 WIRE 224 320 224 304 WIRE 720 336 720 304 WIRE 784 416 784 304 WIRE 1072 416 1072 272 WIRE 1072 416 784 416 WIRE 720 448 720 400 WIRE 1008 448 1008 384 WIRE 1008 448 720 448 FLAG 224 320 0 FLAG 480 -16 Vg FLAG 112 16 SigIn FLAG 944 -32 Vout FLAG 688 -48 Vsw FLAG -128 -256 Vsupply SYMBOL voltage 112 144 R0 WINDOW 0 37 59 Left 0 WINDOW 3 -304 182 Left 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 10 20n 20n 20n 5.5u 10u 1000) SYMBOL res 336 32 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R5 SYMATTR Value 10 SYMBOL voltage -304 112 R0 WINDOW 123 0 0 Left 0 WINDOW 39 24 132 Left 0 SYMATTR SpiceLine Rser=.05 SYMATTR InstName V2 SYMATTR Value PULSE(0 12 .1m 100n 100n 1.1966m 4m 2) SYMBOL nmos 544 0 R0 WINDOW 3 -54 102 Left 0 SYMATTR Value SI7454DP SYMATTR InstName M1 SYMBOL ind 576 -160 R0 SYMATTR InstName L1 SYMATTR Value 10µ SYMATTR SpiceLine Ipk=6 Rser=0.015 Rpar=30000 Cpar=17.04p mfg="Gowanda" pn="121AT1002V" SYMBOL schottky 736 -16 R270 WINDOW 0 32 32 VTop 0 WINDOW 3 0 32 VBottom 0 SYMATTR InstName D2 SYMATTR Value MBR20100CT SYMATTR Description Diode SYMATTR Type diode SYMBOL polcap 800 96 R0 WINDOW 3 24 64 Left 0 SYMATTR Value 47µ SYMATTR InstName C1 SYMATTR Description Capacitor SYMATTR Type cap SYMATTR SpiceLine V=63 Irms=600m Rser=0.13 MTBF=20000 Lser=0 mfg="Nichicon" pn="UPH1J470MRH" type="Al electrolytic" ppPkg=1 SYMBOL cap 736 96 R0 SYMATTR InstName C2 SYMATTR Value 0.47µ SYMATTR SpiceLine V=50 Irms=22m Rser=3.9 MTBF=2000 Lser=0 mfg="Nichicon" pn="UPL1HR47MAH" type="Al electrolytic" ppPkg=1 SYMBOL cap -208 48 R0 SYMATTR InstName C3 SYMATTR Value .47µ SYMATTR SpiceLine V=50 Irms=5.62 Rser=0.007 MTBF=0 Lser=0 ppPkg=1 SYMBOL res 912 -16 R0 SYMATTR InstName R2 SYMATTR Value 5 SYMBOL res 464 128 R0 SYMATTR InstName R6 SYMATTR Value 500 SYMBOL res 624 112 R0 SYMATTR InstName R7 SYMATTR Value 200 SYMBOL cap 624 32 R0 SYMATTR InstName C4 SYMATTR Value .01µ SYMATTR SpiceLine V=50 Irms=5.62 Rser=0.007 MTBF=0 Lser=0 ppPkg=1 SYMBOL res 576 176 R0 SYMATTR InstName R8 SYMATTR Value .02 SYMATTR SpiceLine pwr=2 SYMBOL zener 944 272 R180 WINDOW 0 24 72 Left 0 WINDOW 3 -69 0 Left 0 SYMATTR InstName D1 SYMATTR Value DFLZ33 SYMATTR Description Diode SYMATTR Type diode SYMBOL zener 944 176 R180 WINDOW 0 24 72 Left 0 WINDOW 3 -108 6 Left 0 SYMATTR InstName D3 SYMATTR Value BZX84C6V2L SYMATTR Description Diode SYMATTR Type diode SYMBOL res 928 288 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R1 SYMATTR Value 1 SYMATTR SpiceLine pwr=1 SYMBOL res 992 288 R0 SYMATTR InstName R3 SYMATTR Value 1k SYMBOL cap 704 336 R0 SYMATTR InstName C5 SYMATTR Value .1µ SYMBOL res 1056 0 R0 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL res 1056 144 R0 SYMATTR InstName R9 SYMATTR Value 1k SYMBOL cap 1136 176 R0 SYMATTR InstName C6 SYMATTR Value .01µ SYMBOL ind -320 -224 R0 SYMATTR InstName L2 SYMATTR Value 100n SYMATTR SpiceLine Ipk=8 Rser=0.00087 Rpar=9.4 Cpar=0 mfg="Coilcraft" pn="SLC7530D-101MX" SYMBOL schottky -48 48 R180 WINDOW 0 24 72 Left 0 WINDOW 3 24 0 Left 0 SYMATTR InstName D4 SYMATTR Value 1N5818 SYMATTR Description Diode SYMATTR Type diode SYMBOL diode 208 -192 R0 SYMATTR InstName D5 SYMATTR Value MMSD4148 SYMBOL polcap 208 80 R0 WINDOW 3 24 64 Left 0 SYMATTR InstName C7 SYMATTR Value 100µ SYMATTR Description Capacitor SYMATTR Type cap SYMATTR SpiceLine V=25 Irms=145m Rser=0.62 MTBF=1000 Lser=0 mfg="Nichicon" pn="UPR1E101MPH" type="Al electrolytic" ppPkg=1 SYMBOL res 304 96 R0 SYMATTR InstName R10 SYMATTR Value 1k TEXT -224 504 Left 0 !.tran 3m startup TEXT -8 376 Left 0 ;R4 not required TEXT -8 440 Left 0 ;91% efficiency possible

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required