Maker Pro
Maker Pro

SCR and snubber LTSpice simulation

P

Paul E. Schoen

Jan 1, 1970
0
I have been working on a high current test set which uses SCR Solid State
Relays to drive the primary of a transformer with 480 VAC mains power. There
is a contactor which closes to apply power to the SSR, and then at a later
time it is energized at the peak voltage point to reduce DC offset into the
inductive load. The output of the transformer is about 2 volts and is
capable of supplying 20,000 amperes or more into a low impedance load
(circuit breaker), or a shunt for the purposes of calibration.

The problem has been that, sometimes, the SCR will conduct for a half-cycle
or so when the contactor closes. We have tried all sorts of snubbers across
the SCRs and also across the primary of the transformer, with some success,
but it still occasionally triggers, which sometimes causes a very high
inrush and it has blown 100 ampere LPS fuses.

I made an LTSpice simulation that is roughly the same as the actual circuit,
and it mostly performs as expected. But the SCR triggers on for 1/4 cycle
when the contactor is closed at the voltage peak (but also at other phase
angles). I have tried various snubbers and even series inductance to reduce
the dV/dt which seems to be triggering the SCRs. But nothing worked.
However, when I put a resistance of less than about 1 MegOhm across the
contactor, only a very small spike occurs at turn-on. I will be doing work
on the actual unit tomorrow, but I'd like to understand what may be going on
before then. Any ideas will be appreciated.

Paul

Here is the ASCII file:

===============================================
Version 4
SHEET 1 1756 680
WIRE 0 -96 -48 -96
WIRE 96 -96 80 -96
WIRE 64 -16 -112 -16
WIRE 96 -16 96 -96
WIRE 400 -16 96 -16
WIRE 560 -16 544 -16
WIRE 704 -16 560 -16
WIRE 16 16 -208 16
WIRE 64 16 64 -16
WIRE 288 16 272 16
WIRE 416 16 368 16
WIRE -48 64 -48 -96
WIRE -16 64 -48 64
WIRE 0 64 -16 64
WIRE 96 64 96 -16
WIRE 96 64 80 64
WIRE 128 64 96 64
WIRE 256 64 128 64
WIRE 272 64 272 16
WIRE 272 64 256 64
WIRE 416 64 272 64
WIRE 512 64 480 64
WIRE 560 64 560 -16
WIRE 560 64 512 64
WIRE 704 64 704 -16
WIRE 960 64 832 64
WIRE 704 112 704 64
WIRE 832 112 832 64
WIRE 960 112 960 64
WIRE -208 128 -208 16
WIRE -48 160 -48 64
WIRE 256 160 256 64
WIRE 288 160 256 160
WIRE 512 160 512 64
WIRE 512 160 352 160
WIRE 128 176 128 128
WIRE 384 208 352 208
WIRE 512 208 512 160
WIRE 512 208 464 208
WIRE -208 240 -208 208
WIRE -112 240 -112 -16
WIRE -112 240 -208 240
WIRE -48 256 -48 240
WIRE 128 256 -48 256
WIRE 704 256 704 192
WIRE 704 256 128 256
WIRE 832 256 832 192
WIRE 832 256 704 256
WIRE 960 256 960 192
WIRE 960 256 832 256
WIRE -48 288 -48 256
FLAG -48 288 0
FLAG -16 64 Vin
FLAG -208 240 0
FLAG 704 64 Vrly
SYMBOL res 112 160 R0
SYMATTR InstName R1
SYMATTR Value 1
SYMBOL cap 112 64 R0
SYMATTR InstName C1
SYMATTR Value 6µ
SYMBOL voltage -48 144 R0
WINDOW 3 103 175 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 22 174 Left 0
WINDOW 0 -45 9 Left 0
SYMATTR Value SINE(0 720 60 0 0 0 240)
SYMATTR SpiceLine Rser=.1
SYMATTR InstName V1
SYMBOL sw 96 64 R90
WINDOW 3 49 -5 VRight 0
WINDOW 0 24 92 VRight 0
SYMATTR Value MySwitch
SYMATTR InstName S1
SYMBOL ind2 688 96 R0
WINDOW 3 21 114 Left 0
SYMATTR Value 500m
SYMATTR InstName L1
SYMATTR SpiceLine Rser=100u Rpar=1Meg
SYMATTR Type ind
SYMBOL voltage -208 112 R0
WINDOW 3 -219 162 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PWL(0 0 .054167 0 .054168 5 .55 5 .551 0 .9 0 .91 5 1.6 5 1.61
0 1.90 0 1.91 5 2.85 5 2.851 0 3 0)
SYMATTR InstName V2
SYMBOL Misc\\SCR 480 48 R90
SYMATTR InstName U1
SYMBOL Misc\\SCR 288 176 R270
SYMATTR InstName U2
SYMBOL res 560 -32 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R2
SYMATTR Value 20
SYMBOL cap 464 -32 R90
WINDOW 0 0 32 VBottom 0
WINDOW 3 32 32 VTop 0
SYMATTR InstName C2
SYMATTR Value .47µ
SYMBOL ind2 848 96 M0
SYMATTR InstName L2
SYMATTR Value 50µ
SYMATTR SpiceLine Rser=50u Rpar=1Meg
SYMATTR Type ind
SYMBOL res 944 96 R0
SYMATTR InstName R3
SYMATTR Value 100µ
SYMBOL res 96 -112 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R4
SYMATTR Value 250k
SYMBOL voltage 368 208 R270
WINDOW 3 291 -216 VRight 0
WINDOW 123 0 0 Left 0
WINDOW 39 24 -12 Left 0
SYMATTR Value PWL(0 0 .1041667 0 .1041700 5 .5041667 5 .50417 0 1.00 0 1.001
5 1.50 5 1.501 0 2.004167 0 2.004168 5 2.5 5 2.75 5 2.7501 0 3 0)
SYMATTR SpiceLine Rser=10
SYMATTR InstName V3
SYMBOL voltage 384 16 M270
WINDOW 3 128 -1014 VRight 0
WINDOW 123 0 0 Left 0
WINDOW 39 24 -12 Left 0
SYMATTR Value PWL(0 0 .1041667 0 .1041700 5 .5041667 5 .50417 0 1.00 0 1.001
5 1.50 5 1.501 0 2.004167 0 2.004168 5 2.5 5 2.75 5 2.7501 0 3 0)
SYMATTR SpiceLine Rser=10
SYMATTR InstName V4
TEXT -408 200 Left 0 !.tran 3 startup
TEXT -392 344 Left 0 !.model MySwitch SW(Ron=.01 Roff=100Meg Vt=2 Vh=-.5
Lser=10n Vser=0)
TEXT -24 160 Left 0 !.inc SCR.SUB
TEXT 720 16 Left 0 !K1 L1 L2 1

