Presentation Outlines
In order to use Pspice for power electronic
systems, we have to:
Know background of SPICE
Understand Power Electronics Circuits/Systems
Know how to use VPULSE to generate useful
waveforms
Know how to make simple models using ABM
Scope
This presentation covers:
PSpice
System/Circuit Level Simulation
Power Electronic Circuits/Systems
Simulation
SPICE/PSpice
Did you know?
SPICE turns 38 years old this year
I Knew SPICE when she was 17 years old
I love PSpice because she can do almost
anything I need with FOC.
I like to talk about her.
Why simulation?
Simulations are essential ingredients of the
analysis and design process in power
electronics:
continued
Testing and finding of critical states and
regions of operation (Worst Case Analysis)
Stress test (Smoke Analysis)
Optimization of system
Testing new ideas
Overview
Simulation of analog circuits normally
uses three basic tools:
SPICE simulator,
Mathematical analysis package,
and Microsoft Excel.
SPICE
Simulation Program for Integrated Circuit
Emphasis
Intended for ICs, not for power electronics.
SPICE LIMITATIONS
The NewtonRaphson algorithm is guaranteed
to converge if the equations is continuous.
The transient analysis has the additional
possibility of unable to converge because of the
discontinuity in time.
SPICE LIMITATIONS
Computer Hardware Limitation:
Voltage and currents are limited to +/1e10.
Derivatives in PSpice are limited to 1e14.
The arithmetic used in PSpice is double
precision and has 15 digits of accuracy.
10
11
12
Discontinuity Analogy:
A Bump on the Road
Unacceptable Bump
Acceptable Bump
Avoid Discontinuity
S
VGS
VGS
VPULSE
Waveform generator
PULSE
SAWTOOTH
TRIANGULAR
15
VPULSE
Waveform generator
In order to use PSpice for power electronic
circuits, the first thing you have to know is to
program VPULSE to produce these waveforms:
PULSE
Sawtooth
Triangular
16
VPULSE
Waveform Generator Part
has 7 parameters to set
TD can be zero, others can not!
V1=
V2=
TD=
TR=
TF=
PW=
PER=
know
PW
V2
V1
TD
PER
VPULSE
To Generate Pulse Waveform
Very small values for TR and TF
Duty cycle = PW/PER
V1=0
V2=12
TD=0
TR=10n
TF=10n
PW=10u
PER=20u
PW
V2
V1
TR 0
TF 0
PER
18
A Typical application
Buck Converter (Open Loop)
M2
IR F15 0
10 0uH
68 0uF
V2
V3
20 V
10
MU R1 520
V+
V
TD = 0
TF = 1 0n
PW = 10u
PE R = 20u
V1 = 0
TR = 1 0n
V2 = 1 2V
50%
PER 20
20
PW
5
D
25%
PER 20
21
VPULSE
To Generate Sawtooth
Very small values for TF and PW
TRPER
V1=0
V2=12
TD=0
TR={20u20n}
TF=10n
PW=10n
PER=20u
PW
TF
PER
22
A Typical application
Buck Converter (Closed Loop)
M2
IR F15 0
10 0uH
68 0uF
V2
+

+

Gate
Driver
20 V
Sawtooth
Gen.
V4
Comparator
+
Control
0 Signal
10
E1
MU R1 520
E
GA IN = 4
PSpice Implementation
M2
IR F15 0
10 0uH
+

68 0uF
Gate
Driver
+

