Sujet : Re: dc/dc soft start
De : jl (at) *nospam* glen--canyon.com (john larkin)
Groupes : sci.electronics.designDate : 23. Jan 2025, 00:25:41
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <l0v2pjt6h9ffipfb78kea7qpkpb026if0r@4ax.com>
References : 1 2 3 4
User-Agent : ForteAgent/8.00.32.1272
On Wed, 22 Jan 2025 22:47:10 +0100, Klaus Kragelund
<
klauskvik@hotmail.com> wrote:
On 21-01-2025 01:18, john larkin wrote:
On Mon, 20 Jan 2025 22:09:05 +0100, Klaus Kragelund
<klauskvik@hotmail.com> wrote:
On 16-01-2025 01:12, john larkin wrote:
>
Here's my soft start circuit. Thanks for suggestions from Tilmann and
Jeroen.
>
The idea is to drive the ends of the transformer with in-phase square
waves and then slowly walk them to 180 degrees, to achieve a soft
start. An FPGA can do that easily. We might take a second... but that
would simulate forever.
>
What works well is to use two spice "modulator" elements and FM the
frequency of one of them for 50 ms, until they are 180 degrees out of
phase.
>
Spice BV elements with sin(time*freq) type expressions seemed to
overload or something.
>
Version 4
SHEET 1 2568 1220
WIRE -512 -944 -576 -944
WIRE -400 -944 -512 -944
WIRE 16 -944 -32 -944
WIRE 48 -944 16 -944
WIRE 256 -944 192 -944
WIRE 304 -944 256 -944
WIRE -1104 -912 -1136 -912
WIRE -1040 -912 -1104 -912
WIRE -400 -912 -400 -944
WIRE -32 -912 -32 -944
WIRE 192 -912 192 -944
WIRE -128 -896 -144 -896
WIRE -80 -896 -128 -896
WIRE -848 -880 -896 -880
WIRE -800 -880 -848 -880
WIRE -128 -848 -144 -848
WIRE -80 -848 -128 -848
WIRE -576 -816 -576 -944
WIRE -784 -800 -848 -800
WIRE -720 -800 -784 -800
WIRE -624 -800 -720 -800
WIRE -400 -800 -400 -832
WIRE -32 -800 -32 -832
WIRE 192 -800 192 -832
WIRE -848 -768 -848 -800
WIRE -624 -752 -656 -752
WIRE -576 -688 -576 -736
WIRE -448 -688 -576 -688
WIRE -368 -688 -448 -688
WIRE -208 -688 -304 -688
WIRE 160 -688 -32 -688
WIRE 208 -688 160 -688
WIRE 416 -688 272 -688
WIRE 480 -688 416 -688
WIRE 544 -688 480 -688
WIRE 656 -688 544 -688
WIRE -848 -656 -848 -688
WIRE -576 -640 -576 -688
WIRE -656 -624 -656 -752
WIRE -624 -624 -656 -624
WIRE -720 -576 -720 -800
WIRE -624 -576 -720 -576
WIRE 208 -576 112 -576
WIRE 416 -576 416 -688
WIRE 416 -576 272 -576
WIRE -1024 -560 -1104 -560
WIRE -880 -560 -944 -560
WIRE -848 -560 -880 -560
WIRE -1104 -544 -1104 -560
WIRE -848 -544 -848 -560
WIRE -656 -528 -656 -624
WIRE -576 -528 -576 -560
WIRE -208 -528 -208 -688
WIRE -32 -528 -32 -688
WIRE 416 -512 416 -576
WIRE 544 -512 544 -688
WIRE 656 -512 656 -688
WIRE -1104 -448 -1104 -464
WIRE -848 -448 -848 -480
WIRE -528 -400 -576 -400
WIRE -480 -400 -528 -400
WIRE -576 -368 -576 -400
WIRE 160 -368 160 -688
WIRE 208 -368 160 -368
WIRE 416 -368 416 -448
WIRE 416 -368 272 -368
WIRE -784 -352 -848 -352
WIRE -720 -352 -784 -352
WIRE -624 -352 -720 -352
WIRE -848 -320 -848 -352
WIRE -624 -304 -656 -304
WIRE -576 -240 -576 -288
WIRE -448 -240 -576 -240
WIRE -368 -240 -448 -240
WIRE -208 -240 -208 -448
WIRE -208 -240 -304 -240
WIRE -32 -240 -32 -448
WIRE 112 -240 112 -576
WIRE 112 -240 -32 -240
WIRE 208 -240 112 -240
WIRE 416 -240 416 -368
WIRE 416 -240 272 -240
WIRE 544 -240 544 -432
WIRE 544 -240 416 -240
WIRE 656 -240 656 -432
WIRE 656 -240 544 -240
WIRE -848 -208 -848 -240
WIRE -576 -192 -576 -240
WIRE 416 -192 416 -240
WIRE -656 -176 -656 -304
WIRE -624 -176 -656 -176
WIRE -1072 -160 -1152 -160
WIRE -880 -128 -928 -128
WIRE -848 -128 -880 -128
WIRE -720 -128 -720 -352
WIRE -624 -128 -720 -128
WIRE -1152 -112 -1152 -160
WIRE -656 -80 -656 -176
WIRE -576 -80 -576 -112
FLAG -400 -800 0
FLAG -512 -944 +48
FLAG -32 -800 0
FLAG -128 -896 HA
FLAG -128 -848 HB
FLAG 16 -944 BRO
FLAG -448 -688 HA
FLAG -448 -240 HB
FLAG -576 -528 0
FLAG -656 -528 0
FLAG -576 -80 0
FLAG -528 -400 +48
FLAG -656 -80 0
FLAG 416 -192 0
FLAG 480 -688 OUT
FLAG -784 -800 A
FLAG 256 -944 SS
FLAG 192 -800 0
FLAG -1104 -912 SS
FLAG -1152 -112 0
FLAG -784 -352 B
FLAG -1104 -448 0
FLAG -880 -560 AB
FLAG -848 -448 0
FLAG -848 -208 0
FLAG -880 -128 K
FLAG -848 -656 0
FLAG -848 -880 J
SYMBOL voltage -400 -928 R0
WINDOW 0 53 46 Left 2
WINDOW 3 53 78 Left 2
SYMATTR InstName V3
SYMATTR Value 48
SYMBOL e -32 -928 R0
WINDOW 0 45 50 Left 2
WINDOW 3 49 78 Left 2
SYMATTR InstName E5
SYMATTR Value 1
SYMBOL sw -576 -720 M180
WINDOW 0 58 74 Left 2
WINDOW 3 61 47 Left 2
SYMATTR InstName S2
SYMATTR Value Sj
SYMBOL sw -576 -544 M180
WINDOW 0 58 74 Left 2
WINDOW 3 61 47 Left 2
SYMATTR InstName S3
SYMATTR Value Sj
SYMBOL sw -576 -272 M180
WINDOW 0 58 74 Left 2
WINDOW 3 61 47 Left 2
SYMATTR InstName S4
SYMATTR Value Sj
SYMBOL sw -576 -96 M180
WINDOW 0 58 74 Left 2
WINDOW 3 61 47 Left 2
SYMATTR InstName S5
SYMATTR Value Sj
SYMBOL cap -304 -704 R90
WINDOW 0 79 30 VBottom 2
WINDOW 3 86 29 VTop 2
SYMATTR InstName C1
SYMATTR Value 20µ
SYMBOL FerriteBead -336 -240 R90
WINDOW 0 -37 -1 VBottom 2
SYMATTR InstName L1
SYMATTR Value 2.5µ
SYMATTR SpiceLine Ipk=3 Rser=0.0023 Rpar=475 Cpar=1.75p
SYMBOL ind2 -224 -544 R0
WINDOW 0 -49 37 Left 2
WINDOW 3 -61 76 Left 2
SYMATTR InstName L2
SYMATTR Value 72µ
SYMATTR Type ind
SYMBOL ind2 -48 -544 R0
WINDOW 0 61 40 Left 2
WINDOW 3 50 76 Left 2
SYMATTR InstName L3
SYMATTR Value 112µ
SYMATTR Type ind
SYMBOL schottky 208 -672 R270
WINDOW 0 42 40 VTop 2
WINDOW 3 -14 54 VBottom 2
SYMATTR InstName D1
SYMATTR Value RB168VAM150
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL cap 400 -512 R0
WINDOW 0 -58 36 Left 2
WINDOW 3 -70 67 Left 2
SYMATTR InstName C6
SYMATTR Value 100µ
SYMBOL res 528 -528 R0
WINDOW 0 -63 51 Left 2
WINDOW 3 -61 83 Left 2
SYMATTR InstName R5
SYMATTR Value 5K
SYMBOL schottky 208 -560 R270
WINDOW 0 39 33 VTop 2
WINDOW 3 -14 55 VBottom 2
SYMATTR InstName D2
SYMATTR Value RB168VAM150
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL schottky 272 -384 R90
WINDOW 0 -10 31 VBottom 2
WINDOW 3 45 28 VTop 2
SYMATTR InstName D3
SYMATTR Value RB168VAM150
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL schottky 272 -256 R90
WINDOW 0 -16 31 VBottom 2
WINDOW 3 43 32 VTop 2
SYMATTR InstName D4
SYMATTR Value RB168VAM150
SYMATTR Description Diode
SYMATTR Type diode
SYMBOL current 656 -512 R0
WINDOW 0 54 63 Left 2
WINDOW 3 19 107 Left 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName I1
SYMATTR Value PULSE(0 0.5 75m 1m 0 9)
SYMBOL voltage 192 -928 R0
WINDOW 0 58 36 Left 2
WINDOW 3 41 74 Left 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value PULSE(0 1 0 1u 1u 50m)
SYMBOL SpecialFunctions\modulate -1040 -912 R0
WINDOW 0 56 29 Left 2
SYMATTR InstName A1
SYMATTR SpiceLine space=250K
SYMATTR SpiceLine2 mark=250.01K
SYMBOL SpecialFunctions\modulate -1072 -160 R0
WINDOW 0 56 31 Left 2
SYMATTR InstName A2
SYMATTR SpiceLine space=250K
SYMATTR SpiceLine2 mark=250K
SYMBOL bv -1104 -560 R0
WINDOW 0 46 98 Left 2
WINDOW 3 30 135 Left 2
SYMATTR InstName B1
SYMATTR Value V=V(A) * V(B)
SYMBOL res -928 -576 R90
WINDOW 0 66 56 VBottom 2
WINDOW 3 65 57 VTop 2
SYMATTR InstName R1
SYMATTR Value 1K
SYMBOL bv -848 -336 R0
WINDOW 0 -89 48 Left 2
WINDOW 3 -185 94 Left 2
SYMATTR InstName B2
SYMATTR Value V=sgn(V(K))
SYMBOL bv -848 -784 R0
WINDOW 0 -89 59 Left 2
WINDOW 3 -183 96 Left 2
SYMATTR InstName B3
SYMATTR Value V=sgn(V(J))
SYMBOL cap -864 -544 R0
WINDOW 0 -53 40 Left 2
WINDOW 3 -66 68 Left 2
SYMATTR InstName C2
SYMATTR Value 100n
TEXT 216 -136 Left 4 ;P970 DC-DC Converter
TEXT 288 -88 Left 3 ;JL Jan 15 2025
TEXT -200 -80 Left 2 !.model Sj SW(Ron=50m Roff=1g)
TEXT -200 -128 Left 2 !.tran 0 100m 0 20n
TEXT -192 -568 Left 2 ;PL300-101L
TEXT -160 -488 Left 2 ;4T
TEXT -96 -488 Left 2 ;5T
TEXT -200 -720 Left 2 !K1 L2 L3 0.999
TEXT -392 -192 Left 2 ;163-5001
TEXT -392 -152 Left 2 ;2.7 uH 5A
TEXT -168 -600 Left 2 ;Coilcraft
TEXT 232 -816 Left 2 ;50 ms soft start
>
Very nice simulation
>
I did a digital SMPS +10 years ago, use the same softstart principle.
Was based on a halfbridge converter, so if it did not have softstart
inrush current was very large. I believe you can do the same with phase
shifted controllers, but they are probably very expensive. I did it with
a 30cent microcontroller.
Envision an FPGA. Spin up a 200 MHz clock and stick that into a 10 bit
binary counter. The MSB is a 200 KHz square wave that drives one
half-bridge.
Now stick that into a 10-bit adder, add integer P to it. The sum is
the counter phase shifted by P, so the MSB is similarly time shifted,
driving the other half bridge. Start it all up and tick P up to 512 at
the power supply ramp-up rate, maybe over a second.
Yeah, the idea is nice.
>
But I not that much of a fan of FPGAs. Very expensive compared to
microcontrollers. In some applications they are trusted more than Class
B embedded SW, and have more performance than microcontrollers. But for
the price of that FPGA, you can probably buy 100 cortex microcontrollers.
We have a modular power system with plugin boards, and every board has
an FPGA, so the function is incrementally free. The FPGA is an Efinix
T20, about $10.
Here's the system:
https://highlandtechnology.com/Category/MPSWe really need an FPGA on these boards. There are three 50 MBPS data
streams to and from the motherboard, and fast PWM generation and
stuff.
I'm designing a 4-channel dummy load board that simulates programmable
resistance+inductance, like a solenoid or something. It needs four
isolated power supplies.