=================================================
The SCR model (SCR.sub) modified from
http://pages.suddenlink.net/wa5bdu/ltguide.pdf is:

* SCR:
* Extracted from PONT_DIPH.CIR file from EDN website.
* I renamed that file as SCR_CKT.CIR
*
* Anode
* | Cathode
* | | Trigger
* | | |
..subckt SCR 1 3 2
* (I had to change the above line to match the pins of the SCR symbol)
* Models used by the SCR model:
..model STH VSwitch (ROn=0.1,VOff=0.5)
..model DLG D (Rs =25m)
*
* We assume that the SCR in the on-state is equivalent to 0.1 ohm:
SSCR 1 4 5 0 STH
VSCR 4 2 0V
*
* Trigger to cathode impedance is a 1k ohm resistance - for simplification:
RTrig 2 3 1k
*
* The following circuit locks in the on-state when a 1mA current flows
* through the gate to the cathode with a positive anode to cathode voltage.
* This circuit locks in the off-state when the current through ths SCR tends
* to become negative:
VPlus 6 0 2V
SiTrig 6 5 3 2 STH
CState 5 0 1uF IC=0
DLogic 5 8 DLG
HCur 8 0 poly(1) VSCR 1 10000
*
* The potential of node 5 reflects the state of the SCR. It is less than 1V
* for the off-state and between 1V and 2V in the on-state.
..ends
 
G

Grant

Jan 1, 1970
0
I have been working on a high current test set which uses SCR Solid State
Relays to drive the primary of a transformer with 480 VAC mains power. There
is a contactor which closes to apply power to the SSR, and then at a later
time it is energized at the peak voltage point to reduce DC offset into the
inductive load. The output of the transformer is about 2 volts and is
capable of supplying 20,000 amperes or more into a low impedance load
(circuit breaker), or a shunt for the purposes of calibration.

The problem has been that, sometimes, the SCR will conduct for a half-cycle
or so when the contactor closes. We have tried all sorts of snubbers across
the SCRs and also across the primary of the transformer, with some success,
but it still occasionally triggers, which sometimes causes a very high
inrush and it has blown 100 ampere LPS fuses.