V2
20 V
10
E1
MU R1 520
E
GA IN = 1
Comparator
E2
V5
Control
2.5 Vdc
Signal
IN +OU T+
IN  OU TETABL E
V3
Gate Driver E
Comparator ETABLE
TD = 0
TA BLE = (0 ,0 ( 200u ,12 )
TF = 1 0n
V( %IN +, % IN)
PW = 10n
0PE R = 20u
V1 = 1 V
TR = { 20u 20n}
V2 = 4 V
Vpulse
Sawtooth VPULSE
Control VDC
24
D = 50 %
Pulse
25
D = 33%
Pulse
VPULSE
To Generate Triangular wave
Very small value for PW
TRTF PER/2
V1= 1
V2= +1
TD=0
TR= {10u10n}
TF= {10u10n}
PW=20n
PER=20u
PW
PER
27
VPULSE
Its Triangular Wave
28
Triangular Wave
Typical applications
Bipolar SPWM
TR I
SI NE
V
V1 = 1
V1
V2 = +1
TD = 0
V2
TR = { (1/(F TRI *2)) 10n}
VO FF = 0
TF = {( 1/(F TRI* 2)1 0n)}
VA MPL = { Ma}
PW = 20n
FR EQ = {F SIN E}
PE R = {1/F TRI }
PH ASE = { 90/ Mf }
Comparator
PARAMETERS:
Ma = 0 .8
Mf = 2 1
FTRI = {FS INE *Mf }
FS INE = 5 0
VD C = 100
29
Triangular Wave
Typical applications
Bipolar SPWM
1.0V
0V
1.0V
V(TRI)
V(SINE)
100
100
40ms
42ms
V(SPWM)
0
44ms
46ms
48ms
50ms
52ms
54ms
56ms
58ms
60ms
Time [ms]
30
Triangular Wave
Typical applications
Unipolar SPWM
TR I
V1 = 1
V1
V2 = +1
TD = 0
TR = { (1/(F TRI *2)) 10n }
TF = {( 1/(F TRI *2)1 0n)}
PW = 20n
PE R = {1/F TRI }
SI NE1
V
0.5 *VD C*( V(SI NE1 )V( TRI) )/AB S(V (SIN E1) V(TRI))
V2
VO FF = 0
VA MPL = { Ma}
FR EQ = {F SIN E}
PH ASE = { 90/ Mf }
Comparator 1
0
SI NE2
V
PARAMETERS:
Ma = 0 .8
V2 a
Mf = 2 1
FTRI = {FS INE *Mf } VO FF = 0
VA MPL = { Ma}
FS INE = 5 0
FR EQ = {F SIN E}
VD C = 100
PH ASE = { 90/ Mf +180}
0.5 *VD C*( V(SI NE2 )V( TRI) )/AB S(V (SIN E2) V(TRI))
B
V
Comparator 2
31
Triangular Wave
Typical applications
Unipolar SPWM
1.0V
0V
1.0V
V(SINE1)
V(SINE2)
V(TRI)
100V
0V
100V
40ms
42ms
V(A)V(B)
44ms
46ms
48ms
50ms
52ms
54ms
56ms
58ms
60ms
Time [ms]
32
33
ABM
Behavior Model of Comparator
V(out)
V()
V(+)
ABM
Behavior Model of Comparator
V(out)
+
(3) Using I/O graph
V(out)
V()
V(+)
V(+)V()
V()
0
35
ABM
Comparator in PSpice
IF (V(S INE )>V( TRI) ,10, 10)
TR I
V1 = 1
V1
V2 = +1
TD = 0
TR = { (1/(F TRI *2)) 10n }
TF = {( 1/(F TRI *2)1 0n)}
PW = 20n
PE R = {1/F TRI }
SI NE
V
V2
VO FF = 0
VA MPL = { Ma}
FR EQ = {F SIN E}
PH ASE = { 90/ Mf }
SI NE E1
2
TR I
IN +OU T+
IN  OU TETABL E
V( %IN +, % IN)
ou t2
V
PARAMETERS:
Ma = 0 .8
Mf = 2 1
FTRI = {FS INE *Mf }
FS INE = 5 0
VD C = 10
ou t1
ou t3
V
ou t4
V
36
ABM
Behavior Model of Comparator
1.0V
0V
1.0V
V(TRI)
V(SINE)
10V
0V
10V
40ms
42ms
44ms
46ms
V(OUT3) V(OUT2) V(OUT1) V(OUT4)
48ms
50ms
52ms
54ms
56ms
58ms
60ms
Time [ms]
37
ABM
Behavior Model of Rectifier (I)
D3
Db reak
D4
Db reak
V1 a
VO FF = 0
VA MPL = 3 40
FR EQ = 50
R1 a
1k
D5
Db reak
D6
Db reak
0
in
V(out)=ABS(V(IN))
V1
E1
VO FF = 0
VA MPL = 3 40
FR EQ = 50
R1 b
IN +OU T+
IN  OU TEV ALU E
1k
ABS(V(IN))
0
0
38
ABM
Behavior Model of Rectifier (II)
+
Van
Vbn
Vcn
V(out) = 0.5*(ABS(V(an)V(bn)
+ABS(V(bn)V(cn))
+ABS(V(cn)V(an)))

39
ABM
Behavior Model of Buck in CCM
IR F54 0
10 0uH
V2
20 Vdc
V3
Vd
MU R1 520
TD = 0
TF = 1 0n
PW = 10u
PE R = 20u
V1 = 0
TR = 1 0n
V2 = 1 2V
d is a PWM signal
with 1V amplitude.
68 0uF
Vd = d*Vin
+
d
Vin
RL
E1
IN +OU T+
IN  OU TEV ALU E
V(%IN+)*V( %IN)
Vd
10 0uH
68 0uF
RL
0
40
ABM
Behavior Model of Inverter
a
+
Vab

VDC
SINE
TRI
Bipolar SPWM
E1
IN+ OUT+
IN OUTEVALUE
+
Vab

#TIPS
There are many different ways
to model the same thing. So, be
creative!
Use a simple model wherever
possible to reduce modeling time
and make simulation run faster
and converge better!
42
43
+

+

SG3525
PWM Controller IC
45
SG3525
PWM Controller IC
Key Functions:
Oscillator
(Sawtooth Generator)
PWM Comparator
and SR Flipflop
Error Amplifier
5.1 V Reference
Pulse Steering
Logic
Shutdown and
Softstart Circuitry
46
SG3525
We do not need to have SG3525 model in
PSpices library to simulate buck converter with
VMC.
To verify the controller design, all we need are
functional models of these:
Error Amplifier
Comparator
Sawtooth generator
47
SG3525
A Simple Model
Sawtooth
+
Error Amp.
To MOSFET
Driver
Comparator
48
+

Buck Converter
Comparator
Error Amp.
Vref
VP ULSE
Sawtooth
49
50
Load Disturbance
How to set a load disturbance ?
Let the load disturbance is:
3A
1A
0A
8 ms
8.5 ms
R = 1.666 W
R=5W
R=5W
I1 = 1
I2 = 3
TD = 8m
TR = 0.1u
TF = 0.1u
PW = 0.5m
PER = 1m
I1
ILOAD
Load Disturbance
How to set load disturbance ?
Using SW_tclose and SW_topen
TOPEN = 8.5m
1
TCLOSE = 8m
2 .5
5//2.5 =1.666
53
M1
IRF150
R1av
L1
out
{L}
50m
V 0Vdc
IC = 1A
V2
GA IN = 3
R2av
{Resr}
D5
Dbreak
E1
+

+

15Vdc
ILOAD
C1av
{C}
IC = 5V
I1 = 1
I2 = 3
TD = 8m
TR = 0.1u
TF = 0.1u
PW = 0.5m
PE R = 1m
I1
C3av
E2av
R7av
C4av
{R2}
{C2}
{R1}
{C1}
OUT+ IN+
OUT IN
(0,0) (250u,5) V1 = 0
0
C2av
E1av
OUT+ IN+
OUT INET ABLE
V(%IN+, %IN)
R6av{C3}
V2 = 3
TD = 0
TR = {10u20n}
TF = 10n
PW = 10n
PE R = 10u
R4av
{R3}
V2av
ET ABLE
V(%IN+, %IN)
V1
R2
{Rbias}
{Vref }
0
54
Output Voltage
5.0V
4.8V
4.0A
V(OUT)
2.0A
0A
7.8ms
7.9ms
8.0ms
I(L1) I(ILOAD)
Inductor Current
8.1ms
8.2ms
8.3ms
8.4ms
8.5ms
8.6ms
8.7ms 8.8ms
Time [ms]
55
Input Disturbance
How to set an input disturbance ?
Let the input disturbance is:
25 V
15 V
0V
8 ms
8.5 ms
56
Input Disturbance
How to set an input disturbance ?
15 V
0V
8 ms
9 ms
PWL(T1,V1)(T2,V2)(T3,V3)(T4,V4)(T5,V5)
Input Disturbance
Responses
30V
25V
Input Voltage
20V
10V
V(INPUT)
5.1V
5.0V
Output Voltage
4.9V
4.8V
V(OUT)
2.0A
Inductor Current
1.0A
0A
7.8ms
I(L1)
8.0ms
8.2ms
8.4ms
8.6ms
8.8ms
9.0ms
9.2ms
9.4ms
9.6ms
9.8ms 10.0ms
Time [ms]
58
Startup Scenario
Previous simulation skips startup scenario.
To know how the controller handles startup, set the initial
values for iL and vc to zero.
20
15
Inductor Current
10
Output Voltage
5
0
0s
I(L1)
100us
V(OUT)
200us
300us
400us
500us
600us
700us
800us
Time [s]
59
Startup Scenario
A very large overshoot and undershoot occur in inductor current.
The duty cycle is at first at 1 for a long time and later at 0 for a long
time too, then after that it gradually increases.
Convergence problem can easily occurs at this extreme condition.
5.0V
2.5V
Gate Signal
0V
V(E1:1)
20
15
10
5
0
0s
I(L1)
100us
V(OUT)
200us
300us
400us
500us
600us
700us
800us
Time
60
Startup
In practical circuit, another auxiliary controller is
required to handle startup.
This circuit is known as softstart.
Soft start
Controller
5.0V
VMC
Controller
2.5V
Gate Signal
0V
V(E1:1)
20
15
10
5
0
0s
I(L1)
100us
V(OUT)
200us
300us
400us
500us
600us
700us
800us
Time [s]
Softstart
To add Softstart
The previous PWM IC model is very useful and it is
simple to setup in PSpice.
It is enough to verify the design of controller based on
small signal model.
However, to add softstart controller and other
protection circuits, we need a more flexible PWM IC
model.
62
Clock
Sawtooth
SR Flipflop
Comparator
+
+
S
R
Error Amp.
Clock
Sawtooth
Error Amp.
SR Flipflop
Comparator
+
+
Analog
Signals
R
R
Digital
Signals
Softstart
To add Softstart Signal
Sawtooth
Control
Signal
Error Amp.
Output
Softstart
To R of SR
FlipFlop
Softstart
To add Softstart Signal
Sawtooth
50 A
Softstart (SS)
C
+

Error Amp.
Output (EAO) 
To R of SR
FlipFlop
Softstart
How Softstart works?
Softstart
Voltage
V
I C
t
4V
Slope =
50
C
C = 125 nF
10 ms
Softstart
To add Softstart Signal
Sawtooth
50 A
SS
C
EAO
Control
Signal
To R of SR
FlipFlop
Selector
Softstart
In PSpice
C3av
SELECTOR
IFThenElse
V(%IN+, %IN)
IF( V(%IN2)<V(%IN1),
V(%IN2),V(%IN1) )
(0,0) (250u,5)
E2av
ET ABLE
OUT+ IN+
OUT IN
R7av
C4av
{R2}
{C2}
{R1}
{C1}
R4av
SoftS
R2
{Rbias}
V1
V3
Vout
{R3}
V2av
ET ABLE
V(%IN+, %IN)
Comparator
0
C2av
OUT+ IN+
OUT IN
Sawtooth
V1 = 0
V2 = 3
TD = 0
TR = {10u20n}
TF = 10n
PW = 10n
PE R = 10u
R6av{C3}
E1av
1 err_out
control
Error Amplifier
{Vref }
0
TRAN = PWL(0,0)(10m,4)
Sawtooth
Generator
69
Softstart
Startup Signals
Control = IF(SS < EAO, SS, EAO)
5.0V
2.5V
0V
5.0V
SoftStart Signal
2.5V
0V
2.0V
1.0V
0V
0s
Control Signal
1.0ms
2.0ms
3.0ms
4.0ms
5.0ms
6.0ms
Time [ms]
70
Softstart
C = 125 nF (Too Small!)
7.5V
5.0V
2.5V
tstartup = 1ms
V(OUT)
0V
4.0A
I(L1)
2.0A
0A
0s
1.0ms
2.0ms
3.0ms
4.0ms
5.0ms
6.0ms
Time [ms]
Softstart
Softstart
Startup Current and Voltage
7.5V
C = 25 nF
5.0V
2.5V
tstartup = 3.2 ms
V(OUT)
0V
2.0A
1.0A
0A
0s
I(L1)
1.0ms
2.0ms
3.0ms
4.0ms
5.0ms
6.0ms
Time [ms]
Softstart
Startup Current and Voltage
6.0V
4.0V
V(OUT)
2.0V
0V
V(OUT)
2.0A
1.0A
I(L1)
SEL>>
0A
0s
5ms
10ms
15ms
20ms
25ms
30ms
35ms
I(L1)
Time
Clock
Sawtooth
Error Amp.
SR Flipflop
Comparator
+
+
Analog
Signals
R
R
Digital
Signals
RESET 3 (DMax)
1
2
Q
U10A
7402
U12A
7432
RESET 2 (CL)
1
2
1
U11A
7402
SET
S
V1 = 0
V2 = 5V
TD = 0
TR = 1n
TF = 1n
PW = 0.1u
PE R = 10u
VClock
U16A
7432
Ecurr_l imit
OUT+ IN+
OUT IN
I(L1)
8A
ET ABLE
0 +V(%IN+, %IN)
(0,0) (250u,5)
RESET 1 (EAO)
5.0V
2.5V
0V
V(S)
5.0V
DUTYMAX
2.5V
0V
V(DUTYMAX)
4.0V
SAWTOOTH
2.0V
0V
0s
20us
V(SAWTOOTH)
40us
60us
80us
100us
120us
140us
160us
180us
200us
Time
DUTYMAX signal will only reset FF if the duty cycle is more than 0.85
This DUTYMAX is to make sure that the MOSFET always turnsoff for
each cycle
CurrentLimit signal will only appear and reset FF if the peak switch is
greater than prespecified value.
76
Output Voltage
5
Inductor Current
0
5.6ms
V(OUT)
5.7ms
I(L1)
5.8ms
5.9ms
6.0ms
6.1ms
6.2ms
6.3ms
6.4ms
6.5ms
6.6ms
Time
77
8A Limiter
Output Voltage
Inductor Current
0
5.6ms
V(OUT)
5.7ms
I(L1)
5.8ms
5.9ms
6.0ms
6.1ms
6.2ms
6.3ms
6.4ms
6.5ms
6.6ms
Time
Reset by EAO
Reset by
DutyMax
Reset by
CurrentLimit
Reset by EAO
78
V(CLOCK)
5.0V
2.5V
0V
5.0V
V(PWMCOMP)
V(Q)
2.5V
0V
5.0V
V(CURRENTLIM)
V(Q)
2.5V
0V
5.90ms
5.95ms
V(Q)
V(DUTYMAX)
6.00ms
6.05ms
6.10ms
6.15ms
6.20ms
Time [ms]
A Load disturbance
at 6.0 ms
79
Knowing
80
CONCLUSION
In order to simulate power electronic circuit:
Know how to program VPULSE for Pulse,
Sawtooth, and Triangular waveforms.
Avoid discontinuity at any cost
Use the simplest model possible
Use a simple model first, and add
complexity in stages.
No replacement for good understanding
81
Q&A
82