PSIM User Manual
PSIM User Manual
Users Guide
Powersim Inc.
-7
June 2003
Disclaimer
Powersim Inc. (Powersim) makes no representation or warranty with respect to the adequacy or
accuracy of this documentation or the software which it describes. In no event will Powersim or its
direct or indirect suppliers be liable for any damages whatsoever including, but not limited to, direct,
indirect, incidental, or consequential damages of any character including, without limitation, loss of
business profits, data, business information, or any and all other commercial damages or losses, or for
any damages in excess of the list price for the licence to the software and documentation.
Powersim Inc.
email: [email protected]
http://www.powersimtech.com
-6
Contents
1
General Information
1.1
Introduction 1
1.2
Circuit Structure 2
1.3
Software/Hardware Requirement 2
1.4
1.5
Simulating a Circuit 3
1.6
Resistor-Inductor-Capacitor Branches 7
2.1.1 Resistors, Inductors, and Capacitors 7
2.1.2 Rheostat 8
2.1.3 Saturable Inductor 8
2.1.4 Nonlinear Elements 9
2.2
Switches 11
2.2.1 Diode, DIAC, and Zener Diode 12
2.2.2 Thyristor and TRIAC 14
2.2.3 GTO, Transistors, and Bi-Directional Switch 15
2.2.4 Linear Switches 18
2.2.5 Switch Gating Block 19
2.2.6 Single-Phase Switch Modules 21
2.2.7 Three-Phase Switch Modules 22
2.3
Coupled Inductors 24
2.4
Transformers 26
2.4.1 Ideal Transformer 26
i -5
Other Elements 31
2.5.1 Operational Amplifier 31
2.5.2 dv/dt Block 32
2.6
3.2
-4
ii
3.2.1 Summer 70
3.2.2 Multiplier and Divider 71
3.2.3 Square-Root Block 72
3.2.4 Exponential/Power/Logarithmic Function Blocks 72
3.2.5 Root-Mean-Square Block 73
3.2.6 Absolute and Sign Function Blocks 73
3.2.7 Trigonometric Functions 73
3.2.8 Fast Fourier Transform Block 74
3.3
3.4
Logic Components 85
3.4.1 Logic Gates 85
3.4.2 Set-Reset Flip-Flop 85
3.4.3 J-K Flip-Flop 86
3.4.4 D Flip-Flop 87
3.4.5 Monostable Multivibrator 87
3.4.6 Pulse Width Counter 88
3.4.7 A/D and D/A Converters 88
3.5
iii-3
Other Components
4.1
4.2
Sources 110
4.2.1 Time 110
4.2.2 DC Source 110
4.2.3 Sinusoidal Source 111
4.2.4 Square-Wave Source 112
4.2.5 Triangular Source 1
4.2.6 Step Sources 114
4.2.7 Piecewise Linear Source 115
4.2.8 Random Source 117
4.2.9 Math Function Source 1
4.2.10 Voltage/Current-Controlled Sources 118
4.2.11 Nonlinear Voltage-Controlled Sources 120
4.3
4.4
4.5
-2
iv
Analysis Specification
5.1
5.2
AC Analysis 136
5.3
6.2
6.3
Subcircuit 145
6.3.1 Creating Subcircuit - In the Main Circuit 146
6.3.2 Creating Subcircuit - Inside the Subcircuit 147
6.3.3 Connecting Subcircuit - In the Main Circuit 148
6.3.4 Other Features of the Subcircuit 149
6.3.4.1 Passing Variables from the Main Circuit to Subcircuit 149
6.3.4.2 Customizing the Subcircuit Image 150
6.3.4.3 Including Subcircuits in the PSIM Element List 151
6.4
v -1
6.5
Waveform Processing
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
0vi
8.2
8.3
Debugging 168
1
General Information
1.1
Introduction
PSIM is a simulation package specifically designed for power electronics and motor
control. With fast simulation and friendly user interface, PSIM provides a powerful
simulation environment for power electronics, analog and digital control, and motor
drive system studies.
This manual covers both PSIM1 and its three add-on Modules: Motor Drive Module,
Digital Control Module, and SimCoupler Module. The Motor Drive Module has built-in
machine models and mechanical load models for drive system studies. The Digital
Control Module provides discrete elements such as zero-order hold, z-domain transfer
function blocks, quantization blocks, digital filters, for digital control analysis. The
SimCoupler Module provides interface between PSIM and Matlab/Simulink2 for cosimulation.
The PSIM simulation package consists of three programs: circuit schematic program
PSIM, PSIM simulator, and waveform processing program SIMVIEW 1. The simulation
environment is illustrated as follows.
PSIM Schematic
PSIM Simulator
SIMVIEW
Introduction
circuit components. Chapter 5 describes the specifications of the transient analysis and
ac analysis. The use of the PSIM schematic program and SIMVIEW is discussed in
Chapter 6 and 7. Finally, error/warning messages are discussed in Chapter 8.
1.2
Circuit Structure
A circuit is represented in PSIM in four blocks: power circuit, control circuit, sensors,
and switch controllers. The figure below shows the relationship between these blocks.
Power Circuit
Switch
Controllers
Sensors
Control Circuit
The power circuit consists of switching devices, RLC branches, transformers, and
coupled inductors. The control circuit is represented in block diagram. Components in s
domain and z domain, logic components (such as logic gates and flip flops), and
nonlinear components (such as multipliers and dividers) are used in the control circuit.
Sensors measure power circuit voltages and currents and pass the values to the control
circuit. Gating signals are then generated from the control circuit and sent back to the
power circuit through switch controllers to control switches.
1.3
Software/Hardware Requiremen
PSIM runs in Microsoft Windows environment 98/NT/2000/XP on personal computers.
The minimum RAM memory requirement is 32 MB.
1.4
General Information
Files
Description
psim.dll
PSIM simulator
psim.exe
simview.exe
psim.lib, psimimage.lib
PSIM libraries
*.hlp
Help files
*.sch
Schematic files
1.5
*.sch
*.cct
*.txt
*.fra
*.smv
Simulating a Circuit
To simulate the sample one-quadrant chopper circuit chop.sch:
- Start PSIM. Choose Open from the File menu to load the file chop.sch.
- From the Simulate menu, choose Run PSIM to start the simulation. The
simulation results will be saved to File chop.txt. Any warning messages
occurred in the simulation will be saved to File message.doc.
- If the option Auto-run SIMVIEW is not selected in the Options menu, from
the Simulate menu, choose Run SIMVIEW to start SIMVIEW. If the option
Auto-run SIMVIEW is selected, SIMVIEW will be launched automatically.
In SIMVIEW, select curves for display.
1.6
Simulating a Circuit
The parameters in the Parameters tab are used in the simulation. The information in the
Other Info tab, on the other hand, is not used in the simulation. It is for reporting
purposes only and will appear in the parts list in View | Element List in PSIM.
Information such as device rating, manufacturer, and part number can be stored under
the Other Info tab.
The component color can be set in the Color tab.
Parameters under the Parameters tab can be a numerical value or a mathematical
expression. A resistance, for example, can be specified in one of the following ways:
12.5
12.5k
12.5Ohm
12.5kOhm
25./2.Oh
R1+R2
R1*0.5+(Vo+0.7)/Io
where R1, R2, Vo, and Io are symbols defined either in a parameter file (see Section
4.1), or in a main circuit if this resistor is in a subcircuit (see Section 6.3.4.1).
Power-of-ten suffix letters are allowed in PSIM. The following suffix letters are
supported:
109
106
k or K
103
10-3
10-6
10-9
10-12
General Information
A mathematical expression can contain brackets and is not case sensitive. The following
mathematical functions are allowed:
+
*
/
^
SQRT
SIN
COS
TAN
ATAN
addition
subtraction
multiplication
division
to the power of [Example: 2^3 = 2*2*2]
square-root function
sine function
cosine function
tangent function
inverse tangent function
EXP
LOG
LOG10
ABS
SIGN
General Information
2
Power Circuit Components
2.1
Resistor-Inductor-Capacitor Branches
R3
RC
RL
RL3
RC3
LC
RLC3
RLC
The names above the element images are the netlist names of the elements. For
example, a resistor appears as Resistor in the library menu, and the netlist name is
R.
For three-phase branches, the phase with a dot is Phase A.
Attributes:
Parameters
Description
Resistance
Resistance, in Ohm
Inductance
Inductance, in H
Capacitance
Capacitance, in F
Resistor-Inductor-Capacitor Branches
Parameters
Description
Initial Current
Initial Cap.Voltage
Current Flag
Current Flag_A;
Current Flag_B;
Current Flag_C
The resistance, inductance, or capacitance of a branch can not be all zero. At least one of
the parameters has to be a non-zero value.
2.1.2 Rheostat
A rheostat is a resistor with a tap.
Image:
RHEOSTAT
t
k
Attributes:
Parameters
Description
Total Resistance
Tap Position (0 to 1)
Current Flag
core.
Image:
L_SAT
Attributes:
Parameters
Description
Current Flag
The nonlinear B-H curve is represented by piecewise linear approximation. Since the
flux density B is proportional to the flux linkage and the magnetizing force H is
proportional to the current i, the B-H curve can be represented by the -i curve instead,
as shown below.
3
2
1
(B)
Inductance L = / i
i1
i2
i3
i (H)
The inductance is defined as: L = / i, which is the slope of the -i curve at different
points. The saturation characteristics can then be expressed by pairs of data points as:
(i1, L1), (i2, L2), (i3, L3), etc.
Resistor-Inductor-Capacitor Branches
NONV_1 / NONI_1
Input x
Attributes:
For resistance-type elements:
Parameters
Description
Expression df/di
Initial Value io
Lower Limit of i
Upper Limit of i
Description
Expression f(v) or
f(v,x)
Expression df/dv
Initial Value vo
Lower Limit of v
Upper Limit of v
A good initial value and lower/upper limits will help the convergence of the solution.
10
The nonlinear element (NONI) in the circuit above models a nonlinear diode. The diode
current is expressed as a function of the voltage as: i = 10-14 * (e 40*v-1). In PSIM, the
specifications of the nonlinear element will be:
2.2
Expression f(v)
1e-14*(EXP(40*v)-1)
Expression df/dv
40e-14*EXP(40*v)
Initial Value vo
Lower Limit of v
-1e3
Upper Limit of v
Switches
There are two basic types of switches in PSIM. One is switchmode. It operates either in
the cut-off region (off state) or saturation region (on state). The other is linear. It can
operates in either cut-off, linear, or saturation region.
Switches in switchmode include the following:
- Diode (DIODE) and DIAC (DIAC)
- Thyristor (THY) and TRIAC (TRIAC)
- Self-commutated switches, specifically:
- Gate-Turn-Off switch (GTO)
- npn bipolar junction transistor (NPN
- pnp bipolar junction transistor (PNP)
- Insulated-Gate Bipolar Transistor (IGBT
- n-channel Metal-Oxide-Semiconductor Field-Effect Transistor
(MOSFET) and p-channel MOSFET (MOSFET_P)
Switches
11
Attributes:
Parameters
Description
Initial Position
Flag for the initial diode position. If the flag is 0, the diode
is open. If it is 1, the diode is closed.
Current Flag
A DIAC is a bi-directional diode. A DIAC does not conduct until the breakover voltage
is reached. After that, the DIAC goes into avalanche conduction, and the conduction
voltage drop is the breakback voltage.
Image:
DIAC
12
Attributes:
Parameters
Description
Breakover Voltage
Breakback Voltage
Current Flag
Current flag
ZENER
Circuit Model
VB
A
Attributes:
Parameters
Description
Breakdown Voltage
Current Flag
If the zener diode is positively biased, it behaviors as a regular diode. When it is reverse
biased, it will block the conduction as long as the cathode-anode voltage VKA is less than
the breakdown voltage VB. When VKA exceeds VB, the voltage VKA will be clamped to
VB. [Note: when the zener is clamped, since the diode is modelled with an on-resistance
of 10, the cathode-anode voltage will in fact be equal to: VKA = VB + 10 * IKA.
Therefore, depending on the value of IKA, VKA will be slightly higher than VB. If IKA is
very large, VKA can be substantially higher than VB].
Switches
13
THY
A
K
Gate
Gate
Attributes:
Parameters
Description
Voltage Drop
Holding Current
Latching Current
Initial Position
Current Flag
14
Alpha
Controller
This circuit on the left uses a switching gating block (see Section 2.2.5). The switching
gating pattern and the frequency are pre-defined, and will remain unchanged throughout
the simulation. The circuit on the right uses an alpha controller (see Section 4.5.2). The
delay angle alpha, in deg., is specified through the dc source in the circuit.
Switches
15
Images:
GTO
NPN
PNP
MOSFET
MOSFET_P
IGBT
SSWI
Attributes:
Parameters
Description
Initial Position
Current Flag
On-off Controller
The circuit on the left uses a gating block, and the one on the right uses an on-off switch
controller (see Section 4.5.1). The gating signal is determined by the comparator output.
Example: Control of a npn Bipolar Junction Transistor
The circuit on the left uses a gating block, and the one on the right uses an on-off switch
controller
16
The following shows another example of controlling the BJT switch. The circuit on the
left shows how a BJT switch is controlled in the real life. In this case, the gating voltage
VB is applied to the transistor base drive circuit through a transformer, and the base
current determines the conduction state of the transistor.
This circuit can be modelled and implemented in PSIM as shown on the right. A diode,
Dbe, with a conduction voltage drop of 0.7V, is used to model the pn junction between
the base and the emitter. When the base current exceeds 0 (or a certain threshold value,
in which case the base current will be compared to a dc source), the comparator output
will be 1, applying the turn-on pulse to the transistor through the on-off switch
controller
Switches
17
NPN_1
Attributes:
Parameters
Description
Bias Voltage r
A linear BJT switch is controlled by the base current I b. It can operate in either one of
the three regions: cut-off (off state), linear, and saturation region (on state). The
properties of these regions for NPN_1 are:
- Cut-off region:
be
< Vr; Ib = 0;
- Linear region:
be
Ic = 0
18
NPN_1
Attributes:
Parameters
Description
Frequency
No. of Points
Switching Points
Switches
19
The number of switching points is defined as the total number of switching actions in
one period. Each turn-on or turn-off action is counted as one switching point. For
example, if a switch is turned on and off once in one cycle, the number of switching
points will be 2.
For GATING_1, the file for the gating table must be in the same directory as the
schematic file. The gating table file has the following format:
n
G1
G2
... ...
Gn
where G1, G2, ..., Gn are the switching points.
Example:
Assume that a switch operates at 2000 Hz and has the following gating pattern in one
period:
35
92
175
187
180
345
357
360
(deg.)
The specification of the gating block GATING for this switch will be:
Frequency
2000.
No. of Points
Switching Points
The gating pattern has 6 switching points (3 pulses). The corresponding switching
angles are 35o, 92o, 175o, 187o, 345o, and 357o, respectively.
If the gating block GATING_1 is used instead, the specification will be:
Frequency
2000.
test.tbl
20
6
35.
92.
175.
187.
345.
357.
BTHY1
DC+
DC+
DC+
A+
A+
A-
A-
DC-
Ct
DC+
A+
A4
A-
2
DC-
DC-
DC-
Ct
Attributes:
Parameters
Description
Init. Position_i
Current Flag_i
Node Ct at the bottom of the thyristor module BTHY1 is the gating control node for
Switch 1. For the thyristor module, only the gatings for Switch 1 need to be specified.
The gatings for other switches will be derived internally in PSIM.
Similar to the single thyristor switch, a thyristor bridge can also be controlled by either a
gating block or an alpha controller, as shown in the following examples.
Switches
21
The gatings for the circuit on the left are specified through a gating block, and on the
right are controlled through an alpha controller. A major advantage of the alpha
controller is that the delay angle alpha of the thyristor bridge, in deg., can be directly
controlled.
DC+
DC-
N
B
A1
DC-
BTHY6H
A
Ct
BTHY3H
A
DC-
DC-
Ct
A
B
C
C
Ct
A6
Ct
Ct
22
Ct
DC+
A
B
C
DC+
BTHY3
DC+
VSI3
VSI3 / VSI3_1
DC+
DC+
Ct
B
DC-
A
B
C
Ct
DC-
CSI3
CSI3
DC+
DC+
A
B
DC-
Ct
A
B
C
DC-
Ct
Attributes:
Parameters
Description
On-Resistance
Saturation Voltage
Voltage Drop
Init. Position_i
Current Flag_i
Similar to single-phase modules, only the gatings for Switch 1 need to be specified for
three-phase modules. Gatings for other switches will be automatically derived. For the
half-wave thyristor bridge (BTHY3H), the phase shift between two consecutive
switches is 120o. For all other bridges, the phase shift is 60o.
Thyristor bridges (BTHY3 / BTHY3H / BTHY6H) can be controlled by an alpha
Switches
23
Vac
PWM Controller
The thyristor circuit on the left uses an alpha controller. For a three-phase circuit, the
zero-crossing of the voltage Vac corresponds to the moment when the delay angle alpha
is equal to zero. This signal is, therefore, used to provide synchronization to the
controller
The circuit on the right uses a PWM lookup table controller. The PWM patterns are
stored in a lookup table in a text file. The gating pattern is selected based on the
modulation index. Other input of the PWM lookup table controller includes the delay
angle, the synchronization, and the enable/disable signal. A detailed description of the
PWM lookup table controller is given in Section 4.5.3.
2.3
Coupled Inductors
Coupled inductors with two, three, and four branches are provided. The following
shows coupled inductors with two branches.
i1 +
v1
i2
v2
Let L11 and L22 be the self-inductances of Branch 1 and 2, and L12 and L21 the mutual
24
inductances, the branch voltages and currents have the following relationship:
v1
v2
d i
= L11 L12 ----- 1
L21 L22 dt i 2
The mutual inductances between two windings are assumed to be always equal, i.e.,
L12=L21.
Images:
MUT2
MUT3
MUT4
Attributes:
Parameters
Description
Lii (self)
Lij (mutual)
ii_initial
Iflag_i
In the images, the circle, square, triangle, and plus refer to Inductor 1, 2, 3, and 4,
respectively.
Example:
Two mutually coupled inductors have the following self inductances and mutual
inductance: L11 = 1 mH, L22 = 1.1 mH, and L12 = L21 = 0.9 mH. The specification of
the element MUT2 will be:
L11 (self)
1m
L12 (mutual)
0.9m
L22 (self)
1.1m
Coupled Inductors
25
2.4
Transformers
Ns
TF_IDEAL_1
Np
Ns
The winding with the larger dot is the primary and the other winding is the secondary.
Attributes:
Parameters
Description
Np (primary)
Ns (secondary)
Since the turns ratio is equal to the ratio of the rated voltages, the number of turns can be
replaced by the rated voltage at each side.
26
Rp Lp
Rs Ls
Primary
Np:Ns
Secondary
Lm
Ideal
where Rp and Rs are the primary and secondary winding resistances; Lp and Ls are the
primary and secondary winding leakage inductances; and Lm is the magnetizing
inductance. All the values are referred to the primary winding side. If there are multiple
primary windings, all the values are referred to the first primary winding.
Images:
TF_1F_5W
TF_1F_3W
TF_1F
s_1
s
p
TF_1F_7W
s_1
s_1
TF_1F_8W
s_2
s_2
p_1
s_4
p
p_2
TF_1F_4W
TF_1F_1
TF_1F_5W _1
p_1
s_1
p_2
s_2 p_1
s_1
s_6
s_6
s
p_2
s_3
Transformers
27
Attributes:
Parameters
Description
Rp (primary);
Rs (secondary);
Rt (tertiary)
Lp (pri. leakage);
Ls (sec. leakage);
Lt (ter. leakage)
Lm (magnetizing)
Magnetizing inductance, in H
Np (primary);
Ns (secondary);
Nt (tertiary)
All the resistances and inductances are referred to the primary side.
For the transformers with more than 1 primary winding or more than 3 secondary
windings, the attributes are as follows.
Attributes:
Parameters
Description
Lm (magnetizing)
All the resistances and inductances are referred to the first primary winding side.
Example:
A single-phase two-winding transformer has a winding resistance of 0.002 Ohm and
leakage inductance of 1 mH at both the primary and the secondary side (all the values
are referred to the primary). The magnetizing inductance is 100 mH, and the turns ratio
28
is Np:Ns = 220:440. In PSIM, the transformer will be TF_1F with the specifications as:
Rp (primary)
2m
Rs (secondary)
2m
Lp (primary)
1m
Ls (secondary)
1m
Lm (magnetizing)
100m
Np (primary)
220
Ns (secondary)
440
TF_3DD
TF_3YD
TF_3F
A+
AB+
BC+
C-
TF_3YDD
TF_3YYD
TF_3F_3W
TF_3F_4W
n
A
B
C
a
b
c
aa
bb
cc
a A+
b Ac B+
Baa C+
bb Ccc
a+
ab+
bc+
caa+ bb+ cc+
aa- bb- cc-
a+
ab+
bc+
c-
A+
AB+
BC+
CAA+
AABB+
BBCC+
CC-
a+
ab+
bc+
caa+
aabb+
bbcc+
cc-
Transformers
29
Attributes:
Parameters
Description
Rp (primary);
Rs (secondary);
Rt (tertiary)
Lp (pri. leakage);
Ls (sec. leakage);
Lt (ter. leakage)
Lm (magnetizing)
Np (primary);
Ns (secondary);
Nt (tertiary)
30
2.5
Other Elements
OP_AMP_1
VV+
V+
V-
Vo
OP_AMP_2
Vo
V+
Vo
Vgnd
gnd
Vo
V+
Ro
V-
A*(V+ - V-)
Vs-
Vs+
gnd
where
V+; V-
Vo
- output voltage
Ro
Attributes:
Parameters
Description
Voltage Vs+
Voltage Vs-
Other Elements
31
Comparator
where Vin(t) and Vin(t-t) are the input values at the current and previous time step, and
t is the simulation time step.
Image:
DV_DT
32
2.6
+
Armature
Shaft Node
Winding
+
Field
Winding
Attributes:
Parameters
Description
Ra (armature)
La (armature)
Rf (field)
Lf (field)
Moment of Inertia
Vt (rated)
Ia (rated)
33
Parameters
Description
n (rated)
If (rated)
Torque Flag
Master/Slave Flag
When the torque flag is set to 1, the internal torque generated by the machine will be
saved to the output file for display.
A machine is set to either the master or slave mode. When there is only one machine in
a mechanical system, this machine must be set to the master mode. When there are two
or more machines in a system, only one must be set to the master mode and the rest to
the slave mode. The same applies to a mechanical-electrical interface block, as
explained later
The machine in the master mode is referred to as the master machine, and it defines the
reference direction of the mechanical system. The reference direction is defined as the
direction from the shaft node of the master machine along the shaft to the rest of the
mechanical system, as illustrated below:
Master
Load 1
TL1
Slave
Speed
Torque Load 2 Speed Torque
Sensor 1 Sensor 1 TL2
Sensor 2 Sensor 2
In this mechanical system, the machine on the left is the master and the one on the right
is the slave. The reference direction of the mechanical system is, therefore, from left to
the right along the mechanical shaft. Furthermore, if the reference direction enters an
element at the dotted side, this element is along the reference direction. Otherwise it is
opposite to the reference direction. For example, Load 1, Speed Sensor 1, and Torque
Sensor 1, are along the reference direction, and Load 2, Speed Sensor 2, and Torque
Sensor 2 are opposite to the reference direction.
It is further assumed the mechanical speed is positive when both the armature and the
34
where vt, vf, ia, and if are the armature and field winding voltage and current,
respectively; Ea is the back emf, m is the mechanical speed in rad./sec., Tem is the
internal developed torque, and TL is the load torque. The back emf and the internal
torque can also be expressed as:
E a = L af i f m
T em = L af i f i a
where Laf is the mutual inductance between the armature and the field windings. It can
be calculated based on the rated operating conditions as:
35
( Vt Ia R a )
L af = ----------------------------If m
Note that the dc machine model assumes magnetic linearity. Saturation is not
considered.
Example: A DC Motor with a Constant-Torque Load
The circuit below shows a shunt-excited dc motor with a constant-torque load TL. Since
the load is along the reference direction of the mechanical system, the loading torque to
the machine is TL. Also, the speed sensor is along the reference direction. It will give a
positive output for a positive speed.
The simulation waveforms of the armature current and the speed are shown on the right.
Speed
Sensor
Armature current
ConstantTorque
Load
Generator
Motor armature current
Generator voltage
36
INDM3_S_LIN
INDM_3SN
as
as
bs
bs
cs
cs
ns
as+
asbs+
bscs+
csINDM3_WR_LIN
INDM3_WR
as+
asbs+
bscs+
cs-
as
bs
cs
ns
ar
br
cr nr
ar+
37
Attributes:
Parameters
Description
Rs (stator)
Ls (stator)
Rr (rotor)
Lr (rotor)
Lm (magnetizing)
Magnetizing inductance, in H
No. of Poles
Moment of Inertia
Torque Flag
Flag for internal torque (Tem) output. When the flag is set to 1,
the output of the internal torque is requested.
Master/Slave Flag
where
38
d
----- i abc, s
dt
v a, s
v a, r
i a, s
i a, r
v abc, s = v b, s
v abc, r = v b, r
i abc, s = i b, s
i abc, r = i b, r
v c, s
v c, r
i c, s
i c, r
For squirrel-cage machines, va,r = vb,r = vc,r= 0. The parameter matrices are defined as:
Rs 0 0
Rs
Rr 0 0
Rr =
0 Rs 0
0 0 Rs
L s + M sr
Ls =
M sr
-------2
M sr
-------2
M sr
-------2
L s + M sr
M sr
-------2
0 Rr 0
0 0 Rr
M sr
-------2
M sr
-------2
M sr
-------2
L r + M sr
Lr =
L s + M sr
M
-------sr2
M
-------sr2
L r + M sr
M sr
-------2
M
-------sr2
M
-------sr2
L r + M sr
2
2
cos + ------ cos ------
3
3
cos
2
M sr = M sr cos ------
cos
2
2
cos + ------ cos ------
3
3
2
cos + ------
3
cos
where Msr is the mutual inductance between the stator and rotor windings, and is the
mechanical angle. The mutual inductance is related to the magnetizing inductance as:
3
L m = --- M sr
2
39
T em = P i abc, s
d
------ M sr i abc, r
d
For a symmetrical squirrel-cage induction machine, the steady state equivalent circuit is
shown below. In the figure, s is the slip.
Rs
Ls
Rr
Lr
Lm
Rr(1-s)/s
Diode
Bridge
Speed
Senso
Torque
Sensor
Speed
SPWM
Tem
Tload
3-phase currents
40
INDM3_S_LIN
as+
asbs+
bscs+
cs-
as+
asbs+
bscs+
cs-
ar+
Attributes:
Parameters
Description
Rs (stator)
Ls (stator)
Rr (rotor)
Lr (rotor)
No. of Poles
Moment of Inertia
Torque Flag
Flag for internal torque (Tem) output. When the flag is set
to 1, the output of the internal torque is requested.
Master/Slave Flag
41
where
abc, s
1
1 --2
= M sr 1--- 1
2
1 1
--- --2 2
2
2
1
cos
cos + ------ cos ------
--
3
3
2
1
2
2
--- i abc, s + M sr cos ------
cos
cos + ------ i abc, r
2
3
3
2
2
cos + ------ cos ------
3
3
cos
2
2
cos ------ cos + ------
3
3
2
abc, s = M sr cos + ------
3
cos
2
2
cos ------ cos + ------
3
3
2
cos ------ i abc, s
3
cos
cos
1
1 --2
+ M sr 1
--- 1
2
1 1
--- --2 2
1
--2
1
--- i abc, r
2
1
In this case, the inductance Msr is no longer constant, but a function of the magnetizing
current Im.
42
Image:
BDCM3
a
b
Shaft Node
c
n
sa sb sc
Attributes:
Parameters
Description
R (stator resistance)
Vpk / krpm
Vrms / krpm
No. of Poles P
Number of poles P
Moment of Inertia
43
Parameters
Description
theta_0 (deg.)
theta_advance (deg.)
Conduction Pulse
Width
Torque Flag
Master/Slave Flag
44
di
v b = R i b + ( L M ) ------b- + E b
dt
di
v c = R i c + ( L M ) -------c + E c
dt
where va, vb, and vc are the phase voltages, ia, ib, and ic are the phase currents, R, L, and
M are the stator phase resistance, self inductance, and mutual inductance, and Ea, Eb,
and Ec are the back emf of Phase A, B, and C, respectively.
The back emf voltages are a function of the rotor mechanical speed m and the rotor
electrical angle r, that is:
E a = k e_a m
E b = k e_b m
E c = k e_c m
The coefficients ke_a, ke_b, and ke_c are dependent on the rotor angle r. In this model, an
ideal trapezoidal waveform profile is assumed, as shown below for Phase A. Also shown
is the Phase A current.
ke_a
ia
Kpk
180
o
360
-Kpk
where Kpk is the peak trapezoidal value, in V/(rad./sec.), which is defined as:
V pk krpm
1
K pk = ------------------------- --------------------------------- . Given the values of Vpk/krpm and Vrms/krpm, the
2
1000 60
angle is determined automatically in PSIM.
The developed torque of the machine is:
T em = ( E a i a + E b i b + E c i c ) m
45
d m
J ---------- = T em B m T load
dt
d
P
--------r = --- m
2
dt
where B is a coefficient, Tload is the load torque, and P is the no. of poles. The
coefficient B is calculated from the moment of inertia J and the mechanical time
constant mech as below:
J
B = ----------- mech
46
Brushless DC Moto
Speed
Tem
3-phase currents
Speed
Phase A current
Vgfb/2
Vgs
47
a
b
Shaft Node
c
n
field+
field-
Attributes:
48
Parameters
Description
Rs (stator)
Ls (stator)
Rf (field)
Parameters
Description
Ns/Nf (effective)
Number of Poles P
Number of Poles P
Moment of Inertia
Torque Flag
Master/Slave Flag
where
V = v a vb vc vf 0 0
I = i a i b i c i f i dr i qr
= a b c f dr qr
R = diag R s R s R s R f R dr R qr
L =
L 12
L 11
T
L 12
L 22
and
49
L s + L o + L 2 cos ( 2 r )
L
2
----o- + L 2 cos 2 r ------
2
3
L
2
----o- + L 2 cos 2 r + ------
2
3
L
----o- + L 2 cos ( 2 r )
2
L
2
2
L 11 = ----o- + L 2 cos 2 r ------ L s + L o + L 2 cos 2 r + ------
2
3
3
L
2
----o- + L 2 cos 2 r + ------
2
3
L sf cos ( 2 r )
L 12 =
L
----o- + L 2 cos ( 2 r )
2
L sd cos ( 2 r )
L s + L o + L 2 cos 2 r 2
------
L sq sin ( 2 r )
2
2
L sf cos 2 r 2
------ L sd cos 2 r ------ L sq sin 2 r ------
3
3
3
2
2
L sf cos 2 r + 2
------ L sd cos 2 r + ------ L sq sin 2 r + ------
3
3
3
L f L fdr 0
L 22 = L fdr L dr 0
0
0 L qr
50
Image:
PMSM3
a
Shaft Node
b
c
n
Attributes:
Parameters
Description
Rs (stator resistance)
Ld (d-axis ind.)
Lq (q-axis ind.)
Vpk / krpm
No. of Poles P
Number of poles P
Moment of Inertia
Torque Flag
Master/Slave Flag
51
The node assignments of the image are: Nodes a, b, and c are the stator winding
terminals for Phase a, b, and c, respectively. The stator windings are Y connected, and
Node n is the neutral point. The shaft node is the connecting terminal for the mechanical
shaft. They are all power nodes and should be connected to the power circuit.
The equations of the permanent-magnet synchronous machine are:
va
a
d
---0 R s 0 i b + dt b
ic
c
0 0 Rs
Rs 0 0
vb =
vc
ia
where va, vb, vc, and ia, ib, and ic, and a, b, c are the stator phase voltages, currents,
and flux linkages, respectively, and Rs is the stator phase resistance. The flux linkages
are further defined as:
a
cos ( r )
L aa L ab L ac
ia
b = L ba L bb L bc i b + pm
c
L ca L cb L cc
ic
2
cos r ------
3
2
cos r + ------
where r is the rotor electrical angle, and pm is a coefficient which is defined as:
60 V pk krpm
pm = -------------------------------------3 P 1000
3
L cc = L sl + L o + L 2 cos 2 r 2
------
3
2
L ab = L ba = L o + L 2 cos 2 r ------
52
L ac = L ca = L o + L 2 cos 2 r + 2
------
3
L bc = L cb = L o + L 2 cos ( 2 r )
where Lsl is the stator leakage inductance. The d-axis and q-axis inductances are
associated with the above inductances as follows:
3
3
L d = L sl + --- L o + --- L 2
2
2
3
3
L q = L sl + --- L o --- L 2
2
2
2
2
sin 2 r ------ sin 2 r + ------
3
3
P
T em = --- L 2 i a i b i c sin 2 r 2
------ sin 2 r + 2
------
2
3
3
2
sin 2 r + ------
sin ( 2 r )
sin ( 2 r )
2
sin 2 r ------
ia
ib
ic
sin ( r )
2
P
sin r ------
= --- pm i a i b i c
3
2
sin r + 2
------
where B is a coefficient, Tload is the load torque, and P is the no. of poles. The
coefficient B is calculated from the moment of inertia J and the mechanical time
constant mech as below:
53
J
B = ----------- mech
Shaft Node
c+
c-
c1 c2 c3 c4 c1
Phase a
c4 c1
Phase b
c4
Phase c
Attributes:
Parameters
Description
Resistance
Inductance Lmin
Inductance Lmax
Moment of Inertia
Torque Flag
Output flag for internal torque Tem. When the flag is set to
1, the output of the internal torque is requested.
Master/Slave Flag
The master/slave flag defines the mode of operation for the machine. See Section
2.6.1.1 for detailed explanation on how to set the master/slave flag.
54
The node assignments are: Nodes a+, a-, b+, b-, and c+, c- are the stator winding
terminals for Phase a, b, and c, respectively. The shaft node is the connecting terminal
for the mechanical shaft. They are all power nodes and should be connected to the
power circuit.
Node c1, c2, c3, and c4 are the control signals for Phase a, b, and c, respectively. The
control signal value is a logic value of either 1 (high) or 0 (low). Node is the
mechanical rotor angle. They are all control nodes and should be connected to the
control circuit.
The equation of the switched reluctance machine for one phase is:
d( L i)
v = i R + ----------------dt
where v is the phase voltage, i is the phase current, R is the phase resistance, and L is the
phase inductance. The phase inductance L is a function of the rotor angle , as shown in
the following figure.
L
Lmax
Lmin
The rotor angle is defined such that, when the stator and the rotor teeth are completely
out of alignment, = 0. The value of the inductance can be in either rising stage, flat-top
stage, falling stage, or flat-bottom stage.
If we define the constant k as:
L max L min
k = -------------------------
L = Lmax
L = Lmax - k
55
L = Lmin
The selection of the operating state is done through control signals c 1, c2, c3, and c 4
which are applied externally. For example, when c1 in Phase a is high (1), the rising
stage is selected and Phase a inductance will be: L = Lmin + k . Note that only one and
at least one control signal out of c1, c2, c3, and c4 in one phase must be high (1).
The developed torque of the machine per phase is:
1 2 dL
T em = --- i -----d
2
Based on the inductance expression, we have the developed torque in each stage as:
Tem = i2*k / 2
[rising stage]
Tem = 0
[flat-top stage]
Tem = - i2*k / 2
[falling stage]
Tem = 0
[flat-bottom stage]
56
Attributes:
Parameters
Description
Constant Torque
Moment of Inertia
If the reference direction of a mechanical system enters the dotted terminal, the load is
along the reference direction, and the loading torque to the master machine is Tconst.
Otherwise the loading torque will be - Tconst. See Section 2.6.1.1 for more detailed
explanation on the reference direction.
A constant-torque load is expressed as:
T L = T const
Attributes:
Parameters
Description
Maximum Torque
Base Speed
Moment of Inertia
57
Tmax
Torque
(N*m)
nbase
Speed (rpm)
When the mechanical speed is less than the base speed nbase, the load torque is:
T L = T max
When the mechanical speed is above the base speed, the load torque is:
P
T L = ---------m
Attributes:
Parameters
Description
Speed constant, in rp
Moment of Inertia
A constant-speed mechanical load defines the speed of a mechanical system, and the
58
Attributes:
Parameters
Description
Tc
k1 (coefficient)
k2 (coefficient)
k3 (coefficient)
Moment of Inertia
T L = sign ( m ) ( T c + k 1 m + k 2 m + k 3 m )
59
Attribute:
Parameter
Description
Gear Ratio
If the numbers of teeth of the first gear and the second gear are n1 and n2, respectively,
the gear ratio a is defined as: a = n1 / n2. Let the radius, torque, and speed of these two
gears be: r1, r2, T1, T2, 1, and 2, we have: T1 / T2 = r1 / r2 = 2 / 1= a.
Electrical Side
Attribute:
Parameter
Description
Master/Slave Flag
60
m
Tem
J1
speed node
J2
Tload
In this circuit, the two current sources have the values of Tem and Tload, and the
capacitors have the values of J1 and J2. The node-to-ground voltage (speed node
voltage) represents the mechanical speed m. This is analogous to C*dV/dt = i for a
capacitor where C = J1+J2, V = m, and i = Tem-Tload.
In PSIM, mechanical equivalent circuits for motors and mechanical loads all use the
capacitor-based circuit model. The mechanical-electrical interface block provides the
access to the internal mechanical equivalent circuit. If the mechanical side of an
interface block (with the letters MECH) is connected to a mechanical shaft, the
electrical side (with the letters ELEC) will be the speed node of the mechanical
equivalent circuit. One can thus connect any electrical circuits to this node.
With this element, users can connect built-in motors or mechanical loads with userdefined load or motor models.
Example: An induction machine with a custom mechanical load model
The figure below shows an induction machine connected to a user defined mechanical
load model through the mechanical-electrical interface block. As explained above, the
voltage at the electrical side represents the shaft mechanical speed. A current source
flowing out of this node represents a mechanical load, and a capacitor connected to this
node represents the load moment of inertia.
61
Wm
Mechanical
speed
TSEN
Attribute:
Parameter
Description
Gain
If the reference direction of a mechanical system enters the dotted side of the sensor, the
sensor is along the reference direction. Refer to Section 2.6.1.1 for more details on the
reference direction. Note that the output of the speed sensor is in rpm.
The torque sensor measures the torque transferred from the dotted side of the sensor to
the other side alone the positive speed direction. To illustrate this, the following
mechanical system is taken as an example:
62
Load 1
Load 2
Sensor 2
Sensor 1
Tem
J
TL1
JL1
TL2
JL2
The system consists of one machine, 2 torque sensors, and 2 mechanical loads. The
torques and moment of inertia for the machine and the loads are as labelled in the
diagram. The reference direction of this mechanical system is from left to right. The
equation for this system can be written as:
d m
( J + J L1 + J L2 ) ---------- = T em T L1 T L2
dt
Tem
Sensor 2
Sensor 1
Machine
TL1
JL1
Load 1
JL2
TL2
Load 2
The node voltage in the circuit represents the mechanical speed m. The current probe
on the left represents the reading of the torque sensor No. 1. Similarly, the current probe
on the right represents the reading of the torque sensor No. 2. Note that the second
current probe is from right to left since Sensor 2 is opposite to the reference direction of
the mechanical system.
The equivalent circuit also illustrates how mechanical power is transferred. The
multiplication of the current to the voltage, which is the same as the torque times the
mechanical speed, represents the mechanical power. If the power is positive, it is
transferred in the direction of the speed m.
63
64
3
Control Circuit Components
3.1
B n s + .. + B 2 s + B 1 s + B 0
G ( s ) = k -----------------------------------------------------------------------------2
n
A n s + .. + A 2 s + A 1 s + A 0
Two types of transfer function blocks are provided: one with zero initial values
(TFCTN) and the other with initial values as input parameters (TFCTN1).
Images:
TFCTN / TFCTN1
Attributes:
Parameters
Description
Order n
Gain
Coeff. Bn...Bo
Coeff. An...Ao
Let Y(s) = G(s)*U(s) where Y(s) is the output and U(s) is the input, we can convert the sdomain expression into the differential equation form as follows:
65
x1
0 0 0 .. .
x2
1 0 0 ..
d
----- x = 0 1 0 ..
dt 3
.. ... ... . .
..
xn
0 0 0 ..
0A 0 A n
0A 1 A n
0A 2 A n
..
.....
. 1A n 1 A n
B0 A0 Bn An
x1
B1 A1 Bn An
x2
k
x 3 + -----
u
B2 A2 Bn An
An
...
..
Bn 1 An 1 Bn An
xn
The initial values of the state variables xn to x1 can be specified at the input in the
element TFCTN1.
Example:
The following is a second-order transfer function:
3
400.e
G ( s ) = 1.5 --------------------------------------------------2
3
s + 1200 s + 400.e
Gain
1.5
Coeff. Bn...Bo
0.
Coeff. An...Ao
1. 1200. 400.e3
0.
400.e3
66
Attribute:
Parameter
Description
Gain
3.1.2 Integrator
The transfer function of an integrator is:
1
G ( s ) = ----sT
There are two types of integrators. One is the regular integrator (I). The other is the
resettable integrator (RESETI).
Images:
RESETI
Attributes:
Parameters
Description
Time Constant
Reset Flag
Reset flag (0: edge reset; 1: level reset) (for RESETI only)
The output of the resettable integrator can be reset by an external control signal (at the
bottom of the block). For the edge reset (reset flag = 0), the integrator output is reset to
zero at the rising edge of the control signal. For the level reset (reset flag = 1), the
integrator output is reset to zero as long as the control signal is high (1).
To avoid over saturation, a limiter should be placed at the integrator output.
Example:
The following circuit illustrates the use of the resettable integrator. The input of the
integrator is a dc quantity. The control input of the integrator is a pulse waveform which
resets the integrator output at the end of each cycle. The reset flag is set to 0.
67
Vd
vo
vctrl
3.1.3 Differentiator
The transfer function of a differentiator is:
G ( s ) = sT
where t is the simulation time step, vin(t) and vin(t-t) are the input values at the
present and the previous time step.
Image:
DIFF
Attribute:
Parameter
Description
Time Constant
Since sudden changes of the input will generate spikes at the output, it is recommended
that a low-pass filter be placed at the input of the differentiator.
68
Image:
PI
Attributes:
Parameters
Description
Gain
Time Constant
c
G ( s ) = k -------------------------------------2
2
s + 2 c s + c
s
G ( s ) = k -------------------------------------2
2
s + 2 c s + c
s + o
G ( s ) = k --------------------------------2
2
s + B s + o
69
Images:
FILTER_LP2
FILTER_HP2
FILTER_BP2
FILTER_BS2
Attributes:
Parameters
Description
Gain
Gain k
Damping Ratio
Damping ratio
Cut-off Frequency
Center Frequency
Passing Band;
B
- ) of the passing/stopping
Frequency width fb ( f b = ----2
band for band-pass/band-stop filters, in Hz
Stopping Band
3.2
3.2.1 Summer
The input of a one-input summer (SIM1) or two-input summer (SUM2 / SUM2P) can be
either a scalar or a vector. The input of a three-input summer (SUM3) can only be a
scalar.
Images:
SUM1
SUM3
SUM2P
SUM2
Input 1
Input 1
Input 1
Input 2
Input 2
70
Input 2
Input 3
Attribute:
Parameter
Description
Gain_i
For the three-input summer SUM3, the input with a dot is the first input.
If the inputs are scalar, the output of a summer with n inputs is defined as:
V o = k 1 V 1 + k 2 V 2 + ... + k n V n
If the input is a vector, the output of a two-input summer will also be a vector, which is
defined as:
V1 = [a1 a2 ... an]
V2 = [b1 b2 ... bn]
Vo = V1 + V2 = [a1+b1 a2+b2 ... an+bn]
The output of a one-input summer, however, will still be a scalar which is equal to the
summation of the input vector elements, that is, Vo = a1 + a2 + ... an.
MULT
Nominator
Denominator
For the divider, the dotted node is for the nominator input.
The input of a multiplier can be either a vector or a scalar. If the two inputs are vectors,
their dimensions must be equal. Let the two inputs be:
V1 = [a1 a2 ... an]
V2 = [b1 b2 ... bn]
The output, which is a scalar, will be:
71
POWER
LOG
LOG10
Description
Coefficient k1
Coefficient k1
Coefficient k2
Coefficient k2
For example, if k1 = 1, k2 = 2.718281828, and Vin = 2.5, then Vo = e2.5 where e is the
base of the natural logarithm.
The output of a power function block POWER is defined as:
k2
V o = k 1 V in
The function block LOG gives the natural logarithm (base e) of the input, and the block
LOG10 gives the common logarithm (base 10) of the input.
72
1
--T
0 vin ( t )dt
T 2
where T = 1/fb. The output is only updated at the beginning of each period.
Image:
RMS
Attribute:
Parameter
Description
Base frequency
SIGN
73
Images:
SIN
SIN_1
COS_1
COS
TG_1
TAN
Imaginary
Real
The dotted note of the arc tangent block is for the real input and the other node is for the
imaginary input. The output is the arc tangent of the ratio between the imaginary and the
1 V imaginary
real input, i.e. . = tg ---------------------V real
2
v o = ----
N
n=0
2n
j ----------
N
N
v in ( n ) v in n + ---- e
Image:
FFT
Amplitude
Phase Angle
Attributes:
74
Parameters
Description
Fundamental Frequency
The dotted node of the block refers to the output of the amplitude. Note that the phase
angle output has been internally adjusted such that a sine function Vm*sin(t) will give
a phase angle output of 0.
Example:
In the circuit below, the voltage vin contains a fundamental component v1 (100 V at 60
Hz), a 5th harmonic voltage v5 (25 V at 300 Hz), and a 7th harmonic v7 (25 V at 420
Hz). After one cycle, the FFT block output reaches the steady state with the amplitude of
100 V and the phase angle of 0 o.
v1
vin
v5
v1
vin
vamp
Angle
v7
vamp
Angle
3.3
3.3.1 Comparator
The output of a comparator is high when the positive input is higher than the negative
input. When the positive input is lower, the output is zero. If the two input are equal, the
output is undefined and it will keep the previous value.
Image:
COMP
Note that the comparator image is similar to that of the op. amp. For the comparator, the
noninverting input is at the upper left and the inverting input is at the lower left. For the
op. amp., however, it is the opposite.
75
3.3.2 Limiter
The output of a limiter is clamped to the upper or lower limit whenever the input
exceeds the limiter range. If the input is within the limit, the output is equal to the input.
Image:
LIM
Attributes:
Parameters
Description
Lower Limit
Upper Limit
Attribute:
Parameter
Description
dv/dt Limit
76
Images:
LKUP2D
LKUP
Index j
Index i
Attribute:
Parameter
Description
File Name
For the 2-dimensional lookup table block, the node at the left is for the row index input,
and the node at the top is for the column index input.
Please note that the one-dimensional lookup table (LKUP) can also be used in the power
circuit.
The one-dimensional lookup table has one input and one output. Two data arrays,
corresponding to the input and the output, are stored in the lookup table in a file. The
format of the table is as follows.
Vin(1), Vo(1)
Vin(2), Vo(2)
...
Vin(n), Vo(n)
The input array Vin must be monotonically increasing. Between two points, linear
interpolation is used to obtain the output. When the value of the input is less than Vin(1)
or greater than Vin(n), the output will be clamped to Vo(1) or Vo(n).
The 2-dimensional lookup table has two input and one output. The output data is stored
in a 2-dimensional matrix. The two input correspond to the row and column indices of
the matrix. For example, if the row index is 3 and the column index is 4, the output will
be A(3,4) where A is the data matrix. The data for the lookup table are stored in a file
and have the following format:
m, n
A(1,1), A(1,2), ..., A(1,n)
A(2,1), A(2,2), ..., A(2,n)
... ... ...
A(m,1), A(m,2), ..., A(m,n)
77
where m and n are the number of rows and columns, respectively. Since the row or the
column index must be an integer, the input value is automatically converted to an
integer. If either the row or the column index is out of the range (for example, the row
index is less than 1 or greater than m), the output will be zero.
Examples:
The following shows a one-dimensional lookup table:
1., 10.
2., 30.
3., 20.
4., 60.
5., 50.
If the input is 0.99, the output will be 10. If the input is 1.5, the output will be
( 1.5 1 ) ( 30 10 )10 + ----------------------------------------------=20.
21
The following shows a 2-dimensional lookup table:
3, 4
1., -2., 4., 1.
2., 3., 5., 8.
3., 8., -2., 9.
If the row index is 2 and the column index is 4, the output will be 8. If the row index is
5, regardless of the column index, the output will be 0.
78
LKUP_SQ
Attributes:
Parameters
Description
Peak Value
Description
The waveforms of these two blocks are shown below. Note that the input vin is in deg.,
and can be in the range of -360 o to 360 o. Both waveforms are half-wave and quarterwave symmetrical.
vo
vo
LKUP_TZ
LKUP_SQ
Vpk
180
vin
o
360
-Vpk
vin
o
180
360
-1
The difference between this block and the zero-order hold block (ZOH) in Digital
Control Module is that this block is treated as a continuous element and sampling
moments can be controlled externally; whereas the zero-order hold block is a discrete
79
element and the sampling moments are fixed and of equal distance.
For a discrete system, the zero-order hold block should be used.
Example:
In this example, a sinusoidal input is sampled. The control signal is a square wave
voltage source with an amplitude of 1.
vin
vo
vctrl
Attributes:
Parameters
Description
No. of Digits
Truncation Flag
Let the input of the round-off block be Vin. The input is first scaled based on the
following expression:
V in, new = V in 10
If the truncation flag is 1, the output will be equal to Vin,new truncated, and then divided
80
by 10N. Otherwise, the output will be equal to Vin,new rounded off to the nearest integer,
and then divided by 10 N.
Examples:
If Vin = 34.5678; N = 0, truncation flag = 0, then we have the output Vout = 35.
Similarly, if Vin = 34.5678; N = 0, truncation flag = 1, the output Vout = 34.
If Vin = 34.5678; N = 1, truncation flag = 1, the output Vout = 34.5.
If Vin = 34.5678; N = -1, truncation flag = 1, the output Vout = 30.
Attribute:
Parameter
Description
Time Delay
Note that the difference between this block and the unit delay block (UDELAY) in
Digital Control Module is that this block is a continuous element and the delay time can
be arbitrarily set; whereas the unit delay block is a discrete element and the delay time is
equal to the sampling period.
For a discrete system, the unit delay block should be used.
Example:
In this circuit, the first time delay block has a delay time of 1 ms, and the second block
has a delay time of 4 ms. This example illustrates that the input of the time delay block
can be either an analog or a digital signal.
81
1 ms
vin1
vo1
vin2
vo2
4 ms
vin2
vo2
3.3.9 Multiplexer
The output of a multiplexer is equal to a selected input depending on the control signal.
Three multiplexers are provided: multiplexers with 2 inputs; 4 inputs; and 8 inputs.
Images:
MUX2
MUX8
MUX4
d0
Y
d1
d0
d0
d1
Y
d2
d3
d7
s0
s1 s0
s2 s1 s0
In the images, d0..d7 are the data inputs; and s0..s2 are the control signals. The truth
tables of the multiplexers are as follows.
82
2-Input MUX
s0
Y
0
d0
1
d1
s1
0
0
1
1
4-Input MUX
s0
Y
0
d0
1
d1
0
d2
1
d3
s2
0
0
0
0
1
1
1
1
8-Input MUX
s1
s0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
Y
d0
d1
d2
d3
d4
d5
d6
d7
Note that the data input could be either an analog or digital signal.
Example:
The following circuit selects the maximum value out of two inputs. When Va is greater
than Vb, the comparator output will be 1, and Vo = Va. Otherwise Vo = Vb.
where V1 is the fundamental component (rms), Vh is the harmonic rms value, and Vrms is
the overall rms value of the waveform. The THD block is modelled as shown below.
83
Image:
Circuit Model of the THD Block
THD
THD
Vrms
vin(t)
vin(t)
Vh
THD
V1
v1(t)
v1(t)
Description
Fundamental Frequency
Passing Band
Example:
In the single-phase thyristor circuit below, a THD block is used to measure the THD of
the input current. The delay angle of the thyristor bridge is chosen as 30o. For the THD
block, the fundamental frequency is set at 60 Hz and the passing band of the filter is set
at 20 Hz. The simulation results are shown on the right.
vs
alpha=30 deg.
is
THD
is1
One of the THD block output is the input current fundamental component is1. By
84
comparing the phase difference between the input voltage vs and the current is1, one can
calculate the input displacement power factor. This, together with the THD value, can
be used to calculate the input power factor.
3.4
Logic Components
ORGATE
ANDGATE3
ORGATE3
NOTGATE
NANDGATE
XORGATE
NORGATE
Attribute:
Parameter
Description
Trigger Flag
An edge-triggered flip-flop only changes the states at the rising edge of the set/reset
Logic Components
85
R
0
Q
0
1
Qn
no change
1
0
not used
A level-triggered flip-flop, on the other hand, changes the states based on the input
level. The truth table of a level-triggered set-reset flip-flop is:
S
0
0
1
1
R
0
1
0
1
Q
0
1
Qn
no change
1
0
not used
86
K
0
1
0
1
Q
0
1
Qn
no change
1
0
Toggle
3.4.4 D Flip-Flop
A D flip-flop is positive edge-triggered.
Image:
D_FF
Clock
Q
0
1
Qn
1
0
MONOC
Attribute:
Parameter
Description
Pulse Width
The input node at the bottom of the controlled monostable block is for the pulse width
input.
Logic Components
87
ADC8
Vref
Vref
Vin
DAC10
DAC8
Vin
Vo
Vo
Clock
Let N be the number of bits. The output of the A/D converter is calculated as:
N
2
V o = --------- V in
V ref
88
V ref
- V in
V o = -------N
2
3.5
Attribute:
Parameter
Description
Sampling Frequency
Like all other discrete elements, the zero-order hold has a free-running timer which
determines the moment of sampling. The sampling moment is synchronized with the
origin of the simulation time. For example, if the zero-order hold has a sampling
frequency of 1000 Hz, the input will be sampled at 0, 1 msec., 2 msec., 3 msec., and so
on.
Example:
In the following circuit, the zero-order hold sampling frequency is 1000 Hz. The input
and output waveforms are shown on the left.
89
Note that in above circuit, a continuous-domain integrator is also connected to the input
sine source. This makes it a mixed continuous-discrete circuit, and a simulation time
step selected for the continuous circuit will be used. With this time step, the familiar
staircase-like waveform can be observed at the zero-order hold output.
Without the integrator, the circuit becomes a discrete circuit. Since only the calculation
at the discrete sampling points is needed, the simulation time step will be equal to the
sampling period, and only the results at the sampling points are available. The
waveforms, as shown below, appear continuous. In fact the waveforms are discrete, and
the connection between two sampling points makes it look like continuous.
N1
b0 z + b1 z
+ .. + b N 1 z + b N
H ( z ) = ------------------------------------------------------------------------------------------N
N1
a0 z + a1 z
+ .. + a N 1 z + a N
If a0 = 1, the expression Y(z) = H(z) * U(z) can be expressed in difference equation as:
90
y ( n ) = b 0 u ( n ) + b 1 u ( n 1 ) + ... + b N u ( n N )
[ a 1 y ( n 1 ) + a 2 y ( n 2 ) + ... + a N y ( n N ) ]
Image:
TFCTN_D
Attributes:
Parameters
Description
Order N
Coeff. b0...bN
Coeff. a0...aN
Sampling Frequency
Sampling frequency, in Hz
Example:
The following is a second-order transfer function:
3
400.e
H ( z ) = --------------------------------------------------2
3
z + 1200 z + 400.e
Coeff. b0...bN
0.
Coeff. a0...aN
1. 1200. 400.e3
Sampling Frequency
3000.
0.
400.e3
3.5.2.1 Integrator
There are two types of integrators. One is the regular integrator (I_D). The other is the
resettable integrator (I_RESET_D).
91
Images:
I_RESET_D
I_D
Attribute:
Parameters
Description
Algorithm Flag
Reset Flag
Sampling Frequency
Sampling frequency, in Hz
The output of a resettable integrator can be reset by an external control signal (at the
bottom of the block). With the edge reset (reset flag = 0), the integrator output is reset to
zero at the rising edge of the control signal. With the level reset (reset flag = 1), the
integrator output is reset to zero as long as the control signal is high (1).
If we define u(t) as the input, y(t) as the output, T as the sampling period, and H(z) as the
discrete transfer function, the input-output relationship of an integrator can be expressed
under different integration algorithms as follows.
With trapezoidal rule:
T z+1
H ( z ) = --- ----------2 z1
T
y ( n ) = y ( n 1 ) + --- ( u ( n ) + u ( n 1 ) )
2
92
3.5.2.2 Differentiator
The transfer function of a discrete differentiator is:
1 z1
H ( z ) = --- ----------T
z
Image:
D_D
Attribute:
Parameter
Description
Sampling Frequency
Sampling frequency, in Hz
93
Images:
FILTER_D / FILTER_D1
FILTER_FIR / FILTER_FIR1
Attributes:
For Filter_D and FILTER_FIR:
Parameters
Description
Order N
Coeff. b0...bN
Coeff. a0...aN
Sampling Frequency
Sampling frequency, in Hz
Description
Sampling Frequency
Sampling frequency, in Hz
The transfer function of the general digital filter is expressed in polynomial form as:
1
(N 1 )
b 0 + b 1 z + ... + b N 1 z
+ bN z
H ( z ) = ------------------------------------------------------------------------------------------------------(N 1 )
N
1
a 0 + a 1 z + ... + a N 1 z
+ aN z
If a0 = 1, the output y and input u can be expressed in difference equation form as:
y ( n ) = b 0 u ( n ) + b 1 u ( n 1 ) + .. + b N u ( n N )
[ a 1 y ( n 1 ) + a 2 y ( n 2 ) + ... + a N y ( n N ) ]
If the denominator coefficients a0..aN are not zero, this type of filter is called infinite
impulse response (IIR) filter.
The transfer function of the FIR filter is expressed in polynomial form as:
94
H ( z ) = b0 + b1 z
+ .. + b N 1 z
( N 1 )
+ bN z
If a0 = 1, the output y and input u can be expressed in difference equation form as:
y ( n ) = b 0 u ( n ) + b 1 u ( n 1 ) + .. + b N u ( n N )
The coefficient file for block FILTER_D1 and FILTER_FIR1 has the following format:
For Filter_FIR1:
N
b0
b1
... ... ...
bN
For Filter_D1, the format can be either one of the following:
N
b0
or
N
b0, a0
b1
b1, a1
a0
a1
... ... ...
aN
Example:
To design a 2nd-order low-pass Butterworth digital filter with the cut-off frequency fc =
1 kHz, assuming the sampling frequency fs = 10 kHz, using MATLAB, we have:
Nyquist frequency fn = fs / 2 = 5 kHz
Normalized cut-off frequency fc* = fc/fn = 1/5 = 0.2
[B,A] = butter (2, fc*)
which will give:
B = [0.0201 0.0402 0.0201 ] = [b0 b1 b2]
95
A=[
+ 0.0402 z + 0.0201 z
H ( z ) = 0.0201
-----------------------------------------------------------------------------------1
2
1 1.561 z + 0.6414 z
Coeff. b0...bN
0.0201
0.0402
0.0201
Coeff. a0...aN
1.
-1.561
0.6414
Sampling Frequency
10000.
If the coefficients are stored in a file, the file content will be:
2
0.0201
0.0402
0.0201
1.
-1.561
0.6414
Or the file can also have the content as follows:
2
0.0201, 1
0.0402, -1.561
0.0201, 0.6414
96
Attribute:
Parameter
Description
Sampling Frequency
Sampling frequency, in Hz
The difference between a unit delay block and a time delay block (TDELAY) is that the
unit delay block is a discrete element and it delays the sampled points by one sampling
period, whereas TDELAY is a continuous element and it delays the whole waveform by
the delay time specified.
Attributes:
Parameters
Description
No. of Bits
Number of bits N
Vin_min
Vin_max
Vo_min
Vo_max
Sampling Frequency
Sampling frequency, in Hz
97
The number of bits determines the output resolution V which is defined as:
V o, max V o, min
V = ----------------------------------N
2 1
The output Vo will be equal to the truncated value of Vox based on the resolution V.
Example:
If N = 4, Vin,min = 0, Vin,max = 10, Vo,min = -5, Vo,min = 5, and Vin = 3.2, then:
Vox = -5 + (3.2 - 0) * (5 - (05)) / (10 - 0) = -1.8
V = (5 - (-5)) / (24 - 1) = 0.66667
The value -1.8 is between -2.33332 and -1.66665. Therefore, the lower value is selected,
that is, Vo = -1.66665.
Attributes:
Parameters
Description
Buffer Length
Sampling Frequency
Sampling frequency, in Hz
A circular buffer stores data in a buffer. When the pointer reaches the end of the buffer,
98
Input
0.11
0.11
0.1
0.22
0.11
0.22
0.2
0.33
0.11
0.22
0.33
0.3
0.44
0.11
0.22
0.33
0.44
0.4
0.55
0.55
0.22
0.33
0.44
99
where
c i = [ ak+1 * bj-k], k=0, ..., m+n-1; j=0, ..., m+n-1; i=1, ..., m+n-1
Example:
If A = [1 2 3] and B = [4 5], we have m = 3; n = 2; and the convolution of A and B is:
C = [4 13 22 15].
Attribute:
Parameter
Description
A memory read block allows one to access the memory location of elements such as
convolution block, vector array, and circular buffer. The index offset defines the offset
from the starting memory location.
Example:
Let a vector be A = [2 4 6 8]. If index offset is 0, the memory read block output will be
2. If the index offset is 2, the output will be 6.
100
Attributes:
Parameters
Description
Array Length
Values
If the array is read from a file, the file will have the following format:
N
a1
... ... ...
aN
where N is the length of the array, and a1..aN are the array values.
Example:
To define an array A = [2 4 6 8], we will have: Array Length =4; Values = 2 4 6 8. If the
array is to be read from a file, the file will be:
4
2.
4.
6.
8.
3.5.9 Stack
A stack is a first-in-last-out register.
Image:
STACK
Vin
push
pop
Vo
101
Attribute:
Parameter
Description
Stack Depth
The rising edge triggers the push or pop action. When a pop action is performed and the
stack is empty, the output remains unchanged. When a push action is performed and the
stack is already full, the data at the bottom of the stack will be pushed out and will be
lost.
Vo
102
3.6
SimCoupler Module
The SimCoupler Module is an add-on module to the basic PSIM software. It provides
interface between PSIM and Matlab/Simulink for co-simulation. With the SimCoupler
Module, part of a system can be implemented and simulated in PSIM, and the rest of the
system in Simulink. One can therefore make full use of PSIMs capability in power
simulation and Matlab/Simulinks capability in control simulation in a complementary
way.
The SimCoupler interface consists of two parts: the link nodes in PSIM, and the
SimCoupler model block in Simulink. The images are shown below
Images:
In SimuLink
In PSIM
SLINK_IN
SLINK_OUT
In PSIM, the SLINK_IN nodes receive values from Simulink, and the SLINK_OUT
nodes send the values to Simulink. They are all control elements and can be used in the
control circuit only. In Simulink, the SimCoupler model block is connected to the rest of
the system through input/output ports.
SimCoupler Module
103
Power
in PSIM
File: pmsm_psim.sch
Control
in SimuLink
File: pmsm_simulink.mdl
The following are the steps to set up SimCoupler for PSIM-Matlab/Simulink cosimulation for the example above.
In PSIM:
- After the rest of the power circuit is created, connect three SLINK_OUT nodes
to the low-pass filters of Phase A, B, and C currents, and rename them as Ia,
Ib, and Ic; and connect one SLINK_OUT node to the speed sensor output
and rename it as Wrpm.
- Connect three SLINK_IN nodes to the positive inputs of the comparators, and
rename them as Va, Vb, and Vc.
- Go to the Simulate menu, and select Arrange SLINK Nodes. A dialog
window will appear. Arrange the order of the SLINK_IN nodes and
SLINK_OUT nodes to be the same as how the input/output ports would appear
in the SimCoupler model block in Simulink (the order of the ports is from the
top to the bottom). In this example, the order will be Va, Vb, and Vc for
104
the SLINK_IN nodes, and Ia, Ib, Ic, and Wrpm for the SLINK_OUT
nodes.
- Go to the Simulate menu, and select Generate Netlist File. A netlist file with
the .cct extension will be generated and saved under the same directory as the
schematic file. In this example, we assume that the netlist is located in the
directory C:\PSIM6.0. The netlist file name and path will be
C:\PSIM6.0\pmsm_psim.cct.
In Simulink
- Copy the version of the SimCoupler DLL file to SimCoupler.dll. For
example, for Release 13, copy SimCoupler_R13.dll to SimCoupler.dll.
Note: the default SimCoupler.dll file is for Release 11. It is found that it also
works for higher releases.
- Start Matlab. Change the working directory to the PSIM directory. If PSIM is
installed in the directory C:\PSIM6.0, change the directory to C:\PSIM6.0.
Then launch Simulink and open the existing file or create a new file.
- After the rest of the system is created, open the Simulink file
SimCoupler_Block_R11.mdl (created in Matlab/Simulink Release 11) that
store the SimCoupler model block. Copy and paste the SimCoupler model
block into the PMSM example file.
- In the PMSM example file, double click on the SimCoupler block, and enter
the name and the location of the PSIM netlist name, and click on Apply. In this
example, it will be C:\PSIM6.0\pmsm_psim.cct. The number of input and
output ports for the SimCoupler model block will automatically match those
defined in the PSIM netlist. In this case, there will be 3 input ports and 4 output
ports. If the number of link nodes in the netlist is changed later, go to the Edit
menu and choose Update Diagram. This will update the model block ports.
- Go to the Simulation menu and select Simulation Parameters. Under Solver
Options, set the Type to Fixed-step. Set Fixed step size to be the same as or
close to PSIMs time step. In this case, the time step is set to 0.1ms. More
discussion on the selection of the solver option and the time step is given in the
next section.
- The setup is now complete. Go to Simulink and start the simulation.
The SimCoupler Module supports Matlab/Simulink Release 11, 12.0, 12.1, and 13.
Please note that the SimCoupler file SimCoupler.dll is created in Matlab/Simulink
Release 11. It is found that this file also works with higher releases of Matlab/Simulink.
We also compiled and provided this file for other Matlab/Simulink releases. They are
stored in SimCoupler_Rxx.dll where xx is the release version number. For example, to
SimCoupler Module
105
use SimCoupler.dll compiled for Release 13, first delete SimCoupler.dll, then copy
SimCoupler_R13.dll to another file, and rename that file to SimCoupler.dll.
Please also note that when the SimCoupler model block is used in a feedback system in
Simulink, the SimCoupler model block may be part of an algebraic loop (please refer to
Matlab Help for more information on algebraic loops). Some versions of Matlab/
Simulink can not solve a system containing algebraic loops, and other can solve the
system but with degraded performance. To break an algebraic loop, place a memory
block at each output of the SimCoupler model block. The memory block introduces one
integration time step delay.
106
Control in Simulink
It is recommended that Simulink use the same time step as PSIM, although we have
found that, even if the Simulink time step is slightly larger than PSIM time step,
satisfactory results are obtained. In this case, for example, the time step is set to 20 us,
10 times larger than the PSIM time step.
If the Simulink Solver type is instead set to Variable-step, the simulation results will
not be correct. The figure below shows this option.
Control in Simulink
When the Simulink Solver type is set to Variable-step, in order to obtain correct results,
a zero-order-hold must be placed at the input of the SimCoupler model block.
Moreover, the zero-order-hold sample time must be the same or close to PSIM time
step. The figure below shows the configuration.
SimCoupler Module
107
Control in Simulink
Therefore, Simulink must be set up to have the Solver Type as Fixed-step with the time
step the same or close to the PSIM time step, or if the Solver Type is Variable-step, a
zero-order-hold must be used with the sample time the same or close to PSIM time step
108
4
Other Components
4.1
Parameter File
The parameter file element .FILE defines the name of the file that stores the component
parameters and limit settings. For example, the resistance of a resistor can be specified
as R1, and the value of R1 is defined in the parameter file.
Image:
.FILE
The parameter file is a text file created by the user. The format is shown below:
<name> = <value>
<name> <value>
LIMIT <name> <lower limit> <upper limit>
% A comment line
The field <value> can be either a numerical number (e.g. R1 = 12.3) or a
mathematical expression (e.g. R3 = R1 + R2/2.). The name and the value can be
separated by either an equation sign (e.g. R1 = 12.3) or a space (e.g. R1 12.3). Text
from the character % to the end of the line is treated as comments (e.g. % R3 is the
load resistance).
For example, a parameter file may look like the following:
R1=12.3
R2 23.4Ohm
R3=R1+R2/2.
L1=3m
C1=100uF
Parameter File
109
LIMIT R3 5. 25.
4.2
Sources
Several types of independent voltage/current sources are available in PSIM. The
notation of a current source direction is: the current flows out of the higher-potential
node, through the external circuit, and back into the lower-potential node of the source.
Note that current sources can be used in the power circuit only.
4.2.1 Time
The Time element is a special case of the piecewise linear voltage source. It is treated as
a grounded voltage source, and the value is equal to the simulation time, in sec.
Image:
Time
4.2.2 DC Source
A dc source has a constant amplitude. The reference of the dc voltage sources
VDC_GND and VDC_GND_1 is the ground.
Images:
VDC
VDC_CELL
VDC_GND
Attribute:
110
Parameter
Description
Amplitude
Other Components
VDC_GND_1
IDC
Voffset
t
1/f
Images:
VSIN
ISIN
Attributes:
Parameters
Description
Peak Amplitude
Peak amplitude Vm
Frequency
Frequency f, in Hz
Phase Angle
DC Offset
DC offset Voffset
Tstart
Sources
111
Image:
VSIN3
a
b
c
Attributes:
Parameters
Description
V (line-line-rms)
Frequency
Frequency f, in Hz
112
Other Components
ISQU
Attributes:
Parameters
Description
Vpeak-peak
Frequency
Frequency, in Hz
Duty Cycle
DC Offset
DC offset Voffset
Phase Delay
D*T
0
(T=1/f)
When the phase delay is positive, the waveform is shifted to the right along the time
axis.
ITRI
Sources
113
Attributes:
Parameters
Description
Vpeak-peak
Frequency
Frequency, in Hz
Duty Cycle
DC Offset
DC offset Voffset
Phase Delay
D*T
Vpp
Voffset
(T=1/f)
When the phase delay is positive, the waveform is shifted to the right along the time
axis.
Attributes:
114
Other Components
ISTEP / ISTEP_1
Description
Vstep
Tstep
Description
Vstep1
Vstep2
Tstep
T_transition
VSTEP
Vstep
Vstep2
Vstep1
Tstep
Ttransition
Tstep
IGNL / IGNL_1
Sources
115
Attributes:
For VGNL and IGNL:
Parameters
Description
Frequency
No. of Points n
No. of points
Values V1...Vn
Time T1...Tn
Description
Frequency
The time and value pair must be enclosed by left and right brackets. The time and value
can be separated by either a comma (such as (1.2m,5.5)) or a space (such as (1.2m 5.5)),
or both (such as (1.2m, 5.5)).
Example:
The following is a non-periodic piecewise linear source. It has 3 segments which can be
defined by four points (marked in the figure).
3
2
1
0
0.1
0.2
Time (sec.)
0.3
116
Frequency
0.
No. of Points n
Values V1...Vn
1. 1.
Times T1...Tn
Other Components
3. 3.
0.
VRAND
Attributes:
Parameters
Description
Peak-Peak Amplitude
DC Offset
DC offset
Sources
117
Attributes:
Parameters
Description
Expression
Tstart
VCCVS
VCCVS_1
IVCCS
IVCCSV
VVCVSV
vin1
118
Other Components
ICCCS
vin2
vin1
vin2
ICCCS_1
Attribute:
Parameter
Description
Gain
For voltage-controlled sources VVCVS and IVCCS, the controlling voltage is from the
positive node (+) to the negative node (-).
For current-controlled sources VCCVS and ICCCS, the control nodes are connected
across a RLC branch, and the direction of the controlling current is indicated by the
arrow.
For current-controlled sources VCCVS_1 and ICCCS_1, the controlling current flows
into one control node and out of the other. A 10-uOhm resistor is used to sense the
controlling current.
The output of a controlled source, except variable-gain controlled sources, is equal to
the gain multiplied by the controlling voltage or current. For the variable-gain
controlled sources VVCVSV and IVCCSV, the output is equal to the following:
v o = ( k v in2 ) v in 1
i o = ( k v in2 ) v in1
Input 1 is on the side with the multiplication sign, and Input 2 is on the side with the
letter k
The difference between variable-gain controlled sources and nonlinear sources
VNONM and INONM described in the following section is that for VNONM and
INONM, values of both vin1 and vin2 at the current time step are used to calculate the
output and are updated in each iteration. But for variable-gain controlled sources, it is
assumed that the change of vin2 is small from one time step to the next, and the value of
vin2 at the previous time step is used at the current time step. This assumption is valid as
long as vin2 changes at a much slower rate as compared to vin1 and the time step is small
as compared to the change o vin2. The variable-gain controlled sources can be used in
circuits which may otherwise have convergence problem with nonlinear sources
VNONM and INONM.
Example:
The circuits below illustrates the use of current controlled voltage sources VCCVS and
VCCVS_1.
In the circuit on the left, the voltage source VCCVS is controlled by the inductor current
Sources
119
is. With a gain of 1, the waveform of the voltage vis is equal to that of is. In this way, a
current quantity can be converted to a voltage quantity.
The circuit on the right is equivalent to that on the left, except that the source VCCVS_1
is used instead.
Vis
is
Vis
is
INONM
VNOND
v in1
- Voltage source where v o = k -------v in2
INOND
v in1
- Current source where i o = k -------v in2
VNONSQ
INONSQ
VPOWERS
k2
120
Other Components
Images:
VNONM
VNOND
vin1
vin2
INONSQ
INOND
INONM
VPOWERS
VNONSQ
vin1
vin2
Attributes:
For all the sources except VPOWERS:
Parameter
Description
Gain
For VPOWERS:
Parameters
Description
Gain
Coefficient k1
Coefficient k1
Coefficient k2
Coefficient k2
For VNOND and INOND, Input 1 is on the side of the division sign.
4.3
Voltage/Current Sensors
Voltage/current sensors measure the voltages/currents of the power circuit and send
them to the control circuit. The current sensor has an internal resistance of 1 .
Images:
VSEN
ISEN
Voltage/Current Sensors
121
Attribute:
4.4
Parameter
Description
Gain
VP
Wattmeter
W
Current Probe
IP
VAR Meter
VAR
122
Other Components
DC Voltmeter
V_DC
AC Voltmeter DC Ammeter
A_DC
V_AC
3-phase Wattmeter
W3
AC Ammeter
A_AC
Attributes:
Parameters
Description
Operating Frequency
Cut-off Frequency
VA Display Flag
PF Display Flag
A low-pass filter is used in the dc meter and wattmeter models to filter out highfrequency components, whereas a high-pass filter is used in the ac meter and VAR meter
models to filter out the dc component. The cut-off frequency determines the transient
response of the filter.
Except the voltage and current probes (VP / VP2 / IP), the readings of all the meters are
meaningful only when the readings reach the steady state.
For the single-phase VA-Power Factor meter, the apparent power (S), total power factor
(PF), and the displacement power factor (DPF) are defined as follows.
Assume both the voltage and current contains harmonics, i.e.
v(t) =
2V 1 sin ( 1 t + 1 ) + 2V 2 sin ( 2 t + 2 ) + ..
i(t) =
2I 1 sin ( 1 t + 1 ) + 2I 2 sin ( 2 t + 2 ) + ..
where 1 is the fundamental frequency and all others are harmonic frequencies. We
have the rms values of the voltage and current as:
2
V rms =
V 1 + V 2 + ..
I rms =
I1 + I 2 + ..
123
1
P = --T
0 ( v ( t ) i ( t ) ) dt
where T is the fundamental period. The total power factor PF and the displacement
power factor DPF are then defined as follow:
P
PF = --S
DPF = cos ( 1 1 )
For the three-phase circuit, the definitions are similar. Note that the meter VA_PF3 is for
the 3-phase 3-wire circuit, and the summation of the three phase voltages or currents
must be equal to zero, that is:
va + vb + v c = 0
ia + ib + ic = 0
4.5
Switch Controllers
A switch controller has the same function as a switch gate/base drive circuit in an actual
circuit. It receives the input from the control circuit, and controls switches in the power
circuit. One switch controller can control multiple switches simultaneously.
Example:
The circuit below implements the step change of a load. In the circuit, the on-off switch
controller is used to control the bi-directional switch. The step voltage source, which is
connected to the controller input, changes from 0 to 1 at the time of 12 ms. The closure
124
Other Components
of the switch results in the short-circuit of the resistor across the switch and the increase
of the current.
On-off
Controller
Sync.
Signal
alpha
Attributes:
Parameters
Description
Frequency
Pulse Width
Switch Controllers
125
iRL1
vsync
126
Other Components
Attributes:
Parameters
Description
Frequency
Switching frequency, in Hz
Update Angle
File Name
A lookup table, which is stored in a file, contains the gating patterns. It has the
following format:
n, m1, m2, ..., mn
k1
G1,1, G1,2, ..., G1,k1
... ... ...
kn
Gn,1, Gn,2, ..., Gn,kn
where n is the number of gating patterns; mi is the modulation index correspondent to
Pattern i; and ki is the number of switching points in Pattern i. The modulation index
array m1 to mn should be monotonically increasing. The output will select the ith pattern
if the input is smaller than or equal to mi. If the input exceeds mn, the last pattern will be
selected.
The following table shows an example of a PWM pattern file with five modulation
index levels and 14 switching points.
5, 0.901, 0.910253, 0.920214, 1.199442, 1.21
14
7.736627 72.10303 80.79825 99.20176 107.8970
187.7366 252.1030 260.7982 279.2018 287.8970
14
7.821098 72.27710 80.72750 99.27251 107.7229
187.8211 252.2771 260.7275 279.2725 287.7229
14
7.902047 72.44823 80.66083 99.33917 107.5518
172.2634 180.
352.2634 360.
172.1789 180.
352.1789 360.
172.0979 180.
Switch Controllers
127
4.6
Function Blocks
128
Other Components
some of the functions that can only be generated in the control circuit can be passed to
the power circuit.
Image:
CTOP
k=1
Example:
The following circuit illustrates how a control circuit signal can be passed to the power
circuit. As seen from the power circuit, the CTOP block behaviors as a grounded
voltage source.
Control Circuit
Power Circuit
Function Blocks
129
3
3
vd
va
2
2
2
= --- sin sin ------ sin + ------ v b
3
3
3
vc
1
1
1
------2
2
2
vq
vo
vc
sin
vd
2
2
cos ------ sin ------ 1
vq
3
3
2
2
cos + ------ sin + ------ 1
3
3
vo
Images:
ABC2DQO
DQO2ABC
Example:
In this example, three symmetrical ac waveforms are transformed into dqo quantities.
The angle is defined as = t where = 2*60. Since the angle changes linearly
with time, a piecewise linear voltage which has a ramp waveform is used to represent .
The simulation waveforms show the three-phase ac (top), the angle (middle), and the
130
Other Components
dqo output. In this example, the q component is constant, and both the d and the o
components are zero.
FCN_MATH2
FCN_MATH3
FCN_MATH5
FCN_MATH10
Attributes:
Parameters
Description
Expression
f(x1,x2,...,xn)
Expression df/dxi
Function Blocks
131
DLL_EXT3
DLL_EXT6
input
output
Attribute:
Parameter
Description
File Name
132
Other Components
compile the DLL routine and link with PSIM are provided in these files and in the online help.
Example:
The following shows a power factor correction circuit with the inductor current and the
load voltage feedback. The input voltage is used to generate the current reference. The
control scheme is implemented in a digital environment, with a sampling rate of 30 kHz.
The control scheme is implemented in an external C code and is interfaced to the power
circuit through the DLL block.
The input of the DLL block are the sampled input voltage, inductor current, and output
voltage. One of the DLL block outputs is the modulation wave Vm, which is compared
with the carrier wave to generate the PWM gating signal for the switch. The other
output is the inductor current reference for monitoring purpose.
Part of the source code, which is in the file pfc_vi_dll.c, is shown below. Both the
inner current loop and the outer voltage loop use a PI controller. Trapezoidal rule is used
to discretize the controllers. Discretization using Backward Euler is also implemented
but the codes are commented out.
Function Blocks
133
// This sample program implement the control of the circuit "pfc-vi-dll.sch" in a C routine.
// Input: in[0]=Vin; in[1]=iL; in[2]=Vo
// Output: Vm=out[0]; iref=out[1
// You may change the variable names (say from "t" to "Time").
// But DO NOT change the function name, number of variables, variable type, and sequence.
// Variables:
// t: Time, passed from PSIM by value
// delt: Time step, passed from PSIM by value
// in: input array, passed from PSIM by reference
// out: output array, sent back to PSIM (Note: the values of out[*] can be modified in PSIM)
// The maximum length of the input and output array "in" and "out" is 20.
// Warning: Global variables above the function simuser (t,delt,in,out) are not allowed!!!
#include <math.h>
__declspec(dllexport) void simuser (t, delt, in, out)
// Note that all the variables must be defined as "double"
double t, delt;
double *in, *out;
{
// Place your code here............begin
double Voref=10.5, Va, iref, iL, Vo, Vm, errv, erri, Ts=33.33e-6;
static double yv=0., yi=0., uv=0., ui=0.;
// Input
Va=fabs(in[0]);
iL=in[1];
Vo=in[2];
// Outer Loop
errv=Voref-Vo;
// Trapezoidal Rule
yv=yv+(33.33*errv+uv)*Ts/2.;
iref=(errv+yv)*Va;
// Inner Loop
erri=iref-iL;
// Trapezoidal Rule
yi=yi+(4761.9*erri+ui)*Ts/2.;
Vm=yi+0.4*erri;
// Store old values
uv=33.33*errv;
ui=4761.9*erri;
// Output
out[0]=Vm;
out[1]=iref;
// Place your code here............end
}
134
Other Components
5
Analysis Specification
5.1
Transient Analysis
Parameters for the transient analysis are defined by selecting Simulation Control in the
Simulate menu in PSIM, as follows.
Time Step
Total Time
Print Time
Time from which simulation results are saved to the output file.
No output is saved before this time.
Print Step
Print step. If the print step is set to 1, every data point will be
saved to the output file. If it is 10, for example, only one out of
10 data points will be saved. This helps to reduce the output file
size.
Load Flag
Save Flag
Flag for the SAVE function. If the flag is 1, values at the end of
the current simulation will be saved to a file with the .ssf
extension.
With the SAVE and LOAD functions, the circuit voltages, currents and other quantities
can be saved at the end of a simulation session, and loaded back as the initial conditions
for the next simulation session. This provides the flexibility of running a long
simulation in several shorter stages with different time steps and parameters.
Components values and parameters of the circuit can be changed from one simulation
session to the other. The circuit topology, however, must remain the same.
In PSIM, the simulation time step is fixed throughout the simulation. In order to ensure
accurate simulation results, the time step must be chosen properly. The factors that limit
the time step in a circuit include the switching period, widths of pulses or waveforms,
and intervals of transients. It is recommended that the time step should be at least one
magnitude smaller than the smallest of the above.
In Version 6.0, an interpolation technique is implemented which will calculate the exact
switching instants. With this technique, the error due to the misalignment of switching
Transient Analysis
135
5.2
AC Analysis
The frequency response of a circuit or a control loop can be obtained with the ac
analysis. A key feature of the ac analysis in PSIM is that, a circuit can be in its original
switchmode form, and no average model is required. Nevertheless, with the average
model, the time it takes to perform the ac analysis will be shorter.
The following are the steps to set up the ac analysis:
- Identify a sinusoidal source (VSIN) as the excitation source for the ac sweep.
- Place ac sweep probes (ACSWEEP_OUT) at the desired output location. To
measure the loop response of a closed control loop, use the node-to-node probe
(ACSWEEP_OUT2).
- Place the .ACSWEEP element on the schematic, and define the parameters of
the ac sweep.
- Run PSIM.
Below are the images of the ac sweep probes and the .ACSWEEP element.
Images:
ACSWEEP_OUT
ACSWEEP_OUT2
.ACSWEEP
Attributes:
136
Parameters
Description
Start Frequency
End Frequency
No. of Points
Analysis Specification
Parameters
Description
Source Name
Start Amplitude
End Amplitude
Frequencies of additional data points. If the frequencydomain characteristics change rapidly at a certain
frequency range, one can add extra points in this region to
obtain better data resolution.
The principle of the ac analysis is that a small ac excitation signal is injected into the
system as the perturbation, and the signal at the same frequency is extracted at the
output. To obtain accurate ac analysis results, the excitation source amplitude must be
set properly. The amplitude must be small enough so that the perturbation stays in the
linear region. On the other hand, the excitation source amplitude must be large enough
so that the output signal is not affected by numerical errors.
In general, a physical system has low attenuation in the low frequency range and high
attenuation in the high frequency range. A good selection of the excitation source
amplitude would be to have a relatively small amplitude at the low frequency, and a
relatively large amplitude at the high frequency.
Sometimes, after ac analysis is complete, a warning message is displayed as follows:
Warning: The program did not reach the steady state after 60
cycles. See File message.doc for more details.
This message occurs when the software fails to detect the steady state at the ac sweep
output after 60 cycles. To address this problem, one may increase damping in the circuit
(by including parasitic resistances, for example), or adjust the excitation source
amplitude, or reduce simulation time step. The file message.doc gives the information
on the frequency at which this occurs and the relative error. The relative error will
indicate how far the data point is from reaching the steady state.
Example: Impedance of Shunt Filters
The circuit below consists of two shunt filters tuned at the 5th and 7th harmonics (the
fundamental frequency is 60 Hz). By injecting the excitation source as the current and
measuring the voltage, we obtain the impedance characteristics of the filters. The ac
AC Analysis
137
analysis waveform on the right clearly shows two troughs at 300 Hz and 420 Hz.
138
Analysis Specification
AC Analysis
139
5.3
Parameter Sweep
Parameter sweep can be performed for the following parameters:
- Resistance, inductance, and capacitance of RLC branches
- Gain of proportional blocks (P)
- Time constant of integrators (I)
- Gain and time constant of proportional-integral controllers (PI)
- Gain, cut-off frequency, and damping ratio of 2nd-order low-pass and highpass filters (FILTER_LP2 / FILTER_HP2)
- Gain, center frequency, and passing and stopping band of 2nd-order bandpass
and bandstop filters (FILTER_BP2 / FILTER_BS2)
The image and parameters of the parameter sweep element are shown below.
140
Analysis Specification
Image:
.PARAMSWEEP
Attributes:
Parameters
Description
Start Value
EndValue
Increment Step
Increment step
Parameter to be Swept
Parameter to be swept
For example, let the resistance of a resistor be Ro. To sweep the resistance from 2
Ohm to 10 Ohm, with a step of 2 Ohm, the specification will be:
Start Value
EndValue
10
Increment Step
Parameter to be Swept
Ro
Parameter Sweep
141
142
Analysis Specification
6
Circuit Schematic Design
PSIMs schematic program provides interactive and user-friendly interface for circuit
schematic entry and editing. The following figure shows a rectifier circuit in the PSIM
environment.
In PSIM, all the elements are stored under the menu Elements. The elements are
divided into four groups: Power (for power circuit element), Control (for control
elements), Other (for switch controllers, sensors, probes, interface elements, and
elements that are common to both power and control), and Sources (for voltage and
current sources).
Parameter Sweep
143
6.1
Creating a Circuit
The following functions are provided in PSIM for circuit creation.
Get
Place
Rotate
Wire
Label
Assign
6.2
Editing a Circuit
The following functions are provided in the Edit menu and View menu for circuit
editing:
Select
144
6.3
Copy
Delete
Move
Text
To place text on the screen, choose Text. Enter the text in the
dialog box, and click the left button of the mouse to place it.
Disable
Enable
Zoom
Escape
Subcircuit
The following functions are provided for subcircuit editing and manipulation.
New Subcircuit
Load Subcircuit
Edit Subcircuit
Set Size
Place Port
To place the connection port between the main circuit and the
subcircuit
Display Port
Edit Default
Variable List
Subcircuit
145
Edit Image
Hide Subcircuit
Ports
Subcircuit List
To list the file names of the main circuit and the subcircuits
One Page up
Top Page
The one-quadrant chopper circuit below illustrates the use of the subcircuit.
Subcircuit
File: chop.sch
File: chop_sub.sch
146
The diamonds on the four sides represent the connection nodes and the
positions of the subcircuit. They correspond to the connection nodes of the
subcircuit block on the right. There are no diamonds at the four corners since
connections to the corners are not permitted.
When a diamond is selected, it is colored red. By default, the left diamond at
the top is selected and marked with red color. Click on the desired diamond to
select and to specify the port name.
In this example, in the main circuit chop.sch, there are four linking nodes,
two on the left side and two on the right side of the subcircuit block. The
relative position of the nodes are that the upper two nodes are 1 division below
Subcircuit
147
the top and the lower two nodes are 1 division above the bottom.
To specify the upper left linking node, click on the top diamond of the left side,
and type in+. The text in+ will be within that diamond box and a port
labelled with in+ will appear on the screen. Connect the port to the upper left
node. The same procedure is repeated for the linking nodes in-, out+, and
out-.
- After the four nodes are placed, the node assignment and the subcircuit appear
in PSIM as shown below.
The creation of the subcircuit is now complete. Save the subcircuit, and go back to the
main circuit.
148
File: main.sch
Inside the subcircuit:
File: sub.sch
Subcircuit
149
The default variable list inside the subcircuit is not saved to the netlist and is not used
for simulation.
This feature allows the parameters of a subcircuit to be defined at the main circuit level.
In the case where the same subcircuit is used several times in one main circuit, different
parameters can be assigned to the same variable. For example, if the subcircuit
sub.sch is used two times in above example, in one subcircuit L can be defined as
3mH, and in another subcircuit L can be defined as 1mH.
Note that this example also illustrates the feature that parameters can be defined as a
variable (for example Vin for the input dc voltage source) or a mathematical
expression (for example R1+R2 for the load resistance). The variables Vin, R1,
and R2, are defined in the parameter file para-main.txt. See Section 4.1 for more
details.
In the window, the diamonds marked red are the connection nodes of the
subcircuit block, in exactly the same positions as appearing in the main circuit.
- Use the drawing tool to create/edit the image for the subcircuit block. If the
drawing tool is not already displayed, go to the View menu and check Drawing
150
Tools. Click on Zoom In and Zoom Out icons on the toolbar to adjust the size
of the image working area.
After the image is created, the pop-out window will appear as follows.
- Go back to the subcircuit window (sub.sch in this case), and save the
subcircuit. The new subcircuit block image should appear in the main circuit.
Subcircuit
151
- Project A
- Subcircuit 2
- Subcircuit 3
- Project B
- Subcircuit 4
In this way, common-used custom-built subcircuits can be grouped together and easily
managed and accessed.
6.4
Other Options
6.4.4 Settings
Grid display, rubber band feature, text fonts, simulation warning, and colors can be set
in the Settings... in the Option menu.
Before a circuit is printed, its position on the paper can be viewed by selecting Print
Page Border in the Settings... option. If a circuit is split into two pages, it can be moved
into one single page. If the circuit is too big to fit in one page, one can zoom out and
reduce the circuit size by clicking the Zoom Out button.
152
Print page legend, such as company name, circuit title, designers name, date, etc., can
be specified by choosing Print Page Setup in the File menu. It can be disabled in the
Settings... option.
Also in the Settings... option, if Disable simulation warning message is checked,
warning messages generated during the simulation will be suppressed. Otherwise,
warning messages will be shown before waveforms are displayed in SIMVIEW.
6.5
153
154
7
Waveform Processing
SIMVIEW is PSIMs waveform display and post-processing program. The following
shows simulation waveforms in the SIMVIEW environment.
SIMVIEW reads data in either ASCII text format or SIMVIEW binary format. The
following shows a sample text data file:
Time I(L1) V(o) V(a) V(pi)
0.1000000E-04 0.000000E+00 -0.144843E-18 0.307811E+00 0.100000E+01
0.2000000E-04 0.000000E+00 -0.289262E-18 0.615618E+00 0.100000E+01
0.3000000E-04 0.000000E+00 -0.576406E-18 0.923416E+00 0.100000E+01
0.4000000E-04 0.000000E+00 -0.860585E-18 0.123120E+01 0.100000E+01
0.5000000E-04 0.000000E+00 -0.114138E-17 0.153897E+01 0.100000E+01
... ... ... ...
155
7.1
File Menu
The File Menu has the following functions:
Open
Open Binary
Merge
Merge another data file with the existing data file for display
Re-Load Data
Save
Save As
Print Setup
Print Preview
Exit
Quit SIMVIEW
When the data of a text file are currently being displayed, after new data of the same file
have become available, by selecting Re-Load Data, waveforms will be re-drawn based
on the new data.
By using the Merge function, data from multiple files can be merged together for
display. For example, if one file contains the curves I1 and I2, and another file
contains the curves V1 and V2, all four curves can be merged and displayed on one
screen. Note that if the second file also contains a curve with the same name I1, it will
be modified to I1_1 automatically.
7.2
Edit Menu
The Edit Menu has the following functions:
Copy to Clipboard Copy the waveforms to the clipboard
156
Waveform Processing
Edit Title
7.3
Edit the printout title. By default, the title shows the file name and
path.
Axis Menu
The Axis Menu has the following functions:
X Axis
Y Axis
Axis Label Setting Change the settings of the X/Y axis label
Edit Default
Variable List
The dialog box of the X/Y axis settings are shown below.
If the Auto-Scale box is checked and the Grid Division is chosen as default, the
maximum data range will be selected and the number of axis divisions will be
automatically determined. Both the data range and grid division, however, can be
manually set.
In the Axis Label Setting, the label font size can be changed, and the display of the
label can be disabled.
By default, the option Default X-Axis: Time is selected. That is, the first column of the
data, which is usually Time, is used as the X axis. If this option is not selected, any other
column of the data can be used as the X axis. For example, the following figure shows a
sine waveform as the X-axis versus a cosine waveform in the Y-axis.
Axis Menu
157
Note that this option can only be selected or de-selected when there are no documents in
the SIMVIEW environment.
7.4
Screen Menu
The Screen Menu has the following functions:
Add/Delete Curves Add or delete curves from the selected screen
Add Screen
Delete Screen
Edit Box
All the data variables available for display are in the Variables Available box, and the
158
Waveform Processing
variables currently being displayed are in the Variables for Display box. After a variable
is highlighted in the Variables Available box, it can be added to the Variables for
Display box by clicking on Add ->. Similarly, a variable can be removed from display
by highlighting the variable and clicking on <- Remove.
In the Edit Box, an mathematical expression can be specified.
A mathematical expression can contain brackets and is not case sensitive. The following
math functions are allowed:
+
addition
subtraction
multiplication
division
SQRT
square-root function
SIN
sine function
COS
cosine function
TAN
tangent function
ATAN
EXP
LOG
LOG10
ABS
absolute function
SIGN
AVG
average function
INT
integration function
Type this expression in the Edit Box, and click on Add ->. Highlight the expression on
the right, click on <- Remove, and the expression will be moved into the Edit Box for
further editing.
7.5
View Menu
The View Menu has the following functions:
View Menu
159
Zoom
Re-Draw
Measure
Escape
Max
Min
Next Max
Next Min
Toolbar
To enable/disable toolba
Status Bar
A region is selected by pressing the left button of the mouse and, at the same time, drag
the mouse.
The Measure function allows the measurement of waveforms. After Measure is
selected, the measurement dialog box will appear. By clicking the left mouse, a line will
appear and the values of the waveforms will be displayed. By clicking the right mouse,
another line will appear and the different between the current position and the previous
position, which is marked by the left mouse, will be measured. A SIMVIEW window
with the measurement boxes in these two modes are shown below.
160
Waveform Processing
Once Measure is selected, an individual curve can be selected by clicking on the name
of the curve at the left top of the graph, and the four functions, Max, Min, Next Max,
and Next Min can be used to evaluate the curve. Note that these four functions are only
enabled in the Measure mode and after a curve is selected.
In the zoom-in mode, waveforms can be shifted horizontally or vertically. There are left
and right arrows below the x-axis, and up and down arrows in the far right axis. By
clicking on the arrow, the waveforms will be shifted by one division.
7.6
Option Menu
The Option Menu has the following functions:
FFT
Time
Set Curves
Set Background
Grid
Color
Option Menu
161
7.7
Label Menu
The Label Menu has the following functions:
Text
Line
Draw a line
Dotted Line
Arrow
To draw a line, first select Line from the Label menu. Then click the left mouse at the
position where the line begins, and drag the mouse while keeping the left button
pressed. Dotted lines and lines with arrows are drawn in the same way.
If one is in the Zoom or Measure mode, and wishes to edit a text or a label, one should
first escape from the Zoom/Measure mode by selecting Escape in the View menu.
7.8
Exporting Data
As stated in Section 7.1, FFT results can be saved to a text file. Both simulation results
(*.txt) and FFT results (*.fft) are in text format and can be edited using a text editor
(such as Microsoft NotePad), or exported to other software (such as Microsoft Excel).
For example, to load a simulate result file chop-1q.txt in Microsoft Excel, follow
these steps:
- In Microsoft Excel, select Open from the File menu. Open the file chop-
162
Waveform Processing
1q.txt.
- In the dialog window Text Import Wizard - Step 1 of 3, under Original
data type, choose Delimited. Click on Next.
- In the dialog window Text Import Wizard - Step 2 of 3, under Delimiters,
choose Space. Click on Next.
- In the dialog window Text Import Wizard - Step 3 of 3, under Column
data format, choose General. Click on Finish.
Exporting Data
163
164
Waveform Processing
8
Error/Warning Messages and
Other Simulation Issues
8.1
Simulation Issues
Q0
Q1
Q1
clock
clock
1V
1V
In the circuit on the left, the initial values of both Q0 and Q1 are assumed to be zero. At
the clock rising edge, Q0 will change to 1. Without delay, the position of Q1, which
should remain at 0, will toggle to 1 at the same time.
To prevent this, a time delay element with the delay period of one time step needs to be
Simulation Issues
165
Comparator
Comparator
Transfer Function
Transfer Function
op. amp.
op. amp.
It should be noted that, in PSIM, the power circuit and the control circuit are solved
separately. There is one time step delay between the power and the control circuit
solutions.
166
- The length of the data selected for FFT should be the multiple integer of the
fundamental period.
For a 60-Hz waveform, for example, the data length should be restricted to 16.67 msec.
(or multiples of 16.67 msec.). Otherwise, the FFT results will be incorrect. The data is
selected by clicking on X Axis in SIMVIEW, de-selecting Auto-scale in Range, and
specifying the starting time and the final time. The FFT analysis is only performed on
the data that are displayed on the screen.
Note that the FFT results are discrete. The FFT results are determined by the time
interval between two consecutive data points, t, and the data length Tlength. The data
point interval t is equal to the simulation time step multiplied by the print step. In the
FFT results, the frequency incremental step will be 1/Tlength, and the maximum
frequency will be 1/(2*t).
For example, if you take the FFT of a 1-kHz square waveform with a data length of 1 ms
and a data point interval of 10 us, that is, Tlength = 1 ms, and t = 10 us, the frequency
incremental step will be: f = 1/Tlength = 1 kHz. The maximum frequency will be: fmax
= 1/(2*t) = 50 kHz.
8.2
Error/Warning Messages
The error and warning messages are listed in the following.
E-1
This can also be caused by a poor connection in PSIM. When drawing a wire
between two nodes, make sure that the wire is connected to the terminal of the
element.
Error/Warning Messages
167
E-3
This error message occurs when the total number of a particular element exceeds
the limit specified by the program. This problem can only be solved by recompiling the PSIM simulator with increased array dimensions. Please contact
Powersim Technologies Inc. for assistance.
W-1
Warning!!! The program failed to converge after 10 iterations when determining switch positions. The computation continues with the following switch
positions: ... ...
This warning occurs when the program fails to converge when determining
switching positions. Since the computation continues based on the switch
positions at the end of the 10th iteration, results could be inaccurate. One should
be cautious when analyzing the results.
There are many factors that cause this problem. The following measures can be
taken to isolate and solve the problem:
- Check the circuit and make sure the circuit is correct.
- Check the switch gating signals.
- Connect small resistors/inductors in series with switches and voltage
sources.
W-2
Warning!!! The program did not reach the steady state after 60 cycles when
performing the ac sweep.
This warning occurs when the program fails to reach the steady state after 60
cycles when performing the ac sweep. The cause of the problem could be that
the system is poorly damped at that particular frequency or the signal amplitude
is too small.
You may try the following to isolate and solve the problem:
- Run the time-domain simulation with the excitation source at that frequency and see if time-domain waveforms are oscillatory.
- Increase the excitation voltage amplitude for larger signal level, or
- Reduce the time step for better accuracy and resolution.
8.3
Debugging
Some of the approaches in debugging a circuit is discussed in the following.
168
Symptom:
Simulation results show sudden changes (discontinuity) of inductor currents and
capacitor voltages.
Solution:
This may be caused by the interruption of inductor current path and short-circuit
of capacitor (or capacitor-voltage source) loops. Check the switch gating
signals. If necessary, include overlap or dead time pulses to avoid open-circuit or
shooting-through.
If an initial current is assigned to an inductor, initial switch positions should be
set such that a path is provided for the current flow. Otherwise, the inductor
current will be forced to start from zero.
Symptom:
Simulation waveforms look incorrect or inaccurate, or the waveform resolution
is poor.
Solution:
This may be caused by two reasons. One is the time step. Since PSIM uses the
fixed time step during the entire simulation, one should make sure that the time
step is sufficiently small. As a rule of thumb, the time step should be several tens
times smaller than the switching period.
Another reason is the problem of waveform display. One should make sure that
the print step is not too big. To display all the data points, set the print step to 1.
Debugging
169
170