I made an LTSpice simulation that is roughly the same as the actual circuit,
and it mostly performs as expected. But the SCR triggers on for 1/4 cycle
when the contactor is closed at the voltage peak (but also at other phase
angles). I have tried various snubbers and even series inductance to reduce
the dV/dt which seems to be triggering the SCRs. But nothing worked.
However, when I put a resistance of less than about 1 MegOhm across the
contactor, only a very small spike occurs at turn-on. I will be doing work
on the actual unit tomorrow, but I'd like to understand what may be going on
before then. Any ideas will be appreciated.

Did you lower the gate to K impedance? dV/dt on the anode couples to
the gate as well as you having to meet risetime dV/dt spec on anode?

Sorry, I'm not looking at the sim right now.

Grant.
 
P

Paul E. Schoen

Jan 1, 1970
0
Grant said:
Did you lower the gate to K impedance? dV/dt on the anode couples to
the gate as well as you having to meet risetime dV/dt spec on anode?

Sorry, I'm not looking at the sim right now.

I first did the simulation with th gates shorted to cathode. Now I have a
PWL 5V voltage source with 10 ohms resistance.

Thanks for the idea.

I might also try simulating an SCR with two cross-connected transistors
PNPN.

Paul
 
G

Grant

Jan 1, 1970
0
I first did the simulation with th gates shorted to cathode. Now I have a
PWL 5V voltage source with 10 ohms resistance.

Thanks for the idea.

I might also try simulating an SCR with two cross-connected transistors
PNPN.

I don't know how well a sim is going to match real life with power
SCRs.

Way back we used low gate resistance to a trigger transformer, the
bigger SCRs with low sensitivity gates we fired reliably with pilot
SCRs ;)

Grant.
 
F

Fred Abse

Jan 1, 1970
0
I first did the simulation with th gates shorted to cathode. Now I have a
PWL 5V voltage source with 10 ohms resistance.

Thanks for the idea.

I might also try simulating an SCR with two cross-connected transistors
PNPN.

Paul

You didn't specify the parameters of the SCR relay you are using.

Here's a subcircuit that you might find useful, it's the SKT100
(Semikron) stud thyristor, but it can be tailored to many other devices by
"plugging in" datasheet parameters. I've had good results on several
occasions modeling various devices with variations of it.

SKT100.lib:


..SUBCKT SKT100 anode gate cathode PARAMS:
*
*SCR
*MODEL FORMAT: PSpice
+ Vdrm=1200v Vrrm=1200v Idrm=1u
+ Ih=150ma dVdt=500e6
+ Igt=150ma Vgt=1.75v
+ Vtm=1.75v Itm=100
+ Ton=10u Toff=20u

* Where:
* Vdrm => Forward breakover voltage
* Vrrm => Reverse breakdown voltage
* Idrm => Peak blocking current
* Ih => Holding current
* dVdt => Critical value for dV/dt triggering
* Igt => Gate trigger current
* Vgt => Gate trigger voltage
* Vtm => On-state voltage
* Itm => On-state current
* Ton => Turn-on time
* Toff => Turn-off time

* Main conduction path
Scr anode anode0 control 0 Vswitch ; controlled switch
Dak1 anode0 anode2 Dakfwd OFF ; SCR is initially off
Dka cathode anode0 Dkarev OFF
VIak anode2 cathode ; current sensor

* dVdt Turn-on
Emon dvdt0 0 TABLE {v(anode,cathode)} (0 0) (2000 2000)
CdVdt dvdt0 dvdt1 100pfd ; displacement current
Rdlay dvdt1 dvdt2 1k
VdVdt dvdt2 cathode DC 0.0
EdVdt condvdt 0 TABLE {i(vdVdt)-100p*dVdt} (0 0 ) (.1m 10)
RdVdt condvdt 0 1meg

* Gate
Rseries gate gate1 {(Vgt-0.54)/Igt}
Rshunt gate1 gate2 {0.54/Igt}
Dgkf gate1 gate2 Dgk
VIgf gate2 cathode ; current sensor

* Gate Turn-on
Egate1 gate4 0 TABLE {i(Vigf)-0.95*Igt} (0 0) (1m 10)
Rgate1 gate4 0 1meg
Egon1 congate 0 TABLE {v(gate4)*v(anode,cathode)} (0 0) (10 10)
Rgon1 congate 0 1meg

* Main Turn-on
EItot Itot 0 TABLE {i(VIak)+5E-5*i(VIgf)/Igt} (0 0) (2000 2000)
RItot Itot 0 1meg
Eprod prod 0 TABLE {v(anode,cathode)*v(Itot)} (0 0) (1 1)
Rprod prod 0 1meg
Elin conmain 0 TABLE
+ {10*(v(prod) - (Vtm*Ih))/(Vtm*Ih)} (0 0) (2 10)
Rlin conmain 0 1meg

* Turn-on/Turn-off control
Eonoff contot 0 TABLE
+ {v(congate)+v(conmain)+v(condvdt)} (0 0) (10 10)

* Turn-on/Turn-off delays
Rton contot dlay1 825
Dton dlay1 control Delay
Rtoff contot dlay2 {290*Toff/Ton}
Dtoff control dlay2 Delay
Cton control 0 {Ton/454}

* Reverse breakdown
Dbreak anode break1 Dbreak
Dbreak2 cathode break1 Dseries

* Controlled switch model
..MODEL Vswitch vswitch
+ (Ron = {(Vtm-0.7)/Itm}, Roff = {Vdrm*Vdrm/(Vtm*Ih)},
+ Von = 5.0, Voff = 1.5)

* Diodes
..MODEL Dgk D (Is=1E-16 Cjo=50pf Rs=5)
..MODEL Dseries D (Is=1E-14)
..MODEL Delay D (Is=1E-12 Cjo=5pf Rs=0.01)
..MODEL Dkarev D (Is=1E-10 Cjo=5pf Rs=0.01)
..MODEL Dakfwd D (Is=4E-11 Cjo=5pf)
..MODEL Dbreak D (Ibv=1E-7 Bv={1.1*Vrrm} Cjo=5pf Rs=0.5)

* Allow the gate to float if required
Rfloat gate cathode 1e10

..ENDS
 
P

Paul E. Schoen

Jan 1, 1970
0
Fred Abse said:
You didn't specify the parameters of the SCR relay you are using.

Here's a subcircuit that you might find useful, it's the SKT100
(Semikron) stud thyristor, but it can be tailored to many other devices by
"plugging in" datasheet parameters. I've had good results on several
occasions modeling various devices with variations of it.

SKT100.lib:

Thanks for the subcircuit. I may try it next. I simulated an SCR with an
NPN/PNP pair but I had to reduce the applied voltage because the models were
for 60 volt devices. The simulation is now much faster, and I still get the
initial unwanted turn-on. I tried various means to reduce the turn-on dV/dt
but even at 14 V/uSec I get the initial spike. Here is the simulation with
the two transistor SCR model.

Paul
==============================================================

Version 4
SHEET 1 1756 680
WIRE 256 -256 208 -256
WIRE 448 -256 336 -256
WIRE 480 -256 448 -256
WIRE 656 -256 576 -256
WIRE 448 -176 448 -256
WIRE 208 -112 208 -256
WIRE 400 -112 208 -112
WIRE 528 -112 528 -192
WIRE 528 -112 496 -112
WIRE 64 -16 -160 -16
WIRE 208 -16 208 -112
WIRE 400 -16 208 -16
WIRE 560 -16 544 -16
WIRE 656 -16 656 -256
WIRE 656 -16 560 -16
WIRE 704 -16 656 -16
WIRE 16 16 -112 16
WIRE 64 16 64 -16
WIRE -112 64 -112 16
WIRE -16 64 -48 64
WIRE 0 64 -16 64
WIRE 128 64 80 64
WIRE 208 64 208 -16
WIRE 208 64 128 64
WIRE 384 64 352 64
WIRE 560 64 560 -16
WIRE 560 64 464 64
WIRE 704 64 704 -16
WIRE 960 64 832 64
WIRE 704 112 704 64
WIRE 832 112 832 64
WIRE 960 112 960 64
WIRE 208 128 208 64
WIRE 240 128 208 128
WIRE 352 128 352 64
WIRE 352 128 336 128
WIRE 432 128 352 128
WIRE -160 144 -160 -16
WIRE -160 144 -208 144
WIRE -112 144 -160 144
WIRE -48 160 -48 64
WIRE 128 176 128 128
WIRE 432 176 432 128
WIRE 288 240 288 192
WIRE 384 240 288 240
WIRE 560 240 560 64
WIRE 560 240 480 240
WIRE -48 256 -48 240
WIRE 128 256 -48 256
WIRE 704 256 704 192
WIRE 704 256 128 256
WIRE 832 256 832 192
WIRE 832 256 704 256
WIRE 960 256 960 192
WIRE 960 256 832 256
WIRE -48 288 -48 256
FLAG -48 288 0
FLAG -16 64 Vin
FLAG -208 144 0
FLAG 704 64 Vout
SYMBOL res 112 160 R0
SYMATTR InstName R1
SYMATTR Value 20
SYMBOL cap 112 64 R0
SYMATTR InstName C1
SYMATTR Value 6µ
SYMBOL voltage -48 144 R0
WINDOW 3 -261 54 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 30 83 Left 0
WINDOW 0 -45 9 Left 0
SYMATTR Value SINE(0 35 60 0 0 0 240)
SYMATTR SpiceLine Rser=1
SYMATTR InstName V1
SYMBOL sw 96 64 R90
WINDOW 3 49 -5 VRight 0
WINDOW 0 24 92 VRight 0
SYMATTR Value MySwitch
SYMATTR InstName S1
SYMBOL ind2 688 96 R0
WINDOW 3 21 114 Left 0
SYMATTR Value 500m
SYMATTR InstName L1
SYMATTR SpiceLine Rser=100u Rpar=1Meg
SYMATTR Type ind
SYMBOL voltage -112 48 R0
WINDOW 3 -813 -83 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PWL(0 0 .054167 0 .054168 5 .55 5 .551 0 .9 0 .91 5 1.6 5 1.61
0 1.90 0 1.91 5 2.85 5 2.851 0 3 0)
SYMATTR InstName V2
SYMBOL res 560 -32 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R2
SYMATTR Value 1µ
SYMBOL cap 464 -32 R90
WINDOW 0 0 32 VBottom 0
WINDOW 3 32 32 VTop 0
SYMATTR InstName C2
SYMATTR Value .47µ
SYMBOL ind2 848 96 M0
SYMATTR InstName L2
SYMATTR Value 50µ
SYMATTR SpiceLine Rser=50u Rpar=1Meg
SYMATTR Type ind
SYMBOL res 944 96 R0
SYMATTR InstName R3
SYMATTR Value 100µ
SYMBOL voltage 368 64 R270
WINDOW 3 232 -1656 VRight 0
WINDOW 123 0 0 Left 0
WINDOW 39 -21 94 VRight 0
WINDOW 0 24 93 VRight 0
SYMATTR Value PWL(0 0 .1041667 0 .1041700 5 .5041667 5 .50417 0 1.00 0 1.001
5 1.50 5 1.501 0 2.004167 0 2.004168 5 2.5 5 2.75 5 2.7501 0 3 0)
SYMATTR SpiceLine Rser=10
SYMATTR InstName V3
SYMBOL voltage 352 -256 M270
WINDOW 3 -9 198 VRight 0
WINDOW 123 0 0 Left 0
WINDOW 39 -50 52 VLeft 0
WINDOW 0 -48 101 VLeft 0
SYMATTR Value PWL(0 0 .1041667 0 .1041700 5 .5041667 5 .50417 0 1.00 0 1.001
5 1.50 5 1.501 0 2.004167 0 2.004168 5 2.5 5 2.75 5 2.7501 0 3 0)
SYMATTR SpiceLine Rser=10
SYMATTR InstName V4
SYMBOL npn 384 176 M90
WINDOW 0 46 31 Left 0
WINDOW 3 37 59 Left 0
SYMATTR InstName Q1
SYMATTR Value 2N3055
SYMBOL pnp 336 192 M270
WINDOW 0 39 30 Left 0
WINDOW 3 41 61 Left 0
SYMATTR InstName Q2
SYMATTR Value D45H11
SYMBOL npn 496 -176 R90
WINDOW 0 46 31 Left 0
WINDOW 3 37 59 Left 0
SYMATTR InstName Q3
SYMATTR Value 2N3055
SYMBOL pnp 480 -192 R270
WINDOW 0 39 30 Left 0
WINDOW 3 41 61 Left 0
SYMATTR InstName Q4
SYMATTR Value D45H11
TEXT -544 56 Left 0 !.tran 3 startup
TEXT -784 -64 Left 0 !.model MySwitch SW(Ron=.1 Roff=100Meg Vt=2 Vh=-.5
Lser=10n Vser=0)
TEXT -24 160 Left 0 !.inc SCR.SUB
TEXT 720 16 Left 0 !K1 L1 L2 1
 
Top