0% found this document useful (0 votes)
101 views313 pages

PSIM User Manual

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 313

User’s Manual

© Altair Engineering, Inc.


All Rights Reserved
www.altair.com

Chapter : -7
Altair® PSIMTM User’s Guide
Version 2024.1

August 2024

Copyright © 2001-2022 Powersim, LLC


Copyright © 2024 Altair Engineering Inc.
All rights reserved. No part of this manual may be photocopied or reproduced in any form or by any means without
the written permission of Altair Engineering Inc.

Disclaimer
Altair Engineering Inc. (“Altair”) 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 Altair 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.

Altair Engineering Inc.


www.altair.com

-6 Chapter :
Contents
1 General Information
1.1 Introduction 1
1.2 Circuit Structure 5
1.3 Software/Hardware Requirement 5
1.4 Installing the Program 5
1.5 Simulating a Circuit 6
1.6 Simulation Control 6
1.7 Component Parameter Specification and Format 10

2 Circuit Schematic Design


2.1 PSIM Environment 13
2.2 Creating a Circuit 16
2.3 File Menu 17
2.4 Edit Menu 18
2.5 View Menu 19
2.6 Design Suites Menu 20
2.7 Subcircuit Menu 20
2.7.1 Creating Subcircuit - In the Main Circuit 22
2.7.2 Creating Subcircuit - Inside the Subcircuit 22
2.7.3 Connecting Subcircuit - In the Main Circuit 23
2.7.4 Other Features of the Subcircuit 24
2.8 Elements Menu 26
2.9 Simulate Menu 26
2.10 Script Menu 29
2.11 Analysis Menu 30
2.12 Options Menu 30
2.12.1 Setting Option 31
2.12.2 Set Path Option 34
2.12.3 Customizing Keyboard/Toolbar 34
2.13 Utilities Menu 35
2.14 Managing the PSIM Library 36
2.14.1 Creating a Secondary Image 37
2.14.2 Adding a New Subcircuit Element into the Library 38
2.14.3 Adding a New DLL Element into the Library 40
2.14.4 Creating a Symbol Library 41

3 Waveform Processing in SIMVIEW


3.1 File Menu 44
3.2 Edit Menu 45
3.3 View Menu 45
3.4 Axis Menu 46
3.5 Screen Menu 48
3.6 Measure Menu 53

Chapter :
1
3.7 Analysis Menu 55
3.8 Label Menu 55
3.9 Option Menu 56
3.10 Exporting Data 57

4 Power Circuit Components


4.1 Resistor-Inductor-Capacitor Branches 59
4.1.1 Resistor 59
4.1.2 Inductor 60
4.1.3 Capacitors 61
4.1.4 Combined R-L-C Branch 62
4.1.5 Rheostat 62
4.1.6 Saturable Inductor 62
4.1.7 Saturable Inductor (2) 63
4.1.8 3-Phase R-L-C and Combination Branches 64
4.1.9 Coupled Inductors 65
4.1.10 Common-Mode Chokes 66
4.1.11 Bus Bar 67
4.1.12 DC Load (constant-power) 67
4.1.13 3-Phase P/Q Controlled Load 67
4.1.14 3-Phase AC Cable 68
4.1.15 Coax Cable 69
4.1.16 Nonlinear Elements 70
4.2 Switching Devices 72
4.2.1 Pre-Built Switch Modules 72
4.2.2 Diode and LED 78
4.2.3 MOSFET and MOSFET (Rds(on)) 80
4.2.4 IGBT 83
4.2.5 IGBT-RB 84
4.2.6 npn and pnp Transistors 85
4.2.7 Zener Diode and DIAC 88
4.2.8 Thyristor and TRIAC 89
4.2.9 GTO 90
4.2.10 Bi-Directional Switches 90
4.2.11 Gating Blocks 90
4.2.12 Transformers 93
4.3 Transformers 93
4.3.1 Ideal Transformer 93
4.3.2 Single-Phase Transformers 93
4.3.3 3-Phase Transformers 95
4.3.4 3-Phase Transformer with Saturation 97
4.4 Magnetic Elements 99
4.4.1 Winding 99
4.4.2 Leakage Flux Path 99
4.4.3 Air Gap 100
4.4.4 Linear Core 101
4.4.5 Saturable Core 101
4.5 Other Elements 103
4.5.1 Operational Amplifier 103
4.5.2 Opto-Couplers 105
4.5.3 TL431 Shunt Regulator 106

2
4.5.4 dv/dt Block 106
4.5.5 Relays 106
4.6 Motor Drive Module 108
4.6.1 Reference Direction of Mechanical Systems 108
4.6.2 Induction Machines 110
4.6.3 DC Machine 115
4.6.4 Brushless DC Machine 116
4.6.5 Synchronous Machine with External Excitation 121
4.6.6 Permanent Magnet Synchronous Machine (PMSM) 123
4.6.7 Switched Reluctance Machine (SRM) 131
4.6.8 Motor Control Blocks 134
4.7 MagCoupler Module 138
4.7.1 MagCoupler-DL Block 138
4.7.2 MagCoupler Block 139
4.8 MagCoupler-RT Module 142
4.8.1 General RT Block 142
4.8.2 Other RT Blocks 143
4.9 Mechanical Elements and Sensors 147
4.9.1 Mechanical Loads 147
4.9.2 Mechanical-Electrical Interface Block 149
4.9.3 Mechanical Coupling Block 150
4.9.4 Gear Box 150
4.9.5 Speed/Torque Sensors 151
4.9.6 Position Sensors 153
4.10 Thermal Module 156
4.10.1 Diode Thermal Model 156
4.10.2 MOSFET Thermal Model 160
4.10.3 IGBT Thermal Model 166
4.10.4 RB-IGBT Thermal Model 170
4.10.5 Inductor Thermal Model 173
4.10.6 Device Database Editor 175
4.10.7 Adding a Switching Device to Database 176
4.11 Renewable Energy Module 181
4.11.1 Solar Modules 181
4.11.2 Wind Turbine 187
4.11.3 Battery Models 189
4.11.4 Ultracapacitor Model 195
4.12 EMI Design Suite 196
4.12.1 EMI Filter 196
4.12.2 LISNs 196
4.12.3 Signal Analyzers 197
4.12.4 Common-Mode Capacitor Block 197
4.12.5 Ground Plane 198

5 Control Circuit Components


5.1 Often-Used Control Function Blocks 199
5.1.1 PID Controllers 199
5.1.2 Summers 204
5.1.3 Comparators 204
5.1.4 Limiters 206

3
5.2 Filters 206
5.3 Computational Function Blocks 207
5.3.1 Multiplier and Divider 207
5.3.2 Trigonometric Functions 208
5.3.3 Exponential/Power/Logarithmic Functions 208
5.3.4 Square-Root 209
5.3.5 RMS (Root-Mean-Square) 209
5.3.6 Absolute and Sign Functions 209
5.3.7 Maximum/Minimum Function 209
5.3.8 MOD Function 210
5.4 Other Function Blocks 210
5.4.1 Sampling/Hold Block 210
5.4.2 Lookup Table ((Trapezoidal and Square) Blocks 211
5.4.3 Fast Fourier Transform 211
5.4.4 THD Block 213
5.4.5 S-Domain Transfer Function 214
5.4.6 Time Delay Blocks 215
5.4.7 Round-Off Block 215
5.4.8 dv/dt Limiter 216
5.4.9 Multiplexers 216
5.4.10 Space Vector PWM 217
5.4.11 Discontinuous PWM 218
5.4.12 Embedded Software Block 219
5.5 Logic Components 219
5.5.1 Logic Gates 219
5.5.2 Set-Reset Flip-Flop 219
5.5.3 J-K Flip-Flops 220
5.5.4 D Flip-Flops 220
5.5.5 Monostable Multivibrator 221
5.5.6 Time Delay (Logic) 221
5.5.7 Bit Shift 222
5.5.8 Pulse Width Counter 222
5.5.9 Up/Down Counter 222
5.5.10 A/D and D/A Converters 223
5.6 Digital Control Module 225
5.6.1 Motor Control Blocks 225
5.6.2 PLL Blocks 228
5.6.3 Zero-Order Hold 230
5.6.4 Unit Delay 231
5.6.5 z-Domain Transfer Function Block 231
5.6.6 Quantization Blocks 238
5.6.7 Circular Buffers 240
5.6.8 Convolution Block 240
5.6.9 Memory Read Block 241
5.6.10 Data Array 241
5.6.11 Stack 242
5.6.12 Multi-Rate Sampling System 242
5.7 SimCoupler and FMI Module 243
5.7.1 Set-up in PSIM and Simulink 243
5.7.2 Solver Type and Time Step Selection in Simulink 245
5.7.3 Passing Parameters from Simulink to PSIM 247

4
5.8 PIL Module 248
5.8.1 PIL Block 248
5.8.2 PIL Block (InstaSPIN F2806x) 249
5.8.3 InstaSPIN Set Block (F2806x) 249
5.9 Motor Control / HEV Design Suite Blocks 250
5.9.1 Speed Control (IPM) 250
5.9.2 Speed Control (SPM) 251
5.9.3 Speed Control (nonlinear IPM) 252
5.9.4 Torque Control (SPM) 254
5.9.5 Torque Control (nonlinear IPM) 255
5.9.6 Voltage Control (PMSM) 256
5.9.7 DC-DC Charging Control 256
5.9.8 DC-DC Discharging Control 257
5.9.9 DC-DC Regeneration Control 258
5.10 PLL Blocks 259
5.10.1 1-ph PLL 259
5.10.2 3-ph PLL 260

6 Other Components
6.1 Switch Controllers 261
6.1.1 On-Off Switch Controller 261
6.1.2 On-Off Switch Controller (Multi-Level) 261
6.1.3 Alpha Controller 262
6.1.4 PWM Lookup Table Controller 263
6.2 PWM Blocks 264
6.2.1 Carrier PWM Controller 264
6.2.2 Square Wave Controller (Variable Frequency) 265
6.2.3 Carrier PWM Controller (z-domain) 266
6.2.4 Square Wave Controller (z-domain) 267
6.2.5 Phase-Shift Controllers (z-domain) 267
6.2.6 Space Vector PWM (2-level) (z-domain) 268
6.2.7 Space Vector PWM (3-level) (z-domain) 269
6.3 Sensors 269
6.4 Probes, Meters, and Scopes
6.4.1 Probes and Meters 270
6.4.2 Voltage/Current Scopes 272
6.5 Function Blocks 274
6.5.1 Control-Power Interface Block 274
6.5.2 Transformation Blocks 275
6.5.3 Lookup Tables 278
6.5.4 Math Function Blocks 282
6.5.5 DLL Blocks 283
6.5.6 C Block 284
6.5.7 Simplified C Block 286
6.6 IC Models 287
6.6.1 PWM IC 287
6.6.2 Driver IC 289
6.6.3 555 Timer 289
6.7 Initial Values 289
6.8 Parameter File 290

5
6.9 AC Analysis 293
6.9.1 AC Sweep Probes 294
6.9.2 AC Sweep 295
6.9.3 AC Sweep (1) 295
6.9.4 AC Sweep (2) 296
6.9.5 AC Sweep Multisine 297
6.10 Parameter Sweep 297

7 Sources
7.1 Constant 299
7.2 Time 299
7.3 Ground 299
7.4 Voltage and Current Sources 300
7.4.1 DC Source 300
7.4.2 Sinusoidal Source 300
7.4.3 Square-Wave Source 301
7.4.4 Triangular/Sawtooth Sources 302
7.4.5 Step Sources 303
7.4.6 Piecewise Linear Source 304
7.4.7 Random Source 305
7.4.8 Math Function Source 305
7.4.9 Grounded Source Multiple 305
7.4.10 Voltage/Current-Controlled Sources 306
7.4.11 Nonlinear Voltage-Controlled Sources 307

8 Error/Warning Messages and Other Simulation Issues


8.1 Simulation Issues 308
8.1.1 Time Step Selection 308
8.1.2 Propagation Delays in Logic Circuits 308
8.1.3 Interface Between Power and Control Circuits 308
8.1.4 FFT Analysis 309
8.2 Debugging 309
8.3 Error/Warning Messages 310

6
1
General Information
1.1 Introduction
Altair® PSIMTM 1 is a simulation software specifically designed for power electronics, motor drives, and
power conversion systems. With fast simulation speed and friendly user interface, PSIM provides a powerful
simulation environment to meed your simulation and development needs.
The PSIM simulation environment consists of the schematic program PSIM, the simulation engine, and the
waveform processing program SIMVIEW2. The simulation process is illustrated as follows.

PSIM Schematic Schematic Editor (input: *.psimsch)

PSIM Simulator Simulator (output: *.smv or *.txt)

SIMVIEW Waveform Processor (input: *.smv or *.txt)

PSIM’s library categorizes elements into the following types:

Power: Elements for the power circuit.


Control: Elements for the control circuit.
Other: Elements which connect the power and the control circuits, such as the switch
controllers, and sensors.
The probes are also in this category.
Sources: Voltage and current sources.
SPICE: Elements special for SPICE simulation.
Event Control: Elements to define the transition of the system from one operation state to
another.
SimCoder: Elements of various hardware target PIE and other BIOS for automatic code
generation.

Motor Drive: Built-in electric machine and mechanical load models for motor drive system
studies.
Digital Control: Discrete elements such as zero-order hold, z-domain transfer function blocks,
quantization blocks, digital filters, for digital control system analysis.
Thermal: Elements and functions to calculate semiconductor device losses and inductor
losses.
EMI Design Suite: Pre-built templates for EMI filter design.

Chapter 1: General Information 1


HEV Design Suite: Pre-built templates for hybrid electric vehicle (HEV) powertrain system design.
Motor Control Design Pre-built templates for induction motor and linear/nonlinear PMSM drives.
Suite:
Power Supply Design Pre-built templates for resonant LLC converter design.
Suite:

MagCoupler: Interface for co-simulation between PSIM and the electromagnetic field
analysis software JMAG5.
MagCoupler-RT: Link between PSIM and JMAG-RT5 data files.

ModCoupler6: Interface for co-simulation between PSIM and ModelSim7. There are two
versions of the interface: ModCoupler-VHDL that supports VHDL code, and
ModCoupler-Verilog that supports Verilog code.
SimCoupler: Interface for co-simulation between PSIM and Matlab/Simulink3.
FMI: Interface for co-simulation between PSIM and other software that supports the
FMI standard.
SPICE: Functions to link to LTspice4.

SimCoder2: Function for automatic code generation.

F2833x Target: Library elements for automatic code generation for TI F2833x series DSP.
F2803x Target: Library elements for automatic code generation for TI F2803x series DSP.
F2802x Target: Library elements for automatic code generation for TI F2802x series DSP.
F2806x Target: Library elements for automatic code generation for TI F2806x series DSP.
F2837x Target: Library elements for automatic code generation for TI F2837x series DSP.
F28004x Target: Library elements for automatic code generation for TI F28004x series DSP.
PE-Expert4 Target: Library elements for automatic code generation for Myway PE-Expert4
hardware platform.
PIL: Interface between PSIM and TI DSP hardware boards for Processor-In-the-
Loop (PIL) simulation. It also includes the function block to support TI’s
InstaSPIN motor control algorithm.

Also, PSIM links with the software SmartCtrl5 for control loop design. SmartCtrl is designed specifically for
power converter applications. For more information, refer to "SmartCtrl User’s Guide".
PSIM also provides the function to export the power stage to Typhoon HIL’s real-time simulator for Hardware-
In-the-Loop HIL simulation. For more information, refer to relevant documents.
With these product lineup, Altair provides a complete platform from design to simulation, to hardware
implementation.
The overall environment is shown in the figure below.

2 Chapter 1: General Information


HIL / Hardware
Design Simulation Implementation
F2833x/03x/06x/02x/37x/004x/
PE-Expert4 Targets
SmartCtrl PSIM
TI DSP
Thermal Power Auto Code
Motor Control Generation
Design Suite Electronics
Thermal SimCoder
TI DSP
HEV Design Suite

Power Supply ModCoupler


Design Suite Control Motor Drives Solar/Wind Power
ModelSim
Digital Control Motor Drive Renewable Energy
EMI Design Suite
HIL
MagCoupler/
SimCoupler

3rd-party Matlab/
Software LTspice JMAG
Simulink

This manual covers PSIM and some add-on Modules. Other add-on modules are covered by separate
documents, as listed below:
- EMI Design Suite:
Tutorial - EMI Design Suite.pdf
- HEV Design Suite:
Tutorial - HEV Design Suite.pdf
- Motor Control Design Suite:
Tutorial - Motor Control Design Suite.pdf
Tutorial - PMSM drive with sensorless control.pdf
- Power Supply Design Suite:
Tutorial - Resonant LLC Converter Design Using Power Supply Design Suite.pdf
- Motor identification, InstaSPIN, and sensorless motor drives:
Tutorial - Motor parameter identification with PSIM.pdf
Tutorial - Simulation and code generation of TI InstaSPIN using DRV8305 EVM.pdf
- SPICE Module:
SPICE User Manual.pdf
- SimCoder and all the hardware Targets:
SimCoder User Manual.pdf
- PIL Module:
Tutorial - Processor-In-the-Loop Simulation.pdf
The organization of this manual is as follows:

Chapter 1: PSIM circuit structure, software/hardware requirement, and parameter format.


Chapter 2: PSIM environment and how to build a PSIM schematic.
Chapter 3: Simulation result display and analysis with SIMVIEW.
Chapter 4 through 7: Components in PSIM element library.
Chapter 8: Error/warning messages

Chapter 1: General Information 3


Notes:
1. PSIM is a registered trademark of Altair Engineering Inc.
2. SIMVIEW and SimCoder are trademarks of Altair Engineering Inc., and are copyright by Altair Engineering Inc., 2022
3. Matlab and Simulink are registered trademarks of the MathWorks, Inc.
4. LTspice is copyright by Analog Devices Inc., 1998-2022
5. JMAG and JMAG-RT are copyright by JSOL Corporation, 1997-2022
6. ModCoupler is copyright by Universidad Carlos III de Madrid, 2011-2022
7. ModelSim is a registered trademark of Mentor Graphics Co.
8. SmartCtrl is copyright by Power Smart Control S.L., 2015-2022

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
Sensors
Controllers

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 are used to measure power circuit quantities and pass them 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 Requirement


PSIM runs in Microsoft Windows 10 or higher on personal computers. A minimum of 1GB RAM memory is
needed.

1.4 Installing the Program


A quick installation guide is provided in the flier “PSIM - Quick Guide” and on the USB memory stick.
Some of the files in the PSIM directory are:

PSIM.exe PSIM circuit schematic editor


SIMVIEW.exe PSIM waveform processing program
PcdEditor.exe Device database editor
SetSimPath.exe Program to set up the SimCoupler Module
File extensions used in PSIM are:

*.psimsch Schematic file


*.psimpjt Project file
*.schpack Package file

4 Chapter 1: General Information


*.lib Library file
*.fra AC analysis output file (text)
*.dev Device database file
*.txt Simulation output file in text format
*.smv Simulation output file in binary format
*.net; *.cir SPICE netlist files

1.5 Simulating a Circuit


To simulate the buck converter circuit “buck.psimsch” in "examples\dc-dc":
- Start PSIM. From the File menu, choose Open Examples... , then, go to "dc-dc" folder to load the file
“buck.psimsch”.
- From the Simulate menu, choose Run PSIM to start the simulation. Simulation results will be saved
to File “buck.smv”.
- By default, Auto-run SIMVIEW is selected in the Options menu. SIMVIEW will be launched
automatically. In SIMVIEW, select curves for display. If this option is not selected, from the
Simulate menu, choose Run SIMVIEW to start SIMVIEW.
Video tutorials are available to assist new users quickly getting familiar to PSIM’s environment and functions.
These video tutorials can be found and accessed in PSIM: from the Help menu, choose "Video Tutorials >>
Overview and Getting Started".

1.6 Simulation Control


The Simulation Control element defines parameters and settings related to simulation.
To place the Simulation Control in the schematic, go to the Simulate menu, and select Simulation Control.
Image:

The following tabs are in the Simulation Control dialog:


PSIM: Define parameters for PSIM simulation.
SPICE: Define the analysis type and parameters for SPICE simulation. For detailed information,
refer to SPICE User’s Manual.
SimCoder: Define the hardware for SimCoder simulation and automatic code generation. For detailed
information, refer to SimCoder User’s Manual.
Color: Define the color of the Simulation Control image. The default color is blue.

Chapter 1: General Information 5


1.6.1 PSIM Tab:
The PSIM tab defines parameters for PSIM simulation.

Solver Type Fixed-step: Fixed step size is used throughout whole simulation.
Variable-step (dual): Two step sizes are used. The bigger step size is used most of the
time while the smaller step size is used when switches change position or if there are
narrow pulses.
Time Step Simulation time step, in sec.
Time Step Ratio The ratio between the Time Step (the bigger step size) and the smaller step size.
Total Time Total simulation time, in sec.
Free Run When the Free Run checkbox is not checked, the simulation will run up to the Total Time
(checkbox) and then stop. But when it is checked, the simulation will run in the free-run mode and it
will keep on running until manually stopped.
In the free-run mode, voltage/current scopes can be used to monitor and display voltages
and currents in the middle of the simulation.
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 it is set to 1, for example, every data point will be saved to the output file. If
it is set to 10, only one out of 10 data points will be saved. This helps to reduce the
output file size.
Load Flag Flag for the LOAD function. If the flag is 1, the previous simulation values (saved by
setting the Save Flag) will be loaded from a file (with the “.ssf” extension) as the initial
conditions.
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.
R_switch_on Default value of the switch on-state resistance, in Ohm.
R_switch_off Default value of the switch off-state resistance, in Ohm.
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.
Also, an interpolation technique is implemented which will calculate the switching instants more accurately.
With this technique, the error due to the misalignment of switching instants and discrete simulation points is
significantly reduced. It is possible to simulate with a large time step while still maintaining accurate results.
The allowable maximum time step is automatically calculated in PSIM. It is compared with the time step set by
the user, and the smaller value of the two will be used in the simulation.
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.

6 Chapter 1: General Information


1.6.2 SPICE Tab:
There are 3 types of analysis in SPICE: Transient, AC, and DC. Simulation parameters of different analysis
types are described below. For more information on SPICE simulation, please refer to the SPICE User Manual.
For Transient Analysis:

Parameters The following parameters are defined:


Use Initial Conditions: If this box is checked, element initial conditions will be used,
and the "UIC" option will be added to the .tran command. Note: This
setting also affects AC and DC analysis.
Time Step: Suggested computing increment and plotting increment Tstep, in sec. It
can be left undefined (blank).
Max Step: Maximum step size Tmax that SPICE uses, in sec. By default, the
program uses either Tstep or (Tend-Tstart)/50, whichever is smaller.
Tmax is useful when one wishes to guarantee a computing interval not
greater than Tmax. It can be left undefined.
Start Time: Initial time Tstart, in sec. Transient analysis always begins at time zero. In
the interval from zero to Tstart, the circuit is simulated, but no outputs
are stored. This parameter is equivalent to Print Time in PSIM simulation
parameters. It can be left undefined.
End Time: Final simulation time Tend, in sec.
Integration Three integration methods can be selected for SPICE simulation:
Method Trapezoidal: Trapezoidal Rule method.
Modified Trapezoidal: Modified Trapezoidal Rule method.
Gear: Gear method.
The order of the integration method. For Trapezoidal, the order can be 1 or
2. For Gear, the order can be 2 to 6.
Note: This setting also affects AC and DC analysis.

For AC Analysis:

Sweep Type The sweep type can be: Octave, Decade, Linear, or List.
Parameters for the Octave and Decade options:
Start Freq: Starting frequency, in Hz.
End Freq: Final frequency, in Hz.
Points/oct (or dec): Number of points per octave or decade.
Parameters for the Linear option:
Start Freq: Starting frequency, in Hz.
End Freq: Final frequency, in Hz.
Points: Total number of points.
Parameters for the List option:
Freq List: A list of frequencies to be analyzed, in Hz. Values are separated by space.

For DC Analysis:

If the Enable box in the Step Run option is checked, SPICE will perform parameter sweep. The parameter
definition is as below.

Chapter 1: General Information 7


For Step Run:

Parameter Name of the parameter for Step Run. If the step run is NOT for a voltage or a current
source, or temperature, the box "PARAM" must be checked.
Sweep Type The sweep type can be: Octave, Decade, Linear, or List.
Parameters for the Octave and Decade options:
Start: Starting value.
End: Final value.
Points/oct (or dec): Number of points per octave or decade.

Parameters for the Linear option:


Starting value.
Final value.
Incremental step size.
Parameters for the List option:
A list of values to be analyzed. Values are separated by space.
The rest of the parameters for SPICE simulation are described below.

Operating Point If the Enable box is checked, SPICE simulation will determine the dc operating point of
a circuit with inductors shorted and capacitors opened.
Error Tolerance If the Enabled box is checked, error tolerances for SPICE simulation can be changed.
Option Otherwise, default values will be used. Error tolerances are:
RELTOL: Relative tolerance
TRTOL: Transient tolerance
VNTOL: Absolute voltage error tolerance
ABSTOL: Absolute current error tolerance
CHGTOL: Charge tolerance

8 Chapter 1: General Information


1.6.3 SimCoder Tab:
Hardware Target The hardware target can be one of the following:
None: No hardware target in the circuit
F2833x: Hardware Target for TI F2833x series DSP
F2802x: Hardware Target for TI F2802x series DSP
F2803x: Hardware Target for TI F2803x series DSP
F2806x: Hardware Target for TI F2806x series DSP
F2837x: Hardware Target for TI F2837x series DSP
F28004x: Hardware Target for TI F28004x series DSP
PE-Expert4: Hardware Target for Myway PE-Expert4 DSP platform
Memory Map Specify the memory map for compiler. For F2833x and F2803x hardware target:
Options RAM Debug;
RAM Release;
Flash Release; and
Flash RAM Release.
For PE_Expert4 hardware target:
PE-ViewX
CPU Version Specify the CPU version. For each Hardware Target, the available CPUs are in the drop
down list.
InstaSPIN If the DSP is InstaSPIN enabled (for example F28069M), this box must be checked.
enabled Otherwise it should be unchecked.
Default Data This parameter is for fixed-point DSPs, such as F2803x. The default data type options
Type are: Integer, IQ0, IQ1, ... IQ30.
If the box for Check Fixed-Point Range is checked, the SimCoder will check all the
variables against the range and display the result.
DMC Library SimCoder has function blocks of all the functions in TI’s DMC library for the following
Version DMC versions: 4.0, 4.1, and 4.2.
Comments Comments can be entered and these comments will be inserted at the beginning of the
automatically generated code.

1.7 Component Parameter Specification and Format


The parameter dialog window of each component in PSIM has three tabs: Parameters, Other Info, and Color,
as shown below.

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.
If a box under Display is checked, this parameter will be displayed on the schematic screen.

Chapter 1: General Information 9


Some of the Display boxes have an arrow beside them. This arrow will show the pull-down list:

Set as Default Value Set the default value for all future elements of this type.
Display By Default Display this parameter for all future elements of this type.

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.Ohm 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:
G 109
M 106
k or K 103
m 10-3
u 10-6
n 10-9
p 10-12
A mathematical expression can contain brackets and is not case sensitive. The following mathematical
functions are allowed:
+ addition
- subtraction
* multiplication
/ division
^ to the power of [i.e. 2^3 = 2*2*2]
** to the power of [i.e. 2**3 = 2*2*2]
sin(x) sine
cos(x) cosine
tan(x) tangent
asin(x) arcsine
arcsin(x) arcsine
acos(x) arccosine
arccos(x) arccosine
atan(x) arctangent
arctan(x) arctangent
atan2(y,x) arctangent with x and y defined
sinh(x) hyperbolic sine
cosh(x) hyperbolic cosine
10 Chapter 1: General Information
tanh(x) hyperbolic tangent
pow(x,y) x to the power of y
pwr(x,y) absolute value of x to the power of y, i.e. abs(x)^y
sqr(x) square of x, i.e. x^2
sqrt(x) square root
hypot(x1,x2,x3...) square root of x1 squared plus x2 squared, plus x3 squared, etc., i.e. sqrt(x1^2 +
x2^2 + x3^2 + ...)
hypot(x_array) The input is an array, and it returns the square root of the sum of the array cells
squared, i.e. sqrt(x_array[0]^2 + x_array[1]^2 + x_array[2]^2 + ...)
exp(x) base-e exponential of x, i.e. e^x
ln(x) (or log(x)) natural logarithm of x (base e)
log10(x) common logarithm of x (base 10)
abs(x) absolute
sign(x) sign function that returns 1 if x > 0, -1 if x < 0, and 0 if x = 0
ceil(x) function that returns the integer larger than x
floor(x) function that returns the integer smaller than x
min(x1,x2,x3...) Minimum value of x1, x2, x3, etc. (no limit on the number of inputs)
min(x_array) The input is an array, and it returns the minimum value of the array cells
max(x1,x2,x3...) Maximum value of x1, x2, x3, etc. (no limit on the number of inputs)
max(x_array) The input is an array, and it returns the maximum value of the array cells

Chapter 1: General Information 11


2
Circuit Schematic Design

PSIM’s schematic program provides interactive and user-friendly interface for circuit schematic entry and
editing. The PSIM user interface consists of an integrated set of windows, tools, menus, toolbars, and other
elements that allow you to create, simulate, and refine your circuits in one place.

2.1 PSIM Environment


The following figure shows typical screen display of PSIM environment. In the figure, to illustrate as examples,
two PSIM circuit files are open: a boost power factor correction circuit and a dc-dc buck converter circuit.

By default, the menu bar and the standard toolbar appear on top of the window, while the frequently used
element bar appears at the bottom, and the Project View is on the left hand side.
On the right hand side is the Design window. This is a graphic editor where users can build and editor their
simulation circuit schematics. User may arrange schematics in the Design window in tiles (as shown above), or
in tabs (as shown below).

12 Chapter 2: Circuit Schematic Design


The Project View window provides an organized tree view of user’s projects and their related files, as well as
the simulation result graphs. Each PSIM circuit is treated as a project. The following content are displayed in
stacking tiers in the project view:
Project Name: Usually this is the same as the top level PSIM circuit file name.
Documents: Any files related to the project, for example document, datasheet, etc.
Study: Name of the study
Schematic: The PSIM schematic files, top level and subcircuits.
Graphs: All probes in the PSIM schematic are included in the graph list.
The following shows a buck converter example in the Project View.

Project

Study
Schematic
Main circuit
Subcircuit
Waveforms

In this example, the project is the buck converter. It contains one study. The main circuit is "buck -
main.psimsch", and the subcircuit is "buck - sub.psimsch". There are two simulation waveforms: I(S1.L1) and
Vo.

Chapter 2: Circuit Schematic Design 13


After the simulation is done, the waveforms I(S1.L1) and Vo can be loaded into SIMVIEW by simply double
clicking on the waveform names in Project View. The waveforms can also be embedded into the schematic by
dragging into the schematic. For example, the figure above shows the Vo waveform embedded in the schematic.
A project may contain multiple studies. For example, one may study the buck converter circuit with a different
load filter or switching frequency. To create another study out of an existing study, right click on the existing
study "buck - main" and select Create Study copy. A dialog window will appear as shown below to allow you
to define the new study name and determine if you wish to make a copy of the subcircuit.

In this example, we will create a new study called "buck - main1" and create a copy of the subcircuit. After
confirmation, the new study is created as shown below. The new files "buck - main1.psimsch" and "buck -
sub.psimsch" are placed in a newly created folder "buck - main\buck - main1".

Existing Study

New Study

To add an existing schematic file into the project as another study, right click on the project "buck - main" and
select Add Study. To save the project, right click on the project "buck - main" and select Save Project.
14 Chapter 2: Circuit Schematic Design
2.2 Creating a Circuit
The basic and most commonly used functions provided for circuit creation are:
Get Element There are several ways to get an element from the element library. One is to use the pull-
down menu. Go to the Elements menu and go into the submenu and highlight the
element to be selected.
The most often used elements can be selected from the Element Toolbar. It is located at
the bottom of the PSIM screen by default.
Another way is to use the Library Browser, as shown below. The Library Browser
provides a convenient way of navigating through the library. To launch the Library
Browser, go to View >> Library Browser.
Element Menu

Library Browser Element Toolbar

Place Once an element is selected from the menu, the image of the element will appear on the
screen and move with the mouse. Click the left button of the mouse to place the element at
desired location on schematic.
Select Element(s) To select an existing element on a schematic, click on the element. A rectangle will
appear around the element. To select a section of a circuit, keep the left button of a mouse
pressed and drag the mouse until the rectangle covers the selected area.
Rotate Before the element is placed, right click to rotate the element. After an element is
selected, select Edit >> Rotate to rotate the element.
Wire To connect a wire between two nodes, select Edit >> Wire. The image of a pen will
appear on the screen. To draw a wire, keep the left button of the mouse pressed and drag
the mouse. A wire always starts from and end at a grid intersection.
For easy inspection, a floating node is displayed as a circle, and a junction node is
displayed as a solid dot.
Label If two or more nodes are connected to the same label, they are connected. It is equivalent
as though they were connected by wire. Using labels will reduce the cross-wiring and
improve the schematic layout.
The text of a label can be moved. To select the text, left click on the label, then press the
Tab key.
Assign To assign the parameters of an element, double click on the element. A dialog box will
appear. Specify the values and hit the <Return> key or click on OK.

Chapter 2: Circuit Schematic Design 15


Move To move an element or a circuit block, select the element/circuit block and drag
the mouse while keeping the left button pressed.
Pan Schematic To scroll schematic, right click and drag the mouse.

2.3 File Menu


The following functions are provided in the File menu for various file operations:
New Create a new schematic with a single worksheet with no size limit.
New (worksheet) Create a new schematic with a predefined worksheet size.
Open Open an existing schematic file.
Open Examples Open sample schematic files that come with PSIM.
Search Examples Search for sample schematic files that relevant to user’s request.
Change Worksheet Change the worksheet size.
Size
New SPICE Netlist Create a new SPICE netlist file
File
Open SPICE Netlist Open an existing SPICE netlist file
File
New Project Create a new PSIM project.
Open Project Open an existing PSIM project.
Save Project Save current PSIM project.
Close Close the current schematic file.
Close All Close all schematic files.
Save Save the current schematic file.
Save As... Save the current schematic file to a different name.
Save All Save all schematic files.
Save with Password Save a schematic file so that it is protected with a password. When a file is
password protected, it can still be used in the simulation, but one needs to enter
the correct password in order to see the schematic. The password protection is
used in situations where the person who created the file needs to share it with
someone else, but does not wish to reveal the details of the schematic.
Save in Package File Save a schematic file and all associated files to one single package file
(.schpack). This is especially useful if the main circuit calls multiple subcircuits,
and one needs to send the files to someone else. Rather than finding and
collecting all the subcircuit files, one can just create the package file and send
out the single package file.
Save as Older Save a file in the previous version format. Note that if the file uses elements that
Versions are unique in the current version, these elements will be omitted.
Print Print the schematic. Note that the schematic is printed as it appears on the
screen. If you zoom in or out the schematic, the printout will be changed
accordingly.
Print Preview Preview the printout.
Print Selected Print only a portion of the schematic selected.
Print Selected Preview Preview the printout of the portion of the schematic selected.
Print Page Setup Adjust the print page position and set the print page legend.
Printer Setup Set up the printer.
Exit Exit the PSIM schematic program.

16 Chapter 2: Circuit Schematic Design


2.4 Edit Menu
The following functions are provided in the Edit menu for circuit editing:
Undo Undo the previous change.
Redo Go back to the state before undoing the changes.
Cut Cut the selected circuit out of the schematic. The circuit that is cut can be pasted
back.
To delete an element or a portion of the circuit, select the item and hit <Delete>
key.
Copy Copy an element or a portion of a circuit into a buffer, which can then be pasted
back.
Paste Paste back the copied element or circuit.
Select Matched Select the elements which matches the specification.
Elements
Select All Select the entire schematic. To select only a portion of the schematic, left click
and drag the mouse.
Copy to Clipboard Copy the schematic image to the clipboard which can then be pasted back in
another software. One can choose one of the three options: Metafile Format,
Color Bitmap, or Black and White bitmap. The metafile format is vector based,
and gives better image quality especially when the image is resized. The Black
& White option will result in a smaller image file size as compared to the color
bitmap.
Draw Draw images on the schematic for display purposes. The following images are
provided: line, ellipse, rectangle, half-circles, bitmap images, and graph.
To draw a bitmap image: left click the mouse and drag the mouse to define the
area that will contain the bitmap image. Then select the bitmap file.
To draw a graph, left click the mount and drag the mouse to define the area that
will display the waveform of selected probe.
Change All Text Font Change the font for all the text in the opened PSIM file
Change all Text Link Change the font for all the text link in the opened PSIM file.
Font
Place 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.
Place Wire Enter the wiring mode. The cursor will change to the shape of a pen.
Place Label Place a label on the schematic. When two nodes are connected to two labels of
the same name, they are considered physically connected.
Set Node Name Name the node. This name will be captured for SPICE simulation and netlist
generation.
Edit Attributes When an element is selected, choose Attributes to bring out the property dialog
window.
Add/Remove Current Add or remove the current scope for an element that has the current flag. After
Scope this function is selected, click on top of the element, and select the branch
current name to display the current scope. Select the branch current name again
to remove the current scope.
Show/Hide Runtime Show or hide the parameters of elements that can be changed at runtime in the
Variables middle of the simulation. After this is selected, the text of the parameter will
appear. Double click on the text, and a small dialog window will appear. Enter
the new value directly in the data field, and click Apply. Or alternatively, click
on the up/down arrow keys on the keyboard to increase/decrease the value.

Chapter 2: Circuit Schematic Design 17


Disable Disable an element or part of a circuit. When the element or the circuit is
disabled, it will be grayed out and will be treated as non-existent as far as the
simulation is concerned. This function is useful if an element or circuit needs to
be excluded but not deleted from the circuit.
Enable Enable a previously disabled element or circuit.
Rotate Rotate the selected element or a portion of the circuit by 90o clockwise.
Flip Left/Right Flip the selected element horizontally.
Flip Top/Bottom Flip the selected element vertically.
Find Find a particular element based on type and name.
Find Next Repeat the previous Find operation.
Find in Files Fined a particular element in several files.
Edit Library Edit PSIM image libraries. For more details, please refer to Section 2.16.
Image Editor Launch the image editor. For more details, please refer to Section 2.17.
Escape Quit from any of the above editing modes by choosing Escape.

2.5 View Menu


The following functions are provided in the View menu for circuit editing:
Check Elements Check multi-level elements, or check elements that are supported by PSIM
simulation only, or by SPICE simulation only.
Element List Generate the parts list of the circuit.
Element Count Count the number of elements. Voltage/current probes and meters are not
included in the element count.
SPICE Model List List all the SPICE models defined by the .model statement in the files in all the
folders under the SPICE Model Path.
SPICE Subcircuit List List all the SPICE models defined by the .subckt statement in the files in all the
folders under the SPICE Model Path.
Application Look Select the display style for PSIM windows.
Status Bar Show/hide the status bar.
Toolbar Show/hide the toolbar.
Element Bar Show/hide the element bar.
Library Browser Launch the Library Browser. The Library Browser is another way of accessing
the PSIM Element library.
Project View Launch the Project View. The project view organizes and manages the related
files. The projects organizing structure has been illustrated in Section 2.1
Simulation Message Launch the Simulation Message View to display messages.
Find Result View Launch the Find Result View.
Preview View Launch the Preview View.
Previous Page Display the previous page.
Next Page Display the next page.
Go to Page Go to the page of specific number.
Zoom In Zoom in the schematic.
Zoom Out Zoom out the schematic.
Fit to Page Adjust the zooming so that the entire schematic fits the screen.
Zoom In Selected Zoom in to the selected area.

18 Chapter 2: Circuit Schematic Design


Zoom Level Zoom the schematic to 10%, 20%, ..., 200%, and custom size.
Display Voltage/ If the option Save all voltages and currents (under Options >> Settings >>
Current General) is checked, after the simulation is complete, choose this function to
display any node voltages or branch currents.
Display Differential With the option Save all voltages and currents checked, after the simulation is
Voltage complete, choose this function to display any voltages between two nodes.
Delet all Probe Names Remove the display of probe names from the schematic view
Refresh Refresh the screen display.

2.6 Design Suites Menu


This menu accesses the templates of the Design Suites. These templates capture the input parameters,
and generate a schematic that is ready to simulate automatically.
The following functions are provided:
Update Parameters Update the parameters in the circuit generated by the Design Suite
Display Parameters Display the parameters of the system
Power Supply Design Run the design templates in the Power Supply Design Suite. For more
Suite information, refer to the document "Tutorial - Resonant LLC Converter Design
Using Power Supply Design Suite.pdf"
Motor Control Design Run the design templates in the Motor Control Design Suite. For more
Suite information, refer to the document "Tutorial - Motor Control Design Suite.pdf".
HEV Design Suite Run the design templates in the HEV Design Suite. For more information, refer
to the document "Tutorial - HEV Design Suite.pdf".
EMI Filter Design Run the design templates in the EMI Design Suite. For more information, refer
Suite to the document "Tutorial - EMI Design Suite.pdf".

2.7 Subcircuit Menu


Functions provided in the Subcircuit menu are for subcircuit editing and manipulation.
The following functions are to be performed in the parent circuit (outside the
subcircuit):
New Subcircuit Create a new subcircuit
Load Subcircuit Load an existing subcircuit. The subcircuit will appear on the screen as a
block.
Edit Subcircuit Edit parameters the attributes dialog of the subcircuit.
Open Subcircuit Open the selected subcircuit in a new window.
Display Subcircuit Name Display the name of a selected subcircuit in the main circuit
Show Subcircuit Ports Display the port names of the subcircuit in the main circuit
Hide Subcircuit Ports Hide the port names of the subcircuit in the main circuit

The following functions are to be performed inside the subcircuit:


Place Bi-directional Port Place a bi-directional connection port in the subcircuit
Place Input Signal Port Place an input signal connection port in the subcircuit
Place Output Signal Port Place an output signal connection port in the subcircuit
Display Port Display the connection port of the subcircuit
Edit Default Variable List Edit the default variable list of the subcircuit. This is done inside the
subcircuit.
Chapter 2: Circuit Schematic Design 19
Set Size Set the size of the subcircuit
Edit Image Edit the subcircuit image
One Page Up Go back to the main circuit. The subcircuit is automatically saved.
Top Page Jump from a subcircuit to the top-level main circuit. This is useful for
circuits with multiple layers of subcircuits.
If the functions Set Size, Display Port, Edit Default Variable List, and Edit Image are performed in the main
circuit, they will be applied to the main circuit instead.
There are three types of subcircuit ports for signal interface with the main circuit: Bi-directional port for power
circuit and mechanical systems, and input signal and output signal ports for control circuit.
Even though bi-directional ports also work for control circuit, it is strongly recommended to use input or output
signal ports for control circuit for better clarity. Furthermore, if a subcircuit is involved in code generation, only
input or output signal ports can be used.
Either click the "Edit Subcircuit" menu or right click on top of a subcircuit block, and choose Attributes would
open the subcircuit property dialog window. There are three tabs: Change Subcircuit File, Subcircuit Variables,
Formula, and Color.
Change Subcircuit File Tab:
The name of the subcircuit can be edited in the Name box.
Click on the Change Subcircuit File button to change to a different subcircuit file. The selected subcircuit file
will be loaded instead.
Subcircuit Variables Tab:
In this tab, variables used in the subcircuit can be edited. For example, a resistor in the circuit has the resistance
defined as "Rparasitic", and for better clarity, this resistance is referred to as "Parasitic Resistance". Also, the
resistance has a value of 1mOhm. This variable will be entered as:
Variable Description:Parasitic Resistance
Variable Name:Rparasitic
Variable Value:1m
When the checkbox for "Parasitic Resistance" is checked, in the main circuit, this variable will be displayed as:
Parasitic Resistance = 1m
Since subcircuit variable list can be edited, the current variable list may be different from the default variable
list. One can click on the Set as Default Variables button to set the current variable list as the default list, or
click on the Reload Default Variables button to reload the default list if the default list has been modified.
Two functions are provided at the bottom of the dialog for SimCoder for automatic code generation. Click on
the Generate Code button to generate code for this subcircuit. If the checkbox Replace subcircuit with
generated code for simulation is checked, the schematic inside the subcircuit will be replaced by the generated
code for simulation.
Formula Tab:
In this tab, the condition for enable/disable the subcircuit can be set The Check Syntax button will help user to
check the syntax of the formula.
Color Tab:
In this tab, the subcircuit color can be changed.
Example: Use of Subcircuit
The circuit below illustrates the use of subcircuit. The circuit on the left is a buck converter, with the L-C filter
inside a subcircuit. The content of the subcircuit is shown on the right.
In this example, there are two bi-directional ports ("in+" and "in-") on the left, and two bi-directional ports
("o+" and "o-") on the right.

20 Chapter 2: Circuit Schematic Design


2.7.1 Creating Subcircuit - In the Main Circuit
The following are the steps to create the subcircuit “chop_sub.sch” in the main circuit “chop.sch”.
- Open or create the main circuit “chop.sch”.
- If the file “chop_sub.sch” does not exist, go to the Subcircuit menu, and select New Subcircuit. If
the file exists, select Load Subcircuit instead.
- A subcircuit block (rectangle) will appear on the screen. Place the subcircuit.
If the circuit that is to be converted into a subcircuit has already been created in the main circuit, a quick way of
converting it into a subcircuit is to select the circuit, and then right click and choose Create Subcircuit. Specify
the subcircuit file name as "chop_sub.sch", and the circuit will be converted into a subcircuit. Adjust the port
location and wire connection if necessary.

2.7.2 Creating Subcircuit - Inside the Subcircuit


To enter the subcircuit, double click on the subcircuit block.
- Create/edit the content of the subcircuit circuit exactly the same way as in the main circuit.
- To specify the subcircuit size, select Set Size in the Subcircuit menu. In this example, the size is set
to 4x7 (width of 4 divisions and height of 7 divisions). Note that the size of the subcircuit should be
chosen such that it gives the proper appearance and allows easy wire connection in the main circuit.
- Once the subcircuit is complete, define ports to connect the subcircuit nodes with the corresponding
nodes in the main circuit. Choosing Place Port in the Subcircuit menu, and a port image will appear.
After the port is placed in the circuit, a pop-up window (shown on the left below) will appear.

Subcircuit port assignments

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 the top and the lower two nodes are 1 division above the bottom.

Chapter 2: Circuit Schematic Design 21


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 as shown below.

The creation of the subcircuit is now complete. Save the subcircuit, and go back to the main circuit.

2.7.3 Connecting Subcircuit - In the Main Circuit


Once the subcircuit is created and connection ports are defined, complete the connection to the subcircuit block
in the main circuit.
- In the main circuit, the connection points on the borders of the subcircuit block appear as hollow
circles.
- Select the subcircuit block, and select Show Subcircuit Ports in the Subcircuit menu to display the
port names as defined inside the subcircuit.
- Connect the wires to the connection points accordingly.

2.7.4 Other Features of the Subcircuit


This section describes other features of the subcircuit through the example shown below.

Inside the subcircuit:

File: sub.sch

File: main.sch

2.7.4.1 Passing Variables from the Main Circuit to Subcircuit


In this example, the main circuit “main.sch” uses a subcircuit “sub.sch”. In the subcircuit, the inductance value
is defined as “L” and the capacitance is defined as “C”. The default values of L and C can be set by selecting
Subcircuit | Set Default Variable List. In this case, L is set to 5mH and C is set to 100uF.
When the subcircuit is loaded into the main circuit the first time, this default variable list will appear in the tab
“Subcircuit Variables” in Subcircuit | Edit Subcircuit from the main circuit “main.sch”. New variables can be
22 Chapter 2: Circuit Schematic Design
added here, and variable values can be changed. In this case, L is changed to 2mH, and C is kept the same as the
default value.
Note that the variables and the values are saved to the netlist file and used in simulation. 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 the 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.

2.7.4.2 Customizing the Subcircuit Image


The following are the procedures to customize the subcircuit image of “sub.sch”:
- In the subcircuit, select Edit Image in the Subcircuit menu. A window will pop-up, as shown below.

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 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.

Chapter 2: Circuit Schematic Design 23


2.7.4.3 Including Subcircuits in the PSIM Element List
If you create a directory called “User Defined” under the PSIM directory, and place subcircuits inside this
directory. subcircuits will appear as items in the Elements menu, under Elements | User Defined, just like any
other PSIM elements. You can also create subdirectories under the directory User Defined, and place subcircuits
inside the subdirectories. For example, the Elements menu may look like this:
- Power
- Control
- Other
- Sources
- Symbols
- User Defined
- Subcircuit 1
- Project A
- Subcircuit 2
- Subcircuit 3
- Project B
- Subcircuit 4
In this way, commonly used custom-built subcircuits can be grouped together and easily managed and accessed.

2.8 Elements Menu


In PSIM, all the elements are stored under the Elements menu. They are stored in the following menus:
Power Power circuit elements, such as R, L, C, switching devices, transformers, motor
drive modules, and etc.
Control Control circuit elements, such as computational. logic, digital control elements
and etc.
Other Elements interconnecting power and control circuit, such as switch controllers,
voltage/current sensors, probes, and etc.
Sources Various voltage and current sources
SPICE Special elements for SPICE simulation.
Event Control Event control elements
SimCoder SimCoder blocks for automatic code generation
Symbols Symbols for drawing purpose, not for simulation usage
Typhoon-HIL Elements used for Typhoon-HIL export
User Defined Users can create a subfolder called "User Defined" in the PSIM folder, and
place common used files in this folder. The folder "User Defined" and files in
the folder will appear in the Elements >> User Defined menu.
Page Place a page title block for printing

2.9 Simulate Menu


The following functions are provided in the Simulate menu:
Simulation Control Set the simulation parameters such as time step, total time, etc. When this is
selected, the cursor will change to the image of a clock. Place this clock on the
schematic, and double click to display the property window.
Run PSIM Simulation Run PSIM simulation
Run LTspice Run LTspice simulation
Simulation
Cancel Simulation Cancel the simulation that is currently in progress

24 Chapter 2: Circuit Schematic Design


Pause Simulation Pause the simulation that is currently in progress
Restart Simulation Resume a paused simulation
Simulate Next Time Run the simulation to the next time step, and pause
Step
Run SIMVIEW Launch the waveform display program SIMVIEW
Generate Netlist File Generate the PSIM netlist file
Generate Netlist File Generate the PSIM netlist file in xml format
(xml)
View Netlist File View the generated PSIM netlist file
Generate SPICE Generate the SPICE netlist for LTspice simulation.
Netlist (.cir)
Show Warning Show the warning messages, if any, from the simulation.
Show Fixed-Point Display the fixed-point range check result. This is used for SimCoder circuits to
Range Check Result check if fixed-point variables are within the range or not for fixed-point DSP
(such as F2803x/F2806x/F2802x)
Arrange SLINK Rearrange the SLINK nodes. This function is for the SimCoupler Module for
Nodes co-simulation with Matlab/Simulink. Please refer to Section 3.6 for more
details.
Generate Code Generate code from the control schematic. This function is for SimCoder for
automatic code generation. Please refer to SimCoder User Manual for more
details.
Open Generated Code Open the folder where the generated code are located.
Folder
Runtime Graphs Select waveforms to display in the middle of a simulation run.

The dialog window of the Runtime Graphs function has two tabs: Standard and Vector. The Standard tab lists
the variables for time-domain waveform display. The Vector tab defines vectors for vector plot. The real and
imaginary parts of a vector comes from the same variable list as in the Standard tab.
To view the simulation waveforms of output variables in the middle of simulation, one can either go
to Simulate >> Runtime Graphs and select the variables, or right click on top of a voltage probe or current
probe and select Runtime Graph Window from the menu.
A runtime graph display the waveform in its entirety, from the beginning to the final study time. Because
of this, the runtime graphs are disabled in the free-run mode as the final study time is undetermined.
In the free-run mode, the majority of the element parameters can be changed during runtime in the middle of the
simulation. This makes it possible to tune a circuit while inspecting key waveforms using voltage/current
scopes, until desired performance is achieved.
To illustrate how to run a simulation in the free-run mode, a buck converter circuit shown below is used as
an example. The circuit on the left was originally set up for the one-time simulation, with the total simulation
time set to a specific value.

Chapter 2: Circuit Schematic Design 25


To set up the simulation in the free-run mode:
- In Simulation Control, check the Free Run checkbox.
- Go to Elements >> Other >> Scopes, and select the 2-channel voltage scope. Connect the
scope as shown above on the right.
- Double click on the scope, and the scope image will appear. Start the simulation, and the
waveforms will appear and will be updated continuously in the scope. Change the scope settings as
desired.
- Elements parameters can now be adjusted in the middle of the simulation. To adjust the gain of the
PI controller, for example, right click on top of the PI block, and choose Runtime Variables >>
Gain. The text of the gain "0.6" will be displayed if it has not been displayed already.
- Click on the text "0.6", and a small dialog window will appear. The screen should look as follows.

Gain of the
PI controller

26 Chapter 2: Circuit Schematic Design


- Place the cursor inside the input field of the dialog window for the gain, and change the gain either
by pressing on the upper/down arrow keys on the keyboard, or by entering a new value and then
clicking on Apply. Watch how the waveforms change as the gain is changed.
Other parameters, such as current reference, dc input voltage, inductance, capacitance, and load
resistance, can be changed in the similar way.
- Branch currents can also be displayed in the free-run mode. To display the inductor current, for
example, right click on top of the inductor, and a menu will appear. Choose Current Scopes and
the branch current name.
- An image of the current scope (similar to the voltage scope image, but without connection
terminals) will appear. Double click on the scope to expand and view the inductor waveform.
Below is how the window would look like with both the voltage scope and the current scope.
Other branch currents, such as capacitor current, load current, diode current, or MOSFET switch
current, can be displayed in the similar way.

Current scope

Voltage scope

Running Simulation in a Command Line:


Simulation can also be launched with the command line option by running the program PsimCmd.exe. For
example, to simulate the circuit "buck.psimsch" which is stored in the folder "\examples", go to the PSIM
folder, and run the following command:
PsimCmd -i "c:\psim\examples\buck.psimsch" -o "c:\psim\examples\buck.smv"
The format of the command line is as follows:
PsimCmd -i "[input file]" -o "[output file]" -v "VarName1=VarValue1" -v "VarName2=VarValue2"
-t "TotalTime" -s "TimeStep" -g
Note that the quotes around the parameter values must be present. The command-line parameters are:
-i: Input schematic file name
-o: Output file name (in either .txt or .smv extension)
-v: Variable name and value. This parameter can be used multiple times. For example, to define
the resistance R1 as 1.5 and the inductance L1 as 0.001, we have:
-v "R1=1.5" -v "L1=0.001"
-t: Total time of the simulation
Chapter 2: Circuit Schematic Design 27
-s: Time step of the simulation
-g Run SIMVIEW after the simulation is complete
Note that the number of variables that can be defined in a command line is limited to 30.
With the command-line option, one can run several circuits automatically in a batch run.

2.10 Script Menu


The following functions are provided in the Script menu:
Parameter Tool It launches a parameter file window. One can load an existing parameter file, or
enter expressions for computation purposes.
Script Tool This block allows users to write and run a script.
The script file is a text file. It supports everything that a parameter file supports.
In addition, it supports the plot and simulate functions described below. For
more information on how to use the script functions and on the examples,
please refer to the tutorial Tutorial - How to use script functions.pdf.

2.11 Analysis Menu


The analysis tools available are:
Monte Carlo Analysis Monte Carlo analysis tool
Sensitivity Analysis Sensitivity analysis tool
Fault Analysis Fault analysis tool

2.12 Options Menu


The following functions are provided in the Options menu for various settings:
Settings... Launch the Settings dialog.
Languages Select different languages for PSIM display. The options are: English, Japanese,
and Chinese.
Auto-run SIMVIEW Automatically run SIMVIEW after the simulation is complete.
Set Path... Set the PSIM search paths and device file paths.
Enter Password Enter the password to view a schematic file that is password protected.
Disable Password Disable the protection of a schematic file that is password protected.
Customize Keyboard/ Create customized toolbars, keyboard, and application menu frame.
Toolbar
Save Custom Save the following custom settings to a file: Default element values; custom
Settings... keyboard definition; and custom toolbar definition. This file can then be loaded
on another computer using the Load Custom Settings... function. This is useful
when you want to apply the same custom settings on another computer.
Load Custom Load custom setting files saved by the Save Custom Settings... function. This
Settings... will apply the custom settings defined in the file to this computer.
Deactivate Deactivate the PSIM license. This is for softkey version only.
Check for Software Check if any newer software updates are available on the PSIM server. This is
Update for licenses that have the Annual Software Maintenance only.

28 Chapter 2: Circuit Schematic Design


2.12.1 Setting Options
The Settings dialog has four tabs: General, Advanced, Colors, and License.

The General tab contains these sections: Editing, Text Font, Printing, and Simulation:

Chapter 2: Circuit Schematic Design 29


In the Editing section:
Display grid Check this option to display the grid in the PSIM schematic.
Zoom factor The zoom factor defined here is used when the schematic is zoomed in or out.
Enable rubber band When checked, an element or a portion of a circuit remains connected with the
rest of the circuit when moved.
Show print page When enabled, the border of the printout will be displayed.
border
Snap to grid draw When enabled, the objects in the schematic will be snapped to grid.
objects
In the Text Font section:
Default Text Font Set the default font for the text placed in the schematic.
Justification Define how the text will be aligned.
Runtime Graph Font Set the text font for the runtime graphs.

In the Line thickness section:


Printing Define the thickness of the line as it appears at the printout. It can be set from 1
(the thinnest) to 6 (the thickest).
Screen Define the line thickness displayed on the screen. It can be set from 1 (the
thinnest) to 6 (the thickest).
In the Simulation Section:
Simulation result Simulation results can be saved in either binary format (default) or text format.
format The binary format will result in a smaller result file, and will be faster to
load.Set the default font for the text placed in the schematic.
Limit output buffer When checked, the simulation data will be written to the result file in segment.
size For example, if the buffer size is set to 20 MB, the simulation data will be first
saved to the buffer, and when it reaches 20 MB, the whole 20-MB data will be
written to the result file.
Please note that the runtime graph only plots the data in the buffer. Therefore,
when the old data are saved to the file and the new data fills in the buffer, the
runtime graph will only show the waveform of the new data, and the old
waveform will be lost.
To retain all the waveforms in the runtime graph, one can either increase the
buffer size, or un-check this option.
When this option is un-checked, however, PSIM will allocate all the required
memory for the buffer at the very beginning. If the simulation time step is small
and the total time is long, and if there are many output curves, a very large
memory may be required, which will take some time to allocate, and may even
fail if the computer does not have sufficient amount of memory.
Disable simulation When this option is checked, warning messages generated in the simulation are
warning messages suppressed.
Save all voltages and When this option is checked, all the voltages and currents of the circuit will be
current saved for display. To display a voltage or current, after the simulation is
complete and after results are loaded into SIMVIEW, choose View >> Display
Voltage/Current (or click on the corresponding icon). When the cursor is on
top of a node or a branch, it will change to the image of a voltage probe or
current clamp probe. Left click the mouse, and the corresponding voltage or
current will appear in SIMVIEW.

30 Chapter 2: Circuit Schematic Design


To display a differential voltage, choose View >> Display Differential Voltage.
Then click on the first node, and then the second node. The differential voltage
waveform will appear in SIMVIEW.

Maximum number of It defines the maximum number of points that an oscilloscope will plot.
points for oscilloscope Increase this number to display waveforms for a longer time interval.
The Advanced tab contains these sections: Updates, Backup, Idle Time, Hardware Code Generation, SPICE,
Alternate PSIM Help File Path, and Parameter File Variables.
In the Updates section:
Check for software When this option is checked, if you have the valid software annual
updates maintenance, PSIM will automatically check for new updates on the
PSIM.server. If a new update is available, you will be prompted to install the
update.
Create backup files When this option is checked, PSIM will create a backup of the file
currently being edited in the time interval specified. In case of a program
crash, the backup file will preserve the previous work. The backup file is
deleted automatically when the file is closed normally from the PSIM
environment.

In the Updates section:


Create backup files When this option is checked, PSIM will create a backup of the file
currently being edited in the time interval specified. In case of a program
crash, the backup file will preserve the previous work. The backup file is
deleted automatically when the file is closed normally from the PSIM
environment.

In the Idle Time (for network version) section:


Idle time This setting applies to PSIM network version only. When this option is
checked, PSIM will be timed out after the program is idle for the
specified amount of time.
When PSIM is timed out, the license will be released and other users will
be able to check it out. When PSIM is back from the idle state, it will try
to log back in the License Manager if a license is still available. If there
is no license available, an error message will be posted.
This feature is to prevent users from holding up licenses unintentionally.

In the Hardware Code Generation section:


Show image next to When this option is checked, in the PSIM library, an image will appear
elements... next to the elements that can be used for automatic code generation. The
elements without this image cannot be used for code generation.

In the SPICE section:


Show image next to When this option is checked, in the PSIM library, an image (for
elements that can be SPICE) or (for code generation and SPICE) will appear next to the
used for SPICE
elements that can be used for SPICE simulation.

Chapter 2: Circuit Schematic Design 31


In the Parameter File Variables section:
Significant digits It defines the number of significant digits for variables defined in a parameter
file and used in a C block. For example, if k1 is defined as "k1 = 10/3" and the
number of significant digits is defined as 8, a value of k1=3.3333333 will be
used.
Delete SIMVIEW files If this option is checked, PSIM will delete simulation output files of the current
on exit session on exit.
The Colors tab defines the colors for grids, elements, subcircuits, ports, wire, text, nodes, and labels.
The License tab displays the PSIM products and add-on modules available under the license.

2.12.2 Set Path Option


The Set Path option defines four types of search paths:
- PSIM Search Path: Search path for DLL files
- Device File Path: Search path for Thermal Module device files
- C Block Include Path: Search path for C block include files
- SPICE Model Path: Search path for SPICE model library
- LTspice Executable File Path: The location of LTspice’s executable file.
The PSIM Search Path allows users to define additional search paths when loading an external DLL file. For
example, if a schematic file uses a DLL file, and this DLL file is placed in a directory other than the schematic
directory or the PSIM directory, this directory can be included in PSIM by using the Set Path function.
PSIM searches the DLL files in the following order:
- PSIM directory
- Schematic file directory
- Directories as defined in the PSIM Search Path section.
PIM will load the first DLL file encountered. For example, assume that the PSIM program files are in C:\PSIM,
the schematic file is in C:\TEMP; and the directory as defined in the Set Path function is C:\TEMPDLL. The
DLL file can be in one of the three places:
- C:\PSIM
- C:\TEMP
- C:\TEMPDLL
Similarly, if a Thermal Module device is placed in a folder other than the default device folder, this device file
can be used by PSIM schematic by including the folder in the Device File Path.
PSIM loads the Thermal Module device files in the following order:
- The "device" sub-folder in the PSIM directory
- Directories as defined in the Device File Path section.
All the device files in the PSIM’s device sub-folder and in the folders defined in the Device File Path can be
used in PSIM schematic.
PSIM loads the SPICE models and subcircuit files in the following order:
- The "SPICElib" sub-folder in the PSIM directory
- Other files in the directories as defined in the SPICE Model Path section.

2.12.3 Customizing Keyboard/Toolbar


The procedures to customize the keyboard and toolbar are described below.
To define the key "r" for getting a resistor from the library, for example, do the following:
32 Chapter 2: Circuit Schematic Design
• Choose Options >> Customize Keyboard/Toolbar. The dialog window will appear.

• In the section Add Shortcut Key, select the option Elements. Then find and highlight the element
"Resistor".
• Move the cursor into the input field of Press new shortcut key, and press the key "r" on the keyboard.
Then click on Assign.
• The key "r" will be assigned to the resistor, and the definition will appear in the Current Shortcut Key
list.
To customize toolbar options, in the Customize Keyboard/Toolbar dialog, click on the Options tap, and
check the checkbox to show the toolbar tips or change the toolbar icon size to the large version.

2.13 Utilities Menu


Several utility programs are provided under the Utilities menu.
s2z Converter This program converts a s-domain function to a z-domain function. This
program is part of the Digital Control Module option.
InstaSPIN Parameter This tool calculates parameters needed for InstaSPIN and generate the
Editor parameter files for InstaSPIN simulation and code generation.
SimCoupler Setup This will launch the program SetSimPath.exe that performs the setup for co-
simulation between PSIM and Matlab/Simulink. This function is part of the
SimCoupler Module.
Set Default PSIM Run this function to set this version of PSIM to be the default program to open
Program .psimsch, .sch, and .smv files when double clicking on these files in Windows
Explorer.
DSP Oscilloscope The DSP Oscilloscope function is available as part of the SimCoder Hardware
Targets. It is used together with the SCI functions to display DSP waveforms in
real time. For more information on how to use the DSP Oscilloscope, please
refer to the document "Tutorial -Using SCI for Waveform Monitoring.pdf".
Device Database The device database editor PcdEditor.exe for the Thermal Module.
Editor
Curve Capture Tool Tool to capture curves from manufacturer datasheet. The captured data can be
plotted using SIMVIEW, or used in lookup tables. This tool can also be used to
read the x/y values from a curve.
To start the capture process, click on the right arrow at the upper left corner of
the dialog window.

Chapter 2: Circuit Schematic Design 33


B-H Curve This program plots the B-H curve of the saturable core element (under
Elements >> Power >> Magnetic Elements).
Solar Module This program plots the i-v curve of the solar module (physical model) element
(physical model) (under Elements >> Power >> Renewable Energy). This function is part of
the Renewable Energy option.
Ultra-capacitor Model The parameter extraction tool for ultra-capacitor models. For more information,
Tool please refer to the document "Tutorial - Ultra-capacitor Model.pdf".
Export FMU This function generates FMU models for other software that supports the FMI
standard.
Launch/Export to Launch the SmartCtrl software, or if the result is available, to export the ac
SmartCtrl sweep result to SmartCtrl. SmartCtrl is a separate software for control loop
design. For more information, please refer to the Help menu in SmartCtrl.
Unit Converter This program performs unit conversion in length, area, weight, and temperature.
Calculator This will launch the Windows’ calculator.

2.14 Window Menu


This menu contains the commonly used window managing functions:
- New Window
- Cascade
- Tile
- Tile Pages
- Arrange Icons
- Window Manager

2.15 Help Menu


This menu contains resources to help users use PSIM. It has the following functions:
Start Page Welcome page with easy access to Examples, Recent Files, News and Events,
and Other Resources.
Index Indexed information of schematic and other functions
Video Tutorials Video tutorial links
Online Support This link opens the Online support webpage.
Official User Forum Open the web-page of PSIM user forum
Tip of the Day Tips
About... PSIM’s version, license and active module information

2.16 Managing the PSIM Library


A PSIM library element consists of two parts: the netlist part and the image part. The netlist part comes from
the netlist library, and there is only one netlist library, psim.lib. The netlist library can not be edited.
The image part comes from an image library. There can be multiple image libraries, and all the image libraries
in the PSIM directory will be automatically loaded into PSIM. The standard image library provided by PSIM
is psimimage.lib. This file also can not be edited. However, in order to facilitate users to copy images from
the standard image library, the standard image library can be viewed by going to Edit >> Edit Library >>
Edit library files, and choosing psimimage.lib.
Users can create their own custom image libraries. To create a new custom image library, go to Edit >> Edit
Library >> Edit library files, and click on New library. Then define the library name as it appears in
34 Chapter 2: Circuit Schematic Design
the PSIM Elements menu, and the library file name. This library file will be created and placed in the
PSIM directory.
To edit an image library, go to Edit >> Edit Library >> Edit library files, and select the library file. The
figure below shows the library editor dialog window. The dialog shows the menu tree of the library as well
as various functions.
To create a new element in the custom image library, click on New Element, and select the netlist that this
element corresponds to from the list. For example, the netlist name of the resistor is "R". To create a new
element called "My Resistor", select the netlist "R". To create the image for this resistor, click on Edit Image.
The following functions are provided in the library editor:

Netlist name

Up Move an element up in the menu


Down Move an element down in the menu
---> Move an element one level lower in the menu
<--- Move an element one level higher in the menu
Add Separator Add a separator between elements
Add Submenu Add a submenu in the library
Edit Edit the name of an element
Edit Image Edit the image of an element
New Element Create a new element in the image library. This element will be linked to a
netlist element in the netlist library.
Save Element as Save the existing element as a new element. The new element will have the
image of the existing element as the default image.
Delete Element Delete an element from the library
New Element (DLL) Create a new element from a DLL file
New Subcircuit Create a new element from a subcircuit, and the subcircuit file is stored outside
Element (External) the library file
New Subcircuit Create a new element from a subcircuit, and the subcircuit file is stored inside
Element (Internal) the library file

Chapter 2: Circuit Schematic Design 35


2.16.1 Creating a Secondary Image
It is possible that some users may find certain element images in the standard PSIM image library
psimimage.lib different from what they are used to use. In this case, users can create their own secondary
images.
A secondary image can be created for an element in either standard image library psimimage.lib or users’ own
custom image libraries. Secondary images are saved in a secondary image library with the .lib2 extension.
To illustrate the process, a secondary image will be created in the library "mylib.lib2" for the "Diode" element
in the standard image library.
• Go to Edit >> Edit Library >> Edit secondary image library files, and click on New library. In the
dialog, define the secondary image library name as "mylib.lib2".
• Then select "mylib.lib2" and click on Edit selected library. The dialog window for editing secondary
image library will appear.
• Click on the Add button. From the PSIM library tree, navigate to Power >> Switches, and select
"Diode". The element "Diode" will appear in the list of the secondary images. The text "PSIMIMAGE"
in front of the "Diode" text shows that this is for the diode element in the standard image library psimim-
age.lib.
• Highlight "Diode", and click on the Edit button to create the image.
• If this image is to be used as the default image for this element, click on the "Set as Default Image".
After the secondary image is created, this image will be available for selection in the PSIM schematic. For
example, if a diode is placed on the schematic, double click to display the property dialog of the diode, then
click on the Color tab. Click on the pull-down arrow, and two images will be displayed. One from the standard
image library, and the other from the custom image library mylib.lib.
If the secondary image is selected, all the images of the same element will be automatically changed to the
secondary image. The selected image will also be set as the default image when a schematic is created or loaded
the next time.

Standard image

Secondary image

To share the secondary images that one creates with other people, one just has to send to them the secondary
image library file (with the .lib2 extension).

2.16.2 Adding a New Subcircuit Element into the Library


There are two ways to add a custom model to the PSIM library list. One is to have the model in the form of a
subcircuit, and then place the schematic file in a folder called user defined in the PSIM directory, or in one of
the sub-folders of the user defined folder. Any schematic files and sub-folders under the user defined folder
will appear in the PSIM library list.
Another way is to add the custom model directly to an image library. The advantage of this approach is that the
custom element will have the same look-and-feel as the standard PSIM elements, giving it a better interface. It
is also possible to associate a help file to the custom model.
There are three main steps to add a new element, modeled in a subcircuit, into the library:
• Create the subcircuit model of the new element.
36 Chapter 2: Circuit Schematic Design
• Add this element to the PSIM library.
• Create an on-line help file for this new element.
To illustrate this process, a LC-filter element is used as an example.

Step 1: Create Subcircuit


The first step is to create the subcircuit of the new element in the same way as if the subcircuit is to be called by
another circuit. For example, the subcircuit of the 2nd-order LC filter, called "LC_filter.sch", and its image are
shown below:

In this case, the inductance and capacitance values will be defined through the interface, and need to appear in
the property window of the new LC filter element. Therefore, the parameter value for the inductance needs to be
defined as a variable, in this case, L, and the value for the capacitance as C.

Then from Subcircuit >> Edit Default Variable List, add the variables L and C as the default variables. This
step is necessary as the new element obtains the parameter information from the default variable list. The
default variable list window should appears as follows.
Here Variable Label is the text that describes the parameter, Variable Name is the variable that is used as the
parameter value in the subcircuit, and Variable Value is the default value of the parameter. In the example, for
the inductor L, the Variable Label is Inductance, the Variable Name is L, and the Variable Value is 1m. For
the capacitor C, the Variable Label is Capacitance, the Variable Name is C, and the Variable Value is 100u.
After the file is created, place it in the "lib" sub-folder in the PSIM directory.
Step2: Add the New Element to the PSIM Library:
To add the subcircuit element into the PSIM library, follow these steps:
• Go to Edit >> Edit Library >> Edit Library Files, and choose the custom image library for the new
element. Click on New Library to create a new image library, or select an existing library and click on
Edit Selected Library.
• In the Library Editor, click on the button New Element (Subcircuit). Enter the information to the dialog
window as shown below:

Chapter 2: Circuit Schematic Design 37


Name: Name of the new element as it appears in the PSIM library
Description: Description of the new element
File Path: The location of the subcircuit schematic file "LC_filter.sch". The schematic file
of the subcircuit must be placed in the "lib" sub-folder in the PSIM directory.
Input nodes: Number of input nodes.
Output nodes: Number of output nodes.
Hide (menu): Leave this box unchecked. If this box is checked, this element will not appear in
the library.
Help File: On-line help file associated with this element. This file must be placed in the
"help" sub-folder in the PSIM directory. When the Help button is clicked in the
property dialog window, this file will be displayed. This file can be a text file
(which can be opened by a text editor such as NotePad) or a HTML file.

• Click on the buttons Save Image Library and Update Menu. The new element will appear in the library
and will be ready to use.

2.16.3 Adding a New DLL Element into the Library


Similar to that of a subcircuit element, there are three main steps to add a new element, modeled in a DLL, into
the PSIM library:
• Create the model in the DLL file.
• Add this element to the PSIM library.
• Create an on-line help file for this new element.
To illustrate this process, an inductor is used as an example.
Creating the DLL:
The first step is to create the inductance model in DLL. Please refer to the relevant section on how to create a
custom DLL.
Here we assume that the DLL file, "inductor_model.dll", has already been created. It has one parameter called
"Inductance", and two connecting nodes. The file is placed in the "lib" sub-folder in the PSIM directory.
Adding the New Element to the PSIM Library:
To add the DLL element into the PSIM library, follow these steps:
• Go to Edit >> Edit Library >> Edit Library Files, and choose the library for the new element. Click on
New Library to create a new image library, or select an existing library and click on Edit Selected
Library.
• In the Library Editor, click on the button New DLL File. Enter the information to the dialog window as
shown below:

38 Chapter 2: Circuit Schematic Design


Name: Name of the new inductor element as it appears in the PSIM library
Description: Description of the new inductor element
File Path: The location of the DLL file "inductor_model.dll" that models the new inductor
element. The DLL file must be placed in the "lib" sub-folder in the PSIM
directory.
Input Nodes: Number of input terminals of the new element.
Output Nodes: Number of output terminals of the new element.
Hide (menu): Leave this box unchecked. If this box is checked, this element will not appear in
the library.
Help File: On-line help file associated with this element. This file must be placed in the
"help" sub-folder in the PSIM directory. When the Help button is clicked in the
property dialog window, this file will be displayed. This file can be a text file
(which can be opened by a text editor such as NotePad) or a HTML file.

• In the next dialog window, set the new element size as: Width = 5, and Height = 2. Then create an image
for this element or accept the default image.
• Click on the buttons Save Image Library and Update Menu. The new element will appear in the library
and will be ready to use.
The information regarding the number of parameters and the parameter description for the new inductor
element is obtained from the DLL file automatically. In this case, the new element will have one parameter as
"Inductance".

2.17 Creating a Symbol Library


With the Image Editor in the Edit menu, one can easily create good component images very quickly. These
images can be used as secondary images of PSIM library elements, or images of subcircuits. One can also store
these images in a symbol library for the purpose of circuit wiring diagrams. Note that such a schematic is solely
for display purposes, and cannot be simulated.
The figure below shows a hardware circuit diagram from a SPI A/D converter example.

Chapter 2: Circuit Schematic Design 39


The blocks F28335, 74HCT138, and TLV1548 are all created by the Image Editor.
To illustrate how to create an image using the Image Editor, and save the image as a symbol into a
custom library, we will create the image for the decoder 74HCT138 as shown below:
• In PSIM, create a new schematic window. Then choose Edit >> Image Editor. A rectangle will appear.
Place the rectangle on the schematic, and press the Esc key to escape.
• Double click on the rectangle, and a dialog window will appear. In the Main tab, enter the data field as
shows on the screen below. The Library Part Name is the name of the element as it appears in the library.
The size of the block is 5 in width and 9 in height, without taking into account the length of the leads.

• Click on the Pins tab. In this tab, the connection pins will be defined. Click on the Add button, and define
Location as "1 - Left", Name as "A", and Number as "1". Leave the boxes for Dot, clk, and Overline
unchecked.
If the boxes are checked, for Dot, there will be a circle between the connection pin and the block; for
clk, a symbol > will be added inside the block to indicate that it is a clock; and for Overline, an
overline will be added to the name.
• Click on the Add button, and define Location as "2 - Left", Name as "B", and Number as "2". Repeat the
same process for the rest of the pins. The dialog windows below show the definitions of all the connec-
tion pins.

40 Chapter 2: Circuit Schematic Design


• Once all the pins are added, go back to the Main tab. Click on Save in library, and select [New Library].
Enter the library name as "My Symbol", and specify the library file name as "My Symbol".The library
"My Symbol" will appear under the Elements menu, and this library will contain the newly created ele-
ment 74HCT138.

Chapter 2: Circuit Schematic Design 41


3
Waveform Processing in SIMVIEW

SIMVIEW is PSIM’s waveform display and post-processing program. The following shows simulation
waveforms in the SIMVIEW environment.

SIMVIEW reads data either in ASCII text format or in SIMVIEW binary format. The following shows a sample
text data file:
Time Isa Isc Isb Tem_IM
5.000000000E-006 0.000000000E+000 0.000000000E+000 0.000000000E+000 7.145888260E-048
1.000000000E-005 0.000000000E+000 0.000000000E+000 0.000000000E+000 1.082981714E-046
1.500000000E-005 0.000000000E+000 0.000000000E+000 0.000000000E+000 5.408644357E-046
2.000000000E-005 1.139566166E-001 -2.279132474E-001 1.139566166E-001 1.613605209E-017
2.500000000E-005 5.072914178E-001 -1.014582858E+000 5.072914178E-001 3.598226665E-015
... ... ... ...

The functions in each menu are explained in the following sections.

3.1 File Menu


The File Menu has the following functions:
Open Load a data file in ASCII text format or SIMVIEW binary format (with .smv
extension)
Merge Merge another data file with the existing data file for display
Re-Load Data Re-load data from the same text file

42 Chapter 3: Waveform Processing in SIMVIEW


Save As Save the waveforms to either binary data format or text format. When saving to
the binary format, the current settings are also saved.
To export data from the display for other purpose, select text format from the
"Save as type" pull-down list.
In the FFT display, this will save the FFT results to a text file specified by the
user.
Save Display As Save the displayed waveforms to text format.
Print Print the waveforms
Print Setup Set up the printer
Print Page Setup Set up the hardcopy printout size
Print Preview Preview the printout
Exit Quit SIMVIEW
When the data of a file are currently being displayed, if new data is available, by selecting Re-Load Data, new
data will be loaded and waveforms will be re-drawn.
With 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. If the second file also contains a curve with the same name “I1”, it will be
modified to “I1_({second_file_name})” automatically where second_file_name is the name of the second file.

3.2 Edit Menu


The Edit Menu has the following functions:
Undo Go back to the previous X and Y axis settings
Copy to Clipboard Copy the waveforms to the clipboard either in metafile format or bitmap format.
View Data Points View the data points of the waveforms within the displayed range in a separate
window. In this window, one can use the left mouse to highlight data points in
rows or columns, then right mouse click and choose Copy Selected to copy the
data to the clipboard. One could also just copy the row that the cursor is on by
selecting Copy Row, or copy the entire data by selecting Copy All. One can then
paste the copied data back in another program.
Note that the Copy to Clipboard function will copy the displayed waveforms on the screen to the clipboard. To
save the memory and have the waveform image in black & white, first go to Option and de-select Color to have
a black & white display, then copy the waveform to the clipboard.

3.3 View Menu


The View menu has the following functions:
Application Look Select the display style for PSIM windows.
Zoom Zoom in to selected area.
Redraw Redraw the display
Escape Get the mouse out of zoom mode.
Standard Toolbar Display the standard toolbar.
Measure Toolbar Display the measure toolbar.
Status Bar Display the status bar at the bottom
Graphic List Display the list of graphics.
Calculator Launch the calculator.
The interface of the calculator is shown below.

Chapter 3: Waveform Processing in SIMVIEW 43


Memory

Expression

Result

One key feature of the calculator is that it provides 9 memory spaces. By double clicking on a number in the
Measure dialog window in SIMVIEW, the value will be automatically transferred to the calculator and stored in
one of the memory spaces, starting from the top. In this way, data can be directly transferred to this calculator
for calculation without the need to record them on a piece of paper.

3.4 Axis Menu


The Axis Menu has the following functions:
X Axis Change the settings of the X axis
Y Axis Change the settings of the Y axis
Choose X-Axis By default, the first column of the data is selected as the X axis. However, other
Variable columns can also be selected as the X axis through this function.
When any of the settings are modified from the default values, user must use "Settings >> Save Settings" to
keep the modification so that, when next time the same PSIM schematic simulation is run, the same settings will
be displayed in SIMVIEW for the result.
The dialog boxes of the X and Y axis settings are shown below.

44 Chapter 3: Waveform Processing in SIMVIEW


3.4.1 X-Axis Settings
There are three sections for X-Axis settings:
Scale The display of X-axis can be set either as Linear or Log.
Rang The range, the scale text color and font, as well as text’s tilting angle can be set.
Grid Division The grid’s style and color can be set. If the Auto-Grid box is checked, the
number of axis divisions will be automatically determined.

3.4.2 Y-Axis Settings


In addition to the three sections same as in X-axis setting:
Display Style Normal: Default waveform display.
Scaled Display: Auto-scale each waveform to its own Y-axis.
Timing Display: Display timing relations between the variables in the same
screen.
Scale Scaling options: Linear, Log, and dBV
Grid Division Set the grid’s style and color.
New Y Axis Add additional Y-axis in the same screen for different variables.
Delete Y Axis Delete unwanted Y-axis in the screen

3.4.3 Choose X-Axis Variable


By default, the first column of the data fie is set as the X-axis. In most off the simulation result, it would be the
time. In ac sweep simulation result, it would be the frequency.
This option allows user to select other columns from the pull-down list as the X-axis variable.

The following figure shows a sine waveform is chosen as the X-axis versus a cosine waveform in the Y axis.

Chapter 3: Waveform Processing in SIMVIEW 45


3.5 Screen Menu
The Screen Menu has the following functions:
New Window Create a new window for the active simulation result data file. This function is
useful for viewing additional curves in a new window.
Split Window Split the selected screen into more screens
Overview Zoom box Open the overview zoom box.
Add/Delete Curves Add or delete curves in the selected screen
Add Screen Add a new screen to currently opened window
Delete Screen Delete the selected screen
Plot Vector Diagram Plot the vector diagram. A vector is defined by its real and imaginary parts. This
option will open the dialog for user to select the variables to be the "Real" and
"Imaginary" parts of vector variables. The variables come from the same
variable list as in the time-domain plot.
Display in Full Screen Expand the SIMVIEW window to full screen
Move Up Move the selected screen up
Move Down Move the selected screen down
A screen is selected by clicking the left mouse on top of the screen.

3.5.1 Screen Properties Dialog


When a new screen is added or Add/Delete Curves function is selected, the dialog for screen properties
would open, It contains three tabs:
Select Curves Select the curves to be displayed
Curves Set the color, thickness, and marker for curves
Screen Set the color and font for the screen.
Any settings in this section, if modified from the default, must be saved using "Settings >> Save Settings"
in order to be effected for the next time when the same smv file is launched.
To keep the modifications permanent as the default for all new smv files, please go to the section for Options.

The Select Curves tab of the properties dialog of a screen is shown below:
Edit Box

46 Chapter 3: Waveform Processing in SIMVIEW


All the variables available for display are in the Variables Available box, and the 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, mathematical expressions can be specified. A mathematical expression can contain brackets
and is not case sensitive. The following math functions are allowed:
+ addition
- subtraction
* multiplication
/ division
^ to the power of [Example: 2^3 = 2*2*2]
SQRT square-root function
SIN sine function
COS cosine function
TAN tangent function
ATAN inverse tangent function
EXP exponential (base e) [Example: EXP(x) = ex]
LOG logarithmic function (base e) [Example: LOG(x) = ln (x)]
LOG10 logarithmic function (base 10)
ABS absolute function
SIGN sign function [Example: SIGN(1.2) = 1; SIGN(-1.2) = -1]
AVG moving average function that calculates the average of the curve up to the measured point.
AVGX periodic average function AVGX(y,Tp) where y is the curve name and Tp is the time
interval where the average is calculated. Calculates the average of the curve y in each time
segment with interval of the time segment as Tp. For example, AVGX(V1, 0.016667) will
calculate the average of the curve V1 at the 60-Hz interval.
INT integration function
Type an expression in the Edit Box and click the "Add ->" button to add the calculated curve to the screen.
Highlight the expression on the right and click the "<- Remove" button, the expression will be moved into the
Edit Box for further editing.
The Curves and the Screen tabs of the properties dialog are shown below.

In the Curves tab, the curve properties, such as color, line thickness, marker symbol, and label, can be defined.

Chapter 3: Waveform Processing in SIMVIEW 47


In the Screen tab, the screen properties, such as foreground/background colors, grid color, and font size/type,
can be defined. A dialog window is shown below.

3.5.2 Plot Vector Diagram


To plot a vector diagram, first perform the simulation. Then select Plot Vector Diagram and define the vectors.
An example is used to illustrate this, as shown below.

2*pi*60
m
K

In this circuit, the real and imaginary parts of two vectors V1 and V2 are created. The amplitude of V1 is 1 and
the amplitude of V2 is 0.8. Vector V2 is leading V1 by 30 deg.
After simulation is completed, select Screen >> Plot Vector Diagram. In the dialog window, define the real
and imaginary parts for vectors V1 and V2. The dialog window will appear as follows:

Click on OK, and the vector plot will show as below on the right. The time-domain waveforms of the real and

48 Chapter 3: Waveform Processing in SIMVIEW


imaginary parts of V1 and V2 are shown below on the left.
V1i mag V1real

0.5

-0.5

-1

V2i mag V2real

0.5

-0.5

-1

0.002 0.004 0.006 0.008 0. 01 0.012 0.014 0.016 0.018


Ti me (s)

There is a sliding bar at the bottom of the vector plot. By sliding it with the left mouse, one can replay the
drawing of the vector plot. The percentage shows the vector positions with respect to the final position of the
drawing. For example, in this case, the time is from 0 to 0.0167 sec. A sliding bar of 0% corresponds to the
moment at 0 sec., and 100% corresponds to the moment at 0.0167 sec.

3.5.3 On-Screen Operations


On each waveform display screen, right-clicking the mouse, the following operations can be performed:

Undo Undo the last change made to the screen.


Copy to Clipboard Copy the waveforms to the clipboard in either bitmap or metafile format.
View Data Points View the data points of the waveforms within the displayed range in a
separate window. In this window, one can use the left mouse to highlight
data points in rows or columns, then right mouse click and choose the
following operations:
Send to Calculator
Copy Cell
Copy Row
Copy Selected
Copy all
Select All
Save As
One can then paste the copied data back in another program.
Add/Delete Curves Opens the graph's property window, as explained above
X-Axis Change the settings of the X axis.
Y-Axis Change the settings of the Y axis.
OverView Box Open an overview box for the selected screen.

Chapter 3: Waveform Processing in SIMVIEW 49


Split View Split the SIMVIEW Window into multiple view frames. The view frame
option is defined as n*m, where n is the number of views tiled vertically, and
m is the number of views tiled horizontally.
Display in Full Expand the selected screen (where the mouse is) to fill the full SIMVIEW
Screen window.
Move Up Move the selected screen up.
Move Down Move the selected screen down.
Measure: Vertical Measure both the vertical and the horizontal values at the curser.
and Horizontal Lines
Measure: Vertical Measure only the vertical values at the cursor.
Lines

3.6 Measure Menu


The Measure Menu has the following functions:
Measure Enter the measure mode.
Mark Data Point Mark the x and y coordinate values of the data point on a selected curve
Max Find the global maximum of a selected curve
Min Find the global minimum of a selected curve
Next Max Find the next local maximum of a selected curve
Next Min Find the next local minimum of a selected curve

The Measure function allows the measurement of waveforms.


In the Measure mode, the Measure Dialog window will appear. There are two ways that the Measure dialog
window can appear: either separately or embedded with the graph window, as shown below. By default, the
separate Measure dialog window is selected. To change the default setting, go to Options >> Default Display
Settings.

Click on this icon to cycle through cursor display modes: no display; vertical; vertical/horizontal

Embedded Measure Dialog


Separate Measure Dialog

50 Chapter 3: Waveform Processing in SIMVIEW


Right clicking on the Measure Dialog window will bring out a menu with the following functions.

Hide Hide/Un-hide the Measurement Dialog.


Change Font Change the font in the Measurement Dialog
Vertical line Make the vertical cursor line visible/ invisible

Global maximum Find the global maximum of the selected curve.


value In the graph window, a dashed line indicates the location of the maximum value
Next maximum for
Findthe
theselected curve. The
next maximum of Measurement Dialog will show the values of all the
the selected curve.
value displayed curves at the location of the maximum value.

Global minimum Find the global minimum of the selected curve.


value In the graph window, a dashed line indicates the location of the next maximum
Next minimum value fornext
Find the the selected
minimumcurve.
of theThe Measure
selected window will show the values of all
curve.
value the displayed curves at the location of the maximum value.
In the graph window, a dashed line indicates the location of the next minimum
1/ Δ value for the
Calculate the selected curve.
reciprocal The
of the Measurebetween
difference windowthe
willtwo
show the values
vertical cursoroflines.
all
the displayed curves at the location of the minimum value.

Average Calculate the average of the waveform between the two vertical cursor lines.

RMS Calculate the rms value of the waveform between the two vertical cursor lines.

Absolute |x| Calculate the average of the absolute value of the waveform within the two
vertical cursor lines.
PF (Power Factor) Calculate the power factor of the two waveforms between the two vertical
cursor lines. The power factor is defined as cos() where  is the angle
difference between the first curve and the second curve. Note that the screen
P (Real Power) Calculate the two
must display real curves
power only
of thewhen
two waveforms
performing between the two vertical cursor
this function.
lines. Note that the screen must display two curves only when performing this
function.
S (Apparent Power) Calculate the apparent power of the two waveforms between the two vertical
cursor lines. Note that the screen must display two curves only when
performing this function.
THD Calculate the THD (total harmonic distortion) of the waveform for the
fundamental frequency specified. One fundamental cycle of data prior to the
second cursor line will be used for the calculation.
Send to Calculator Send the value to the Calculator

Copy All Copy all the data in the Measurement Dialog into clipboard.

Save As Save the data in the Measurement Dialog into a file of specific type.

3.7 Analysis Menu


The Analysis Menu has the following functions:

Chapter 3: Waveform Processing in SIMVIEW 51


Perform FFT Perform the FFT (Fast Fourier Transform) analysis of time-domain waveforms
for the entire data in display, not for the data between two vertical cursor lines.
Display in Time Show the corresponding time-domain waveforms of FFT results
Domain
Avg Calculate the average value. The definition is the same as in the previous
section.
Avg(|x|) Calculate the average of the absolute value. The definition is the same as in the
previous section.
RMS Calculate the rms value. The definition is the same as in the previous section.
PF (power factor) Calculate the power factor of two waveforms on the screen. The definition is the
same as in the previous section.
P (real power) Calculate the real power of two waveforms on the screen. The definition is the
same as in the previous section.
S (apparent power) Calculate the apparent power of two waveforms on the screen. The definition is
the same as in the previous section.
THD Calculate the THD. The definition is the same as in the previous section.
Note that all the functions, except FFT, use the data between two vertical cursor lines for calculation. On the
other hand, FFT uses the data in the entire display.
By selecting Perform FFT, the harmonic spectrum (both the amplitudes and angle) of the time-domain
waveforms can be calculated and displayed. To display the angles of the FFT results, double click on top of
the screen (or click on the Add/Delete Curves icon). In the Select Curves tab, click on the Angle tab, and
select the angles. The name convention of angles is Angle(D)_{name} for the angle in deg., and
Angle(R)_{name} for the angle in rad., and name is the curve name in the time domain.
Note that, in order to obtain correct FFT results, the simulation must reach the steady state, and the data range
must be restricted (using the manual range setting in the X Axis function) to have the integer number of the
fundamental period. For example, for a 60-Hz fundamental frequency, the data length in display must be integer
multiples of 1/60 sec.

3.8 Label Menu


The Label Menu has the following functions:
Text Place text on the screen
Line Draw a line
Dotted Line Draw a dotted line
Arrow Draw a line with 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.

3.9 Option Menu


The Option Menu defines the default settings for SIMVIEW window displays. It has the following functions:
Default Display Settings Launch the "Options" dialog for default settings for SIMVIEW displays.
Grid Enable or disable the grid display
Color Set the curves to be either Color (default) or Black and White
52 Chapter 3: Waveform Processing in SIMVIEW
Re-Load Settings Re-load the settings from the .setting.xml file and apply to the current display
Save Settings Save the current settings to a file with the same file name but with the
.setting.xml extension
Save Temporary Save the current settings temporarily. The temporary settings are not saved to
Settings any files, and are discarded when the document is closed.
Load Temporary Load the temporary settings and apply to the current display
Settings
Add to Favorites Save the current settings as a favorite. When saving a favorite, one can
choose to save the following settings: line color and thickness, text font, Log/
dB/FFT display settings, and x and y axis ranges.
Manage Favorites Manage the favorites
The default settings in the Options dialog are the permanent settings each time a new SIMVIEW file is opened.
Any modification in this dialog will not be in effect immediately to the screen display in the already opened
SIMVIEW windows. They will start to be in effect when the SIMVIEW window is opened next time.
The settings in the Screen Properties dialog are in effect for SIMVIEW display immediately. However, those
settings will not be kept once the SIMVIEW is closed. To save those settings, user can use "Settings >> Save
Settings" to keep those display for the same SIMVIEW data file. But those display won’t be applied to other
SIMVIEW data files.
The Options dialog window is shown below.

If the option Redraw x-axis when loading new data is checked, the waveform will be redrawn with the new
x- axis range when new data is loaded. If this option is not checked, the x-axis range will be unchanged.
If the option Engineering Unit is checked, in the Measure dialog window, curve values will be displayed
in engineering unit with suffix such as u, m, k, M (for example, 12.3456u). If this option is not checked, the
values will be displayed in scientific unit (for example, 1.23456e-5). The value of Significant Digits
defines the number of digits after the decimal points.
Also, the Right mouse action can be set to either Show menu, Pan, or Zoom.
For the Measure window, two options are provided on how the measure window is displayed. By selecting
Independent measure window, the measure window will be separate from the main waveform window. By
selecting Embedded measure window, the measure window will be part of the main waveform window below
the graph area.
The measure window font is defined by clicking on the Font button in the Measure window box.
Chapter 3: Waveform Processing in SIMVIEW 53
Default curve settings specifies colors, line thickness, and mark symbols for curves.
Default Screen settings specifies colors, font style and size for screens.
Default text item settings specifies colors, font style and size for text items.
When SIMVIEW loads a data file (.txt or .smv file), if the corresponding .setting.xml file exists, it will load the
settings from the file.
The functions Load Temporary Settings and Save Temporary Settings are used in situations where one wants to
save the settings temporarily and uses it shortly after. For example, when comparing one waveform with
another, one can first save the temporary settings when displaying the first waveform. Then display the second
waveform and load the temporary settings.
Favorites are a convenient way of storing particular graph settings to be used later. For example, assume that
SIMVIEW shows two screens, with the top screen displaying V1 in the red color and with certain x-axis and y-
axis ranges, and the bottom screen displaying V2 in the blue color with its own y-axis range. If this settings is
likely to be used again in the future, the settings can be saved as a favorite and used later.
To apply a favorite to the current display, go to the Settings menu and choose the favorite from the list. Note
that when applying the favorite, the number of screens currently on display must be the same as the number of
screen in the favorite.

3.10 Exporting Data


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-1q.txt”.
• In the dialog window “Text Import Wizard - Step 1 of 3”, under Original data type, choose Delim-
ited. Click on Next.
• In the dialog window “Text Import Wizard - Step 2 of 3”, under Delimiter, choose Space. Click on
Next.
• In the dialog window “Text Import Wizard - Step 3 of 3”, under Column data format, choose Gen-
eral. Click on Finish.

54 Chapter 3: Waveform Processing in SIMVIEW


4
Power Circuit Components

The following chapters provide the detailed information of the PSIM library elements.
This chapter focuses on the Power circuit components. PSIM library contains the following categories of power
circuit components:
• RLC Branches
• Switches
• Transformers
• Magnetic Elements
• Other
• Motor Drive Module
• MagCoupler Module
• MagCoupler-RT Module
• Mechanical Loads and Sensors
• Thermal Module
• Renewable Energy Module

4.1 Resistor-Inductor-Capacitor Branches


PSIM provides several combinations of resistor, inductor, capacitor networks in the element library.
• Individual resistor, inductor, and capacitor. These elements have two model levels. Level-1 is basic com-
ponent. Level-2 includes parasitic and leakage elements as lumped components in equivalent circuits.
• Combined R-L-C series branch
• Symmetrical 3-phase branches of resistor, inductor, capacitor, and their combinations
• Coupled inductors
• 3-phase AC cables
• Nonlinear elements
For individual components, the initial conditions of inductor current and capacitor voltage can be defined in
their attribute dialogs. But for 3-phase branches, their initial inductor currents and capacitor voltages are all set
at zero.

4.1.1 Resistor
Image:

Attributes of Level-1 Model:

Parameters Description
Resistance Resistance, in Ohm
Current Flag Flag: save the branch current for waveform display.
(1: save; 0: do not save)
The current is positive when it flows into the dotted terminal of the branch.
Voltage Flag Flag: save the voltage across this element for waveform display (1: save; 0: do not
save). The voltage is positive when the dotted terminal has higher potential.

Chapter 4: Power Circuit Components 55


Attributes of Level-2 Model:

Parameters Description
Resistance Resistance, in Ohm
Voltage Rating Voltage rating of the component, in V.
Power Rating Power rating of the component, in W.
Inductance ESL Equivalent series inductance (ESL), in H.
Parallel Capacitance Equivalent parallel parasitic capacitance, in F.
Current Flag Flag for the branch current for waveform display.
Voltage Flag Flag for the voltage across this element for waveform display.
Equivalent Circuit:
Level 2 Model
Level 1 Model
Cp Parallel
Capacitance
ESL

4.1.2 Inductor
Image:

Attributes of Level-1 Model:

Parameters Description
Inductance Inductance, in H.
Initial Current Initial inductor current, in A
Current Flag Flag for the branch current for waveform display (1: save; 0: do not save).
The current is positive when it flows into the dotted terminal of the branch.
Voltage Flag Flag for the voltage across this element for waveform display (1: save; 0: do not
save). The voltage is positive when the dotted terminal has higher potential.
Attributes of Level-2 Model

Parameters Description
Inductance Inductance, in H.
Peak Current Rating Peak current rating of the inductor, in A.
Series Resistance Equivalent series resistance (ESR), in Ohm.
Parallel Resistance Leakage resistance in parallel with the inductor, in Ohm.
Parallel Capacitance Parallel parasitic capacitance, in F.
Initial Current Initial inductor current, in A
Current Flag Flag for the branch current for waveform display.
Voltage Flag Flag for the voltage across this element for waveform display.

56 Chapter 4: Power Circuit Components


Equivalent Circuit:

Level 1 Model Level 2 Model


Rp
Parallel
Resistance
Cp
Parallel
Capacitance
L ESR

4.1.3 Capacitors
Images:
Capacitor (Electrolytic)

Attributes of Level-1 Model:

Parameters Description
Capacitance Capacitance, in F.
Initial Voltage Initial capacitor voltage, in V
Current Flag Flag for the branch current for waveform display (1: save; 0: do not save).
The current is positive when it flows into the dotted terminal of the branch.
Voltage Flag Flag for the voltage across this element for waveform display (1: save; 0: do not
save). The voltage is positive when the dotted terminal has higher potential.
Attributes of Level-2 Model:

Parameters Description
Capacitance Capacitance, in F.
Voltage Rating Voltage rating of the component, in V.
RMS Current Rating RMS current rating, in A.
Resistance ESR Equivalent series resistance (ESR), in Ohm.
Inductance ESL Equivalent series inductance (ESL), in H.
Leakage Resistance Leakage resistance, in Ohm.
Initial Voltage Initial capacitor voltage, in V
Current Flag Flag for the branch current for waveform display.
Voltage Flag Flag for the voltage across this element for waveform display.
Equivalent Circuit:
Level 1 Model Level 2 Model
Parallel
Rp
Resistance
Capacitor
ESR C ESL

Chapter 4: Power Circuit Components 57


4.1.4 Combined R-L-C Branch
Image:

Attributes for R-L-C Branch:

Parameters Description
Resistance Resistance, in Ohm
Inductance Inductance, in H
Capacitance Capacitance, in F
Initial Current Initial inductor current, in A
Initial Cap. Voltage Initial capacitor voltage, in V
Current Flag Flag for the branch current for waveform display (1: save; 0: do not save).
The current is positive when it flows into the dotted terminal of the branch.
Voltage Flag Flag for the voltage across this element for waveform display (1: save; 0: do not
save). The voltage is positive when the dotted terminal has higher potential.
Note: For combined R-L-C brand, at least one of the parameters R, L, or C has to be a non-zero value.

4.1.5 Rheostat
A rheostat is a resistor with a tap.
Image:
t

Attributes:

Parameters Description
Total Resistance Total resistance of the rheostat R (between Node k and m), in Ohm
Tap Position (0 to 1) The tap position Tap. The resistance between Node k and t is: R  Tap .
Current Flag Flag for the current that flows into node k.

4.1.6 Saturable Inductor


A saturable inductor takes into account the saturation effect of the magnetic core.
Image:

58 Chapter 4: Power Circuit Components


Attributes:

Parameters Description
Current vs. Inductance Characteristics of the current versus the inductance (i1, L1), (i2, L2), etc.
Current Flag Flag for current display
Voltage Flag Flag for voltage display
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.

 (B)
3
2 Inductance L =  / i
1

i1 i2 i3 i (H)

The inductance is defined as: L =  / i, the ratio of  vs. i at each point. The saturation characteristics are defined
by a series of data points as: (i1, L1), (i2, L2), (i3, L3), etc.
Note that the defined saturation characteristics must be such that the flux linkage  is monotonically increasing.
That is, L1*i1  L2*i2 < L3*i3, etc.
Also, similar to the saturation characteristics in the real world, the slope of each linear segment must be
monotonically decreasing as the current increases.
In certain situations, circuits that contain saturable inductors may fail to converge. Connecting a very small
capacitor across the saturable inductor may help the convergence.

4.1.7 Saturable Inductor (2)


A second model is provided to model a saturable inductor. As compared to the model in the previous section,
this model takes into account the hysteresis loop.
Image:
Flux density B

Attributes:

Parameters Description
Number of Turns Number of turns of the inductor winding
Winding Resistance Winding resistance, in Ohm
Core Cross Section Area Core cross section area, in m2

Core Length Effective core length, in m


Relative Permeability Relative permeability of the core material
Flux Density at Flux density Bsat at deep saturation, in T
Saturation

Chapter 4: Power Circuit Components 59


Initial Flux Density Initial flux density Binit, in T
Coercive Force Coercive force Hc at zero flux density, in A/m
Current Flag Flag for the current display
The extra node on the side of the inductor image gives the flux density of the core, in T. The node is a control
node.
A saturable inductor B-H curve is shown below.
B Bsat

-Hc 0 Hc H

4.1.8 3-Phase R-L-C and Combination Branches


Images:
R3 L3 C3 RL3 RC3 RLC3

Attributes for 3-Phase R, L, C, and Combination Branches:

Parameters Description
Resistance Resistance, in Ohm
Inductance Inductance, in H
Capacitance Capacitance, in F
Current Flag_A; Current Current flags for Phase A, B, and C of three-phase branches, respectively.
Flag_B; Current Flag_C If this flag is set 1, the current flowing through this branch will be saved to the file
for display in SIMVIEW. It will also be available for display in the runtime graphs
(under Simulate >> Runtime Graphs).
The dot in the image indicates phase A. The current is positive when it flows into
the dotted terminal of the branch.

60 Chapter 4: Power Circuit Components


4.1.9 Coupled Inductors
Coupled inductors with two, three, and more branches are provided.
Images:

In the images, the small circle or number 1 indicates the input terminal of inductor.
Attributes:

Parameters Description
Lkk (self) Self inductance of the inductor k, in H
Lkj (mutual) Mutual inductance between Inductor k and j, in H
Initial Current ik Initial current in Inductor k, in A
Current Flag_k Flag for the current printout in Inductor k
The following shows a coupled inductor with two branches.
v1 -
i1

i2
-

Let L11 and L22 be the self-inductances of Branch 1 and 2, and L12 and L21 the mutual inductances, the branch
voltages and currents have the following relationship:

The mutual inductances between two windings are assumed to be always equal, i.e., L12 = L21.
In the SPICE software, coupled inductors are defined by the self inductances and the coupling factors. For the
coupled inductor with two branches, the coupling factor K is defined as:

The mutual inductance is then calculated as:

Chapter 4: Power Circuit Components 61


The coupling factor has a value between 0 and 1. When the coupling factor is 1, it is perfect coupling. Note that
in PSIM, perfect coupling is not allowed. That is, the coupling factor cannot be equal to 1.
Also, when the leakage inductances are ignored (i.e. the coupling factor is close to 1), the self inductances are
proportional to the turns ratio squared. That is, if Branch 1 has N1 turns, and Branch 2 has N2 turns:

Example:
Two mutually coupled inductors have the self inductances and mutual inductance as:
L11 = 1 mH,
L22 = 1.1 mH, and
L12 = L21 = 0.9 mH.
The coupling factor is: K = 0.86. The specification of this element will be:

L11 (self) 1m
L12 (mutual) 0.9m
L22 (self) 1.1m

4.1.10 Common-Mode Chokes


A single-phase common-mode choke consists of two coupled inductor on the same core.
A 3-phase common-mode choke consists of three coupled inductor on the same core.
Images:

Attributes:

Parameters Description
Common-mode Inductance Common-mode inductance Lcm of the choke, in H
Leakage Inductance Leakage inductance Llk of the choke, in H
Winding Resistance Resistance in each winding, in Ohm
The common-mode choke is the same as the self inductance, that is:
Lself = Lcm
The self inductance is also equal to the sum of the mutual inductance and the leakage inductance, that is:
Lself = Lmutual + Llk

62 Chapter 4: Power Circuit Components


4.1.11 Bus Bar
This element models a bus bar in a circuit.
Image:

Attributes:

Parameters Description
Resistance The resistance of the bus bar, in ohm.
Inductance The inductance of the bus bar, in H.

4.1.12 DC Load (constant-power)


This element models a dc load with constant power.
Image:

-
P

Attributes:

Parameters Description
Minimum Load Voltage Minimum load voltage Vmin required to maintain constant power
Output Flag Flag to display load voltage, current, and power
The input at the bottom of the block defines the constant power level.
This dc load with draw constant power from the source as long as the voltage is above the minimum voltage
Vmin. When the voltage is below Vin, the load current will be as below:
Io = Po * sin(2.03*Vo/Vin) / (Vin*sin(2.03)

4.1.13 3-Phase P/Q Controlled Load


This element represents a P-Q controlled load to a 3-phase AC system. The impedance of the three-phase
branches are equal (balanced).
Images:
a

c
P Q

Chapter 4: Power Circuit Components 63


Attributes:

Parameters Description
Line-line Voltage Line-to-line voltage applied to this load, in V
Operation Frequency Operation frequency, in Hz
Voltage Tolerance Voltage tolerance, in %.
The P (real power in Watt) and Q (reactive power in Var) inputs at the bottom of the block are control signals.

4.1.14 3-Phase AC Cable


There are two models for 3-phase AC cable in PSIM library:
3-Ph AC Cable: takes into account inductive coupling and capacitances between phases.
3-ph AC Cable (1): defined with sectional parameters.
Image:

A
B
C
N

Attributes of 3-ph AC Cable:

Parameters Description
Cable Length Length of the cable, in m
Operating Frequency Operating frequency of the cable, in Hz
Resistance Rd Positive sequence resistance Rd of the cable, in Ohm/km
Reactance Xd Positive sequence reactance Xd of the cable, in Ohm/km
Capacitance Cd Positive sequence capacitance Cd of the cable, in F/km
Resistance Ro Zero sequence resistance Ro of the cable, in Ohm/km
Reactance Xo Zero sequence reactance Xo of the cable, in Ohm/km
Capacitance Co Zero sequence capacitance Co of the cable, in F/km

In the image, the bottom node N or n on each side of the cable is the cable screen. It is generally connected to
the ground on the side of the cable.
The cable parameters should be available from manufacturers’ datasheet. When they are not available, assuming
that each phase of the cable has a resistance of R, self inductance of L, and mutual inductance of M, the positive
sequence and zero sequence parameters can be calculated as follows:
Rd = R
Xd =   (L – M)
Ro = R
Rd = R
Xo =   (L + 2M)
where =2f and f is the operating frequency in Hz.

64 Chapter 4: Power Circuit Components


Attributes of 3-Ph AC Cable (1):

Parameters Description
Number of Sections The number of sections. The parameters below are for each section.
Cable Length Length of the cable per section, in ft. or in m.
DC resistance DC resistance per unit length (Rs), in Ohm
Inductance Inductance per unit length (Ls), in H
Phase-to-phase Phase-to-phase capacitance per unit length (Cph), in F
Capacitance
Ground Capacitance Phase-to-ground capacitance per unit length (Cgnd), in F
Shield DC Resistance Shield resistance per unit length (Rshield), in Ohm

The circuit schematic below illustrates the model principle for each section, and the definition of the parameters
in the above table.

4.1.15 Coax Cable


This element models a coax cable in a schematic.
Image:

Attributes:

Parameters Description
Number of Sections The number of sections for this piece of cable
Cable Length Total length of the cable, in m.
DC Resistance DC resistance per meter, in ohm.
Inductance Inductance per meter, in H
Capacitance Capacitance per meter, in F
Shield DC Resistance DC resistance of the cable shield per meter, in ohm.

Chapter 4: Power Circuit Components 65


4.1.16 Nonlinear Elements
The following elements with nonlinear voltage-current relationship are provided:
- Resistance-type [v = f(i)]
- Resistance-type with additional input x [v = f(i,x)]
- Conductance-type [i = f(v)]
- Conductance-type with additional input x [i = f(v,x)]
The additional input x must be a voltage signal.
Images:

Nonlinear element Nonlinear element (with additional input)


Input x

Attributes:
1For resistance-type elements:

Parameters Description
Expression f(i) or f(i,x) Expression of v in terms of i and x [v = f(i) or v = f(i,x)]
Expression df/di The derivative of the voltage v versus current i, i.e. df(i)/di
Initial Value io The initial value of the current i
Lower Limit of i The lower limit of the current i
Upper Limit of i The upper limit of the current i
For conductance-type elements:

Parameters Description
Expression f(v) or f(v,x) Expression of i in terms of v and x [i = f(v) or i = f(v,x)]
Expression df/dv Derivative of the current i versus voltage v, i.e. df(v)/dv
Initial Value vo The initial value of the voltage v
Lower Limit of v The lower limit of the voltage v
Upper Limit of v The upper limit of the voltage v
A good initial value and lower/upper limits will help the convergence of the solution.
Example: Nonlinear Diode

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
66 Chapter 4: Power Circuit Components
nonlinear element will be:

Expression f(v) 1e-14*(EXP(40*v)-1)


Expression df/dv 40e-14*EXP(40*v)
Initial Value vo 0
Lower Limit of v -1e3
Upper Limit of v 1

4.2 Switching Devices


There are several levels of modelling in PSIM for switching devices.
The Ideal level is the switchmode type. It operates either in the cut-off region (off state) or saturation region (on
state). Both turn-on and turn-off transients are neglected. An Ideal switch has an on-state resistance of
R_switch_on and off-state resistance of R_switch_off. If an on-state resistance is not defined, the default off-
state resistance value will be used. If there is no R-L-C branch connected in parallel with the switch, the off-
state resistance value will be used. By default, the on-state resistance R_switch_on is set to 10 , and the off-
state resistance R_switch_off is set to 100 M. The default values can be changed in the PSIM tab
in Simulation Control.
Other model levels provide more detailed characteristics of the switching devices.
There are also pre-built Switch Modules in PSIM library.

4.2.1 Pre-Built Switch Modules


For the convenience of users, PSIM library contains some pre-built switch modules in the configuration of
commonly used converters.
For switch modules containing multi-switching devices but with single gating node, only the gating to the first
switch in the module needs to be specified. The gatings of all other switches will be automatically derived. The
upper left switch of the module is defined as the first switch.

4.2.1.1 Buck and Boost Converters


The following buck and boost converters are provided.
The switching devices in these modules are ideal. It operates either in the cut-off region (off state) or saturation
region (on state). Both turn-on and turn-off transients are neglected.
Images:
Buck Buck (1) Boost (1)

Attributes:

Parameters Description
Switch Resistance On resistance of the transistor and diode, in Ohm
Current Flag 1...2 Display flags for the transistor and diode currents
Voltage Flag 1...2 Display flags for the transistor and diode voltages

Chapter 4: Power Circuit Components 67


4.2.1.2 Inverter Modules
Modules for inverter bridge legs, 1-phase inverters, and 3-phase inverters are provided.
For 1-phase and 3-phase inverters, the model level can be set to either Ideal or Average Model. When the
model level is ideal, the inverter is modeled as individual switches using ideal MOSFET or IGBT. When the
model level is the average model, the switching effect is ignored. Only the low-frequency behavior is included.
The average model allows a much larger time step, and can speed up simulation significantly.
Images:

2-Level Bridge Leg


Ideal Model Thermal -IGBT Model Thermal - MOSFET(Eon) Model

1- Phase Inverter
Ideal Model Thermal - IGBT Model Therma; - MOSFET(Eon) Model
+ +

3-Phase Inverter
Average
+ + +

- - -
fa fb fc

Model Levels:

Model Level Description


Ideal Switches are ideal controlled switches representing ideal MOSFET/IGBT
devices with anti-parallel diodes
Average The inverter is modeled in the average mode without switching effects. Only the
low-frequency behavior is included.
The average model allows using much larger time step to speed up the
simulation.
Thermal - IGBT IGBT model in Thermal Module database
Thermal - MOSFET(Eon) MOSFET(Eon) model in Thermal Module database.

68 Chapter 4: Power Circuit Components


Attributes for Ideal Model:

Parameters Description
Switch Resistance On resistance of the transistor and diode, in Ohm
Current Flag 1...i Display flags for the transistor and diode currents
Voltage Flag 1...i Display flags for the transistor and diode voltages
Input Si_top This is for Typhoon HIL interface
Input Si_bot This is for Typhoon HIL interface

Attributes for Thermal Models:


The parameter definitions and detailed information for thermal models are in the sections: 4.10.3 IGBT
Thermal Model and 4.10.2 MOSFET Thermal Model.

4.2.1.3 Flying Cap Bridge Leg Modules


The 3-level and 7-level flying capacitor bridge leg modules and their internal connections are show below.
The nodes at the bottom of the image are for gating signals. Those nodes must be connected to a logic signal,
not to any power circuit element.
Images:

3-Level Flying Cap Inverter Leg 7-Level Flying Cap Inverter Leg

Attributes:

Parameters Description
Switch Resistance On-resistance for all transistors and diodes, in Ohm.
Capacitance Cpi The capacitance of each flying capacitors, in F.
Initial Cpi Voltage Initial voltage on each flying capacitors, in V
Voltage Flag Cpi Flags for the voltage across each flying capacitor.
Current Flag i Current flag for Switch i
Voltage Flag i Voltage flag for Switch i

Chapter 4: Power Circuit Components 69


4.2.1.4 T-Type Bridge Modules
The T-type bridge modules and their internal connections are show below.
The nodes at the bottom of the image are for gating signals. Those nodes must be connected to a logic signal,
not to any power circuit element.
Images:
3-Level T-Tpye Bridge Leg 3-Level 3-ph T-Type Bridge

Attributes:

Parameters Description
Switch Resistance On-resistance for all transistors and diodes, in Ohm.
Current Flag Sxi Current flag for Switch i in phase x
Voltage Flag Sxi Voltage flag for Switch i in phase x
Input Sx_i These values are for Typhoon HIL. They are integer values from 1 to 64.

4.2.1.5 NPC Bridge Modules


The NPC (neutral point clamped) bridge modules and their internal connections are show below.
The nodes at the bottom of the image are for gating signals. Those nodes must be connected to a logic signal,
not to any power circuit element.
Images:
3-Level NPC Bridge Leg 3-Level 3-ph NPC Bridge

Attributes:

Parameters Description
Switch Resistance On-resistance for all transistors and diodes, in Ohm.
Current Flag Sxi Current flag for Switch i in phase x
Voltage Flag Sxi Voltage flag for Switch i in phase x
Input Sx_i These values are for Typhoon HIL. They are integer values from 1 to 64.

70 Chapter 4: Power Circuit Components


4.2.1.6 Dual Active Bridge Module
The DAB (Dual Active Bridge) modules and their internal connections are show below.
The nodes at the bottom of the image are for gating signals. Those nodes must be connected to a logic signal,
not to any power circuit element.

Images:

Attributes:

Parameters Description
Rp (primary) Resistance of the primary winding, in Ohm.
Rs (secondary) Resistance of the secondary winding referred to the primary side, in Ohm.
Lp (pri. leakage) Leakage inductance of the primary winding, in H.
Ls (sec. leakage) Leakage inductance of the secondary winding referred to the primary side, in H.
Np/Ns Ratio Transformer turns ratio.
Switch Resistance Rsw1 On-resistance for all the transistors and diodes in the front end DC-AC
converter, in Ohm.
Switch Resistance Rsw2 On-resistance for all the transistors and diodes in the back end AC-DC
converter, in Ohm.
Current Flag Sij Current flag for switch j in converter i
Voltage Flag Sij Voltage flag for switch j in converter i

4.2.1.7 Diode Bridge Modules


The pre-built 1-phase and 3-phase diode bridge modules and their internal connections are shown below:

Images:

Chapter 4: Power Circuit Components 71


Attributes:Thyristor Bridge Modules
Parameters Description
Diode Threshold Voltage Threshold voltage of the diode, in V
Diode Resistance On resistance of the diode, in Ohm
Init. Position 1...4 (1...6) Initial positions for Switches 1 to 4 for single-phase bridge, or 1 to 6 for 3-phase
bridge
Current Flag 1...4 (1...6) Display flags for the anode-cathode current for switches.
Voltage Flag 1...4 (1...6) Display flags for the anode-cathode voltage for switches.

4.2.1.8 Thyristor Bridge Modules


The pre-built thyristor bridge modules and their internal connections are shown below.
Images:

Attributes:
Parameters Description
Voltage Drop Thyristor conduction voltage drop, in V
Init. Position 1...4 (1...6) Initial positions for Switches 1 to 4 for single-phase bridge, or 1 to 6 for 3-phase
or 6-phase bridge
Current Flag 1...4 (1...6) Display flags for the anode-cathode current for switches.
Voltage Flag 1...4 (1...6) Display flags for the anode-cathode voltage for switches.
Node Ct at the bottom of the thyristor module is the gating control node for Switch 1. For the thyristor module,
only the gating signal for Switch 1 needs to be specified. The gating signals for other switches will be derived
internally in the program.
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.
Examples: Control of a Thyristor Bridge
The gating signal for the circuit on the left is specified through a gating block, and the gating signal for the
circuit on the right is provided through an alpha controller. A major advantage of the alpha controller is that the

72 Chapter 4: Power Circuit Components


delay angle alpha of the thyristor bridge, in deg., can be directly controlled.

4.2.2 Diode and LED


The conduction of a diode or LED (light-emitting diode) is determined by circuit operating conditions. A diode
has the following model levels:
• Ideal: An ideal diode is turned on when the positive bias voltage is greater than the threshold
voltage, and is turned off when the current drops to zero.
• Level-2: Includes leads parasitic inductance and reverse recovery parameters.
• Thermal: This model utilizes PSIM's Thermal Module functions. The thermal characteristics of
the devices are included in simulation.
• SPICE Model: Diode model in SPICE netlist format
• SPICE Subcircuit: Diode model in SPICE subcircuit netlist format
LED characteristics are the same as the ideal diode.

The attributes of ideal and Level-2 models are described below.


For the information of the Thermal model, please refer to the section: 4.10.1 Diode Thermal Model.
For information on SPICE models and SPICE subcircuit models, please refer to the document "SPICE User
Manual.pdf".
Images:

Diode LED
Ideal Thermal

Attributes of the Ideal Model and LED:

Parameters Description
Forward Voltage Forward voltage Vd_th, in V. A diode starts to conduct when the positive bias
voltage is greater than Vd_th.
Resistance On-resistance Rd, in Ohm, after it starts to conduct.
Initial Position Flag to set the device’s initial position (0: off; 1: on).
Current Flag Flag for the anode-cathode current for waveform display.
Voltage Flag Flag for the anode-cathode voltage for waveform display.

Chapter 4: Power Circuit Components 73


Attributes of the Level-2 Model:
Parameters Description
Forward Voltage Forward voltage Vd_th, in V. A diode starts to conduct when the positive bias
voltage is greater than Vd_th.
Resistance On-resistance Rd, in Ohm, after it starts to conduct.
Parasitic Inductance Series parasitic inductance, in H
Parallel Capacitance Parallel capacitance between the diode anode and cathode, in F. If the capacitance
value is 0, the capacitor is ignored and is removed from simulation.
Forward Current Forward current Ifwd under test conditions of diode reverse recovery characteristic,
in A.
Peak Reverse Current Peak reverse current Irm under test conditions, in A
Current Slope Current slope dI/dt under test conditions, in A/sec.
Reverse Recovery Time Reverse recovery time trr under test conditions, in sec.
Initial Position Flag to set the device’s initial position (0: off; 1: on).
Current Flag Flag for the anode-cathode current for waveform display.
Voltage Flag Flag for the anode-cathode voltage for waveform display.

Ideal Diode v-i Characteristic:


i

Slope = 1/Rd

0
Vd_th

Level-2 Diode Model Reverse Recovery Parameter Definitions:

The reverse recovery time trr consists of two parts: ta and tb. During the period ta, the current increases from 0
to -Irm. Based on JEDEC (Joint Electron Device Engineering Council), tb is defined as the interval from the
time of -Irm to the time when the straight line from -Irm through -0.25*Irm (in red in the diagram) intersects
with the time axis.
For further information on how to use the Level-2 model, please refer to the tutorial "Tutorial - Diode model
with reverse recovery.pdf".

74 Chapter 4: Power Circuit Components


4.2.3 MOSFET and MOSFET (Rds(on))
A MOSFET model has 6 levels:
• Ideal,
• Level 1,
• Level 2,
• Thermal - MOSFET(Eon)
• Thermal - MOSFET
• SPICE Model,
• SPICE Subcircuit, SPICE Subcircuit (4-pin), and SPICE Subcircuit (5-pin).
• MOSFET RDS(on)
The MOSFET(Rds(on)) model has the on-resistance RDS(on) as a function of the junction temperature.
The ideal, Level 1, Level 2, and RDS(on) models are described in the sections below.
For information regarding the Thermal models, please refer to the sections: 4.10.2 MOSFET Thermal Model.
For information regarding SPICE model and subcircuit, please refer to the document "SPICE Module User
Manual.pdf".
Images:
MOSFET p-MOSFET MOSFET p-MOSFET
(RDS(on)) (RDS(on))

Tj Tj

4.2.3.1 Ideal MOSFET


An ideal MOSFET consists of an active switch with an anti-parallel diode. The MOSFET is turned on when the
gating signal is a logic high (when a voltage of 1V or higher is applied to the gate node) and the switch is
positively biased (drain-source voltage is positive). It is turned off whenever the gating signal is low or the
current drops to zero.
The p-channel MOSFET is turned on when the gating signal is a logic low and it is negatively biased (drain-
source voltage is negative).
Attributes for Ideal MOSFET:
Parameters Description
On Resistance The on resistance Rds_on of the MOSFET, in Ohm
Diode Forward Anti-parallel diode forward threshold voltage, in V
Voltage
Diode Resistance Anti-parallel diode on resistance, in Ohm
Initial Position Initial switch position flag for the transistor only (0: off; 1: on)
Current Flag Flag for the drain-source current for waveform display.
Voltage Flag Flag for the drain-source voltage for waveform display.
The gate node of an ideal switch must be connected to either a gating block or a switch controller.

Chapter 4: Power Circuit Components 75


The following examples illustrate the control of a MOSFET switch.

The circuit on the left uses a gating block, and the one on the right uses an on-off switch controller. The gating
signal is determined by the comparator output.

4.2.3.2 Level-1 and Level-2 MOSFET


For Level-1 and Level-2 MOSFET models, the gate node is a power node, and must be connected to a power
circuit component (such as a resistor or a source). It can not be connected to a gating block or a switch
controller.
Attributes for Level-1 MOSFET:

Parameters Description
On Resistance RDS(on) On resistance RDS(on) of the MOSFET, in Ohm
Threshold Voltage Threshold voltage of the gate-to-source voltage, in V, beyond which the MOSFET
VGS(th) starts to conduct.
Transconductance Transconductance gm of the MOSFET.
Diode Forward Voltage Forward voltage of the anti-parallel diode, in V
Diode Resistance On resistance of the anti-parallel diode, in Ohm
A Level-1 MOSFET is a linear switch that can operate in three states: cut-off, active, or ohmic state.
A linear MOSFET device is controlled by the gate-to-source voltage Vgs. It can operate in one of the three
regions: cut-off (off state), active, and ohmic region (on state).
The properties of an n-channel MOSFET device in these regions are:
- Cut-off region: Vgs < Vgs(th); Id = 0
- Active region: Vgs > Vgs(th) and Vgs - Vgs(th) < Vds; Id = gm(Vgs - Vgs(th))
- Ohmic region: Vgs > Vgs(th) and Vgs - Vgs(th) > Vds; Id = Vds / RDS(on)
where Vgs is the gate-source voltage, Vds is the drain-source voltage, and Id is the drain current.
The properties of a p-channel MOSFET device in these regions are:
- Cut-off region: Vgs > Vgs(th); Id = 0
- Active region: Vgs < Vgs(th) and Vgs - Vgs(th) > Vds; Id = gm(Vgs - Vgs(th))
- Ohmic region: Vgs < Vgs(th) and Vgs - Vgs(th) < Vds; Id = Vds / RDS(on)

76 Chapter 4: Power Circuit Components


Attributes for Level-2 MOSFET:
Parameters Description
Vbreakdown (drain- Maximum drain-source voltage without causing avalanche breakdown, in V.
source)
On Resistance RDS(on) On resistance RDS(on) of the MOSFET, in Ohm
Gate Threshold Voltage Threshold voltage of the gate-to-source voltage, in V, above which, the MOSFET
VGS(th) starts to conduct.
Internal Gate Resistance Internal gate resistance, in Ohm.
Transconductance Transconductance gm of the MOSFET.
Capacitance Cgs Gate-to-source intrinsic capacitance, in F.
Capacitance Cgd Gate-to-drain intrinsic capacitance, in F.
Capacitance Cds Output capacitance between drain and source, in F.
Diode Forward Voltage Forward voltage of the anti-parallel diode, in V
Diode Resistance On resistance of the anti-parallel diode, in Ohm
The Level 2 model is the same as Level 1 model but takes the intrinsic and parasitic components into
consideration. The capacitances Cgs, Cgd, and Cds are included.
In the Level-2 MOSFET model, the capacitances Cgs, Cgd, and Cds can be roughly calculated from the input
capacitance Ciss, Coss, and Crss from the datasheet as below:
Cgs = Ciss - Crss
Cgd = Crss
Cds = Coss - Crss
These capacitance values may need to be adjusted to obtain the desired transient response.
Note that the gate node is a power node, and must be connected to a power circuit component (such as a resistor
or a source). It can not be connected to a gating block or a switch controller.

4.2.3.3 MOSFET RDS(on)


The models MOSFET (RDS(on)) and p-MOSFET (RDS(on)) calculate the on-resistance as a function of the
junction temperature.
Attributes for MOSFET (RDS(on)) and p-MOSFET (RDS(on)):
Parameters Description
Tj at Test Junction temperature Tj_b at test, in oC
RDS(on) at Test On-resistance RDS(on)_b at test, in Ohm
Temperature Coefficient Temperature coefficient KT of the on-resistance, in 1/oC
Diode Forward Voltage Anti-parallel diode forward threshold voltage, in V
Diode Resistance Anti-parallel diode on resistance, in Ohm
Initial Position Initial switch position flag for the transistor only (0: off; 1: on)
Current Flag Flag for the drain-source current for waveform display.
Voltage Flag Flag for the drain-source voltage for waveform display.
In the images of MOSFET (RDS(on)) and p-MOSFET (RDS(on)), the node on top of the gate node is for the

Chapter 4: Power Circuit Components 77


junction temperature setting. A voltage signal at this node will define the junction temperature Tj in oC. For
example, a voltage value of 25V would mean a junction temperature of 25oC. The on-resistance of the
MOSFET is a function of the junction temperature, as expressed below:
R DS(on) = R DS(on)b  (1 + KT  (T j – T j_b ))

The gate node of a MOSFET RDS(on) switch must be connected to either a gating block or a switch controller,
the same way as described for the ideal model of MOSFET.

4.2.4 IGBT
An IGBT model has 3 levels:
• Ideal,
• Level 2,
• Thermal
• SPICE Subcircuit, SPICE Subcircuit (4-pin) and SPICE Subcircuit (5-pin).
The Ideal and Level-2 models are described in the sections below.
For information regarding the Thermal model please refer to the section 4.10.3 IGBT Thermal Model.
For information regarding SPICE subcircuit, please refer to the document "SPICE Module User Manual.pdf".
Image:

4.2.4.1 Ideal IGBT


An ideal IGBT switch consist of an active switch with an anti-parallel diode. It is turned on when the gating
signal is high (when a voltage of 1V or higher is applied to the gate node) and the switch is positively biased
(collector-emitter voltage is positive). It is turned off whenever the gating signal is low or the current drops to
zero.
Attributes:
Parameters Description
Saturation Voltage Saturation voltage Vce_sat of the IGBT, in V
Transistor Resistance Transistor on resistance, in Ohm
Diode Forward Voltage Anti-parallel diode forward threshold voltage, in V
Diode Resistance Anti-parallel diode on resistance, in Ohm
Initial Position Initial switch position flag for the transistor only (0: off; 1: on)
Current Flag Flag for the collector-emitter current for waveform display.
Voltage Flag Flag for the collector-emitter voltage for waveform display.

4.2.4.2 Level-2 IGBT


A Level-2 IGBT model takes into account the turn-on and turn-off transient. For more information on how to
use this model, please refer to the tutorial "Tutorial - IGBT Level-2 model.pdf".

78 Chapter 4: Power Circuit Components


Attributes:

Parameters Description
Maximum Vce Maximum collector-emitter voltage Vce rating, in V
Maximum Vec Maximum emitter-collector voltage Vec rating, in V. If IGBT has an anti-
parallel diode, this voltage will be the diode forward conduction threshold
voltage.
Gate Threshold Voltage Gate threshold voltage Vge_th, in V
Transconductance Transconductance of the IGBT, in S
Fall Time Fall time of the current when IGBT is turned off, in sec.
Capacitance Cies Input capacitance Cies, in F
Capacitance Coes Output capacitance Coes, in F
Capacitance Cres Reverse transfer capacitance Cres, in F
Rce_on Collector-emitter on resistance Rce_on, in Ohm
Vce_threshold Collector-emitter threshold voltage Vce_th, in V
Internal Gate Resistance Internal gate resistance Rgate, in Ohm
Current Flag Flag for the collector-emitter current for waveform display.
Voltage Flag Flag for the collector-emitter voltage for waveform display.

4.2.5 IGBT-RB
An IGBT-RB switch consist of an active switch with reverse blocking capability and without an anti-parallel
diode. It is turned on when the gating signal is high (when a voltage of 1V or higher is applied to the gate node)
and the switch is positively biased (collector-emitter voltage is positive). It is turned off whenever the gating
signal is low or the current drops to zero.
Two versions of IGBT-RB are provided: a single switch, and a dual package with two back-to-back switches.
Images:

1 2

Attributes:

Parameters Description
Saturation Voltage Saturation voltage Vce_sat of the IGBT, in V
Transistor Resistance Transistor on resistance, in Ohm
Initial Position Initial switch position flag for the switch, or in the case of the dual package,
or for Switch 1 or 2 (0: off; 1: on)
Initial Position 1 or 2
Current Flag Flag: set to save the collector-emitter current for waveform display.
Voltage Flag Flag: set to save the collector-emitter voltage for waveform display.
For the dual package, when the element is placed in the upright position, Switch 1 is on the left and Switch 2 is
on the right.

Chapter 4: Power Circuit Components 79


4.2.6 npn and pnp Transistors
A bipolar junction transistor (BJT) model has five levels:
• Ideal,
• Level 1
• Level 2
• SPICE Model
• SPICE subcircuit
The Ideal, Level 1 and Level 2 models are described below. For information regarding SPICE model and
subcircuit, please refer to the document "SPICE Module User Manual.pdf".
Images:
npn pnp
Transistor Transistor

4.2.6.1 Ideal BJT


An ideal bipolar junction transistor model in PSIM is an ideal switching device. Its behavior is a little bit
different from that of the device in real life. A BJT switch in PSIM will block reverse voltage (in this sense, it
behaves like a GTO). Also, it is controlled by a voltage signal at the gate node, not a current.
An npn transistor is turned on when the gating signal is a logic high (when a voltage of 1V or higher is applied
to the gate node) and the switch is positively biased (collector-emitter voltage is positive). A pnp transistor is
turned on when the gating signal is a logic low and the switch is negatively biased (collector-emitter voltage is
negative).
Attributes:

Parameters Description
Collector-emitter VCE The saturation voltage Vce_sat, in V. positive number for npn transistor and a
(sat) negative number for pnp transistor.
Initial Position Initial switch position flag (0: off; 1: on)
Current Flag Flag: set to save the collector-emitter current for waveform display.
Voltage Flag Flag: set to save the collector-emitter voltage for waveform display.
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.

If the switch is controlled by a control circuit signal, as shown in the circuit on the right side, an on-off switch
controller must be used at the gate node.

80 Chapter 4: Power Circuit Components


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.

4.2.6.2 Level 1 and Level 2 (3-State) BJT


A 3-state BJT model is a linear switch. It can operate in either cut-off (off state), linear, or saturation (on state)
region.
Level 2 model simulates with more detailed devices characteristics. But it also requires more information from
the device datasheet, and some parameters must be estimated from the graphs and test conditions listed on
datasheet.
Attributes for Level 1 Model:

Parameters Description
DC Current Gain hFE Transistor current gain , defined as: =Ic/Ib
Base-emitter Voltage VBE (sat) Base-emitter forward bias voltage, in V, between base and emitter. It is a
positive number for npn transistor and a negative number for pnp transistor.
Collector-emitter VCE (sat) Saturation voltage, in V, between collector and emitter, in V. It is a positive
number for npn transistor and a negative number for pnp transistor.
Attributes for Level 2 Model:

Parameters Description
VCEO (breakdown voltage) Collector-emitter breakdown voltage, in V.
VCBO (breakdown voltage) Collector-base breakdown voltage, in V.
VEBO (breakdown voltage) Emitter-base breakdown voltage, in V.
Collector-emitter VCE(sat) Collector-emitter saturation voltage, in V.
Base-emitter Voltage VBD(sat) Base-emitter forward bias voltage, in V.
DC Current Gain hFE Current gain of the transistor
Collector ICE(sat) Collector-emitter saturation current, in A
Collector Resistance RC Collector-emitter resistance, in ohm.

Chapter 4: Power Circuit Components 81


Base Resistance RB Base-emitter resistance, in ohm.
Output Capacitance Cobo Output capacitance, in F

Input Capacitance Cibo Input capacitance, in F

Rise Time tr Rise time, in second


Base Current IB1 for tr Base current used in test circuit for tr measurement, in A
Fall Time tf Fall time, in second
Storage Time ts Storage time, in second
Forced Current Gain Forced current gain HfeF.
The properties of an npn transistor in these regions are:
- Cut-off region: Vbe < Vr; Ib = 0; Ic = 0
- Linear region: Vbe = Vr; Ic = Ib; Vce > Vce,sat
- Saturation region: Vbe = Vr; Ic < Ib; Vce = Vce,sat
where Vbe is the base-emitter voltage, Vce is the collector-emitter voltage, and Ic is the collector current.
The properties of a pnp transistor in these regions are:
- Cut-off region: Veb < Vr; Ib = 0; Ic = 0
- Linear region: Veb = Vr; Ic = Ib; Vec > Vee,sat
- Saturation region: Veb = Vr; Ic < Ib; Vec = Vec,sat
where Veb is the emitter-base voltage, Vec is the emitter-collector voltage, and Ic is the collector current.
Note that for 3-state npn/pnp BJT, the base node (gate node) is a power node, and must be connected to a power
circuit component (such as a resistor or a source). It can not be connected to a gating block or a switch
controller.
Examples: Circuits Using the Linear BJT
Examples below illustrate the use of linear BJT. The circuit on the left is a linear voltage regulator circuit, and
the transistor operates in the linear mode. The circuit on the right is a simple test circuit.

NPN_1

4.2.7 Zener Diode and DIAC

4.2.7.1 Zener
A zener diode is modeled by a circuit as shown below.
Images:

82 VB Chapter 4: Power Circuit Components


Zener Circuit Model

Attributes:
Parameters Description
Breakdown Voltage Breakdown voltage VB of the zener diode, in V
Forward Threshold Threshold voltage of the forward conduction (from anode to cathode), in V
Voltage
Forward Resistance On resistance of the forward conduction, in Ohm
Current Flag Flag for the anode-cathode current for waveform display.
Voltage Flag Flag for the anode-cathode voltage for waveform display.
This zener diode model is ideal. When the zener is positively biased, it behaves as a regular diode.
When it is reverse biased, if the cathode-anode voltage Vka is less than the breakdown voltage VB, it will block
the conduction.
When the voltage Vka is greater than VB+0.005V, as long as there is current flowing through the zener diode,
the voltage Vka will be clamped to VB. If the current falls to zero, the zener is blocked againWhen 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 that 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.

4.2.7.2 DIAC
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:

Attributes:
Parameters Description
Breakover Voltage Voltage at which breakover occurs and the DIAC begins to conduct, in V

Breakback Voltage Conduction voltage drop, in V


Current Flag Flag for the device current for waveform display.
Voltage Flag Flag for the device voltage for waveform display.

4.2.8 Thyristor and TRIAC


A thyristor is controlled at turn-on. The turn-off is determined by circuit conditions.

Chapter 4: Power Circuit Components 83


A TRIAC is a device that can conduct current in both directions. It behaviors in the same way as two opposite
thyristors connected in parallel.
Images:
Thyristor TRIAC

Attributes:

Parameters Description
Voltage Drop Thyristor conduction voltage drop, in V
Holding Current Minimum conduction current below which the device stops conducting and returns to
the OFF state (for thyristor only)
Latching Current Minimum ON state current required to keep the device in the ON state after the
triggering pulse is removed (for thyristor only)
Initial Position Flag for the initial switch position (for thyristor only)
Current Flag Flag for the anode-cathode current for waveform display.
Voltage Flag Flag for the anode-cathode voltage for waveform display.
Note that for the TRIAC device, the holding current and latching current are set to zero.
There are two ways to control a thyristor or TRIAC. One is to use a gating block, and the other is to use a switch
controller. The gate node of a thyristor or TRIAC must be connected to either a gating block or a switch
controller.
The following examples illustrate the control of a thyristor switch.
Examples: Control of a Thyristor Switch

Gating Block

Alpha
Controller

This circuit on the left uses a switching gating block. The switching gating pattern and the frequency are pre-
defined, and remain unchanged throughout the simulation. The circuit on the right uses an alpha switch
controller. The delay angle alpha, in deg., is specified through the dc source in the circuit.
4.2.9 GTO
A GTO switch is a symmetrical device with both forward-blocking and reverse-blocking capabilities.
Images:

Attributes:

84 Chapter 4: Power Circuit Components


Parameters Description
Voltage Drop GTO conduction voltage drop, in V
Initial Position Initial switch position flag (0: off; 1: on)
Current Flag Flag for the anode-cathode current for waveform display.
Voltage Flag Flag for the anode-cathode voltage for waveform display.

4.2.10 Bi-Directional Switches


A bi-directional switch conducts current in both directions.
Three types of bi-directional switches are provided: single-phase switch, three-phase switch, and push button
switch.
Images:
Single switch 3-phase switch Push button switch

Attributes:

Parameters Description
Initial Position initial switch position flag (0: off; 1: on)
Current Flag Flag for the switch current for waveform display.
Voltage Flag Flag for the switch voltage for waveform display.
In the 3-phase switch image, the phase with a dot is Phase A.
For single and 3-phase bi-directional switches, they are on when the gating signal is high, and are off when the
gating signal is low, regardless of the voltage bias conditions. For the push button switch, the switch position is
set directly from the parameter input.

4.2.11 Gating Blocks


A switch gating block defines the gating pattern of a switch or a switch module. There are two elements for this
purpose in PSIM library:
• Gating Block: The gating pattern is specified directly.
• Gating Block (file): The gating pattern is specified in a text file.
Note that a switch gating block can be connected to the gate node of an ideal level switching device ONLY. It
can not be connected to any other model level or any other element.
Image:

Attributes:

Parameters Description

Chapter 4: Power Circuit Components 85


Frequency Operating frequency of the switch or switch module connected to the gating block, in
Hz
No. of Points Number of switching points (for the Gating Block element only)
Switching Points Switching points, in deg. If the frequency is zero, the switching points is in second. (for
the Gating Block element only)
File for Gating Name of the file that stores the gating table (for the Gating Block (file) element only)
Table
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 the Gating Block (file) element, 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 345 357

0 180 (deg.)

The specification of the Gating Block element for this switch will be:

Frequency 2000.
No. of Points 6
Switching Points 35. 92. 175. 187. 345. 357.

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 (file) element is used instead, the specification will be:

Frequency 2000.
File for Gating Table test.tbl
The file “test.tbl” will contain the following:
6
35.
92.
175.
187.
345.
357.
86 Chapter 4: Power Circuit Components
4.3 Transformers

4.3.1 Ideal Transformer


An ideal transformer has no losses and no leakage flux.
Images:
Ideal Transformer Ideal Transformer (inverted)

Np Ns Np Ns

The winding with the larger dot is the primary, and the other winding is the secondary.
Attributes:

Parameters Description
Np (primary) No. of turns of the primary winding
Ns (secondary) No. of turns of the secondary winding
Since the turns ratio is the same as the ratio of the rated voltages, the number of turns can be replaced by the
rated voltage at each side.

4.3.2 Single-Phase Transformers


Single-phase transformers with 1 or 2 primary windings and 1 to 6 secondary windings are provided.
Images:
2-winding 3-winding 5-winding
s 7-winding 8-winding
p p 6-winding
s s_1 s_1
t
p s_1 s_2 s_2
p_1
(Inverted) p_1
4-winding s_4 p
p s p_2
5-winding
p_1 s_1 p_2
s_4
s_1
(No Lm) p_2 s_2
p_1 s_6 s_6

p_2 s_3

In the images, p refers to primary, s refers to secondary, and t refers to tertiary. The winding marked with the
largest dot is the primary winding or first primary winding. For the multiple winding transformers, the sequence
of the windings is from the top to the bottom. For the transformers with 2 or 3 windings, the attributes are as
follows.

Attributes:

Chapter 4: Power Circuit Components 87


Parameters Description
Rp (primary); Resistance of the primary/secondary/tertiary winding, in Ohm
Rs (secondary);
Rt (tertiary)
Lp (pri. leakage); Leakage inductance of the primary/secondary/tertiary winding, in H (seen from the
Ls (sec. leakage); primary)
Lt (ter. leakage)

Lm (magnetizing) Magnetizing inductance, in H


Np (primary); No. of turns of the primary/secondary/tertiary winding
Ns (secondary);
Nt (tertiary)

All the resistances and inductances are referred to the primary winding side. If there are multiple primary
windings, they are referred to the first primary winding side.
For a transformer with more than 1 primary or more than 3 secondary windings, the attributes are as follows.
Attributes:

Parameters Description
Rp_i (primary i); Resistance of the ith primary/secondary/tertiary winding, in Ohm
Rs_i (secondary i)
Lp_i (pri. i leakage); Leakage inductance of the ith primary/secondary/tertiary winding, in H (referred to
Ls_i (sec. i leakage) the first primary winding)

Lm (magnetizing) Magnetizing inductance, in H (seen from the first primary winding)


Np_i (primary i); No. of turns of the ith primary/secondary/tertiary winding
Ns_i (secondary i)

All the resistances and inductances are referred to the first primary winding side.
Modeling of a Transformer:
A transformer is modeled as coupled inductors. For example, a single-phase two-winding transformer is
modeled as two coupled inductors. The equivalent circuit can be shown as:

Rp Lp Rs L s Np : Ns

Primary Lm Secondary

In the circuit, 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 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 is Np:Ns = 220:440. The transformer will be specified as:

Rp (primary) 2m

88 Chapter 4: Power Circuit Components


Rs (secondary) 2m
Lp (primary) 1m
Ls (secondary) 1m
Lm (magnetizing) 100m
Np (primary) 220
Ns (secondary) 440

4.3.3 3-Phase Transformers


Two-winding and three-winding transformer modules are provided, as shown below. They all have 3-leg cores.
- 3-phase transformer (windings unconnected)

- 3-phase Y/Y and Y/Δ connected transformers


- 3-phase 3-winding transformer (windings unconnected)
- 3-phase 3-winding Y/Y/Δ and Y/Δ/Δ connected transformers

- 3-phase 3-winding Y/Z1, Y/Z2, ΔZ1, and ΔZ2 phase-shifting transformers


- 3-phase 4-winding transformer (windings unconnected)
- 3-phase 6-winding transformer (windings unconnected)
-
Images:

Chapter 4: Power Circuit Components 89


Attributes for all transformers except phase-shifting transformers:

Parameters Description
Rp (primary); Rs (secondary); Resistance of the primary/secondary/tertiary winding, in Ohm
Rt (tertiary)
Lp (pri. leakage); Ls (sec. leakage); Leakage inductance of the primary/secondary/tertiary winding, in H
Lt (ter. leakage)
Lm (magnetizing) Magnetizing inductance, in H (seen from the primary side)
Np (primary); Ns (secondary); No. of turns of the primary/secondary/tertiary winding
Nt (tertiary)

Attributes for phase-shifting transformers:

Parameters Description
Rp (primary); Rs1 (secondary 1); Resistance of the primary/1st secondary/2nd secondary winding, in
Rs2 (secondary 2) Ohm

Lp (primary leakage); Ls1 Leakage inductance of the primary/1st secondary/2nd secondary


(secondary 1 leakage); Ls2 winding, in H
(secondary 2 leakage)
Lm (magnetizing) Magnetizing inductance, in H (seen from the primary side)
Np (primary); Ns1 (secondary 1); Number of turns of the primary/1st secondary/2nd secondary winding
Ns2 (secondary 2)

In the images, P refers to primary, S refers to secondary, and T refers to tertiary. All resistances and inductances
are referred to the primary or the first primary winding side.
Three-phase transformers are modeled in the same way as single-phase transformers.
For the 3-phase phase-shifting transformers, let the angle  be the phase difference between the secondary line
voltage Vab and the primary line voltage VAB. The relationship between the angle and the winding turns are:
For the Y/Z1 transformer:

90 Chapter 4: Power Circuit Components


For the Y/Z2 transformer:

For the Delta/Z1 transformer:

For the Delta/Z2 transformer:

The table below shows typical transformer turns ratios and delay angles.
Delay Angle Ns2/(Ns1+Ns2) Np/(Ns1+Ns2)*Vab/VAB
(deg) Y/Z1 Y/Z2 Δ/Z1 Δ/Z2 Y/Z1 Y/Z2 Δ/Z1 Δ/Z2
30 0 0.577
20 0.227 0.653
15 0.366 0.707
0 1 1 0 1 1 1
-15 0.366 0.366 0.707 1.225
-20 0.227 0.532 0.653 1.347
-30 0 1 1 0.577 1.732 1.732
-40 0.532 1.347
-45 0.366 1.225
-60 0 1

4.3.4 3-Phase Transformer with Saturation


A 3-phase 3-winding transformer that can take into account saturation and residual flux is provided.
Image:

a+
A- a-
B+
B- b-
C+ c+
C- c-
en

Chapter 4: Power Circuit Components 91


Attributes:

Parameters Description
Operating Voltage Transformer primary side rms voltage per phase under the circuit operating
(phase) condition, in V
Operating Frequency Operating frequency of the transformer, in Hz
Rp (primary) Resistance of the primary winding, in Ohm
Lp (pri. leakage) Leakage inductance of the primary winding, in H
Rs (secondary) Resistance of the secondary winding, in Ohm (referred to the primary side)
Ls (sec. leakage) Leakage inductance of the secondary winding, in H (referred to the primary side)
Rm (core losses) Resistance that represents transformer core losses, in Ohm
Im vs. Lm Values of the magnetizing current Im (in A) vs. the magnetizing inductance Lm (in
H) that defines the magnetizing characteristics seen from the primary winding
Phase A Residual Flux Phase A residual flux, in per unit value
Phase B Residual Flux Phase B residual flux, in per unit value
Phase C Residual Flux Phase C residual flux, in per unit value
Np (primary) Number of turns of the primary winding
Ns (secondary) Number of turns of the secondary winding

All the resistances and inductances are referred to the primary side.
In the images, p refers to the primary side and s refers to the secondary side. The node en is a control node, to be
connected to a control logic signal. The moment when the signal changes from 0 to 1 indicates the moment that
the transformer is energized.
Note that the operating voltage refers to the voltage per phase in the actual operating condition, not necessarily
the rated voltage. For example, if a transformer rated at 63kV (primary side line-to-line rms) operates under the
rated condition, and if the primary winding is connected in Y, the operating voltage per phase will be 63,000/
3 V. If the primary winding is connected in delta, the operating voltage per phase will be 63,000V. If the same
transformer is connected in delta but the actual operating voltage is only 60,000V, for example, the operating
voltage per phase will be 60,000V instead.

92 Chapter 4: Power Circuit Components


4.4 Magnetic Elements
A set of magnetic elements, including winding, leakage flux path, air gap, linear core, and saturable core, is
provided to model magnetic devices. These elements are the basic building blocks of magnetic equivalent
circuits, and they provide a very powerful and convenient way of modeling any types of magnetic devices.
Different unit systems have been used in the magnetic circuit analysis. The table below shows magnetic
quantities in the SI (System International) and the mixed CGS (Centimeter Gram Second) unit systems, and
their conversion.

Quantity SI Unit CGS Unit CGS-SI Conversion


Flux  Weber Maxwell 1 Weber = 108 Maxwell
Flux Density B Tesla Gauss 1 Tesla = 104 Gauss
1 A*Turns/m = ---4--------- Oersted
Field Intensity H A*Turns/m Oersted 1000
4
Magnetomotive Force (mmf) F A*Turns Gilbert 1 A*Turns = ----- Gilbert
-
10
Permeability  (in space) 4*10-7 1 4*10-7

4.4.1 Winding
A winding element provides the interface between the electric circuit and the magnetic equivalent circuit.
Image:
M1
E1

E2
M2

Attributes:

Parameters Description
Number of Turns No. of turns of the winding
Winding Resistance Winding resistance, in Ohm
This element represents a winding on a magnetic core. The two electric nodes (E1 and E2) are connected to an
electric circuit, while the two magnetic nodes (M1 and M2) are connected to other magnetic elements (such as
leakage flux path, air gap, and magnetic core).

4.4.2 Leakage Flux Path


This element models the flow path of the leakage flux.
Image:

M1 M2

Chapter 4: Power Circuit Components 93


Attributes:

Parameters Description
Inductance Factor AL Inductance factor AL, in H, defined as the inductance per turn squared
Resistance for Losses Resistance R, in Ohm, that represents the losses due to the leakage flux.
Current Flag Display flag of the current that flows through the resistor R
The resistance R represents the losses due to the leakage flux.
Assuming that the mmf (magnetomotive force) applied across the leakage flux path is F, the electric equivalent
circuit of the leakage flux path is as follows:

+ AL

F
R
-

The mmf, in the form of a voltage source, applies across the capacitor (the capacitance is AL) and the resistor R.
Let the current flowing through this branch be i, and the rms value be Irms, the relationship between the losses
due to the leakage flux and the resistance R is:
Ploss = I2rms · R

4.4.3 Air Gap


The image and attributes of an air gap element are as follows.
Image:

M1 M2

The input parameters of the air gap can be defined in two ways. One is to define the air gap length and the cross
section area, and the other is to define the inductance factor AL. They are as follows.
Attributes for Air Gap:

Parameters Description
Air Gap Length The length of the air gap, lg, in m

Cross Section Area Cross section of the air gap, Ac, in m2


Resistance for Losses Resistance R, in ohm, that represents the losses due to the air gap fringing effect
Current Flag Display flag of the current that flows through the resistor R
Attributes for Air Gap (AL):

Parameters Description
Inductance Factor AL Inductance factor AL, in H, defined as the inductance per turn squared
Resistance for Losses Resistance R, in ohm, that represents the losses due to the air gap fringing effect
Current Flag Display flag of the current that flows through the resistor R

94 Chapter 4: Power Circuit Components


The resistance R represents the losses due to the air gap fringing effect. Assuming that the mmf (magnetomotive
force) applied across the air gap is F, the electric equivalent circuit of the air gap is as follows:

+ i
AL

F
R
-

The mmf, in the form of a voltage source, applies across the capacitor (the capacitance has the value of the
inductance factor AL) and the resistor R. For the element Air Gap, the inductance factor can be calculated from
the air gap length and the cross section area as:

where o= 4−


The losses on the resistor represents the losses due to the fringing effect, which can be expressed as:
Ploss = I2rms · R

where Irms is the rms value of the current i flowing through the resistor.

4.4.4 Linear Core


This element represents a linear loss less core.
Image:

M1 M2

Attributes:

Parameters Description
Inductance Factor AL Inductance factor AL of the core, in H, defined as the inductance per turn squared

If the length of the core is Llength and the cross section area is Ac, the inductance factor AL is expressed as:

where r is the relative permeability of the core material.

4.4.5 Saturable Core


This element models a magnetic core with saturation and hysteresis.
Image:
C1
M1 M2

Chapter 4: Power Circuit Components 95


Attributes:

Parameters Description
Inductance Factor AL Inductance factor AL of the core, in H, defined as the inductance per turn squared
Resistance for Losses Resistance R, in Ohm, that represents the core losses
Coefficient phi_sat Coefficient sat for the core B-H curve, in Weber
Coefficient K1 Coefficient K1 for the core B-H curve
Coefficient Kexp1 Coefficient Kexp1 for the core B-H curve
Coefficient K2 Coefficient K2 for the core B-H curve
Coefficient Kexp2 Coefficient Kexp2 for the core B-H curve
Initial Flux phi_o Initial flux o of the core, in Weber
Current Flag Display flag of the electric current that flows through the resistor R. If the rms value
of the current is Irms, the core losses can be calculated as: Pcore_loss = I rms2 * R.

In the element image, the nodes M1 and M2 are the two nodes that connect the core to other magnetic elements
(such as winding, flux leakage path, air gap, etc.). The node marked with a dot is Node M2. Node C1 is a control
output node, which shows the flux (in Weber) flowing through the core, from Node M2 to M1.
The initial flux of the core, o, is the flux flowing from Node M2 to M1 at the beginning, corresponding to the
field intensity H = 0. The initial flux density Bo can be calculated as: Bo = o/Ac (where Ac is the core cross
section area), and the initial mmf Fo is: Fo = o/AL.
A differential voltage probe connected between Node M2 to M1 will measure the mmf (in ampere*turn) applied
to the core.
The coefficients sat, K1, Kexp1, K2, and Kexp2 are used to fit the B-H curve of an actual magnetic material. A
good initial guess of sat is the maximum flux of the B-H curve in deep saturation. To calculate this flux,
multiply the corresponding flux density B by the cross section area of the core. Coefficient K1 usually varies
between 0.7 and 1, depending on the core material. Coefficient Kexp1 mainly affects the rate of the core
saturation, and is in the range between 10 and 200 (10 for low permeability ferrite, and 200 for metglas).
The coefficients K2 and Kexp2 are used in very rare occasions, such as for ferroresonant regulators. They are
normally set as follows to keep them from affecting the B-H curve:
K2 > 2
Kexp2 > 20
A tutorial on how to define the core coefficients is provided in the "doc" sub-folder in the PSIM directory. Also,
a program is provided to plot the B-H curve of the core given a set of coefficients. To launch this program, in
PSIM, go to Utilities >> B-H Curve.

96 Chapter 4: Power Circuit Components


4.5 Other Elements

4.5.1 Operational Amplifier


Two types of operational amplifier (op. amp.) models are provided: ideal op. amp. model, and non-ideal op.
amp. model (Level-1 model).
Note that the ideal op. amp. model works in the negative feedback mode but does not work in the positive
feedback mode. The non-ideal op. amp. model does not have such a restriction.

4.5.1.1 Ideal Operational Amplifier


Three ideal op. amp. elements are provided: Op. Amp., Op. Amp. (ground), and Op. Amp. (ground/inverted). An
ideal op. amp. is modelled using power circuit elements, as shown below.
Images:
Op. Amp. Op. Amp. (ground) Op. Amp. (ground/inverted)
V- V+
V-
Vo Vo Vo
V+ V+ V-
gnd

Circuit Model of the Op. Amp. Vo

V+ Ro

V- Ao*(V+ - V-)

gnd

where
V+; V- - noninverting and inverting input voltages
Vo - output voltage
Ao - op. amp. dc gain (Ao is set to 100,000.)
Ro - output resistance (Ro is set to 80 Ohms)

Attributes:

Parameters Description
Voltage Vs+ Upper voltage source level of the op. amp.
Voltage Vs- Lower voltage source levels of the op. amp.
The difference between the element Op. Amp. and Op. Amp. (ground) or Op. Amp. (ground/inverted) is that, for
the Op. Amp. element, the reference ground of the op. amp. model is connected to the power ground, whereas
for Op. Amp. (ground) or Op. Amp. (ground/inverted), the reference ground node of the model is accessible and
can be floating.
Note that the image of an op. amp. is similar to that of a comparator. For the op. amp., the inverting input is at
the upper left and the noninverting input is at the lower left. For the comparator, it is the opposite.
Example: A Boost Power Factor Correction Circuit
The figure below shows a boost power factor correction circuit. The PI regulators of both the inner current loop
and the outer voltage loop are implemented using op. amp.

Chapter 4: Power Circuit Components 97


4.5.1.2 Non-Ideal Operational Amplifier
As compared to the ideal op. amp. model, the non-ideal op. amp. model, also referred to as Level-1 op. amp.
model, includes the following characteristics in the model:
- Op. amp. bandwidth
- Output current limit
The non-ideal op. amp. is modelled using power circuit elements, and similar to the ideal op. amp., is treated as
a power element in PSIM.
Two non-ideal op. amp. elements are provided: Op. Amp. (level-1) and Op. Amp. (ground) (level-1). The
difference between these two elements is that, for Op. Amp. (level-1), the reference ground of the op. amp.
model is connected to the power ground, whereas for Op. Amp. (ground) (level-1), the reference ground node of
the model is accessible and can be floating.
The non-ideal op. amp. images have the number "1" at the upper right corner, as shown below.
Images:

Attributes:
Parameters Description
Input Resistance Rin Input resistance of the op. amp., in Ohm
DC Gain Ao DC gain of the op. amp.
Unit Gain Frequency Frequency at which the op. amp. gain is 1, in Hz.
Output Resistance Ro Output resistance of the op. amp., in Ohm
Maximum Output Maximum current that the op. amp. output can provide, in A
Current
Voltage Vs+ Upper voltage source level of the op. amp.
Voltage Vs- Lower voltage source levels of the op. amp.
The figure below shows the definition of the dc gain Ao and the unit gain frequency.

98 Chapter 4: Power Circuit Components


Open-Loop
Gain Av Ao
(dB)
Unit gain frequency

0
f (Hz)

4.5.2 Opto-Couplers
There are two models of opto-couplers: Opto-Coupler and Opto-coupler (bi-directional). The images and
parameters are shown below.
Image:

Opto-Coupler Opto-Coupler (bi-directional)

id id ic
ic

Attributes:

Parameters Description
Current Transfer Ratio The current transfer ratio CTR between the transistor current ic and the diode
current id, that is, CTR = ic/id.
Diode Resistance Diode resistance Rd, in Ohm. Note that the resistance must be greater than 0.
Diode Threshold The forward diode threshold voltage Vd_th, in V
Voltage
Transistor Vce_sat The transistor saturation voltage Vce_sat, in V
Transistor-side Capacitance Cp across the collector and emitter of the transistor, in F
Capacitance
These parameters can either be read directly from the manufacturer datasheet, or can be calculated from the
datasheet information. Take the Motorola optocoupler 4N25 as an example. From the datasheet, we can read the
current transfer ratio and the transistor saturation voltage as:
CTR = 70% = 0.7; Vce_sat = 0.15 V
From the "LED Forward Voltage versus Forward Current" characteristics on the datasheet, one can calculate
the diode resistance Rd and the threshold voltage Vd_th. We assume that the diode forward voltage is
approximated by a straight line. That is,
vd = Vd_th + Rd * id

With TA = 25oC, we can obtain two readings from the curve: id = 10 mA and vd = 1.15 V; id = 40 mA and vd =
1.3 V. Based on these two points, we can calculate Rd and Vd_th as: Rd = 5 Ohm; Vd_th = 1.1 V.
The optocoupler model does not take into account the delay, but it does model the turn-on/turn-off transient
through the capacitor Cp across the collector and emitter of the transistor. The capacitance value can be obtained
from the fall time tfall and the switching time test condition as:

Chapter 4: Power Circuit Components 99


where RL is the load resistor in the switching time test circuit. For 4N25, for example, from the datasheet, we
can obtain: tfall = 1.3 s, and RL = 100 Ohm. The capacitance is calculated as: Cp = 6 nF.

4.5.3 TL431 Shunt Regulator


The image of the TL431 shunt regulator is shown as below.
Image:

Cathode

Reference

Anode

The TL431 regulator maintains the reference node voltage to be around 2.495V. In this model, the limited
bandwidth of the TL431 is modelled. That is, the ac frequency response of the TL431 model resembles the
following figure from the datasheet.

Test Circuit

4.5.4 dv/dt Block


A dv/dt block has the same function as the differentiator in the control circuit, except that it is for the power
circuit.
Image:

The output of the dv/dt block is equal to the derivative of the input voltage versus time. It is calculated as:

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.

100 Chapter 4: Power Circuit Components


4.5.5 Relays
Two relay blocks with one normally open (NO) switch and one normally closed (NC) switch are provided.

Images:

Relay (1 NO 1 NC) Relay (1 NO 1 NC changeover)

Attributes:

Parameters Description
Rated Coil Voltage Rated voltage of the relay coil, in V
Coil Resistance Resistance of the coil, in Ohm
Operate Voltage Voltage at which the relay will operate, in V
Release Voltage Voltage at which the relay will return to the default position, in V
Operate Time Time from the moment the operate voltage is reached to the moment the switches
operate, in sec.
Release Time Time from the moment the release voltage is reached to the moment the switches
return to the default positions, in sec.
The relays have one normally open switch and one normally closed switch. When a dc voltage is applied to the
relay coil in the polarity as shown in the image, if the voltage reaches the Operate Voltage, after a time delay
defined by the Operate Time, the NO switch will be closed, and the NC switch will be opened.
When the coil voltage reduces to the Release Voltage, after a time delay defined by the Release Time, the two
switches will return to their default positions.

Chapter 4: Power Circuit Components 101


4.6 Motor Drive Module
The Motor Drive Module is an add-on module to the basic PSIM program. It provides machine models and
mechanical load models for motor drive system studies.
The Motor Drive Module includes electric machines as described in this section, and mechanical elements and
speed/torque/position sensors as described in Section 4.9.

4.6.1 Reference Direction of Mechanical Systems


In a motor drive system, in order to formulate equations for the mechanical system, a position notation needs to
be defined. Take the following motor drive system as an example:

The system consists of two induction machines, IM1 and IM2, connected back-to-back. One operates as a
motor, and the other as a generator. From the point of view of the first machine IM1, the mechanical equation
can be written as:

where J1 and J2 are the moment of inertia, and Tem1 and Tem2 are the developed torques of the machine IM1 and
IM2, respectively.
From the point of view of the second machine IM2, however, the mechanical equation can be written as

These two equations are equally valid, but will produce opposite mechanical speed.
In order to avoid this ambiguity, in PSIM, the concept "reference direction" is used in the mechanical system so
that the mechanical equation can be uniquely defined.
In a mechanical system, one element is designated as the master unit (this element is considered to operate in
the master mode), and the rest of the elements are in the slave mode. Elements that can be master units are:
Electric machines, mechanical-to-electrical interface blocks, and gear boxes.
The master unit defines the reference direction of the mechanical system. The direction is define as the direction
from the shaft node of the master unit, along the shaft, to the rest of the mechanical system.
Once the reference direction of the mechanical system is defined, the speed and torque reference of the
mechanical system can be defined. For example, if we use the right-hand method, with the thumb pointing in
the reference direction of the mechanical system, by rotating the right hand, the fingers will point to the positive
direction of the speed and the torque.
Moreover, each mechanical element has its own reference direction. The following diagram shows the reference
direction of each mechanical element, as indicated by the arrow:

102 Chapter 4: Power Circuit Components


Mechanical Loads:

Speed Sensor: Torque Sensor: Gear Box:


Interface Block:

The reference direction of each element and the reference direction of the overall mechanical system determine
how the element interacts with the mechanical system.
For example, if the reference direction of a machine is along the same direction as the reference direction of the
mechanical system, the developed torque of the machine will contribute to the shaft rotation in the positive
direction. However, if the reference direction of the machine is opposite to that of the mechanical system, the
developed torque will contribute to the shaft rotation in the negative direction.
In the two-machine example above, using the notation of the "reference direction", if we define the machine
IM1 as the master unit, the reference direction of the overall mechanical system will be from left to right, as
shown below. Based on this direction, the machine IM1 will be along the reference direction, and the machine
IM2 will be opposite to the reference direction. This leads to the equivalent circuit of the mechanical system as
shown on the right.

Equivalent Circuit

Reference direction
Master Unit (J1+J2)*dWm/dt = Tem1 - Tem2

Similarly, if we define the machine IM2 as the master unit, the reference direction of the overall mechanical
system will be from right to left, as shown below. Based on this direction, the machine IM1 will be opposite to
the reference direction, and the machine IM2 will be along the reference direction. This leads to the equivalent
circuit of the mechanical system as shown on the right.

Master Unit
Equivalent Circuit

Reference direction
(J1+J2)*dWm/dt = Tem2 - Tem1

The following shows another mechanical system with sensors and loads connected in different ways.

Chapter 4: Power Circuit Components 103


Reference direction of the mechanical system
Unit

Load 1 Torque Load 2 Torque


TL1 Sensor 1 Sensor 1 TL2 Sensor 2 Sensor 2

In this mechanical system, the machine on the left is the master unit. The reference direction of the mechanical
system is from left to the right along the mechanical shaft. Comparing this direction with the reference direction
of each element, Load 1, Speed Sensor 1, and Torque Sensor 1, will be along the reference direction, and Load
2, Speed Sensor 2, and Torque Sensor 2 will be opposite to the reference direction of the mechanical system.
Therefore, if the speed of the machine is positive, Speed Sensor 1 reading will be positive, and Speed Sensor 2
reading will be negative.
Similarly, the two constant-torque mechanical loads, with the amplitudes of TL1 and TL2, interact with the
machine in different ways. Load 1 is along the reference direction, and the loading torque of Load 1 to the
master machine will be TL1. On the other hand, Load 2 is opposite to the reference direction, and the loading
torque of Load 2 to the machine will be -TL2.

4.6.2 Induction Machines


Linear and nonlinear models are provided for squirrel-cage and wound-rotor induction machines. The linear
model is further divided into general type and symmetrical type.

4.6.2.1 Linear Induction Machines


This section describes the linear models.
The following linear models are provided:
- 3-phase squirrel-cage induction machine (Y-connected, without neutral)
- 3-phase squirrel-cage induction machine (Y-connected, with neutral)
- 3-phase squirrel-cage induction machine (windings unconnected)
- 3-phase squirrel-cage induction machine (high-frequency)
- 3-phase squirrel-cage induction machine (with mechanical load)
- 3-phase wound-rotor induction machine (Y-connected)
- 3-phase wound-rotor induction machine (windings unconnected)
The images and parameters are shown as follows.
Images:

Squirrel-cage Squirrel-cage (neutral) Squirrel-cage (unconnected)

104 Chapter 4: Power Circuit Components


Squirrel-cage (with load) Wound-rotor (unconnected)

The squirrel-cage induction machine (with load) has various types of mechanical load included in the block.
The node nm is a control node that provides the mechanical speed in rpm. The node Tq is a control node that
provides the torque sensor output in N*m. The torque sensor is placed between the machine and the load. For
load parameter definitions, refer to each mechanical load.
Attributes for the Induction Machine:

Parameters Description
Rs (stator) Stator winding resistance, in Ohm
Ls (stator) Stator winding leakage inductance, in H
Rr (rotor) Rotor winding resistance referred to the stator side, in Ohm
Lr (rotor) Rotor winding leakage inductance referred to the stator side, in H
Lm (magnetizing) Magnetizing inductance, in H
Ns/Nr Turns Ratio Stator and rotor winding turns ratio (for wound-rotor machine only)
No. of Poles Number of poles P of the machine (an even integer)
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Torque Flag Output flag for internal torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
Additional attributes for the Induction Machine (high frequency):

Parameters Description
Cg (winding-ground) Capacitance representing the winding-to-ground distributed capacitance, in F
Rg (winding-ground) Resistance representing the dissipative effect in the motor frame, in Ohm
Re (eddy current) Resistance representing the eddy current effect in the magnetic core and the motor
frame, in Ohm
Rt (skin effect) Resistance representing the skin effect for high frequency response, in Ohm
Lt (skin effect) Inductance representing the skin effect for high frequency response, in H
Ct (skin effect) Capacitance representing the skin effect for high frequency response, in F

All the parameters are referred to the stator side.


For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The models of the squirrel-cage induction machine with and without the neutral are the same internally.
The operation of a 3-phase induction machine is described by the following equations:

Chapter 4: Power Circuit Components 105


where,

For squirrel-cage machines, va,r = vb,r = vc,r= 0. The parameter matrices,are defined as:

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:

The mechanical equation is expressed as:

For a symmetrical squirrel-cage induction machine, the steady state equivalent circuit is shown below. In the
figure, s is the slip.

Rs Lr

Lm Rr(1-s)/s

106 Chapter 4: Power Circuit Components


4.6.2.2 Induction Machine with Saturation
Two models of induction machines with saturation are provided:
- 3-phase squirrel-cage induction machine
- 3-phase wound-rotor induction machine
Images:
Squirrel-cage (nonlinear) Wound-rotor (nonlinear)

Attributes:

Parameters Description
Rs (stator) Stator winding resistance, in Ohm
Ls (stator) Stator winding leakage inductance, in H
Rr (rotor) Rotor winding resistance referred to the stator side, in Ohm
Lr (rotor) Rotor winding leakage inductance referred to the stator side, in H
Ns/Nr Turns Ratio Stator and rotor winding turns ratio (for wound-rotor machine only)
No. of Poles Number of poles P of the machine (an even integer)
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Torque Flag Output flag for internal torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
Im vs. Lm (Im1,Lm1) ... Characteristics of the magnetizing current Im versus the magnetizing inductance
[(Im1,Lm1) (Im2,Lm2) ...] where Im is in A and Lm is in H.

All the parameters are referred to the stator side.


For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The operation of a 3-phase induction machine with saturation is described by the following equations:

Where,

Chapter 4: Power Circuit Components 107


In this case, the inductance Msr is no longer constant, but a function of the magnetizing current Im. The
magnetizing current Im and inductance Lm are defined by a series of data points in pair, for example, "(0, 0.041)
(5, 0.035) (20, 0.03)". Between two data points, the inductance Lm is interpolated linearly. When the
magnetizing current is less than the minimum or greater than the maximum, the inductance will be clamped to
the value at the first point or the last point.

4.6.2.3 Induction Machine Include High Frequency Effects


The induction machine including high frequency effects is modelled as below:
Images:

Attributes:

Parameters Description
Rs (stator) Stator winding resistance, in Ohm
Ls (stator) Stator winding leakage inductance, in H
Rr (rotor) Rotor winding resistance referred to the stator side, in Ohm
Lr (rotor) Rotor winding leakage inductance referred to the stator side, in H
No. of Poles Number of poles P of the machine (an even integer)
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Cg (winding-ground) Capacitance representing the winding-to-ground distributed capacitance, in F
Rg (winding-ground) Resistance representing the dissipative effect in the motor frame, in Ohm
Re (eddy current) Resistance representing the eddy current effect in the magnetic core and the motor
frame, in Ohm
Rt (skin effect) Resistance representing the skin effect for high frequency response, in Ohm

108 Chapter 4: Power Circuit Components


Lt (skin effect) Inductance representing the skin effect for high frequency response, in H
Ct (skin effect) Capacitance representing the skin effect for high frequency response, in F
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
All the parameters are referred to the stator side.
The machine model is symmetrical and stator windings are connected in Y. The equations that describe the
machine operations in the low-frequency region are the same as the linear induction machines.

4.6.3 DC Machine
The image and parameters of a dc machine are as follows:
Image:

Armature
Shaft Node
Winding
-

+
Field
Winding
-

Attributes:

Parameters Description
Ra (armature) Armature winding resistance, in Ohm
La (armature) Armature winding inductance, in H
Rf (field) Field winding resistance, in Ohm
Lf (field) Field winding inductance, in H
Moment of Inertia Moment of inertia of the machine, in kg*m2
Vt (rated) Rated armature terminal voltage, in V
Ia (rated) Rated armature current, in A
n (rated) Rated mechanical speed, in rpm
If (rated) Rated field current, in A
Torque Flag Output flag for internal torque Tem
Master/Slave Flag The master/slave flag of the machine (1: master; 0: slave)
When the torque flag is set to 1, the internal torque generated by the machine will be saved to the output file for
display.
For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The operation of a dc machine is described by the following equations:

Chapter 4: Power Circuit Components 109


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:

where Laf is the mutual inductance between the armature and the field windings. It can be calculated based on
the rated operating conditions as:

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
Armature current

Constant-
Torque
Load Speed (in rpm)

4.6.4 Brushless DC Machine


A 3-phase brushless dc machine is a type of permanent magnet synchronous machine with trapezoidal waveform
back emf. It has 3-phase windings on the stator, and permanent magnet on the rotor.
The image of the 3-phase brushless dc machine is shown below. Two types of parameter inputs are provided:
One based on machine model parameters, and the other based on manufacturer datasheet information.

110 Chapter 4: Power Circuit Components


Image:

b Shaft Node

sa sb sc
6-pulse Hall Effect Position Sensor

Attributes based on machine model parameters:

Parameters Description
R (stator resistance) Stator phase resistance R, in Ohm
L (stator self ind.) Stator phase self inductance L, in H
M (stator mutual ind.) Stator mutual inductance M, in H
The mutual inductance M is a negative value. Depending on the winding
structure, the ratio between M and the stator self inductance L is normally
between -1/3 and -1/2. If M is unknown, a reasonable value of M equal to -0.4*L
can be used as the default value.
Vpk / krpm Peak line-to-line back emf constant, in V/krpm (mechanical speed)
Vrms / krpm RMS line-to-line back emf constant, in V/krpm (mechanical speed).
The values of Vpk/krpm and Vrms/krpm should be available from the machine
data sheet. If these values are not available, they can be obtained through
experiments by operating the machine as a generator at 1000 rpm and measuring
the peak and rms values of the line-to-line voltage.
No. of Poles P Number of poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Shaft Time Constant Shaft time constant shaft
theta_0 (deg.) Initial rotor angle r, in electrical deg.
The initial rotor angle is the rotor angle at t=0. The zero rotor angle position is
defined as the position where Phase A back emf crosses zero (from negative to
positive) under a positive rotation speed.
theta_advance (deg.) Position sensor advance angle advance, in electrical deg.
The advance angle is defined as such that, for a brushless dc machine with a 120o
trapezoidal back emf waveform, if the advance angle is 0, the leading edge of the
Phase A hall effect sensor signal will align with the intersection of the rising
ramp and the flat-top of the back emf trapezoidal waveform.
Conduction Pulse Width Position sensor conduction pulse width, in electrical deg.
Positive conduction pulse can turn on the upper switch and negative pulse can
turn on the lower switch in a full bridge inverter. The conduction pulse width is
120 electrical deg. for 120o conduction mode.
Torque Flag Output flag for internal developed torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)

Chapter 4: Power Circuit Components 111


Attributes based on manufacturer datasheet information:

Parameters Description
Resistance (phase-phase) Phase-to-phase (or line-to-line) resistance, in Ohm
Inductance (phase-phase) Phase-to-phase (or line-to-line) inductance, in H
Speed Constant Speed constant Kv, defined as the ratio between the speed and the applied voltage,
in rpm/V
Torque Constant Torque constant Kt, defined as the ratio between the generated torque and the
applied current, in N*m/A
No. of Poles P Number of poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
No Load Speed The motor speed at no load with the nominal voltage applied, in rpm
No Load Current The current under no load operation, in A
Torque Flag Output flag for internal developed torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
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.
Node sa, sb, and sc are the outputs of the built-in 6-pulse hall effect position sensors for Phase A, B, and C,
respectively. The sensor output is a bipolar commutation pulse (1, 0, and -1). The sensor output nodes are all
control nodes and should be connected to the control circuit.
For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The equations of the 3-phase brushless dc machine are:

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:

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 hall effect sensor signal
Sa.

112 Chapter 4: Power Circuit Components


Sa
pk

o
360
-Kpk

where Kpk is the peak trapezoidal value, in V/(rad./sec.), which is defined as:

Given the values of Vpk/krpm and Vrms/krpm, the angle  is determined automatically in the program.
The developed torque of the machine is:
T em =(Ea  ia + Eb  ib + Ec  ic )  m
The mechanical equations are:

where B is the friction coefficient, Tload is the load torque, and P is the number of poles. The coefficient B is
calculated from the moment of inertia J and the shaft time constant shaft as below:

The shaft time constant shaft, therefore, reflects the effect of the friction and windage of the machine. Note that
when the shaft time constant is set to 0, the friction term is B*m is ignored.
To better understand the definition of the shaft time constant, we can represent the mechanical equation with the
following equivalent circuit:

m

1/B Tload
(or shaft/J)

This circuit shows that the shaft time constant shaft is equal to the RC time constant of the resistor 1/B and the
capacitor J. Therefore, the shaft time constant can be measured by the following test:
- Connect the machine to an external mechanical source. With the stator side in open circuit, drive the
machine to a certain speed.
- Remove the mechanical source. The shaft time constant will be equal to the time that it takes the
machine to decelerate to 36.8% of its initial speed.
More Explanation on the Hall Effect Sensor:
A hall effect position sensor consists of a set of hall switches and a set of trigger magnets.
The hall switch is a semiconductor switch (e.g. MOSFET or BJT) that opens or closes when the magnetic field
is higher or lower than a certain threshold value. It is based on the hall effect, which generates an emf
proportional to the flux-density when the switch is carrying a current supplied by an external source. It is
Chapter 4: Power Circuit Components 113
common to detect the emf using a signal conditioning circuit integrated with the hall switch or mounted very
closely to it. This provides a TTL-compatible pulse with sharp edges and high noise immunity for connection to
the controller via a screened cable. For a three-phase brushless dc motor, three hall switches are spaced 120
electrical deg. apart and are mounted on the stator frame.
The set of trigger magnets can be a separate set of magnets, or it can use the rotor magnets of the brushless
motor. If the trigger magnets are separate, they should have the matched pole spacing (with respect to the rotor
magnets), and should be mounted on the shaft in close proximity to the hall switches. If the trigger magnets use
the rotor magnets of the machine, the hall switches must be mounted close enough to the rotor magnets, where
they can be energized by the leakage flux at the appropriate rotor positions.
Example: Defining Brushless DC Motor Parameters from Manufacturer Datasheet
This example illustrates how to define brushless dc motor parameters from manufacturer datasheet. Below is
the information provided on the datasheet of the brushless dc motor Maxon EC-22-16730 (32V, 50W) from
Maxon Motor.
Values at nominal voltage
Nominal voltage (V)32
No load speed (rpm)38700
No load current (mA)327
Characteristics
Terminal resistance phase to phase (Ohm)0.363
Terminal inductance phase to phase (mH)0.049
Torque constant (mNm/A)7.85
Speed constant (rpm/V)1220
Rotor inertia (gcm2)4.2
Other specifications:
Number of pole pairs1
Number of phases3
Using the element based on manufacturer datasheet information, and after converting all the quantities to the SI
units, the motor parameters in PSIM are defined as follows:
Resistance (phase-phase) 0.363
Inductance (phase-phase) 0.049m
Speed Constant 1220
Torque Constant 7.85m
No. of Poles P 2
Moment of Inertia 4.2e-7
No Load Speed 38700
No Load Current 327m
Torque Flag 1
Master/Slave Flag 1

Example: Start-Up of an Open-Loop Brushless DC Motor


The figure below shows an open-loop brushless dc motor drive system. The motor is fed by a 3-phase voltage
source inverter. The outputs of the motor hall effect position sensors are used as the gatings signals for the
inverter, resulting in a 6-pulse operation.
The simulation waveforms show the start-up transient of the mechanical speed (in rpm), developed torque Tem,
and 3-phase input currents.

114 Chapter 4: Power Circuit Components


Brushless DC Motor

Speed

Tem

3-phase currents

4.6.5 Synchronous Machine with External Excitation


The structure of a conventional synchronous machine consists of three stator windings, one field winding on
either a salient or cylindrical rotor, and an optional damping winding on the rotor.
Depending on the way the internal model interfaces with the external stator circuitry, there are two types of
interface: one is the voltage-type interface, and the other is the current-type interface. The model for the
voltage-type interface consists of controlled voltage sources on the stator side, and this model is suitable in
situations where the machine operates as a generator and/or the stator external circuit is in series with inductive
branches. On the other hand, The model for the current-type interface consists of controlled current sources on
the stator side, and this model is suitable in situations where the machine operates as a motor and/or the stator
external circuit is in parallel with capacitive branches.
The image and parameters of the machine are shown as follows.
Image:

c
n

field+ field-

Attributes:

Parameters Description
Rs (stator) Stator winding resistance, in Ohm
Ls (stator) Stator leakage inductance, in H
Ldm (d-axis mag. ind.) d-axis magnetizing inductance, in H
Lqm (q-axis mag. ind.) q-axis magnetizing inductance, in H.
Rf (field) Field winding resistance referred to the stator side, in Ohm
Lfl (field leakage ind.) Field winding leakage inductance referred to the stator side, in H
Rdr (damping cage) Rotor damping cage d-axis resistance referred to the stator side, in Ohm

Chapter 4: Power Circuit Components 115


Ldrl (damping cage) Rotor damping cage d-axis leakage inductance referred to the stator side, in H
Rqr (damping cage) Rotor damping cage q-axis resistance referred to the stator side, in Ohm
Lqrl (damping cage) Rotor damping cage q-axis leakage inductance referred to the stator side, in H
Ns/Nf (effective) Stator-field winding effective turns ratio
Number of Poles P Number of Poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Torque Flag Output flag for internal developed torque Tem
Master/slave Flag Master/slave flag of the machine (1: master; 0: slave)
All the parameters are referred to the stator side.
For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The equations of the synchronous machine can be expressed as follows:

Where

In the expression, Rfr, Rdrr, and Rqrr are the resistances of the field winding and damping winding in real
values, and [ = [L]*[I]. The inductance matrix is defined as follows:

and

where r is the electrical rotor angle

116 Chapter 4: Power Circuit Components


The developed torque can be expressed as:

The mechanical equations are:


d m
J = Tem − Tload
dt
d r P
= m
dt 2
The input parameters and the parameters in the equations are related in the following way:
L dm =1.5  (L o + L2 )
L qm =1.5  (L o – L2 )
L fl = Lf – L dm
L qrl = L qr – L qm

L drl = L dr – L dm

4.6.6 Permanent Magnet Synchronous Machine (PMSM)


The difference between PMSM and the brushless dc machine is that the machine back emf is sinusoidal.
The following PMSM models are provided:
- PMSM: PMSM (current-type interface)
- PMSM (V): PMSM (voltage-type interface)
- PMSM (with load): PMSM with mechanical load
- PMSM (high frequency): PMSM with high frequency effect
- PMSM (high frequency) (V):PMSM with high frequency effect (voltage-type interface)
- PMSM (nonlinear): PMSM with saturation
- PMSM (spatial harmonics): PMSM with spatial harmonics
- 6-phase PMSM: 6-phase PMSM

4.6.6.1 PMSM Linear


The 3-phase PMSM models with and without load are shown below.
Images:

The PMSM (with load) has various types of mechanical load included in the block. The node nm is a control
node that provides the mechanical speed in rpm. The node Tq is a control node that provides the torque sensor
output in N*m. The torque sensor is placed between the machine and the load. For load parameter definitions,
refer to each mechanical load
.
Chapter 4: Power Circuit Components 117
Attributes:

Parameters Description
Rs (stator resistance) Stator winding resistance, in Ohm

Ld (d-axis ind.) Stator d-axis inductance, in H


Lq (q-axis ind.) Stator q-axis inductance, in H. The d-q coordinate is defined such that the d-axis
passes through the center of the magnet, and the q-axis is in the middle between two
magnets. The q-axis is leading the d-axis.
Vpk / krpm Peak line-to-line back emf constant, in V/krpm (mechanical speed).
The value of Vpk/krpm should be available from the machine data sheet. If this data
is not available, it can be obtained through an experiment by operating the machine
as a generator at 1000 rpm and measuring the peak line-to-line voltage.
No. of Poles P Number of poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Shaft Time Constant Shaft time constant shaft
Initial Rotor Angle Initial rotor electrical angle, in deg.
Torque Flag Output flag for internal developed torque Tem
Master/slave Flag Master/slave flag of the machine (1: master; 0: slave)
For 3-phase PMSM, 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.
For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The equations of the permanent-magnet synchronous machine are:

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:

where r is the rotor electrical angle, and pm is the peak stator phase flux linkage defined as:

where P is the number of poles.

The stator self and mutual inductances are rotor osition dependent, and are defined as:
118 Chapter 4: Power Circuit Components
Laa = Ls + Lo + L2 cos(2 r )
2
Lbb = Ls + Lo + L2 cos(2 r + )
3
2
Lcc = Ls + Lo + L2 cos(2 r − )
3
L 2
Lab = Lba = − o + L2 cos(2 r − )
2 3
L 2
Lac = Lca = − o + L2 cos(2 r + )
2 3
L
Lbc = Lcb = − o + L2 cos(2 r )
2

where Ls is the stator leakage inductance. The variables in the abc frame can be converted to the dq0
frame using the following transformation:

The inverse transformation is as follows:

The d-axis and q-axis inductances are associated with the inductances in the abc frame as follows:

The developed torque can be expressed as:

In the dq0 frame, the developed torque can be expressed as:

Chapter 4: Power Circuit Components 119


The mechanical equations are:

where B is a coefficient, Tload is the load torque, and P is the number of poles. The coefficient B is calculated
from the moment of inertia J and the shaft time constant shaft as below:

4.6.6.2 PMSM (High Frequency)


The high-frequency PMSM model can be used to study the high-frequency effect of a PMSM drive in
differential mode and common mode.
Two models are available for PMSM (high frequency): the current interface and the voltage interface.
Image:
Current interface Voltage interface

Attributes:

Parameters Description
Rs Stator winding resistance, in Ohm
Ld Stator d-axis inductance, in H
Lq Stator q-axis inductance, in H. The d-q coordinate is defined such that the d-axis
passes through the center of the magnet, and the q-axis is in the middle between two
magnets. The q-axis is leading the d-axis.
Vpk/krpm Peak line-to-line back emf constant, in V/krpm (mechanical speed).
The value of Vpk/krpm should be available from the machine data sheet. If this data
is not available, it can be obtained through an experiment by operating the machine
as a generator at 1000 rpm and measuring the peak line-to-line voltage.
No. of Poles P Number of poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Shaft Time Constant Shaft time constant shaft
Initial Rotor Angle Initial rotor electrical angle, in deg.
Csd Stator d-axis differential capacitance, in F
Csq Stator q-axis differential capacitance, in F
Cs Stray capacitance of the phase winding, in F

120 Chapter 4: Power Circuit Components


Rcomm Common mode resistance, in Ohm
Lcomm Common mode inductance, in H

Ccomm Common mode capacitance, in F


Rb Bearing resistance, in Ohm
Cb Bearing capacitance, in F
Zb Bearing impedance, in Ohm
Master/slave Flag Master/slave flag of the machine (1: master; 0: slave)
The equations of the model in the low-frequency region is the same as these of the PMSM machine in the
previous section. For more information on the use of this model, refer to the online help page.

4.6.6.3 PMSM (Nonlinear)


PMSM (nonlinear) models a 3-phase PMSM machine with saturation. Its characteristics differ from that of a
linear 3-phase PMSM machine. The d-axis and q-axis magnetizing inductances Ldm and Lqm can be expressed
as a nonlinear function of the d-axis and q-axis currents in the lookup table form.
Image:

Attributes:

Parameters Description
Rs (stator resistance) Stator winding resistance, in Ohm
Ls (stator leakage ind.) Stator d-axis inductance, in H
Vpk / krpm Peak line-to-line back emf constant, in V/krpm (mechanical speed).
This value should be available from the machine data sheet. If not, it can be obtained
through experiment by operating the machine as a generator at 1000 rpm and
measuring the peak line-to-line voltage.
No. of Poles P Number of poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Shaft Time Constant Shaft time constant shaft, in sec. It is associated with the friction coefficient B as: B
= J / shaft.

Initial Rotor Angle Initial rotor electrical angle, in deg.


Ld Lookup Table File File name of the lookup table for Ldm
Lq Lookup Table File File name of the lookup table for Lqm
dq Flag Flag for the lookup table. When the flag is 0, Ldm and Lqm are function of Id and Iq.
When the flag is 1, Ldm and Lqm are function of the current magnitude Im and the
angle.

Chapter 4: Power Circuit Components 121


Transformation Flag Flag for the transformation convention (see details below)
Torque Flag Output flag for internal developed torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The relationship between the d-axis and q-axis inductances Ld and Lq and the magnetizing inductances Ldm and
Lqm is as follows:

where Ls is the stator leakage inductance. Since Ls is normally very small, Ld can be considered equivalent to
Ldm, and Lq can be considered equivalent to Lqm.
The Transformation Flag defines the transformation convention between the abc frame and the dq frame. When
the Transformation Flag is 0:

The current vector angle is in deg., and is from -180o to 180o.


When the Transformation Flag is 1:

The current vector angle is in deg., and is from 0o to 360o.


The Ldm and Lqm lookup tables have the following format:
M, N
Vr1, Vr2, ..., VrM
Vc1, Vc2, ..., VcN
L11, L12, ..., L1N
L21, L22, ..., L2N
... ... ...
LM1, LM2, ..., LMN
where M is the number of rows and N is the number of columns; Vr is the row vector and Vc is the column
vector; and Li,j is the Ldm or Lqm inductance value, in H, at Row i and Column j. Note that Vectors Vr and Vc
must be monotonically increasing.

122 Chapter 4: Power Circuit Components


When the dq flag is 0, the row vector is Iq and the column vector is Id. When the flag is 1, the row vector is the
angle and the column vector is the amplitude Im.
If the input is between two points, interpolation is used to calculate the value. If the input is less than the
minimum or greater than the maximum value, the input will be set to the minimum or maximum value.
This PMSM model with saturation can also be used as the linear PMSM model if the lookup tables are defined
such that Ldm and Lqm are linear function of Id and Iq.
The following shows an example of the lookup table:
4,15
-5.7155 -4.8990 -4.0825 -3.2660
-5.7155 -4.8990 -4.0825 -3.2660 -2.4495 -1.6330 -0.8165 0 0.8165 1.6330 2.4495 3.2660 4.0825 4.8990 5.7155
0.0109 0.0109 0.0107 0.0104 0.0102 0.0100 0.0098 0.0098 0.0098 0.0100 0.0102 0.0104 0.0107 0.0109 0.0109
0.0109 0.0109 0.0109 0.0106 0.0109 0.0106 0.0105 0.0105 0.0105 0.0106 0.0109 0.0106 0.0109 0.0109 0.0109
0.0109 0.0109 0.0109 0.0109 0.0111 0.0108 0.0106 0.0106 0.0106 0.0108 0.0111 0.0109 0.0109 0.0109 0.0109
0.0110 0.0110 0.0111 0.0110 0.0110 0.0109 0.0108 0.0107 0.0108 0.0109 0.0110 0.0110 0.0111 0.0110 0.0110

4.6.6.4 PMSM (Spatial Harmonics)


In this model of PMSM, the magnetic field in the air-gap is represented as a sum of spatial components.
Image:

Attributes:

Parameters Description
Rs (stator resistance) Stator winding resistance, in Ohm
Ld (d-axis ind) Stator d-axis inductance, in H
Lq (q-axis ind.) Stator q-axis inductance, in H
Vpk / krpm Peak line-to-line back emf constant, in V/krpm (mechanical speed).
This value should be available from the machine data sheet. If not, it can be obtained
through experiment by operating the machine as a generator at 1000 rpm and
measuring the peak line-to-line voltage.
No. of Poles P Number of poles P
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Shaft Time Constant Shaft time constant shaft, in sec. It is associated with the friction coefficient B as: B
= J / shaft.

Initial Rotor Angle Initial rotor electrical angle, in deg.


nm (open-circuit) Open circuit rotation speed, in rpm.
Van ith Harmonic The ith harmonic component in line-to-neutral voltage Van, in V.
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)

Chapter 4: Power Circuit Components 123


For more information on this model, please refer to the PMSM spatial harmonic example in the
"examples\Motor Drive" folder.

4.6.6.5 6-Phase PMSM


The 6-phase PMSM model is shown below. Two models available: 30 degree phase shifted and 0 degree phase
shifted.
Image:

A 6-phase PMSM has the stator winding composed of two sets of 3-phase windings.
For a 6-phase PMSM with 0 degree phase shift, the two sets of winding are spatially shifted by 0°
For a 6-phase PMSM with 30 degree phase shift, the two sets of winding are spatially shifted by 30°, as shown
in the image below. Each set of the 3-phase stator windings is Y-connected, as shown below:

The d-q coordinate is defined that


- the d-axis passes through the center of the magnet,
- the q-axis is in the middle between two magnets.
The q-axis is leading the d-axis.
The shaft time constant tau_shaft reflects the effect of the friction and windage. It is associated with the friction
coefficient B in the following way:
B = J / tau_shaft
The friction coefficient B is used in the mechanical equation as follows:
J * dWm/dt = Tem - B*Wm - Tload
where Wm is the mechanical speed in rad./sec., Tem is the developed torque, and Tload is the load torque.
If the friction coefficient is unavailable or unknown, to ignore friction, one can set the mechanical time constant
to a large value so that the friction coefficient B becomes small, and the term B*Wm becomes negligible.

The peak stator phase flux linkage is calculated as:


Lambda_pm = Vpk_krpm * 60 / (sqrt(3) * 3.14169 * P * 1000)
The developed torque of the machine is:
Tem = (3/2) * (P/2) * (Lambda_pm * iq + (Ld - Lq) * id * iq)

124 Chapter 4: Power Circuit Components


where id and iq are the stator currents in the dq frame.
For more information on the use of these models, refer to the online help page.

4.6.7 Switched Reluctance Machine (SRM)


The SRM models in PSIM library types, according to the number of phases: 3-phase, 4-phase, and 5-phase;
according to the characteristics: linear and nonlinear.
Images:
3-phase 4-phase 5-phase
a+
a-
a+ a+
a- a-

b+
b-

c+
c-

4.6.7.1 SRM (Linear)


Attributes:

Parameters Description
Resistance Stator phase resistance R, in Ohm
Inductance Lmin Minimum phase inductance Lmin, in H
Inductance Lmax Maximum phase inductance Lmax, in H
Theta_min (deg.) Duration of the interval min where the inductance is at the minimum, in deg.
Theta_max (deg.) Duration of the interval max where the inductance is at the maximum, in deg.
Stator Pole Number Number of stator poles (teeth)
Rotor Pole Number Number of rotor poles (teeth)
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Torque Flag Output flag for internal developed torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
For more details on the definition and use of the master/slave flag, refer to Section 4.6.1.
The node assignments are: Nodes a+, a-, b+, b-, c+, c-, etc. are the stator winding terminals for Phase a, b, c, d,
and e, 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
.The equation of the switched reluctance machine for one phase is:

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  (in electrical deg.), as shown in the following figure. The
inductance profile is half-wave symmetrical. That is, it repeats itself after 180o.
Chapter 4: Power Circuit Components 125
L
max
Lmax

Lmin
rf min

0 max 180  (in deg.)


2

The rotor angle is defined such that, when the stator and the rotor teeth are completely aligned,  = 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 the rising slope of the inductance from Lmin to Lmax (which is the same as the
falling slope from Lmax to Lmin), and the interval of the rising/falling slope is rf, we can express the inductance
L as a function of the rotor angle  (from 0 to 180o) as follows:

for

for

for

for

for

The developed torque of the machine per phase is:

4.6.7.2 SRM (Nonlinear)


In the nonlinear Switched Reluctant Machine models, the flux and the torque are functions of the rotor angle
and the phase current.
Images:
3-phase 4-phase 5-phase
a+
a-
a+ a+
a- a-

b+
b-

c+
c-

The parameters are shown as follows

126 Chapter 4: Power Circuit Components


Attributes:

Parameters Description
Resistance Stator phase resistance R, in Ohm
Stator Pole Number Number of stator poles (teeth) Ns_pole
Rotor Pole Number Number of rotor poles (teeth) Nr_pole
Number of Turns The number of turns of the stator winding
Moment of Inertia Moment of inertia J of the machine, in kg*m2
Initial Rotor Angle Initial rotor mechanical angle , in degree.
Torque Flag Output flag for internal developed torque Tem
Master/Slave Flag Master/slave flag of the machine (1: master; 0: slave)
The nonlinear characteristic data must be provided in the tabs Flux Table and the Torque Table. The
information required are:

Parameters Description
File The name of the external file containing the data
Display When this box is checked, the file name is displayed in the schematic
Rows The number of rows of the table.
Columns The number of columns of the table.

Open File... Open the external file and load the data.
Reload Data If the data are modified but the modifications are unwanted, reload the data from the
original file into the table
Save As... To save the table data into an external file
Those data may be entered into the tables directly after the numbers of rows and columns are set. They may also
be defined in external files. When the file name is empty, the internal table data is used. If an external text file is
defined and its name is entered, the external file takes the precedence and will overwrite the internal data.
The Flux Table file has the following format:
m, n
1, 2, ..., m
I1, I2, ..., In
1,1, 1,2, ..., 1,n
2,1, 2,2, ..., 2,n
... ... ...
m,1, m,2, ..., m,n
The torque table file has the following format:
m, n
1, 2, ..., m
I1, I2, ..., In
Tem1,1, Tem1,2, ..., Tem1,n
Tem2,1, Tem2,2, ..., Tem2,n
... ... ...
Temm,1, Temm,2, ..., Temm,n

Chapter 4: Power Circuit Components 127


where m is the number of rows and n is the number of columns; 1 to m is the row vector for rotor mechanical
angle (in deg.), I1 to In is the column vector for the phase current (in A); i,,j is the flux value (in Wb), and
Temi,,j is the torque (in N•m) at Row i and Column j. For example, when the rotor position is 2 and the phase
current is I1, the flux is 2,1 and the torque is Tem2,1.

Because of the half-wave symmetry, only flux and torque values from =0 to 180o/(Nr_pole/2) need to be
provided. Note that the row vector and column vector must be monotonically increasing.
The equation of a nonlinear 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
which depends on both the rotor angle and the current as defined by the lookup table.
The developed torque is calculated from the lookup table.

4.6.8 Motor Control Blocks


The following control blocks for different machines are provided:
- MTPA (Maximum-Torque-Per-Ampere) Control
- Field Weakening Control
-

4.6.8.1 MTPA Control


There are two MTPA control blocks. Their images are shown below. On the left side is the MTPA for linear
IPM (internal permanent magnet synchronous machine), and on the right side is for nonlinear IPM.
Images:

Is Id

Is Id
Iq

Ld Iq

Lq

Attributes of MTPA for both Linear and Nonlinear IPM:

Parameters Description
Ld d-axis inductance of the PMSM, in H
Lq q-axis inductance of the PMSM, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical speed)
Number of Poles Number of poles of the machine
Maximum Inverter Maximum inverter output current amplitude (peak), in A
Current

For nonlinear IPM, the Ld and Lq parameters are the values at the rated operating condition.
The MTPA control block has the following inputs and outputs:
Input Signals:
Is: Inverter current amplitude reference
128 Chapter 4: Power Circuit Components
Ld: d-axis inductance Ld at the current operating condition, in H
Lq: q-axis inductance Lq at the current operating condition, in H
Output Signals:
Id: d-axis current reference
Iq: q-axis current reference
Given the current amplitude reference, this block will calculate the d-axis and q-axis current references Id and
Iq such that the maximum torque is generated.

4.6.8.2 Field Weakening Control


The images of field weakening control blocks are shown below.
Images:
Induction Machine

Is Id Icmd Id Is
Vdc Id
Iq Vdc Iq Vdc Iq
We
Wm

Ld

Lq

Attributes for Field Weakening (IPM):

Parameters Description
Rs (stator resistance) Stator winding resistance of the machine, in Ohm
Ld (d-axis inductance) d-axis inductance of the PMSM machine, in H
Lq (q-axis inductance) q-axis inductance of the PMSM machine, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical speed)
Number of Poles Number of poles of the machine
Maximum Inverter Maximum inverter output current amplitude (peak), in A
Current

The field weakening (IPM) control block accepts the following input signals.
Is: Inverter current amplitude reference
Vdc: DC bus voltage feedback
Wm: Motor mechanical speed, in rad/sec.
It has the following output signals:
Id: d-axis current reference
Iq: q-axis current reference
This block is for the control of linear PMSM machines only. When the machine speed is higher than a certain
value, the machine will not be able to provide the maximum amount of torque. Instead, it will be limited by the
machine power rating. Given the current amplitude reference, dc bus voltage, and the motor speed, the field
weakening block will calculate the d-axis and q-axis current references Id and Iq to achieve a maximum power
operation.
This block requires the parameters of the PMSM controlled and the inverter voltage and current ratings.

Chapter 4: Power Circuit Components 129


Attributes for Field Weakening (Nonlinear IPM):

Parameters Description
Number of Poles Number of poles of the machine
Maximum Inverter Maximum inverter output current amplitude (peak), in A
Current

The block has the following inputs and outputs.


Input Signals:
Is: Inverter current amplitude reference.
Ld: d-axis inductance at the rated operating conditions, in H
Lq: q-axis inductance at the rated operating conditions, in H
Vdc: DC bus voltage feedback
Wm: Motor mechanical speed in
Output Signals:
Id: d-axis current reference.
Iq: q-axis current reference.
This block is for the control of nonlinear interior PMSM (IPM) machines only. It is not for surface mounted
PMSM (SPM) machines.
When the machine speed is higher than a certain value, the machine will not be able to generate the maximum
torque. Instead, it will be limited by the machine power rating. Given the current amplitude reference, dc bus
voltage, and the motor speed, the field weakening control block will calculate the d-axis and q-axis current
references Id and Iq to operate in the constant power region.
Attributes for Field Weakening (SPM):

Parameters Description
Ld (d-axis inductance) The inductance on d-axis, in H
Vpk/krpm The ratio of peak voltage versus speed. in V/krpm
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter output current amplitude (peak), in A
The block has the following inputs and outputs.
Input Signals:
Is: Inverter current amplitude reference
Vdc: DC bus voltage feedback
Wm: Motor mechanical speed
Output Signal:
Id: d-axis current reference
Iq: q-axis current reference
This block is for the control of linear surface-mounted PMSM (SPM) machines only. It is not for internal
PMSM (IPM) machines. In a SPM, the d-axis and q-axis inductance values are equal.
When the machine speed is higher than a certain value, the machine will not be able to generate the maximum
torque. Instead, it will be limited by the machine power rating. Given the current amplitude, dc bus voltage, and
the motor speed, the field weakening control block will calculate the d-axis and q-axis current references Id and
Iq to operate in the constant power region.

130 Chapter 4: Power Circuit Components


Attributes for Field Weakening (IPM):
Parameters Description
Rs (stator) Stator winding resistance of the machine, in Ohm
Lls (stator leakage) Stator leakage inductance of the PMSM machine, in H
Rr (rotor) Rotor winding resistance of the machine, in Ohm
Llr (rotor leakage) Rotor leakage inductance of the machine, in H
Lm (magnetizing) Magnetizing inductance, in H
Number of Poles Number of poles of the machine
Rated Speed (rpm) Rated speed of the machine, in rpm
AC Source Frequency AC source frequency, in Hz
AC Voltage (line-line AC source voltage, line-to-line rms, in V
rms)
The block has the following inputs and outputs.
Input Signals:
Vdc: DC bus voltage
We: Stator electrical speed, in rad/sec.
Output Signal:
Id: d-axis current reference
This block is for the control of linear induction machines only.
When the machine speed is higher than a certain value, the machine will not be able to generate the maximum
torque. Instead, it will be limited by the machine power rating. Given the dc bus voltage and the stator speed,
the field weakening control block will calculate the d-axis current reference Id to operate in the constant power
region.

Chapter 4: Power Circuit Components 131


4.7 MagCoupler Module
The MagCoupler Module provides interface for co-simulation between PSIM and the software JMAG. JMAG
is an electromagnetic field analysis software for the development and design of electric machines, actuators,
and other electrical and electronic devices and components. With the MagCoupler Module, one can perform
power electronics and control in PSIM, and electromagnetic field analysis in JMAG.
The MagCoupler Module includes the MagCoupler-DL block and the MagCoupler block, as well as the
mechanical elements and speed/torque/position sensors as described in Section 4.9.
The differences between the MagCoupler-DL block and the MagCoupler block and are:
• With the MagCoupler block, PSIM and JMAG run at the same time step, whereas with the MagCoupler-
DL block, PSIM and JMAG can run at different time steps. The flexibility to set different time steps
would make it possible to run JMAG at a larger time step and speed up the overall simulation.
• The interface ports of the MagCoupler block are signal ports. That is, electric currents do not flow into or
out of the interface ports, and an electric current must first be converted into a voltage signal before it can
be connected to the block. On the other hand, the MagCoupler-DL block is a native power element, and
the interface ports behavior in the same way as other power circuit nodes (i.e. voltages can be applied
and currents can flow in and out of the nodes). Because of the difference, the MagCoupler-DL block pro-
vides more efficient and robust interface between PSIM and JMAG.
To run the MagCoupler Module, the JMAG installation directory and the directories that include the JMAG
DLL files "jbdll.dll" and "RT_Dll.dll" must be added to the PSIM’s search path. To add to PSIM’s search path,
in PSIM, go to Options >> Set Path, and click on Add Folder.
Also, the MagCoupler Module requires Microsoft Internet Explorer Version 6 or higher. It will not work with
Internet Explorer Version 5.
The description of the MagCoupler-DL block and the MagCoupler block is given below.

4.7.1 MagCoupler-DL Block


The MagCoupler-DL block has the following image and properties.
Image:

Attributes:

Parameter Description
Netlist XML File The file defines the interface between PSIM and JMAG. The file extension is .xml.
JMAG Input File The JMAG input data file. It has the .jcf extension. Note that the .xml and .jcf files
must be in the same directory.
JMAG Case Text Comments for the JMAG circuit
Terminal Names Terminal names of the block
The power circuit nodes and mechanical shaft nodes, as well as the rest of the interface between PSIM and the
JMAG data files, are defined in the Netlist XML File. This file is in XML format, and is generated by JMAG. To
specify this file, click on the browse button at the right of the edit field.
When a specific XML is selected, the .jcf data file will be read, and the terminals (nodes) of the block will be

132 Chapter 4: Power Circuit Components


displayed. In the block image, the power circuit nodes will be placed at the top of the block, arranged from the
left to the right. The mechanical shaft nodes will be placed on the left and right of the block, with the first shaft
node on the right, and the second shaft node on the left.
The JMAG Input File is the JMAG data file for the device modeled. The file has the .jcf extension and is
defined in the netlist XML file. Note that the .jcf file and the .xml file must be in the same directory.
The JMAG Case Text is a text identifying the specific JMAG study case. It can be any text.
The parameters of a sample permanent-magnet synchronous machine is shown below:

Parameter Description
dt_of_JMAG Time step used in JMAG.
Ir Rated current. It is used in JMAG
dl_threshold Current threshold. It is used in JMAG
dr_threshold Displacement threshold. It is used in JMAG
Moment of Inertia Moment of inertia of the machine, in kg*m2.
Shaft Time Constant Shaft time constant of the machine, in sec.
Back emf Flag Display flag for all FEM coil currents (1: display; 0: no display)
Rotor Angle Flag Display flag for all shaft angles
Speed Flag Display flag for all shaft speeds
Torque Flag Display flag for all developed torques
shaft1 Master Flag Master/slave flag of the machine (1: master; 0: slave)
Please consult JMAG manuals and documents on how to set up the co-simulation on the JMAG side.

4.7.2 MagCoupler Block


The MagCoupler block has the following image and properties.
Image:

Block with 4 inputs and 4 outputs

Attributes:

Parameter Description
Link Table File The XML file that defines the interface between PSIM and JMAG. It has the .xml
extension.
JMAG Input File The JCF input data file for JMAG. It has the .jcf extension. Note that the .xml file and
the .jcf file must be in the same directory.
JMAG Case Text Comments for the JMAG circuit
IN Nodes Nodes that pass the values from PSIM to JMAG
OUT Nodes Nodes that pass the values from JMAG to PSIM

Chapter 4: Power Circuit Components 133


The number of input and output nodes may vary, depending on the actual number of input/output nodes in a
particular circuit.
The MagCoupler block accepts voltages, currents, and positions as inputs, and it provides voltages, currents,
positions, torques, and force as the outputs. In PSIM, the MagCoupler block is a power circuit element. The way
it interfaces with the rest of the circuit is that both the inputs and outputs are voltage signals (no electric current
flows into the input node). To convert a branch current into a voltage signal, or vice versa, one can use a
current-controlled voltage source, or voltage-controlled current source.
The Link Table File, in XML format, defines the input/output interface and corresponding functions in JMAG.
This file is generated automatically by JMAG. To locate this file, click on the browse button at the right of the
edit field.
The JMAG Input File is the JCF input data file that is read by the JMAG solver. The name is defined in the Link
Table File.
Note that JCF input file .jcf must be in the same directory as the input link table file .xml. If any material
database is used in JMAG, it should also be placed in the directory of the .xml file. Also, the .xml file does not
have to be in the same directory as the schematic file. However, if a .xml file with the same name is present in
the schematic directory, PSIM will read the one in the schematic directory first.
The JMAG Case Text is a text identifying the specific JMAG circuit. It can be any text describing the JMAG
circuit.
The IN Nodes are the nodes through which PSIM passes the values to JMAG. In the MagCoupler block image,
the order of the input nodes is from the top to the bottom. The order can be changed by highlighting the node
and click on the upper or down arrow.
The OUT Nodes are the nodes through which JMAG passes the values back to PSIM. In the MagCoupler block
image, the order of the output nodes is from the top to the bottom. The order can be changed by highlighting the
node and click on the upper or down arrow.
By clicking on the Edit Image button, one can edit and customize the image of the MagCoupler block. Clicking
on the Display File button will display the Link Table File in the Microsoft Internet Explorer environment, and
clicking on the Read File button will read or re-load the Link Table File.
Set-up in JMAG and PSIM:
Using the MagCoupler block, it is easy to set up the link between JMAG and PSIM for co-simulation. It
involves two main steps: setting up the circuit in JMAG and generating the link table file, and loading the link
table file into PSIM.
An inductor example below is used to illustrate this process.
In the PSIM circuit of this example, the circuit on the left uses the built-in inductor element from the PSIM
library, and the circuit on the right has the inductor implemented in JMAG. In this case, the inductor is modelled
as a controlled current source in PSIM. The voltage across the inductor is first converted to a node-to-ground
voltage through a voltage-controlled voltage source, and the value is passed to the input node VL of the
MagCoupler block. At each time step, PSIM calls JMAG functions which calculate the inductor current based
on the voltage input. This current is then sent back to PSIM in the voltage form, and is used to control the
current source that represents the inductor.
In the JMAG circuit of this example, the voltage function (on the left side) receives the voltage from PSIM, and
through the current probe in series with the FEM coil, the current is calculated and sent back to PSIM. The
inductor structure in the JMAG environment is shown on the lower right.

134 Chapter 4: Power Circuit Components


Circuit in PSIM (file: inductor_jmag.sch)

Circuit and Structure in JMAG (file: inductor.jsp)

The setup process of calling JMAG in PSIM through the MagCoupler block is as follows.
In JMAG:
• In the JMAG circuit, connect a voltage function to the right of the FEM coil. Under Electrical Potential
in the property window, choose Constant Value, and set Constant Value [V] to 0.
• Connect a current probe to the left of the FEM coil.
• Connect another voltage function to the left of the current probe (the circuit will look like what is shown
above). In the property window, choose Cooperates with an external circuit simulator.
• Highlight the inductor structure window. Go to the menu Conditions >> Create Conditions. From the
Conditions List, highlight Coupled External Circuit Simulator, and click Modify.
• On the Coupled External Circuit Simulator dialog, there are two lists. The list on the right, called
JMAG, contains all the functions that can be used to interface with PSIM. The list on the left, called
External Circuit Simulator, contains the functions that are selected to interface with PSIM. In this case,
there are two items in the JMAG list, one is the Voltage Function, and the other is the Current Probe.
• Highlight the Voltage Function, and click on the <- button to move the item from the list on the right to
the left. Repeat the same step to the Current Probe. Now both items should appear in the list on the left.
• Highlight the Voltage Function, and change the terminal name to VL. Also, change the Current Probe ter-
minal name to iL. Close the dialog window.
• Go to the menu File >> Export and select JCF.... With the JCF file name defined as "inductor", the JCF
file "inductor.jcf" and the link table file "inductor_csl.xml" will be generated.
• Copy the JCF file "inductor.jcf" and the link table file "inductor_csl.xml" to the folder containing the
PSIM schematic file "inductor_jmag.sch". Rename the link table file to "inductor_jmag.xml". Note that
the XML file does not have to be renamed, and both the JCF and XML files do not have to be moved to
the folder of the schematic file. They are done here for the simplicity of file management
In PSIM:
• After the rest of the power circuit is created, go to Elements >> Power >> MagCoupler Module, and
select MagCoupler Block. Place the block on the schematic.
• Double click on the MagCoupler block to bring out the property window. click on the browser button

Chapter 4: Power Circuit Components 135


next to the Link Table File edit field to locate and select the file "inductor_jmag.xml". After the
file is read, the property window will display the IN node VL and the OUT node iL.
• Connect the MagCouple block to the rest of the circuit in the schematic.
The setup is now complete and the simulation is ready to run.

4.8 MagCoupler-RT Module


The MagCoupler-RT Module provides interface between PSIM and JMAG-RT data files. JMAG-RT is another
way of modeling electromagnetic devices. JMAG-RT data files are obtained by running JMAG simulation in
advance, and the data files are stored in a lookup table form. During the PSIM simulation, JMAG is not needed,
and PSIM interfaces directly with the JMAG-RT data.
A big advantage of JMAG-RT is that, since JMAG-RT data files are obtained from JMAG simulation, the
accuracy of the JMAG-RT model is comparable to that of a JMAG model. However, since JMAG is not
involved in PSIM simulation, the simulation is significantly faster.
The following MagCoupler-RT blocks are provided:
- General RT Block
- 3-phase PMSM
- Linear synchronous machine
- 2-phase step machine
- Linear solenoid
Users are recommended to use the general RT block. The other four blocks are legacy blocks, and will be
phased out in the near future.

4.8.1 General RT Block


The general RT block supports the following types of JMAG-RT models:
- PMSM (including Ld, Lq, spatial harmonics, and flux integral models)
- Solenoid
- Step machine
- Linear synchronous machine
- SRM (3-phase, 4-phase, and 5-phase)
- Wound-field synchronous machine
- Induction machine
- Generic model
Below are the images of the general RT block and its dialog.
Images:

136 Chapter 4: Power Circuit Components


Attributes:

Parameter Description
JMAG Input File The JMAG-RT data file with the .rtt extension.
Once a JMAG-RT file is selected, PSIM will detect the type of device, and will change to its corresponding
image with the associated parameters accordingly.
On the dialog, a JMAG Express Online button is provided. Clicking on this button will lead to the login page
of the JMAG-Express Online website. JMAG-Express Online is a free evaluation tool from JSOL for quick
motor design. After a motor is designed, one can generate a JMAG-RT rtt file, and then download the motor
parameters by clicking on the Download Machine Data button.

4.8.2 Other RT Blocks


In the 3-phase PMSM block, the iron loss of PMSM can be taken into account. When a PMSM RT file contains
iron loss data, PSIM will model the iron loss with a parallel resistor Rloss across the phase branch, and will
display the eddy current loss Ploss_eddy and hysteresis loss Ploss_hys. For more information on how iron loss
is modeled, refer to revelant JSOL document.
Images of the other MagCoupler-RT blocks are shown below.
Images:
PMSM Step Machine
A B C A+ C+ A- C-
B+ D+ B- D-

M- M+ M- M+

Linear Synchronous Machine Linear Solenoid


A A-

M- M+ M- M+

Attributes:
Parameter Description
Netlist XML File The XML file that defines the interface between PSIM and JMAG-RT. It has the .xml
extension.
JMAG-RT Input File The JMAG-RT data file. It has the .rtt extension. Note that the .xml file and the .rtt
file must be in the same directory.
JMAG Case Text Comments for the JMAG-RT circuit
Terminal Names Terminal names of the block

Chapter 4: Power Circuit Components 137


In the MagCoupler-RT block images, the power circuit nodes (such as A, B, C, A+, A-, B+, B-, C+, C-, D+, and
D- as shown above) are placed at the top of the block, arranged from the left to the right. The mechanical shaft
nodes are placed on the left and right of the block, with the first shaft node (such as M+ as shown above) on the
right, and the second shaft node (such as M-) on the left.
The electric nodes and rotor shaft nodes, as well as the rest of the interface between PSIM and the JMAG-RT
data files (.rtt file), are defined in the Netlist XML File. This file is in XML format, and is generated by the
JMAG-RT Manager. To specify this file, click on the browse button at the right of the edit field.
Note that for each type of MagCoupler-RT block, the "NetlistElement" must be the same as the predefined
name. The predefined names are:
- "PM Synchronous Machine" for 3-phase PMSM
- "Step Machine" for 2-phase step machine
- "Linear Synchronous Machine" for linear synchronous machine
- "Linear Solenoid" for linear solenoid
For example, the first several lines of a netlist XML file for a PMSM may look like the following:
<?xml version="1.0" encoding="UTF-8"?>
<CircuitElement file="imp.rtt" name="MagCoupler-RT">
<NetlistElement type="JMAGRT" element="PM Synchronous Machine" pole_number="4">
... ... ...
The JMAG-RT Input File is the JMAG-RT data file for the device modeled. The file has the .rtt extension and is
defined in the netlist XML file. Note that the .rtt file and the .xml file must be in the same directory.
The JMAG Case Text is a text identifying the specific JMAG-RT study case. It can be any text.
The Terminal Names are the names of the interface nodes.
The parameters of a 3-phase PMSM is shown below:

Parameter Description
shaft1_MomentofInertia Moment of inertia of the machine, in kg*m2
shaft1_ShaftTimeConstant Shaft time constant of the machine, in sec.
RU_resistance Resistance of Phase U, in Ohm
RV_resistance Resistance of Phase V, in Ohm
RW_resistance Resistance of Phase W, in Ohm
OffsetAngle Initial rotor angle, in mechanical deg.
coef_inductance Inductance coefficient (used in JMAG-RT)
coef_flux Flux coefficient (used in JMAG-RT)
coef_torque Torque coefficient (used in JMAG-RT)
coef_magnet Magnet coefficient (used in JMAG-RT)
coef_material Material coefficient (used in JMAG-RT)
turns_coil1 Coil 1 turns (used in JMAG-RT)
turns_coil2 Coil 2 turns (used in JMAG-RT)
Current Flag Display flag for 3-phase FEM coil currents (1: display; 0: no display)
Note: When iron loss is present, this current is only the current flowing through
the FEM coil. The total phase current will be the sum of this current and the
current through the iron loss resistor Rloss. To view the total phase current, use
an ammeter externally.
138 Chapter 4: Power Circuit Components
Back emf Flag Display flag for 3-phase FEM coil back emf
Rotor Angle Flag Display flag for the rotor angle in mechanical deg.
Speed Flag Display flag for the shaft mechanical speed in rad./sec.
Torque Flag Display flag for the developed torque in N*m
Power Loss Flag Display flag for the power loss if iron loss is present. When the flag is set, the
eddy current loss Ploss_eddy and hysteresis loss Ploss_hys will be displayed.
Note that this parameter will be shown only if the JMAG-RT data file contains
the power loss information.
Including Power Loss Flag to indicate if the power loss is included in the circuit simulation. If it is 0,
the power loss is not included in the circuit simulation, and it has no impact on
the motor voltages/currents. If it is 1, the power loss is included in the circuit
simulation, and it will impact the motor voltages/currents.
shaft1 Master Flag Master/slave flag of the machine (1: master; 0: slave)

The parameters of a 2-phase step machine is shown below:

Parameter Description
RA+ Resistance of Phase A+, in Ohm
RA- Resistance of Phase A-, in Ohm
RB+ Resistance of Phase B+, in Ohm
RB- Resistance of Phase B-, in Ohm
MomentofInertia Moment of inertia of the machine, in kg*m2
ShaftTimeConstant Shaft time constant of the machine, in sec.
OffsetAngle Initial rotor angle, in mechanical deg.
turns_coil2 Coil 2 turns (used in JMAG-RT)
coef_inertia1 Inertia 1 coefficient (used in JMAG-RT)
coef_inertia2 Inertia 2 coefficient (used in JMAG-RT)
Current Flag Display flag for 3-phase FEM coil currents (1: display; 0: no display)
Back emf Flag Display flag for 3-phase FEM coil back emf
Rotor Angle Flag Display flag for the rotor angle in mechanical deg.
Speed Flag Display flag for the shaft mechanical speed in rad./sec.
Torque Flag Display flag for the developed torque in N*m
shaft1 Master Flag Master/slave flag of the machine (1: master; 0: slave)

The parameters of a linear solenoid is shown below:

Parameter Description
RA Resistance of the solenoid, in Ohm
Mass Mass of the solenoid, in kg
ShaftTimeConstant Shaft time constant of the solenoid, in sec.
SpringConstant Spring constant of the solenoid (used in JMAG-RT)
DispLimitMax Maximum limit of the displacement of the solenoid, in m
Chapter 4: Power Circuit Components 139
DispLimitMin Minimum limit of the displacement of the solenoid, in m
OffsetDisp Initial displacement, in m
turns_coil2 Coil 2 turns (used in JMAG-RT)
coef_mass1 Mass 1 coefficient (used in JMAG-RT)
coef_mass2 Mass 2 coefficient (used in JMAG-RT)
Current Flag Display flag for 3-phase FEM coil currents (1: display; 0: no display)
Back emf Flag Display flag for 3-phase FEM coil back emf
Position Flag Display flag for the solenoid position in m
Velocity Flag Display flag for the solenoid velocity in m/sec.
Force Flag Display flag for the developed force in N
mass1 Master Flag Master/slave flag of the solenoid (1: master; 0: slave)

The parameters of a linear synchronous machine is shown below:

Parameter Description
RU Resistance of Phase U, in Ohm
RV Resistance of Phase V, in Ohm
RW Resistance of Phase W, in Ohm
Mass Mass of the machine, in kg
ShaftTimeConstant Shaft time constant of the solenoid, in sec.
OffsetDisp Initial displacement, in m
coef_inductance Inductance coefficient (used in JMAG-RT)
coef_flux Flux coefficient (used in JMAG-RT)
coef_force Torque coefficient (used in JMAG-RT)
coef_magnet Magnet coefficient (used in JMAG-RT)
coef_material Material coefficient (used in JMAG-RT)
turns_coil1 Coil 1 turns (used in JMAG-RT)
turns_coil2 Coil 2 turns (used in JMAG-RT)
coef_mass1 Mass 1 coefficient (used in JMAG-RT)
coef_mass2 Mass 2 coefficient (used in JMAG-RT)
Current Flag Display flag for 3-phase FEM coil currents (1: display; 0: no display)
Back emf Flag Display flag for 3-phase FEM coil back emf
Position Flag Display flag for the solenoid position in m
Velocity Flag Display flag for the solenoid velocity in m/sec.
Force Flag Display flag for the developed force in N
mass1 Master Flag Master/slave flag of the solenoid (1: master; 0: slave)
In all the parameter definitions above, except the flags (current flag, back emf flag, rotor angle/position flag,
speed/velocity flag, torque/force flag, and master flag), all other parameters are read from the .rtt file defined in
the XML file. These values can be changed, and for these parameters noted with "used in JMAG-RT", the
changed values will be sent back to JMAG-RT for calculation.
140 Chapter 4: Power Circuit Components
Several MagCoupler-RT examples are provided under the "examples\MagCoupler-RT" folder.

4.9 Mechanical Elements and Sensors


This section describes elements that are shared by Motor Drive Module, MagCoupler Module, and
MagCoupler-RT Module. The elements include mechanical loads, gear boxes, mechanical coupling blocks,
mechanical-electrical interface blocks, and various speed/torque/position sensors.

4.9.1 Mechanical Loads


Several mechanical load models are provided:
• general-type,
• constant-torque,
• constant-power,
• constant-speed, and
• externally controlled loads.

Images:
General Type Constant-Power Constant-Torque Constant-Speed Ext. Controlled

Attributes for General Type of Load:

Parameters Description
Tc Constant torque term
k1 (coefficient) Coefficient for the linear term
k2 (coefficient) Coefficient for the quadratic term
k3 (coefficient) Coefficient for the cubic term
Moment of Inertia Moment of inertia of the load, in kg*m2
A general-type load is expressed as:

where m is the mechanical speed in rad./sec.


Note that the torque of the general-type load is dependent on the speed direction.

Attributes for Constant-Power Load:

Parameters Description
Maximum Torque Maximum torque Tmax of the load, in N*m
Base Speed Base speed nbase of the load, in rpm
Moment of Inertia Moment of inertia of the load, in kg*m2
The torque-speed curve of a constant-power load is shown below:

Chapter 4: Power Circuit Components 141


Tmax

Torque

(N*m)

0 nbase Speed (rpm)

When the mechanical speed is less than the base speed nbase, the load torque is:

When the mechanical speed is above the base speed, the load torque is”

where P = Tmax*base and base = 2nbase/60. The mechanical speed m is in rad./sec.


Attributes for Constant-Torque Load:

Parameters Description
Constant Torque Torque constant Tconst, in N*m
Moment of Inertia Moment of inertia of the load, in kg*m2
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 for more detailed explanation on the reference direction.
A constant-torque load is expressed as:

The torque does not depend on the speed direction.


Attributes for Constant-Speed Load:

Parameters Description
Constant Speed (rpm) Speed constant, in rpm
Moment of Inertia Moment of inertia of the load, in kg*m2
A constant-speed mechanical load defines the speed of a mechanical system, and the speed will remain
constant, as defined by the speed constant.

Attributes for Externally Controlled Load:

Parameters Description
Speed Flag Flag for speed dependency
Flag = 0: The load is frictional and is always against the rotational direction;
Flag = 1: The load is independent of the rotational direction.
Moment of Inertia Moment of inertia of the load, in kg*m2
An externally-controlled mechanical load is used to define a load of an arbitrary load profile.
The value of the mechanical load is defined by the voltage value at the control node (1V corresponds to 1 N*m).
This node is a control circuit node.
142 Chapter 4: Power Circuit Components
4.9.2 Mechanical-Electrical Interface Block
This block allows users to access the internal equivalent circuit of the mechanical system of a machine.
Image:

Mechanical Side Electrical Side

Attribute:

Parameter Description
Master/Slave Flag Flag for the master/slave mode (1: master, 0: slave)
Similar to electric machines, the mechanical-electrical interface block can be used to define the reference
direction of a mechanical system through the master/slave flag. When the interface block is set to the master
mode, the reference direction is along the mechanical shaft, away from the mechanical node, and towards the
rest of the mechanical elements.
Let’s assume that a drive system consists of a motor (with a developed torque of Tem and a moment of inertia of
J1) and a mechanical load (with a load torque of Tload and a moment of inertia of J2). The equation that
describes the mechanical system is:\

where m is the shaft mechanical speed.


In PSIM, this equation is modelled by an equivalent circuit as shown below.
m speed node

Tem 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 access to the internal mechanical equivalent
circuit. If the mechanical side of an interface block (with the letters “M”) is connected to a mechanical shaft, the
electrical side (with the letters “E”) 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 user-defined 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.

Chapter 4: Power Circuit Components 143


Mechanical load model

Example: A custom machine model with a constant-torque load


Similarly, one can build a custom machine model and connect it to the mechanical load in PSIM. The figure
below shows such a circuit. The custom machine model must use the capacitor analogy to model the mechanical
equation. The node representing the mechanical speed is then made available and is connected to the electrical
side of the mechanical-electrical interface block.

Custom machine model (in subcircuit form)

Wm

Mechanical
speed

4.9.3 Mechanical Coupling Block


The mechanical coupler block is used to couple two mechanical systems.
Image:

Mechanical System #1 Mechanical System #2

This block is used in situations where both mechanical systems have a device in the master mode, and they must
be connected together to form one system. Based on the connection convention in PSIM, a mechanical system
can have only one master device. In this case, the mechanical coupling block can be inserted in between, and the
mechanical system on each side of the coupling block can have its own device in the master mode.

4.9.4 Gear Box


The image is a gear box is shown below.
Image:

Shaft 1
Shaft 2

Attribute:

Parameter Description
Gear Ratio The gear ratio a
Shaft 1 Master/Slave Flag Master/slave flag for Shaft 1, marked with the bigger dot.
Shaft 2 Master/Slave Flag Master/slave flag for Shaft 2

144 Chapter 4: Power Circuit Components


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.
The two shafts of the gear box can be in either master mode or slave mode. For more information on the
definition and use of the master/slave flag, refer to Section 4.6.1.

4.9.5 Speed/Torque Sensors


A speed sensor or torque sensor is used to measure the mechanical speed or torque.
Images:

Speed Sensor Torque Sensor

Attribute:

Parameter Description
Gain Gain of the sensor
The output of the speed sensor is in rpm.
The output of the speed/torque sensor depends on how the sensor is connected in a mechanical system.
For the speed sensor, if the sensor is along the reference direction of the mechanical system (refer to Section
4.6.1 for more details on the definition and use of the reference direction), a positive mechanical speed would
give a positive sensor output. Otherwise, if the sensor is opposite to the reference direction of the mechanical
system, a positive mechanical speed would give a negative sensor output.
For example, in the mechanical system below, Speed Sensor 1 is along the reference direction, and Speed
Sensor 2 is opposite to the reference direction of the mechanical system. If the actual mechanical speed is
positive, the output of Speed Sensor 1 will be positive, and the output of Speed Sensor 2 will be negative.
Reference direction of the mechanical system

Speed Sensor 1 Speed Sensor 2

The torque sensor measures the torque difference between the dotted side of the sensor and the undotted side.
To understand the physical meaning of the torque sensor measurement, we use the diagram below as an
illustration.
The figure on the left shows a torque sensor connected with a 10-N*m mechanical load, and the reference
direction of the mechanical system is from left to right. Based on the reference direction, if we use the right-
hand method, by pointing the thumb in the reference direction and rotating the right hand, the direction of the
fingers will show the direction of the positive speed and torque. The physical interpretation of the system is
shown on the right.

Reference direction of the mechanical system Physical interpretation

10 Wm Load
10
Torque sensor

Chapter 4: Power Circuit Components 145


In this case, the direction of the positive speed and torque is in the clockwise direction. The dotted side of the
sensor is on the left, and the load is in such a way that it tries to slow down the shaft (the load torque is in the
counter-clockwise direction).
The physical meaning of the torque sensor is that, if the dotted side of the sensor is fixed, the sensor will
measure the torque tension on the undotted side of the sensor, and a positive sensor output would mean that the
torque is opposite to the direction of the speed reference. Therefore, for the example above, the positive speed
reference is in the clockwise direction, and the load torque is in the counter-clockwise direction. This will give
a torque sensor reading of 10 N*m.
Similarly, if the undotted side of the sensor is fixed, the sensor will measure the torque tension on the dotted
side of the sensor, in the positive direction of the speed reference. For example, in the system below, the torque
sensor is flipped with the dotted side on the right. If the undotted side is fixed, the load torque is applied to the
dotted side of the sensor, in the opposite direction of the speed reference. The torque sensor output will be -10
N*m instead.

Reference direction of the mechanical system Physical interpretation


*

10 Wm Load
10
Torque sensor

To understand how the torque sensor is modeled in the equivalent circuit of the mechanical system, we use the
following system as an example.

Load 1 Load 2
Sensor 1 Sensor 2

Tem TL1 TL2


J JL1 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:

The equivalent electrical circuit of the equation is shown below:

Sensor 1 Sensor 2
m

Tem J -TL1 JL1 JL2


-TL2

Machine Load 1 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 1. Similarly, the current probe on the right represents the reading of the Torque
Sensor 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.

146 Chapter 4: Power Circuit Components


4.9.6 Position Sensors
Four types of position sensors are provided: absolute encoder, incremental encoder, resolver, and hall effect
position sensor. They are connected to the mechanical shaft, similar to the speed sensor and torque sensor, and
the output signals are control signals.

4.9.6.1 Absolute Encoder


An absolute encoder is a position sensor that provides the shaft position within a 360o range (mechanical
degree).
Image:

Attribute:

Parameter Description
Initial Position (deg.) Initial shaft position, in deg.
No. of Bits of Resolution Number of Bits of resolution N
The encoder output resolution is determined by the number of bits N. The encoder has two outputs: one is the
number of counts (the range is from 0 to 2N-1), and the other is the position, in mechanical deg. (the range is
from 0 to 360o).
An example of a PMSM drive system using the absolute encoder is given in the sample file "Absolute Encoder
PMSM Drive.sch".

4.9.6.2 Incremental Encoder


An incremental encoder is a position sensor that produces quadrature outputs which indicate the speed, angle,
and direction of the shaft.
Image:

Attribute:

Parameter Description
Initial Position (deg.) Initial shaft position, in deg.
No. of Lines Number of lines that are in the code pattern of the code disk of the encoder

The two quadrature outputs are A and A (A is the inverse of A), and B and B. They are offset by 90o. In
addition, the encoder provides separate index signal output Z and Z that provide one count per revolution.
An example of an induction motor drive system using the incremental encoder is given in the sample file
"Incremental Encoder INDM Drive.sch".
Chapter 4: Power Circuit Components 147
4.9.6.3 Resolver
A resolver is essentially a rotary transformer with one rotor winding and two stator windings. These two stator
windings, referring to as the COS winding and SIN winding, are located 90o apart.
As the shaft rotates, the output voltages of the COS and SIN windings vary as the cosine and sine functions of
the shaft angle.
Image:

cos+

sin+
cos-

sin-
Attribute:

Parameter Description
Initial Position (deg.) Initial shaft position, in deg.
No. of Poles Number of poles of the resolver
The resolver has four outputs: cos+, cos- (the inverse of cos+), sin+, and sin- (the inverse of sin+). The peak
amplitude of all the outputs is 1.
An example of a PMSM drive system using the resolver is given in the sample file "Resolver PMSM
Drive.sch".

4.9.6.4 Hall Effect Sensor


A hall effect sensor is a type of position sensors that provides three pulses depending on the shaft position. The
sensor consists of a set of semiconductor switches and trigger magnets. The switches open or close when the
magnetic field is higher or lower than a certain threshold value.
Image:

Attribute:

Parameter Description
Initial Position (deg.) Initial shaft position, in deg.
No. of Poles Number of poles of the sensor
The hall effect sensor provides three logic signal outputs A, B, and C, which are spaced 120 electrical deg.
apart.
The hall effect sensor is the same as the built-in hall effect sensor in the brushless dc machine.
Examples of BDCM motor drive systems using the hall effect sensor are given in the "examples" sub-folder of
the PSIM directory.

148 Chapter 4: Power Circuit Components


4.10 Thermal Module
The Thermal Module is an add-on module to the PSIM program. It provides a quick way of estimating the
losses of semiconductor devices (diodes, IGBT, MOSFET (including SiC), and GaN), as well as the core and
winding losses of inductors.
The core of the Thermal Module is the device database. A device database editor is provided to allow users to
add new devices to the database and to manage the database easily. The devices in the database can then be used
in the simulation for the loss calculation.
A database device simulation contains two parts of calculation:
• The behavior model of the device is used in the simulation. The behavior model of a switch takes into
account the static characteristics (such as conduction voltage drop, on-state resistance, etc.), but not the
dynamic characteristics (such as turn-on and turn-off transients). The behavior model of an inductor is an
ideal inductor.
• Based on the voltage, current, and temperature values from the simulation, for switches, PSIM accesses
the device database and calculates the conduction losses or switching losses. The static characteristics of
the device are updated for the next simulation. For inductors, PSIM accesses the device database and cal-
culates the core and winding losses.
• In switch loss calculation, voltage and current values of a device right before and after the switching
instant are used. For a device operating in hard switching, if a snubber circuit is present, it will change
the voltage and current waveforms and will result in incorrect loss calculation. It is recommended that
snubber circuits be temporarily disabled when using Thermal Module devices for loss calculation.
Loss calculation of inductors takes into account the material characteristics of the device (such as core material,
shape, winding type, size, and air gap, etc.).
Note that the loss calculation is only an approximation, and the accuracy of the results depends on the accuracy
of the device data as well as the proper scaling of the results from the device test condition to the actual circuit
operating conditions. Users should always verify the results with the measurement from experimental setup.

4.10.1 Diode Thermal Model

4.10.1.1 Diode Loss Calculation


A diode device in the database can be selected and used in the simulation for loss calculation. A diode in the
Thermal Module library has the following parameters:
Images:

In the images, beside the diode module terminals, there is one extra node. This node is for the diode total loss
P_loss.

Chapter 4: Power Circuit Components 149


Attributes:

Parameters Description
Device The specific device selected from the device database
Number of Parallel Devices The number of identical devices connected in parallel
Frequency Frequency, in Hz, under which the losses are calculated
Pcond Calibration Factor Calibration factor Kcond of the conduction loss Pcond
Psw Calibration Factor Calibration factor Ksw of the switching loss Psw
Operation Mode This flag is only used for three Dual package types.
0: For symmetrical operation, power losses are shared equally by two
devices, and the junction temperature of both devices are the same.
1: For individual operation. Power losses and the junction temperature of
each device is simulated separately.
For all other packages, Operation Mode=0 only.
Initial Tj Initial junction temperature, in oC
Initial T_case Initial case temperature, in oC
Initial Ploss Initial total power loss, in W
Tj Flag Display flag for the junction temperature Tj of the diode
Ploss Flag Display flag for the conduction loss Pcond, switching loss Psw, and the total
power loss
Current Flag Display flag for switch currents
Voltage Flag Display flag for switch voltages
Parameter Frequency refers to the frequency under which losses are calculated. For example, if the device
operates at the switching frequency of 10 kHz, and Frequency is also set to 10 kHz, the losses will be the value
for one switching period. However, if Frequency is set to 60 Hz, the losses will be the value for a period of 60
Hz.
Parameter Pcond Calibration Factor is the correction factor for the conduction loss. For the example, if the
calculated conduction loss before the correction is Pcond_cal, then
Pcond = Kcond * Pcond_cal
Similarly, Parameter Psw Calibration Factor is the correction factor for the switching loss. For the example, if
the calculated switching loss before the correction is Psw_cal, then
Psw = Ksw * Psw_cal
When several identical diodes are in parallel, one should have just one device in the schematic, and set the
correct number of devices in the parameter input. This is because when several identical devices are in parallel
in the schematic, the device currents may not be exactly equal due to small differences in the simulation. When
the number of parallel devices is greater than one, the total current through the group of the parallel devices will
be equally divided among the devices. The total losses are then obtained by multiplying the losses in each
device by the number of parallel devices. The current flowing out of the node P_loss is the total loss of all the
parallel devices combined.
The figure below shows the thermal equivalent circuit of a discrete diode. The circuit inside the red box is inside
the device. The circuit R1, C1, R2, and C2 is the device internal thermal equivalent circuit, and the values are
defined in the device thermal database, under "Thermal Characteristics".

150 Chapter 4: Power Circuit Components


The voltage at the conduction loss node Pcond of the circuit above represents the calculated junction temperature
Tj of the diode, and this junction temperature is used when the database curves are used for loss calculation. The
voltage Tcase at the node P_loss represents the device case temperature. When the device does not have internal
thermal stages, Tj is the same as Tcase, and one would need to build the thermal equivalent circuit externally.
If the calculated Tj is between the junction temperatures of two curves, interpolation will be used. If the
calculated Tj is lower than the lowest Tj or higher than the highest Tj in the curves, extrapolation will be used. If
there is only one curve, that curve is used regardless of the calculated Tj.
Conduction Loss:
The diode conduction loss is calculated as:
Pcond = Vd * IF
where Vd is the diode voltage drop, and IF is the diode forward current. When the diode is conducting
periodically with an on duty cycle of D, the conduction losses are calculated as:
Pcond = Vd * IF * D
Switching Loss:
In calculating the switching loss, the diode turn-on loss is neglected and is not considered.
The diode turn-off loss due to the reverse recovery is calculated as:
Psw_off = Err * f * VR / VR_datasheet
or
Psw_off = 1/4 * Qrr * VR * f
where Err is the reverse recovery energy loss, Qrr is the reverse recovery charge, f is the frequency as defined in
the input parameter Frequency, VR is the actual reverse blocking voltage, and VR_datasheet is the reverse
blocking voltage in the Err characteristics of the datasheet, defined as "Reverse blocking voltage VR (V)" in the
test conditions.
If only one point is given for Qrr, the loss calculation will be scaled based on the actual current IF as follows:
Psw_off = 1/4 * Qrr * VR * f * IF / IF_datasheet
where IF_datasheet is the test condition current under which Qrr and trr are obtained.
The reverse recovery charge Qrr is defined as:
Qrr = 1/2 * trr * Irr
Whenever Err is given in the device database, the loss will be calculated based on Err. If Err is not given, the
loss will be calculated based on Qrr. If Qrr is not given, the loss will be calculated based on trr and Irr. If both
are not given, the loss will be treated as 0.
The total loss P_loss in watts, which is the sum of Pcond and Psw, is represented in the form of a current which
flows out of the power loss node P_loss. When the node is not connected to an external circuit, it must be
connected to ground as it cannot be floating.

Chapter 4: Power Circuit Components 151


Example: Diode Loss Calculation
The circuit below shows a sample circuit that uses the Powerex’s discrete diode CS240650 (600V, 50A).
Once the loss information is available, by building the thermal equivalent circuit, the device junction
temperature can be calculated. This junction temperature is in turn fed back and used in the loss calculation. The
circuit shows a thermal circuit without considering the thermal transient.

4.10.1.2 Diode Device in Database


To simulate a diode module’s thermal operation, its information must be entered into database.
The following information is defined for a diode device in the database:
General Information:
Manufacturer: Device manufacture
Part Number: Manufacturer’s part number
Package: It can be discrete, dual, or 3-phase bridge package, as shown in the figure below:
The style of the package (for example, TO-220, TO-247, etc.) can be specified in the Style field.
Absolute Maximum Ratings:
Vrrm,max (V): Peak reverse blocking voltage
IF,max (A): Maximum dc current
o
Tj,max ( C): Maximum junction temperature
Electrical Characteristics:
Vd vs. IF: Forward conduction voltage drop Vd vs. forward current IF
trr vs. IF: Reverse recovery time trr vs. current IF
Irr vs. IF: Peak reverse recovery current Irr vs. current IF
Qrr vs. IF: Reverse recovery charge Qrr vs. current IF
Err vs. IF: Reverse recovery energy losses Err vs. current IF
Thermal Characteristics:
Type: Type of the device internal thermal equivalent circuit. It can be either Cauer or
Foster.
No. of Stages: Number of R-C stages of the device internal thermal equivalent circuit.
Ri: Resistance of the ith stage, in Ohm
Ci: Capacitance of the ith stage, in F
Dimensions and Weight:
Length (mm): Length of the device, in mm
Height (mm): Height of the device, in mm
Weight (g): Weight of the device, in g

152 Chapter 4: Power Circuit Components


Note that the condition "Reverse blocking voltage VR (V)" in characteristics Err vs. IF is used to scale the loss
calculation, and must be entered correctly.
Also, parameters under Absolute Maximum Ratings, Thermal Characteristics, and Dimensions and Weight are
not used in the loss calculation, and are optional.
In addition, the diode forward conduction voltage drop Vd changes depending on the forward current IF. The
new voltage drop is used in the subsequent simulation.

4.10.2 MOSFET Thermal Model


There are two types of devices for MOSFET loss calculation.
• MOSFET (database): For devices where switching turn-on/turn-off energy losses Eon and Eoff are
not provided in the manufacturer datasheet
• MOSFET (Eon) (database): For devices where switching turn-on/turn-off energy losses Eon and Eoff
are provided. This device can also used for loss calculation for SiC MOSFET
and GaN devices.

4.10.2.1 MOSFET Loss Calculation


A MOSFET device in the database can be selected and used in the simulation for loss calculation.
Images:

Attributes for MOSFET (database):

Parameters Description
Device The specific device selected from the device database
Number of Parallel Devices Number of identical devices in parallel
Frequency Frequency, in Hz, under which the losses are calculated
VGG+ (upper level) Upper level of the gate source voltage, in V
VGG- (lower level) Lower level of the gate source voltage, in V
Rg_on (turn-on) Gate resistance during turn-on
Rg_off (turn-off) Gate resistance during turn-off. In most cases, the turn-on gate resistance Rg_on
and the turn-off gate resistance Rg_off are identical.
RDS(on) Calibration Factor The calibration factor of the on-state resistance RDS(on)
gfs Calibration Factor Calibration factor of the forward transconductance gfs
Pcond_Q Calibration Factor Calibration factor Kcond_Q of the transistor conduction losses Pcond_Q
Psw_Q Calibration Factor Calibration factor Ksw_Q of the transistor switching losses Psw_Q

Chapter 4: Power Circuit Components 153


Pcond_D Calibration Factor Calibration factor Kcond_D of the diode conduction losses Pcond_D
Psw_D Calibration Factor Calibration factor Ksw_D of the diode switching losses Psw_D
Initial Tj Initial junction temperature, in oC
Initial T_case Initial case temperature, in oC
Initial Ploss Initial total power loss, in W
Tj Flag Display flag for junction temperatures of the transistor and diode
Ploss Flag Display flag for conduction and switching losses of the transistor and diode
Current Flag Display flag for switch currents
Voltage Flag Display flag for switch voltages

Attributes for MOSFET (Eon) (database):

Parameters Description
Device The specific device selected from the device database
Number of Parallel Devices Number of identical devices in parallel
Frequency Frequency, in Hz, under which the losses are calculated
Rg_on (turn-on) Gate resistance during turn-on
Rg_off (turn-off) Gate resistance during turn-off. In most cases, the turn-on gate resistance Rg_on
and the turn-off gate resistance Rg_off are identical.
Pcond_Q Calibration Factor The calibration factor Kcond_Q of the transistor conduction losses Pcond_Q
Psw_Q Calibration Factor The calibration factor Ksw_Q of the transistor switching losses Psw_Q
Pcond_D Calibration Factor The calibration factor Kcond_D of the diode conduction losses Pcond_D
Psw_D Calibration Factor The calibration factor Ksw_D of the diode switching losses Psw_D
Initial Tj_Q Initial junction temperature of the transistor, in oC
Initial Tj_D Initial junction temperature of the diode, in oC
Initial T_case Initial case temperature, in oC
Tj Flag Display flag for junction temperature of the transistor and diode
Ploss Flag Display flag for conduction and switching losses of the transistor and diode
Current Flag Display flag for switch currents
Voltage Flag Display flag for switch voltages
Parameter Frequency refers to the frequency under which the losses are calculated. For example, if the device
operates at the switching frequency of 10 kHz, and Frequency is also set to 10 kHz, the losses will be the values
for one switching period. However, if Frequency is set to 60 Hz, then the losses will be the value for a period of
60 Hz.
Parameter Pcond_Q Calibration Factor is the correction factor for the transistor conduction loss. For the
example, if the calculated conduction loss before the correction is Pcond_Q_cal, then
Pcond_Q = Kcond_Q * Pcond_Q_cal
Similarly, Parameter Psw_Q Calibration Factor is the correction factor for the transistor switching loss. For the
example, if the calculated switching loss before the correction is Psw_Q_cal, then
Psw_Q = Ksw_Q * Psw_Q_cal
154 Chapter 4: Power Circuit Components
Parameters Pcond_D Calibration Factor and Psw_D Calibration Factor work in the same way. except that they
are for the diode losses.
When several identical MOSFET devices are in parallel, one should have just one device in the schematic, and
set the correct number of devices in the parameter input. This is because when several identical devices are in
parallel in the schematic, the device currents may not be exactly equal due to small differences in the
simulation. When the number of parallel devices is greater than one, the total current through the group of the
parallel devices will be equally divided among the devices. The total losses are then obtained by multiplying the
losses in each device by the number of parallel devices. The current flowing out of the node P_loss is the total
loss of all the parallel devices combined.
The figure below shows the thermal equivalent circuit of a discrete MOSFET device when the checkbox
"Separate Rth_diode" is unchecked. The circuit inside the red box is inside the device. The circuit R1, C1, R2,
and C2 is the device internal thermal equivalent circuit that both the transistor and the diode share, and the
values are defined in the device thermal database, under "Thermal Characteristics".

The figure below shows the thermal equivalent circuit of a discrete MOSFET device when the checkbox
"Separate Rth_diode" is checked. In this case, the transistor and the diode have their own internal thermal
equivalent circuit and the junction temperature.

The voltages at the loss node Pcond_Q and Pcond_D of the circuit above represent the calculated junction
temperature Tj_Q and Tj_D of the transistor and the diode, and these junction temperatures are used when the
database curves are used for loss calculation. The voltage Tcase at the node P_loss represents the device case
temperature. When the device does not have internal thermal stages, Tj_Q and Tj_D are the same as Tcase, and
one would need to build the thermal equivalent circuit externally.
If the calculated Tj is between the junction temperatures of two curves, interpolation will be used. If the
calculated Tj is lower than the lowest Tj or higher than the highest Tj in the curves, extrapolation will be used. If
there is only one curve, that curve is used regardless of the calculated Tj.
Conduction Losses:
The transistor conduction loss is calculated as:

Chapter 4: Power Circuit Components 155


where ID is the drain current, and RDS(on) is the static on-resistance. When the transistor is conducting
periodically with an on duty cycle of D, the conduction loss is calculated as:

Switching Losses:
The transistor turn-on loss is calculated as:
Psw_Q_on = Eon * f

where Eon is the transistor turn-on energy loss, and f is the frequency as defined in the input parameter
Frequency.
The transistor turn-off loss is calculated as:
Psw_Q_off = Eoff * f
where Eoff is the transistor turn-off energy loss.
The energy losses Eon and Eoff are either read directly from the device database, or if they are not available, are
calculated using the rise times and the fall times of the voltage and current waveforms based on the information
of the MOSFET gate current, input/output/reverse transfer capacitances, and gate charges.
For "MOSFET (Eon) (database)" devices, to calculate the turn-on energy loss Eon, the collector current ID and
the junction temperature Tj are used to obtain Eon from the Eon vs. IDS curve. This value is then scaled based
on the Eon vs. RG curve and the actual gate resistance Rg_on. If the Eon vs. VDS curves exist, the value is
further scaled based on these curves and the actual voltage VDS. If these curves do not exist, Eon will be scaled
based on VDS / VDS_datasheet where VDS_datasheet is the drain-source voltage from the test conditions of the Eon
vs. IDS curve.
The turn-off energy loss Eoff is calculated in a similar way.
Please note that the gate charge loss is not included in the switching losses above. The gate charge loss is
usually quite small compared to the turn-on/turn-off switching losses, and can be neglected in the full load
conditions. However, it can become substantial in the light load conditions. To calculate the gate charge loss
Ploss_Qg:
Ploss_Qg = Qg* VGG * fsw
where Qg is the total gate charge, VGG is the gate source voltage, and fsw is the switching frequency.
Also, for the "MOSFET (database)" device, the MOSFET device must be properly selected to ensure that it is
sufficiently rated to conduct the current. If the MOSFET current rating is too low, PSIM will not be able to
calculate the switching rise/fall times and will give an error message. In simulation, the maximum drain-to-
source current that a MOSFET device is allowed to conduct is:
Io,max = gfs * (VGG - VGS(th))
If the current exceeds Io,max, one should either increase the gate source voltage level or select another MOSFET
device with a larger forward transconductance value.
The loss calculation for the anti-parallel diode or free-wheeling diode is the same as described in the diode
device section.
The total loss P_loss in watts, which is the sum of Pcond_Q, Psw_Q, Pcond_D, and Psw_D, is represented in the
form of a currents which flows out of the power loss node P_loss. When the node is not connected to an external
circuit, it must be connected to ground as it cannot be floating.

156 Chapter 4: Power Circuit Components


4.10.2.2 "MOSFET (database) Device" in Database
The following information is defined for a "MOSFET (database)" device in the database:
General Information:
Manufacturer: Device manufacture
Part Number: Manufacturer’s part number
Package: Discrete, dual, or 6-pack, as shown in the figure below:
The style of the package (for example, TO-220, TO-262, TO-247, etc.) can be specified in the Style field.
Absolute Maximum Ratings:
VDS,max (V): Maximum drain-to-source voltage
ID,max (A): Maximum continuous drain current
Tj,max (oC): Maximum junction temperature
Electrical Characteristics - Transistor:
RDS(on) (ohm): Drain-to-source on-resistance RDS(on)_b at the test conditions (test conditions:
junction temperature Tj_b in oC (usually 25 oC), gate-to-source voltage VGS in V, and
drain current ID in A)
Temperature Coefficient: Temperature coefficient KT of the on-resistance, in 1/oC
VGS(th) (V): Gate threshold voltage VGS(th) (test condition: drain current ID in A)
gfs (S): Forward transconductance gfs. In the linear region of the device, we have

(test conditions: drain-to-source voltage VDS in V, and drain current ID in A)


tr (ns) and tf (ns):Rise time tr and fall time tf (test conditions: drain-to-source voltage VDS in V; drain
current ID in A; and gate resistance Rg in ohm)
Qg, Qgs, and Qgd:Total gate charge Qg, gate-to-source charge Qgs, and gate-to-drain ("Miller") charge
Qgd, respectively, all in nC (test conditions: drain-to-source voltage VDS in V; gate-to-
source voltage VDS in V; and drain current ID in A)
Ciss, Coss, and Crss: Input capacitance Ciss, output capacitance Coss, and reverse transfer capacitance
Crss, respectively, all in pF (test conditions: drain-to-source voltage VDS in V; gate-to-
source voltage VDS in V; and test frequency in MHz)
Electrical Characteristics - Diode:
Vd vs. IF: Forward conduction voltage drop Vd vs. forward current IF
trr and Qrr: Reverse recovery time trr in ns, and reverse recovery charge Qrr in uC (test
conditions: forward current IF in A; rate of change of the current di/dt in A/us, and
junction temperature Tj in oC)
Thermal Characteristics:
Separate Rth_diode:If this box is checked, the transistor and the diode of the MOSFET will have their
own internal thermal equivalent circuit and junction temperature. If the box is
unchecked, the transistor and the diode share a common internal thermal equivalent
circuit and the junction temperature is the same.
Type: Type of the device internal thermal equivalent circuit. It can be either Cauer or
Foster.
No. of Stages: Number of R-C stages of the device internal thermal equivalent circuit.
Ri: Resistance of the ith stage for the transistor and the diode, in Ohm
Ci: Capacitance of the ith stage for the transistor and the diode, in F

Chapter 4: Power Circuit Components 157


Dimensions and Weight:
Length (mm): Length of the device, in mm
Width (mm): Width of the device, in mm
Height (mm): Height of the device, in mm
Weight (g): Weight of the device, in g
Note that parameters under Absolute Maximum Ratings, Thermal Characteristics, and Dimensions and Weight,
and the rise time tr and fall time tf parameters, are not used in the loss calculation, and are optional.
The MOSFET on-resistance is a function of the transistor junction temperature. The voltage at the node Pcond_Q
or Psw_Q of the MOSFET image represents the calculated transistor junction temperature Tj in oC. For example,
a voltage value of 25V would mean a junction temperature of 25oC. The on-resistance of the MOSFET is
expressed as:

The temperature coefficient is calculated as:

The base values are normally obtained at the test conditions of 25oC. Using the normalized value of RDS(on)
based on the base value, we have:

The on-resistance RDS(on) is calculated at every time step and is used in the simulation.
Also, the forward conduction voltage drop Vd of the diode changes depending on the current. The new
conduction voltage value is used in the simulation.

4.10.2.3 "MOSFET (Eon) (database)" Device in Database


The following information is defined for a "MOSFET (Eon) (database)" device in the database:
General Information:
Manufacturer: Device manufacture
Part Number: Manufacturer’s part number
Package: Discrete, dual, or 6-pack, as shown in the figure below:
The style of the package (for example, TO-220, TO-262, TO-247, etc.) can be specified in the Style field.
Absolute Maximum Ratings:
VDS,max (V): Maximum drain-to-source voltage
IDS,max (A): Maximum continuous drain current
Tj,max (oC): Maximum junction temperature
Electrical Characteristics - Transistor:
VDS vs. IDS: Drain-source voltage VDS vs. drain current IDS in the 1st quadrant
VDS vs. IDS (3rd): Drain-source voltage VDS vs. drain current IDS in the 3rd quadrant
Eon vs. IDS: Turn-on energy loss Eon vs. drain current IDS
Eoff vs. IDS: Turn-off energy loss Eoff vs. drain current IDS
Eon vs. RG: Turn-on energy loss Eon vs. gate resistance RG
Eoff vs. RG: Turn-off energy loss Eoff vs. gate resistance RG
158 Chapter 4: Power Circuit Components
Eon vs. VDS @ IDS1:Turn-on energy loss Eon vs. voltage VDS at one current value IDS
Eoff vs. VDS @ IDS1:Turn-off energy loss Eoff vs. voltage VDS at one current value IDS
Eon vs. VDS @ IDS2:Turn-on energy loss Eon vs. voltage VDS at another current value IDS1
Eoff vs. VDS @ IDS2:Turn-off energy loss Eoff vs. voltage VDS at another current value IDS2
Electrical Characteristics - Diode:

Vd vs. IF: Forward conduction voltage drop Vd vs. forward current IF


trr vs. IF: Reverse recovery time trr vs. current IF
Irr vs. IF: Peak reverse recovery current Irr vs. current IF
Qrr vs. IF: Reverse recovery charge Qrr vs. current IF
Err vs. IF: Reverse recovery energy loss Err vs. current IF
Err vs. RG: Reverse recovery energy loss Err vs. gate resistance RG
Thermal Characteristics:
Separate Rth_diode:If this box is checked, the transistor and the diode of the MOSFET will have their
own internal thermal equivalent circuit and junction temperature. If the box is
unchecked, the transistor and the diode share a common internal thermal equivalent
circuit and the junction temperature is the same.
Type: Type of the device internal thermal equivalent circuit. It can be either Cauer or
Foster.
No. of Stages: Number of R-C stages of the device internal thermal equivalent circuit.
Ri: Resistance of the ith stage for the transistor and the diode, in Ohm
Ci: Capacitance of the ith stage for the transistor and the diode, in F
Dimensions and Weight:
Length (mm): Length of the device, in mm
Width (mm): Width of the device, in mm
Height (mm): Height of the device, in mm
Weight (g): Weight of the device, in g
Note that the following parameters from the "Other Test Conditions" of the following curves are used in the loss
calculation, and must be entered correctly:
Voltage VDS: In Eon vs. IDS
Gate resistance: In Eon vs. IDS and Eon vs. VDS
Current IDS: In Eon vs. RG and Eon vs. VDS
Reverse blocking voltage VR:In trr/Irr/Qrr vs. IF
Parameters under Absolute Maximum Ratings, Thermal Characteristics, and Dimensions and Weight are not
used in the loss calculation, and are optional.

4.10.3 IGBT Thermal Model

4.10.3.1 IGBT Loss Calculation


An IGBT device in the database can be used in the simulation for loss calculation. An IGBT device in the
Thermal Module library has the following parameters:

Chapter 4: Power Circuit Components 159


Images:

Attributes:

Parameters Description
Device The specific device selected from the device database
Number of Parallel Devices The number of devices connected in parallel
Frequency Frequency, in Hz, under which the losses are calculated
Rg_on (turn-on) Gate resistance during turn-on
Rg_off (turn-off) Gate resistance during turn-off. In most cases, the turn-on gate resistance Rg_on
and the turn-off gate resistance Rg_off are identical.
Pcond_Q Calibration Factor Calibration factor Kcond_Q of the transistor conduction loss Pcond_Q
Psw_Q Calibration Factor Calibration factor Ksw_Q of the transistor switching loss Psw_Q
Pcond_D Calibration Factor Calibration factor Kcond_D of the diode conduction losses Pcond_D
Psw_D Calibration Factor Calibration factor Ksw_D of the diode switching losses Psw_D
Initial Tj_Q Initial junction temperature of the transistor, in oC
Initial Tj_D Initial junction temperature of the diode, in oC
Initial T_case Initial case temperature, in oC
Initial Ploss_Q Initial total loss of the transistor, in W
Initial Ploss_D Initial total loss of the diode, in W
Tj Flag Display flag for junction temperatures of the transistor and diode
Ploss Flag Display flag for conduction and switching losses of the transistor and diode
Current Flag Display flag for switch currents
Voltage Flag Display flag for switch voltages
Parameter Frequency refers to the frequency under which the losses are calculated. For example, if the device
operates at the switching frequency of 10 kHz, and the parameter Frequency is also set to 10 kHz, the losses
will be the values for one switching period. However, if the parameter Frequency is set to 60 Hz, then the losses
will be the value for a period of 60 Hz.
Parameter Pcond_Q Calibration Factor is the correction factor for the transistor conduction loss. For the
example, if the calculated conduction loss before the correction is Pcond_Q_cal, then
Pcond_Q = Kcond_Q *
Pcond_Q_cal

160 Chapter 4: Power Circuit Components


Similarly, Parameter Psw_Q Calibration Factor is the correction factor for the transistor switching loss. For the
example, if the calculated switching loss before the correction is Psw_Q_cal, then
Psw_Q = Ksw_Q * Psw_Q_cal
Parameters Pcond_D Calibration Factor and Psw_D Calibration Factor work in the same way, except that they
are for the diode losses.
When several identical IGBT devices are in parallel, one should have just one device in the schematic, and set
the correct number of devices in the parameter input. This is because when several identical devices are in
parallel in the schematic, the device currents may not be exactly equal due to small differences in the
simulation. When the number of parallel devices is greater than one, the total current through the group of the
parallel devices will be equally divided among the devices. The total losses are then obtained by multiplying the
losses in each device by the number of parallel devices. The currents flowing out of Nodes Pcond_D, Psw_D,
Pcond_Q, and Psw_Q are the total losses of all the parallel devices combined.

The figure below shows the thermal equivalent circuit of a discrete IGBT. The circuit inside the red box is
inside the device. The circuit R1, C1, R2, and C2 is the internal thermal equivalent circuit that both the
transistor and diode share, and the values are defined in the device database, under "Thermal Characteristics".

The voltages at the loss node Pcond_Q and Pcond_D of the circuit above represent the calculated junction
temperature Tj_Q and Tj_D of the transistor and the diode, and these junction temperatures are used when the
database curves are used for loss calculation. The voltage Tcase at the node P_loss represents the device case
temperature. When the device does not have internal thermal stages, Tj_Q and Tj_D are the same as Tcase, and
one would need to build the thermal equivalent circuit externally.
If the calculated junction temperature Tj_Q or Tj_D is between the junction temperatures of two curves,
interpolation will be used. If the calculated junction temperature is lower than the lowest junction temperature
or higher than the highest junction temperature in the curves, extrapolation will be used. If there is only one
curve, that curve is used regardless of the calculated junction temperature.
Conduction Loss:
The transistor conduction loss is calculated as:
Pcond_Q = Vce(sat) * Ic
where Vce(sat) is the transistor collector-emitter saturation voltage, and Ic is the collector current. When the
transistor is conducting periodically with an on duty cycle of D, the conduction loss is calculated as:
Pcond_Q = Vce(sat) * Ic * D
Switching Loss:
The transistor turn-on loss is calculated as:
Psw_Q_on = Eon * f * Vcc / Vcc_datasheet

Chapter 4: Power Circuit Components 161


where Eon is the transistor turn-on energy loss, f is the frequency as defined in the input parameter Frequency,
Vcc is the actual dc bus voltage, and Vcc_datasheet is the dc bus voltage in the Eon and Eoff characteristics of the
datasheet, defined as "DC bus voltage (V)" in the test conditions.
The transistor turn-off loss is calculated as:
Psw_Q_off = Eoff * f * Vcc / Vcc_datasheet
where Eoff is the transistor turn-off energy loss.
To calculate Eon, the collector current Ic and the junction temperature Tj are used to obtain Eon from the Eon vs.
Ic curve. This value is then scaled based on the Eon vs. RG curve and the actual gate resistance Rg_on. The
losses Eoff and Err are calculated in a similar way.
The loss calculation for the anti-parallel diode or free-wheeling diode is the same as described in the section for
the diode device.
The total loss P_loss in watts, which is the sum of Pcond_Q, Psw_Q, Pcond_D, and Psw_D, is represented in the
form of a current which flows out of these nodes. When the node is not connected to an external circuit, it must
be connected to ground as it cannot be floating.

4.10.3.2 IGBT Device in Database


An IGBT device has three types of packages: discrete, dual, or 6-pack.
For the dual package, both the top and the bottom switches can be IGBT’s (full-bridge configuration), or one of
the switches is IGBT and the other is a free-wheeling diode (half-bridge configuration). For the half-bridge dual
IGBT device, since the free-wheeling diode parameters can be different from these of the anti-parallel diode,
this type of device is referred to as the IGBT-Diode device, and is treated as a different type in the simulation.
But for the convenience of discussion, both devices are referred to as the IGBT devices here.
The following information is defined for an IGBT device in the database:
General Information:
Manufacturer: Device manufacture
Part Number: Manufacturer’s part number
Package: It can be discrete, dual, or 6-pack, as shown in the figure below
The style of the package (for example, TO-247, TO-268, etc.) can be specified in the Style field.
Absolute Maximum Ratings:
Vce,max (V): Maximum collector-emitter voltage
Ic,max (A): Maximum collector current
Tj,max (oC): Maximum junction temperature
Electrical Characteristics - Transistor:
Vce(sat) vs. Ic: Collector-emitter saturation voltage Vce(sat) vs. collector current Ic
Eon vs. Ic: Turn-on energy loss Eon vs. collector current Ic
Eoff vs. Ic: Turn-off energy loss Eoff vs. collector current Ic
Eon vs. RG: Turn-on energy loss Eon vs. gate resistance RG
Eoff vs. RG: Turn-off energy loss Eoff vs. gate resistance RG
Electrical Characteristics - Diode (or Anti-Parallel Diode):
Vd vs. IF: Forward conduction voltage drop Vd vs. forward current IF
trr vs. IF: Reverse recovery time trr vs. current IF
Irr vs. IF: Peak reverse recovery current Irr vs. current IF
Qrr vs. IF: Reverse recovery charge Qrr vs. current IF
Err vs. IF: Reverse recovery energy loss Err vs. current IF
162 Chapter 4: Power Circuit Components
Err vs. RG: Reverse recovery energy loss Err vs. gate resistance RG
Electrical Characteristics - Free-Wheeling Diode (for IGBT-Diode device only):
Vd vs. IF: Forward conduction voltage drop vs. forward current IF
trr vs. IF: Reverse recovery time trr vs. current IF
Irr vs. IF: Peak reverse recovery current Irr vs. current IF
Qrr vs. IF: Reverse recovery charge Qrr vs. current IF
Err vs. IF: Reverse recovery energy loss Err vs. current IF
Thermal Characteristics:
Type: Type of the device internal thermal equivalent circuit. It can be either Cauer or
Foster.
No. of Stages: Number of R-C stages of the device internal thermal equivalent circuit.
Ri: Resistance of the ith stage for the transistor and the diode, in Ohm
Ci: Capacitance of the ith stage for the transistor and the diode, in F
Dimensions and Weight:
Length (mm): Length of the device, in mm
Width (mm): Width of the device, in mm
Height (mm): Height of the device, in mm
Weight (g): Weight of the device, in g
Note that the values "Voltage VCE (V)" and "Gate resistance RG (Ohm)" in the "Other Test Conditions" of the
Eon vs. Ic curve are used to scale the loss calculation for Eon, Eoff, and Err, and must be entered correctly. It is
assumed that the test conditions of Eon vs. Ic are the same as these of Eoff vs. Ic and Err vs. Ic, and only the
values in Eon vs. Ic are used.
Parameters under Absolute Maximum Ratings, Thermal Characteristics, and Dimensions and Weight are not
used in the loss calculation, and are optional.
In addition, the collector-emitter saturation voltage Vce(sat) of the transistor and the forward conduction voltage
drop Vd of the diode change depending on the currents. The new values are used in the subsequent simulation.

4.10.4 RB-IGBT Thermal Model

4.10.4.1 RB-IGBT Loss Calculation


A RB-IGBT device in the database can be selected and used in the simulation for loss calculation. A RB-IGBT
device in the Thermal Module library has the following parameters:
Images:

In the images, beside the IGBT terminal nodes, there is an extra node. They are the nodes for transistor
conductor loss Pcond_Q (the node with a circle), and transistor switching loss Psw_Q.

Chapter 4: Power Circuit Components 163


Attributes:

Parameters Description
Device The specific device selected from the device database
Frequency Frequency, in Hz, under which the losses are calculated
Number of Parallel Devices Number of identical RB-IGBT devices in parallel
Rg_on (turn-on) Gate resistance during turn-on
Rg_off (turn-off) Gate resistance during turn-off. In most cases, the turn-on gate resistance Rg_on
and the turn-off gate resistance Rg_off are identical.
Pcond_Q Calibration Factor Calibration factor Kcond_Q of the transistor conduction losses Pcond_Q
Psw_Q Calibration Factor Calibration factor Ksw_Q of the transistor switching losses Psw_Q
Initial Tj Initial junction temperature, in oC
Initial T_case Initial case temperature, in oC
Initial Ploss Initial total power loss, in W
Tj Flag Display flag for junction temperature of the transistor
Ploss Flag Display flag for conduction and switching losses of the transistor
Current Flag Display flag for the switch current
Voltage Flag Display flag for the switch voltage
Parameter Frequency refers to the frequency under which losses are calculated. For example, if the device
operates at the switching frequency of 10 kHz, and Frequency is also set to 10 kHz, losses will be the value for
one switching period. However, if Frequency is set to 60 Hz, then losses will be the value for a period of 60 Hz.
Parameter Pcond_Q Calibration Factor is the correction factor for the transistor conduction loss. For the
example, if the calculated conduction loss before the correction is Pcond_Q_cal, then
Pcond_Q = Kcond_Q * Pcond_Q_cal
Similarly, Parameter Psw_Q Calibration Factor is the correction factor for the transistor switching loss. For the
example, if the calculated switching loss before the correction is Psw_Q_cal, then
Psw_Q = Ksw_Q * Psw_Q_cal
When several identical RB-IGBT devices are in parallel, one should have just one device in the schematic, and
set the correct number of devices in the parameter input. This is because when several identical devices are in
parallel in the schematic, the device currents may not be exactly equal due to small differences in the
simulation. When the number of parallel devices is greater than one, the total current through the group of the
parallel devices will be equally divided among the devices. The total losses are then obtained by multiplying the
losses in each device by the number of parallel devices. The currents flowing out of Nodes Pcond_Q and Psw_Q
are the total losses of all the parallel devices combined.
The figure below shows the thermal equivalent circuit of a discrete RB-IGBT device. The circuit inside the red
box is inside the device. The circuit R1, C1, R2, and C2 is the device internal thermal equivalent circuit that
both the transistor and the diode share, and the values are defined in the device thermal database, under
"Thermal Characteristics".

164 Chapter 4: Power Circuit Components


The voltage at the loss node Pcond_Q of the circuit above represent the calculated junction temperature Tj of the
transistor, and this junction temperature is used when the database curves are used for loss calculation. The
voltage Tcase at the node P_loss represents the device case temperature. When the device does not have internal
thermal stages, Tj is the same as Tcase, and one would need to build the thermal equivalent circuit externally.
The calculated junction temperature Tj is used when the database curves are used for loss calculation. If the
calculated junction temperature is between the junction temperatures of two curves, interpolation will be used.
If the calculated junction temperature is lower than the lowest junction temperature or higher than the highest
junction temperature in the curves, extrapolation will be used. If there is only one curve, that curve is used
regardless of the calculated junction temperature.
Conduction Loss:
The transistor conduction loss is calculated as:
Pcond_Q = Vce(sat) * Ic
where Vce(sat) is the transistor collector-emitter saturation voltage, and Ic is the collector current. When the
transistor is conducting periodically with an on duty cycle of D, the conduction loss is calculated as:
Pcond_Q = Vce(sat) * Ic * D

Switching Loss:
The transistor turn-on loss is calculated as:
Psw_Q_on = Eon * f * Vcc / Vcc_datasheet
where Eon is the device turn-on energy loss, f is the frequency as defined in the input parameter Frequency, Vcc
is the actual dc bus voltage, and Vcc_datasheet is the dc bus voltage in the Eon and Eoff characteristics of the
datasheet, defined as "DC bus voltage (V)" in the test conditions.
The transistor turn-off loss is calculated as:
Psw_Q_off = (Eoff + Err) * f * Vcc / Vcc_datasheet
where Eoff is the transistor turn-off energy loss and Err is the reverse recovery energy loss.
To calculate Eon, the collector current Ic and the junction temperature Tj are used to obtain Eon from the Eon vs.
Ic curve. This value is then scaled based on the Eon vs. RG curve and the actual gate resistance Rg_on. The
losses Eoff and Err are calculated in a similar way.
The total loss P_loss in watts, which is the sum of Pcond_Q and Psw_Q, is represented in the form of a current
which flows out of the power loss node P_loss. When the node is not connected to an external circuit, it must be
connected to ground as it cannot be floating.

4.10.4.2 RB-IGBT Device in Database


A reverse-blocking IGBT (RB-IGBT) device has two types of packages: discrete or dual.
The following information is defined for an IGBT device in the database:
General Information:
Manufacturer: Device manufacture
Chapter 4: Power Circuit Components 165
Part Number: Manufacturer’s part number
Package: It can be discrete or dual, as shown in the figure below
The style of the package can be specified in the Style field.
Absolute Maximum Ratings:
Vce,max (V): Maximum collector-emitter voltage
Ic,max (A): Maximum collector current
Tj,max (oC): Maximum junction temperature
Electrical Characteristics - Transistor:
Vce(sat) vs. Ic: Collector-emitter saturation voltage Vce(sat) vs. collector current Ic
Eon vs. Ic: Turn-on energy loss Eon vs. collector current Ic
Eoff vs. Ic: Turn-off energy loss Eoff vs. collector current Ic
Err vs. Ic: Reverse recovery energy loss Err vs. collector current Ic
Thermal Characteristics:
Type: Type of the device internal thermal equivalent circuit. It can be either Cauer or
Foster.
No. of Stages: Number of R-C stages of the device internal thermal equivalent circuit.
Ri: Resistance of the ith stage, in Ohm
Ci: Capacitance of the ith stage, in F
Dimensions and Weight:
Length (mm): Length of the device, in mm
Width (mm): Width of the device, in mm
Height (mm): Height of the device, in mm
Weight (g): Weight of the device, in g
Note that the condition "DC bus voltage (V)" in the characteristics Eon vs. Ic and Eoff vs. Ic for transistors, and
the condition "Reverse blocking voltage VR (V)" in the characteristics Err vs. Ic are used to scale the loss
calculation, and must be entered correctly.
Also, parameters under Absolute Maximum Ratings, Thermal Characteristics, and Dimensions and Weight are
not used in the loss calculation, and are optional.
In addition, the collector-emitter saturation voltage Vce(sat) of the transistor depending on the currents. The new
values are used in the subsequent simulation.

4.10.5 Inductor Thermal Model

4.10.5.1 Inductor Loss Calculation


A database inductor can be selected and used in the simulation for loss calculation.
Image:
Pcore Pwinding

Attributes:

Parameters Description
Device The specific inductor selected from the device database.
Frequency Fundamental frequency of the inductor, in Hz.
166 Chapter 4: Power Circuit Components
Temperature Flag Flag for core temperature definition. It can be either Calculated or Fixed. If
it is Calculated, the core temperature will be calculated based on circuit
operating conditions and this temperature will be used for loss calculation.
If it is Fixed, the core temperature will be specified by users. This will give
users a clear idea the losses at a specific temperature.
Ambient Temperature Ambient temperature of the inductor, in oC.
Convection Type of cooling. It can be Forced for forced convection or Natural for
natural convection.
Air Speed Air speed, in m/sec., if forced convection is selected.
Estimated Core Temp. Estimated core temperature, in oC, if the Temperature Flag is set to Fixed.
Estimated Winding Temp. Estimated winding temperature, in oC, if the Temperature Flag is set to
Fixed.
Loss Calculation Flag If the flag is 0, the loss calculation will be performed from the beginning of
the simulation. If the flag is 1, the loss calculation will be performed only in
the last fundamental cycle of the simulation. Since loss calculation will
slow down simulation, calculating the losses only in the last cycle will
speed up the simulation.
Current Flag Display flag of the inductor current.
The losses Pcore and Pwinding, in watts, are represented in the form of currents which flow out of the nodes. To
measure and display the losses, an ammeter should be connected between the nodes and the ground. When they
are not used, these nodes cannot be floating and must be connected to ground.
In the parameters, Frequency refers to the main frequency under which the inductor is excited. For example, if
an inductor conducts a 60-Hz current in an ac circuit which also has 20kHz switching harmonic components,
the frequency should be set to 60 Hz. If an inductor conducts dc current in a dc circuit which has 20kHz
switching harmonic components, the frequency should be set to 20kHz.
For more information on how to use the Thermal Module inductor, please refer to the tutorial "Tutorial -
Inductor loss calculation in Thermal Module.pdf".

4.10.5.2 Inductor in Database


The following information is defined for an inductor in the database:
General Information:
Manufacturer: Inductor manufacture
Part Number: Inductor manufacturer’s part number
Package: Only the basic package is available.
Electrical Characteristics:
L (uH): Inductance, in uH
Maximum Ratings:
Imax,rms (A): Maximum rms current rating, in A.
Core Information:
Core Type and Size: Specify core shape and size
Core Material: Specify core material and magnetic characteristics
Winding Information:
Winding Type and Size: Specify conductor shape, size, and insulation type
Winding Distribution: Specify winding number of turns, layers, distance between layers, distance
between wires, and distance between core and winding
Chapter 4: Power Circuit Components 167
Distribution of Parallel Wires: Specify parallel wire distribution in radial and height directions
Gap Information:
Gap Data: Specify the number of gaps and the length of each gap.
A new inductor can be added to the database by selecting Device >> New Inductor. Databases of core
materials, cores, and winding can be added and edited by selecting Device >> Edit Inductor Core Database,
Edit Winding Database, and Edit Core Material Database.

4.10.6 Device Database Editor


The device database editor, PcdEditor.exe, provides an easy and convenient way of adding, editing, and
managing devices.
Select Utilities >> Device Database Editor to launch the debase editor. The interface is shown below.

Device
database
files

Device
information

Device
list

Thermal
characteristics

On the left are the device database files that are loaded into the database editor, and the list of the devices. The
devices can be displayed based on either Device Type or Manufacturer. Also, the device list can be sorted by
Part Number, Voltage rating, or Current rating, by clicking on the title bars of the list.
To create a new device file, choose File >> New Device File.
To load a device files into the editor, choose File >> Open Device File.
To unload a device file from the editor, choose File >> Close Device File.
On the right is the information of each device. In general, the following information is required to define a
switching device for thermal simulation:
- Manufacturer and Part Number
- Package type and style
- Absolute maximum ratings
168 Chapter 4: Power Circuit Components
- Electrical characteristics
- Thermal characteristics
- Dimension and weight
The following information are required to define a database inductor for thermal simulation.
- Manufacturer and Part Number
- Package type and style
- Maximum ratings
- Electrical characteristics
- Core, winding, and gap information
To create a new device, go to the Device menu, and choose the correct type of new device from the list.
To make a copy of an existing device in the same database file, highlight the device in the list, and choose
Device >> Save Device As.
To make a copy of an existing device and save it in a different database file, first highlight the device in the list,
then highlight the file name in the File Name list, and choose Device >> Save Device As.

4.10.7 Adding a Switching Device to Database


The step-by-step procedure is illustrated with an example: add Powerex discrete diode CS240650 (600V, 50A)
into a new device database file "diode_new.dev".
• Create new device file: Launch PcdEditor.exe. Go to File >> New Device File, and create a file called
"diode_new.dev". This file will be placed in the device sub-folder under the PSIM program folder by
default.
• Create new device: With the file name "diode_new" highlighted in the "File Name" list, Choose Device
>> New Diode. A diode will be added to the database file with Manufacturer as "New" and Part Number
as "New".
• Enter basic information: Obtain the datasheet of Powerex diode CS240650 from the web site
www.pwrx.com. By referring to the information from the datasheet, in the database editor, enter the fol-
lowing information for this device:
Manufacturer:Powerex
Part Number:CS240650
Package:Discrete
and under Absolute Maximum Ratings:
Vrrm,max (V):600
IF,max (A):50
Tj,max (oC):150
• Define Electrical Characteristics
Taking the forward voltage characteristics Vd vs. IF as the example:
Under Electrical Characteristics by clicking on the Edit button on top of the Vd vs. IF graph area. The
following dialog window will appear.

Chapter 4: Power Circuit Components 169


Graph
wizard
icons
Help area

X and Y
axis settings

Data area

X/Y axis
multiplying
factor

Graph area

The dialog window has two pages: Graph and Conditions.


The Graph page contains thee x and y axis settings as well as the data points and the graph. In this case, the y
axis is the conduction voltage drop Vd, and the x axis is the forward current IF. The x and y axis can have
multiplying factors (such as m for 10-3, u for 10-6, etc.).
The Conditions page contains the conditions under which the graph is obtained.
There are two ways to define the graph:
- Enter the graph data points manually if there are only a few data points
- Use the Graph Wizard to capture the graph directly from the datasheet image if the graph image is available
from datasheet.
To define the Graph Manually:
• On the datasheet, refer to the "Maximum On-State Characteristics", and enter the values for the x/y axis
settings as follows:
X0: 1
Xmax: 1000
Y0: 0.6
Ymax: 2.6
X in log:checked
• Visually inspect the graph, and select a few data points. Enter the data points in the data area as follows,
then click on the Refresh button to display the graph.:
(1,0.7) (10,1.05) (100,1.8) (200,2.2) (300,2.4)
Or if the data is in an Excel file, it can be copied directly from Excel into the data area. The figure on the
left shows the data in Excel. To copy the data, select the two data columns as shown in the figure on the
right, press Ctrl-C to copy. Then move the cursor into the data area, and press Ctrl-V to paste.

170 Chapter 4: Power Circuit Components


• Click on the Conditions tab and enter the Junction Temperature as 25 oC.
Alternatively, the graph can be defined in this case using the Graph Wizard.
To Define the Graph Using the Graph Wizard:
• Click on the Add Curve button. Then click on the forward wizard icon to start the Graph
Wizard.
• Display the graph of the datasheet on the screen as follows, then press the Print Screen key (the key is
labeled as "Prt Scr" on some keyboards) to copy the screen image to the clipboard.

• lick on the forward wizard icon to paste the screen image into the graph window in the database editor.
Position the graph image properly in the graph window by dragging the left mouse so that the complete
graph is displayed within the window.
• If the graph image is either too large or too small, go back to the previous step by clicking on the back-
ward wizard icon. Then resize the image of the graph in the Adobe Acrobat, and copy the screen image
to the clipboard again.
• The graph dialog window should look something like follows. Click on the forward wizard icon to move
on to the next step.

Chapter 4: Power Circuit Components 171


Opposite
end of the
origin

Origin
of the
graph

• In this step, the border of the graph area is defined by first left clicking at the origin of the graph (usually
the lower left corner), then left clicking again at the opposite corner of the origin (usually the upper right
corner). Note that the graph origin does not have to be the lower left corner, and it can be any one of the
four corners.
• To locate the origin of the corner more accurately, right mouse click to zoom in, and press the Esc
(escape) key to exit the zoom. After this, a blue rectangle will appear around the border of the graph, and
the dialog window will appear as follows.

Data
Points

Then click on the forward wizard icon to move on to the next step.
• In this step, the x and y axis settings will be defined. Enter the settings as follows:
X0: 1
172 Chapter 4: Power Circuit Components
Xmax: 1000
Y0: 0.6
Ymax: 2.6
X in log: checked
• Leave the checkbox Invert graph unchecked since the diode forward current IF is in the x-axis in this
case. But in other situations, if the current is in y-axis, check the Invert graph checkbox.
• Enter the junction temperature as 25 oC. Click on the forward wizard icon to move on to the next step.
• Left click on top of the graph to capture the data points. In this case, for example, four data points at the
current values of around 1A, 10A, 100A, and 280A are captured. Again, right click to zoom in. You can
capture as many data points as desired.
• As data points are captured, red lines will appear that will connect the data points.
• Then click on the forward wizard icon to complete the data capture process. The final graph dialog win-
dow should appear as follows.

• To see the x and y axis values of a particular data point on the graph, place the cursor inside the graph
area. The cursor image will change to a cross image, and the x and y coordinates of the cursor will be dis-
played at the upper right corner of the dialog window. Place the cursor on top of the curve to read the x
and y axis readings.
• If there are multiple curves for different junction temperatures, repeat the same process and enter the
junction temperature value for each curve accordingly. Use the drop-down menu at the upper right corner
of the dialog window to show one particular curve, or to show all the curves at the same time.
• With the same process, define the reverse recovery characteristics trr vs. IF, Irr vs. IF, and Qrr vs. IF.
• Enter the Thermal Characteristics as:
Rth(j-c): 0.6
Rth(c-s): 0.4

Also, select the thermal model type: Cauer or Foster, as well as the number of the stage of the thermal
circuit. The equivalent circuit of the two types of the thermal characteristics are shown below. For
this example, the number of stage is 2.

Chapter 4: Power Circuit Components 173


• Enter the Dimension and Weight as:
Length (mm):53
Width (mm):36
Height (mm):29
• Choose Device >> Save Device to save the device information. This completes the process of adding the
diode into the database.

174 Chapter 4: Power Circuit Components


4.11 Renewable Energy Module
Renewable Energy Module library contains the following elements:
• Solar modules: physical model, functional model, cSi model, and thin-film model;
• Wind turbine
• Lithium-ion and other battery models
• Ultracapacitor

4.11.1 Solar Modules

4.11.1.1 Solar Module - Functional Model


Functional model represents the solar module based on i-v characteristics. Functional model of solar module is
easy to use because it requires only four parameters which can be obtained on any manufacturer’s datasheet.
Image:
Pmax

In the image, The nodes marked with the "+" and "-" signs are the positive and negative terminals. The node on
the top is theoretical maximum power (in W) given the operating conditions.
While the positive and negative terminal nodes are power circuit nodes, the other nodes are all control circuit
nodes.
Attributes:

Parameter Description
Open Circuit Voltage Voc Voltage measured when solar cell terminals are open circuit, in V.
Short Circuit Current Isc Current measured when the solar cell terminals are short circuited, in A.
Maximum Power Voltage Vm Solar cell terminal voltage when the output power is at the maximum, in V
Maximum Power Current Im Solar cell terminal current when the output power is at the maximum, in A
Using the four input parameters, the functional model will create the i-v curve of the solar cell. The figure
below shows the i-v and p-v curves of a typical solar cell.

Current vs. Voltage


Maximum Power Point

Power vs. Voltage

Voltage

Chapter 4: Power Circuit Components 175


The curves show that the solar cell output power reaches the maximum at a specific voltage level. Many control
schemes have been proposed in the literature to track this maximum power point (so called Maximum Power
Point Tracking, or MPPT) so that the solar cell output power is at the maximum.

4.11.1.2 Solar Module - Physical Model


The physical model of solar module simulates the behavior of the solar module with more accuracy because it
takes into account the light intensity and temperature variation.
Image:
Pmax

In the image, The nodes with the "+" and "-" signs are the positive and negative terminals. The node with the
letter "S" refers to the light intensity input (in W/m2), and The node with the letter "T" refers to the ambient
temperature input (in oC). The node on the top is theoretical power (in W) given the operating conditions.
While the positive and negative terminal nodes are power circuit nodes, the other nodes are all control circuit
nodes.
Attributes

Parameter Description
Number of Cells Ns Number of cells Ns of the solar module. A solar module consists of Ns solar
cells in series.
Standard Light Intensity S0 Light intensity S0 under the standard test conditions, in W/m2. The value is
normally 1000 W/m2 in manufacturer datasheet.
Ref. Temperature Tref Temperature Tref under the standard test conditions, in oC
Series Resistance Rs Series resistance Rs of each solar cell, in Ohm
Shunt Resistance Rsh Shunt resistance Rsh of each solar cell, in Ohm
Short Circuit Current Isc0 Short circuit current Isc0 of each solar cell at the reference temperature Tref,
in A
Saturation Current Is0 Diode saturation current Is0 of each solar cell at the reference temperature
Tref, in A
Band Energy Eg Band energy of each solar cell, in eV. It is around 1.12 for crystalline silicon,
and around 1.75 for amorphous silicon.
Ideality Factor A Ideality factor A of each solar cell, also called emission coefficient. It is
around 2 for crystalline silicon, and is less than 2 for amorphous silicon.

Temperature Coefficient Ct Temperature coefficient Ct, in A/oC or A/oK


Coefficient Ks Coefficient ks that defines how light intensity affects the solar cell
temperature.
A solar module consists of Ns solar cells in series, and the equivalent circuit of the physical model of one solar
cell is shown below:

176 Chapter 4: Power Circuit Components


Rs i

id

v/Ns

The equations that describe a solar cell are:

and

where q is the electron charge (q = 1.6 x 10-19 C); k is the Boltzmann constant (k = 1.3806505 x 10-23); S is the
light intensity input; Ta is the ambient temperature input; v is the voltage across the entire solar module; and i is
the current flowing out of the positive terminal of the solar module.

Some of the parameters of the physical model can be obtained from manufacturer datasheet, and the rest of the
parameters can be obtained by trial-and-error. A utility tool Solar Module (physical model) under the Utilities

Chapter 4: Power Circuit Components 177


menu is provided to help obtaining the parameters from manufacturer datasheet. The interface of the tool is
shown on the right.
For more details on how to use this tool to obtain the model parameters, please refer to the tutorial "Tutorial -
Solar Module (physical module).pdf" in the "doc" sub-folder in the PSIM directory.

4.11.1.3 Solar Module - cSi and Thin-File Models


The solar module’s cSi (Crystalline Silicon) and Thin-Film models are developed according to EN50530
Standard. Only three parameters are needed. This is because material related data are already included in the v-
i characteristic equations in these models.
Images:

EN50530 (cSi) EN50530 (thin film)


S

In the image, the nodes marked with the "+" and "-" signs are the positive and negative terminals. The node with
the letter "S" refers to the light intensity input (in W/m2), and The node with the letter "T" refers to the ambient
temperature input (in oC).
While the positive and negative terminal nodes are power circuit nodes, the other nodes are all control circuit
nodes.
Attributes:

Parameter Description
Maximum Power Solar cell maximum output power, in W.
Maximum Power Voltage Solar cell terminal voltage when the output power is at the maximum, in V
Test Condition Temperature Test condition temperature, in degree C.
The current-voltage characteristic of cSi and thin-film models equations are:

Where

and

Linear temperature model for the module temperature:

In the above equations:


Ipv Module current
I0 Diode saturation current
Iph Photo current (source current)
Vpv Module voltage
178 Chapter 4: Power Circuit Components
Vt Temperature voltage
Vgap bandgap
Rs serial resistance
Rp Parallel resistance
T Absolute ambient temperature (K)
Tmod Module temperature (K)
G (Irradiance (W/m2)
c Constant for the linear temperature model
C0 Coefficient of diode saturation current
m diode factor
e0 Elementary charge
k Boltzmann constant.
The technology dependable parameters providing the v-i curve of this model are listed in the table below:

PV generator model for MPPT performance tests:


MPP to open circuit voltage ratio:

MPP to short circuit current ratio:

Formula for the PV current as a function of PV voltage:

Irradiance G and temperature T dependent short circuit current:

Irradiance and temperature dependent open circuit voltage:

Where the temperature of the PV generator should follow the ambient conditions as follows:

Chapter 4: Power Circuit Components 179


Where
TPV Computed PV generator temperature;
Tamb Ambient temperature;
T0 Correction temperature (T0 = -30 oC);
K Irradiance gain (k = 0.03 km2/W);
 Time constant ( = 5 minutes);
α Temperature coefficient of the current;
 Temperature coefficient of the voltage;
CR, CV, CG Technology depending correction factor

Irradiance dependent current I0 is given as

Constant CAQ is given as

Voltage ratio from VMPP at an irradiance of 200W/m2 to VMPP at an irradiance of 1000W/m2 is given as:

The parameters of the PV generator model must be set as listed in the table below:

cSi Thin-Film Tolerance


FFV 0.8 0.72 < 1%
FFI 0.9 0.8 < 1%

CG [W/m2] 2.514E-03 1.252E-03 -

CV 8.593E-02 8.419E-02 -

CR [m2/W] 1.088E-04 1.476E-04 -

VL2H 0.95 0.98 1 %

 0.04 0.02

 -0.4 -0.2

4.11.2 Wind Turbine


180 Chapter 4: Power Circuit Components
The image and parameter of the wind turbine are described below.
Image:

Wind Turbine

Wind Speed

Wind Turbine Shaft

Pitch Angle

Attributes:

Parameter Description
Nominal Output Power The maximum output power of the wind turbine, in W, at 0o pitch angle. This
power is considered as the maximum power operating point of the turbine, and
it should not exceed the rated power of the generator.
Base Wind Speed The base wind speed that would produce the nominal output power, in m/s
Base Rotational Speed The base rotational speed of the turbine that would produce the nominal output
power, in rpm
Initial Rotational Speed The initial rotational speed of the turbine, in rpm
Moment of Inertia Moment of inertia of the wind turbine blade, in kg*m2
Torque Flag Flag to display the internal torque of the wind turbine (0: no display; 1:
display)
Master/Slave Flag Master/slave flag for the connected mechanical system (0: slave; 1: master)
In the image, the node with the letter "w" is for the wind speed input in m/s, and the node with the letter "p" is
for the blade pitch angle input in deg. Both nodes are control circuit nodes.
The power generated by a wind turbine can be expressed as:

Where A is the area of the rotor blade (in m2), vwind is the wind speed (in m/sec.),  is the air density (it is
approximately 1.225 kg/m3), and Cp is the power coefficient. The power coefficient Cp is a function of the tip
speed ratio  and the blade pitch angle . It can be expressed as [Heier1]:

where c1 = 0.5, c2 = 116*' c3 = 0.4, c4 = 0, c5 = 5, c6 = 21*', c7 = 0.01*, and

where m is the rotor rotational speed (in rad/sec.) and Rblade is the radius of the rotor blade (in m).

1. S. Heier and R. Waddington, Grid Integration of Wind Energy Conversion Systems, Wiley, 2006

Chapter 4: Power Circuit Components 181


The relationship between the power coefficient Cp and the tip speed ratio  and the blade pitch angle  can be
plotted in the figure below.
Cp_1 Cp_2 Cp_3
0.50

=
0.40

=
0.30

Cp
C 0.20
=
p

0.10

0.0

0.0 5.00 10.00 15.00



lambda_1

The figure shows that the power coefficient Cp reaches the maximum of 0.49 when the tip speed ratio  is 8.18.
We choose the values of Cp and  at the maximum as the nominal values, i.e., Cp_nom = 0.49, nom = 8.18. One
way to control the wind turbine, therefore, is to maintain the tip speed ratio at or close to the nominal value so
that the power that the wind turbine generates is at the maximum.
Several examples related to wind power generation are provided in the folder "examples\Renewable
Energy\Wind Power".

182 Chapter 4: Power Circuit Components


4.11.3 Battery Models
PSIM provides different battery models. User may select the model according to the information available from
the manufacturers of from the laboratory measurement.

4.11.3.1 Lithium-Ion Battery Model


A lithium-ion battery model is provided. It comes with two images: one with the battery image, and the other
with the battery cell symbol image.
Images:
SOC

SOC

Attributes:

Parameter Description
No. of Cells in Series Number of cells Ns in series of a battery pack
No. of Cells in Parallel Number of cells Np in parallel of a battery pack
Voltage Derating Factor Voltage derating factor Ks, from 0 (100% derating) to 1 (no derating)
Capacity Derating Factor Capacity derating factor Kp, from 0 (100% derating) to 1 (no derating)
Rated Voltage Rated voltage Erated of the battery cell, in V
Discharge Cut-off Voltage Battery voltage Ecut corresponding to the maximum capacity, in V
Rated Capacity Rated capacity Qrated of the battery cell, in Ah
Internal Resistance Internal resistance Rbattery of the battery cell, in Ohm
Discharge Current Discharge current of the curve under which model parameters are obtained, in A
Capacity Factor Capacity factor
Full Voltage Full (or maximum) voltage Efull of the battery cell, in V
Exponential Point Voltage Battery voltage Etop at the end of the exponential region in the discharge curve,
in V
Nominal Voltage Battery voltage Enom at the end of the nominal region in the discharge curve, in V
Maximum Capacity Maximum capacity Qmax of the battery cell, in Ah
Exponential Point Capacity Battery capacity Qtop at the end of the exponential region in the discharge curve,
in Ah
Nominal Capacity Battery capacity Qnom at the end of the nominal region in the discharge curve, in
Ah
Initial State of Charge Initial state of charge (SOC) (from 0 to 1)
In the images, the extra node at the top of the battery image or at the side of the battery cell symbol image is for
the SOC output. It is a control circuit node.
Parameter Erated, Ecut, and Qrated can be directly read from manufacturer datasheet. Some other parameters can
be obtained from the battery discharge curve.

Chapter 4: Power Circuit Components 183


A typical discharge curve is shown in the figure below.

Efull
Exponential
Region
Etop
Enom

Region

Capacity (Ah)
0 Qtop Qnom Q
max

The capacity factor is roughly the ratio between Q0 (the capacity at 0V) and Qmax. It is a value close to 1, and it
needs to be adjusted such that the battery voltage is equal to Ecut when SOC = 0.
Note that the battery parameters are all for one battery cell, while the model can be used to define a battery pack
where the number of cells in series or in parallel is not 1. For a battery pack, all voltages need to be multiplied
by Ns*Ks, all capacities by Np*Kp, and the resistance by Ns/Np. For example, for the entire battery pack:

For a detailed description on how to define and use the lithium-ion battery model, please refer to the document
"Tutorial - How to use Lithium-Ion battery model.pdf".

4.11.3.2 Battery (Lookup Table) Model


A battery model based on lookup tables is provided.
Image:
SOC

184 Chapter 4: Power Circuit Components


Attributes:

Parameter Description
No. of Cells in Series Number of cells Ns in series of a battery pack
No. of Cells in Parallel Number of cells Np in parallel of a battery pack
Voltage Derating Factor Voltage derating factor Ks, from 0 (100% derating) to 1 (no derating)
Capacity Derating Factor Capacity derating factor Kp, from 0 (100% derating) to 1 (no derating)
Maximum Capacity Maximum capacity Qmax of the battery cell, in Ah
Initial State of Charge Initial state of charge (SOC) (from 0 to 1)
OCV-SOC Table Table of the open circuit voltage (OCV) vs. the state of charge (SOC)
Rin-SOC Table (discharge) Table of the internal resistance Rin vs. SOC during the discharge process
Rin-SOC Table (charge) Table of the internal resistance Rin vs. SOC during the charge process
In the image, the extra node at the top of the battery image is for the SOC output. It is a control circuit node.
Note that the battery parameters are all for one battery cell, while the model can be used to define a battery pack
where the number of cells in series or in parallel is not 1. For a battery pack, all voltages need to be multiplied
by Ns*Ks, all capacities by Np*Kp, and the resistance by Ns/Np.
The equivalent circuit of the battery is shown below.

For the internal resistance Rin, two tables can be defined: one during the discharge process, and another during
the charge process.
Below is the procedure to obtain the lookup tables from manufacture datasheet:
• From the Utilities menu, select Curve Capture Tool, and capture two discharge curves of the battery
voltage versus the discharge capacity from the datasheet at different discharge currents.
• Load the file "Extracting OCV and Rin_discharge.psimsch" (in "examples\batteries\lookup table"). Set
the discharge currents and use the tables from the previous step. Run simulation, and display OCV and
Rin_discharge separately with SOC as the x-axis variable. In SIMVIEW, select File >> Save Display As
and save the curve to a text file. Open the file with a text editor and remove the first line. The OCV and
Rin_discharge tables are ready to use by the model.
• From the Utilities menu, select Curve Capture Tool, and capture the charge curves of the battery volt-
age, charge current, and charge capacity versus time.
• Load the file "Extracting Rin_charge.psimsch" (in "examples\batteries\lookup table"). Use the tables
from the previous step. Run simulation, and display Rin_charge with SOC as the x-axis variable. In SIM-
VIEW, select File >> Save Display As and save the curve to a text file. Open the file with a text editor
and remove the first line. The Rin_charge table is ready to use by the model.

4.11.3.3 Battery (Lookup Table SOC) Model


A battery model based on lookup tables is provided. The difference between this model and the battery (lookup
table) model is that in this model, the discharge capacity points corresponding to SOC=0 and SOC=1 can be
defined.
Chapter 4: Power Circuit Components 185
Image:
SOC

Attributes:

Parameter Description
No. of Cells in Series Number of cells Ns in series of a battery pack
No. of Cells in Parallel Number of cells Np in parallel of a battery pack
Voltage Derating Factor Voltage derating factor Ks, from 0 (100% derating) to 1 (no derating)
Capacity Derating Factor Capacity derating factor Kp, from 0 (100% derating) to 1 (no derating)
Maximum Capacity Maximum capacity Qmax of the battery cell, in Ah
Discharge Capacity SOC=1 Discharge capacity of the battery cell Qext1 corresponding to the state of
charge SOC=1.
Discharge Capacity SOC=0 Discharge capacity of the battery cell Qext0 corresponding to SOC=0
Initial State of Charge Initial state of charge (SOC) (from 0 to 1)
OCV-SOC Table Table of the open circuit voltage (OCV) vs. the state of charge (SOC)
Rin-SOC Table (discharge) Table of the internal resistance Rin vs. SOC during the discharge process
Rin-SOC Table (charge) Table of the internal resistance Rin vs. SOC during the charge process
In the image, the extra node at the top of the battery image is for the SOC output. It is a control circuit node.
Note that the battery parameters are all for one battery cell, while the model can be used to define a battery pack
where the number of cells in series or in parallel is not 1. For a battery pack, all voltages need to be multiplied
by Ns*Ks, all capacities by Np*Kp, and the resistance by Ns/Np.
The equivalent circuit of the battery is shown below.

For the internal resistance Rin, two tables can be defined: one during the discharge process, and another during
the charge process.
For a discharge curve, typically SOC is defined such that when the discharge capacity is 0 (at the beginning of
the discharge), SOC=1; and when the discharge capacity is Qmax, SOC=0. However, in this model, one has the
option to define where the points for SOC=0 and SOC=1 are, as shown in the figure below.
In this model, SOC can be less than 0 or greater than 1.
Note that the three lookup tables OCV, Rin (discharge), and Rin (charge) are all obtained with the traditional
SOC definition. That is, SOC=1 when the discharge capacity is 0, and SOC=0 when the discharge capacity is
Qmax.

186 Chapter 4: Power Circuit Components


SOC=1

SOC=0

Qext1 Qext0

Below is the procedure to obtain the lookup tables from manufacture datasheet:
• From the Utilities menu, select Curve Capture Tool, and capture two discharge curves of the battery
voltage versus the discharge capacity from the datasheet at different discharge currents.
• Load the file "Extracting OCV and Rin_discharge.psimsch" (in "examples\batteries\lookup table
(SOC)"). Set the discharge currents and use the tables from the previous step. Run simulation, and dis-
play OCV and Rin_discharge separately with SOC as the x-axis variable. In SIMVIEW, select File >>
Save Display As and save the curve to a text file. Open the file with a text editor and remove the first
line. The OCV and Rin_discharge tables are ready to use by the model.
• From the Utilities menu, select Curve Capture Tool, and capture the charge curves of the battery volt-
age, charge current, and charge capacity versus time.
• Load the file "Extracting Rin_charge.psimsch" (in "examples\batteries\lookup table (SOC)"). Use the
tables from the previous step. Run simulation, and display Rin_charge with SOC as the x-axis variable.
In SIMVIEW, select File >> Save Display As and save the curve to a text file. Open the file with a text
editor and remove the first line. The Rin_charge table is ready to use by the model.

4.11.3.4 Battery (Lookup Table Q) Model


A battery model based on lookup tables is provided. This model is the same as the battery (lookup table SOC)
model except that the lookup tables are a function of the charge/discharge capacity instead of SOC. Similarly,
in this model, the discharge capacity points corresponding to SOC=0 and SOC=1 can be defined.
Image:
SOC

Chapter 4: Power Circuit Components 187


Attributes:

Parameter Description
No. of Cells in Series Number of cells Ns in series of a battery pack
No. of Cells in Parallel Number of cells Np in parallel of a battery pack
Voltage Derating Factor Voltage derating factor Ks, from 0 (100% derating) to 1 (no derating)
Capacity Derating Factor Capacity derating factor Kp, from 0 (100% derating) to 1 (no derating)
Maximum Capacity Maximum capacity Qmax of the battery cell, in Ah
Discharge Capacity SOC=1 Discharge capacity of the battery cell Qext1 corresponding to the state of
charge SOC=1.
Discharge Capacity SOC=0 Discharge capacity of the battery cell Qext0 corresponding to SOC=0
Initial State of Charge Initial state of charge (SOC) (from 0 to 1)
OCV-Qdischarge Table Table of the open circuit voltage (OCV) vs. the discharge capacity Qdischarge
Rin-Qdischarge Table Table of the internal resistance Rin vs. Qdischarge during the discharge
process
Rin-Qcharge Table Table of the internal resistance Rin vs. the charge capacity Qcharge during the
charge process
In the image, the extra node at the top of the battery image is for the SOC output. It is a control circuit node.
Note that the battery parameters are all for one battery cell, while the model can be used to define a battery pack
where the number of cells in series or in parallel is not 1. For a battery pack, all voltages need to be multiplied
by Ns*Ks, all capacities by Np*Kp, and the resistance by Ns/Np.
The equivalent circuit of the battery is shown below.

For the internal resistance Rin, two tables can be defined: one during the discharge process, and another during
the charge process.
For a discharge curve, typically SOC is defined such that when the discharge capacity is 0 (at the beginning of
the discharge), SOC=1; and when the discharge capacity is Qmax, SOC=0. However, in this model, one has the
option to define where the points for SOC=0 and SOC=1 are, as shown in the figure below.
In this model, SOC can be less than 0 or greater than 1.
Note that the three lookup tables OCV, Rin (discharge), and Rin (charge) are all obtained with the traditional
SOC definition. That is, SOC=1 when the discharge capacity is 0, and SOC=0 when the discharge capacity is
Qmax.
Below is the procedure to obtain the lookup tables from manufacture datasheet:
• From the Utilities menu, select Curve Capture Tool, and capture two discharge curves of the battery
voltage versus the discharge capacity from the datasheet at different discharge currents.
• Load the file "Extracting OCV and Rin_discharge.psimsch" (in "examples\batteries\lookup table (Q)").
Set the discharge currents and use the tables from the previous step. Run simulation, and display OCV
and Rin_discharge separately with the discharge capacity as the x-axis variable. In SIMVIEW, select File

188 Chapter 4: Power Circuit Components


>> Save Display As and save the curve to a text file. Open the file with a text editor and remove the first
line. The OCV and Rin_discharge tables are ready to use by the model.
• From the Utilities menu, select Curve Capture Tool, and capture the charge curves of the battery volt-
age, charge current, and charge capacity versus time.
• Load the file "Extracting Rin_charge.psimsch" (in "examples\batteries\lookup table (Q)"). Use the tables
from the previous step. Run simulation, and display Rin_charge with the charge capacity Qcharge as the
x-axis variable. In SIMVIEW, select File >> Save Display As and save the curve to a text file. Open the
file with a text editor and remove the first line. The Rin_charge table is ready to use by the model.

4.11.4 Ultracapacitor Model


Ultracapacitors are electrical energy storage devices that offer high power density and a high number of charge
and discharge cycles.
Image:

Attributes:

Parameter Description
Number of Cells in Series Number of cells in series
Number of Cells in Parallel Number of cells in parallel
Capacitance per Cell Nominal capacitance per cell, in F.
Coefficient Kv Voltage coefficient
Resistance R1 Resistance coefficient R1, in Ohm
Capacitance C1 Capacitance coefficient C1, in F
Resistance R2 Resistance coefficient R2, in Ohm
Capacitance C2 Capacitance coefficient C2, in F
Resistance R3 Resistance coefficient R3, in Ohm
Capacitance C3 Capacitance coefficient C3, in F
Resistance R4 Resistance coefficient R4, in Ohm.
Maximum Voltage Maximum voltage rating per cell, in V
Initial Voltage Initial capacitor voltage per cell, in V
Parameters Kv, R1, and C1 are associated with the capacitor response in the short term (in seconds.). Parameters
R2 and C2 are associated with the response in the medium term (in minutes. Parameters R3 and C3 are associated
with the response in the long term (in hundreds of minutes). The parameter R4 is associated with capacitor losses
due to self-discharge.
For further information on how to use the model, please refer to the tutorial "Tutorial - Ultracapacitor
model.pdf".

Chapter 4: Power Circuit Components 189


4.12 EMI Design Suite
The EMI Design Suite provides the necessary elements for EMI analysis. In addition, it provides a convenient
way to design the EMI filter for a specific EMI standard.
A number of design templates are provided under the Design Suites >> EMI Design Suite menu. For more
detail on how to use these design templates, refer to the document "Tutorial - EMI Design Suite.pdf" in the
"Tutorials" folder.
Elements for the EMI Design Suite are described below.

4.12.1 EMI Filter


Single phase and 3-phase EMI filter blocks are available.
Images:

EMI
Filter

Attributes:

Parameter Description
Number of Stages Number of filter stages. It can be either 1 (for one stage) or 2 (for two stages)
DM Inductance Differential-mode inductance Ldm, in H
DM Resistance Differential-mode resistance Rdm, in ohm.
CM Inductance Common-mode choke inductance Lcm, in H
CM Leakage Inductance Common-mode choke leakage inductance Lcm_lk, in H
CM Winding Resistance Common-mode choke winding resistance Rcm, in Ohm
CM Winding Capacitance Common-mode choke winding capacitance Ccm, in Ohm
X Capacitance Capacitance Cx, in F
X Cap Resistance R_Cx, the ESF of Cx, in ohm
X Cap Inductance L_Cx, the ESL of Cx, in H
Y Capacitance Capacitance Cy, in F
Y Cap Resistance R_Cy, the ESF of Cy, in ohm
Y Cap Inductance L_Cy, the ESL of Cy, in H
Damping Capacitance Capacitance of the damping capacitor C_d, in F
Damping Resistance R_Cd, Resistance of the damping capacitor C_d, in F
For more information about these models, please refer to the in-app helps.

4.12.2 LISNs
Several LISN (Line Impedance Stabilization Network) blocks are provided for different EMI standards:
• LISNs (CISPR 22 / FCC)
• LISN (CISPR 25)
• LISN (MIL Std)
• 3-ph LISN
190 Chapter 4: Power Circuit Components
Images:

LISN LISN
LISN

A single -phase LISN block is connect to the line (L) and neutral (N) of a source on the left, and to the line (L)
and neutral (N) of an equipment under test on the right. The common-mode ground is connected to the node G.
At the bottom of the block are the line side (L) and neutral side (N) of the measurement signals to be sent to a
signal analyzer.
A 3-phase LISN block is to be inserted between the line and the EUT. The bottom nodes are to be connected to
a signal analyzer.
For more information about these models, please refer to the in-app helps.

4.12.3 Signal Analyzers


A signal analyzer block obtains the common-mode and differential-mode signals out of the EMI line and
neutral signals.
There are two signal analyzer models: single phase and 3-phase.
Images:

The signal analyzer provides a way to analyze and mitigate common-mode and differential-mode EMI
separately.

4.12.4 Common-Mode Capacitor Block


A common-mode capacitor block provides a convenient way to define the common-mode capacitance between
a pickup point and the common-mode ground.
Image:

Chapter 4: Power Circuit Components 191


Attributes:

Parameter Description
Capacitance i Common-mode capacitance i where i can be from 1 to 15.
separately.

4.12.5 Ground Plane


This element functions as the grounding plane in a EMI filter circuit. It has 4 terminals which divide the plane
into 3 sections.
Image:

Attributes:

Parameter Description
Inductance Lgi The inductance of section i, in H.
Resistance RLgi The resistance of section i, in ohm

192 Chapter 4: Power Circuit Components


5
Control Circuit Components

This chapter provides descriptions for the components in PSIM’s element library.
The elements included in the Control category are numeral. The often-used control function blocks are listed
directly under the Control category. Other elements are sorted into the following subfolders:
• Filters
• Computational Blocks
• Other Function Blocks
• Logic Elements
• Digital Control Module
• SimCoupler Module
• ModCoupler Modules
• PIL Module
• Design Suite Blocks
• PLL Blocks

5.1 Often-Used Control Function Blocks

5.1.1 PID Controllers

5.1.1.1 Proportional Controller


The output of a proportional (P) controller is equal to the input multiplied by a gain.
Image:

Attribute:

Parameter Description
Gain Gain k of the transfer function

5.1.1.2 Integrator
There are three types of integrators:
• regular integrator,
• external resettable integrator, and
• internal resettable integrator.
Images:
Regular Integrator External Resettable Integrator Internal Resettable Integrator

Chapter 5: Control Circuit Components 199


Attributes:

Parameters Description
Time Constant Time constant T of the integrator, in sec.
Initial Output Value Initial value of the output
Reset Flag Reset flag (0: edge reset; 1: level reset). For External
Resettable type.
Lower Output Limit Lower limit of the output
Upper Output Limit Upper limit of the output

The transfer function of an integrator is:


1
G(s) = ------
sT

The Bode plot of the amplitude |G| and the phase angle  of the integrator is shown as below:

0  (rad/sec)
-20dB/dec

Note:
The output of the integrator block is limited to the upper and lower limits. The anti-windup is implemented
automatically. When the integrator's output reaches the limit, the integrator will stop integrating to prevent
integral windup. If the limit is set as infinite (-inf or inf), the anti-windup is removed.
However, the parameter Upper (Lower) Output Limit has different meaning for the Internal Resettable Integrator.
It means the output of the integrator is reset to the value of Lower (Upper) limit when the output exceeds
either the lower or the upper output limit.
The output of the external 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).
Example:
The following circuit illustrates the use of the external 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.

200 Chapter 5: Control Circuit Components


Vd
vo

5.1.1.3 Differentiator
The transfer function of a differentiator is:

A differentiator is calculated as follows:

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:

Attribute:
Parameter Description
Time Constant Time constant T of the differentiator, in sec.
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.

5.1.1.4 Proportional-Integral Controller


A proportional-integral (PI) controller is defined as below.
Image:

Attributes:

Parameters Description
Gain Gain k of the PI controller
Time Constant Time constant T of the PI controller
Lower Output Limit Lower limit of the output
Upper Output Limit Upper limit of the output
The transfer function of a PI controller is defined as:
Chapter 5: Control Circuit Components 201
1 + sT
G(s) = k  --------------
sT
-

The Bode plot of the amplitude |G| and the phase angle  of the PI controller is shown as below:

-20dB/dec

0  (rad/sec)

Note:
The output of the integrator block is limited to the upper and lower limits. The anti-windup is implemented
automatically. When the integrator's output reaches the limit, the integrator will stop integrating to prevent
integral windup. If the limit is set as infinite (-inf or inf), the anti-windup is removed.

5.1.1.5 Single-Pole Controller


A single-pole controller is a proportional controller with a pole. It is defined as below.
Image:

Attributes:

Parameters Description
Gain Gain k of the controller
Pole Frequency Frequency of the pole fc, in Hz

The transfer function of the single-pole is defined as:


c
G(s) = k  s--------------
+
c

where c = 2f c .

The Bode plot of the amplitude |G| and the phase angle  of the single-pole controller is shown as below:

-20dB/dec
0  (rad/sec)

202 Chapter 5: Control Circuit Components


5.1.1.6 Modified PI Controller
A modified PI controller (Type-2) consists of a PI with a pole.
Image:

Attributes:

Parameters Description
Gain Gain k of the PI controller
Time Constant Time constant T of the PI portion of the controller
Pole Frequency Frequency of the pole fc, in Hz

The transfer function of a modified PI controller is defined as:

----

where

The Bode plot of the amplitude |G| and the phase angle  of the PI controller is shown as below:

-20dB/dec

0  (rad/sec)
1/T 1/Tc -20dB/dec

When a limiter is connected to the PI output, anti-windup is implemented automatically.

5.1.1.7 Type-3 Controller


A Type-3 controller consists of two zeros and two poles.
Image:

Attributes:

Parameters Description
Gain Gain k of the PI controller
Frequency fz1 Frequency fz1 of the first zero, in Hz
Frequency fz2 Frequency fz2 of the second zero, in Hz
Frequency fp1 Frequency fp1 of the first pole, in Hz
Frequency fp2 Frequency fp2 of the second pole, in Hz
Chapter 5: Control Circuit Components 203
The transfer function of a Type-3 controller is defined as:

where

The Bode plot of the amplitude |G| and the phase angle  of the Type-3 controller is shown as below:

-20dB/dec 20dB/dec

0  (rad/sec)
1/Tz1 1/Tp1 1/Tp2

When a limiter is connected to the controller output, anti-windup is implemented automatically.

5.1.2 Summers
The input of a one-input summer or two-input summer can be either a scalar or a vector. The input of a three-
input summer can only be a scalar.
Images:
1-input 2-input 2-input 3-input
Input 1
Input 1 Input 1
Input 2
Input 2 Input 2 Input 3

Attribute:

Parameter Description
Gain_i Gain ki for the ith input

For the three-input summer, 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:
Vo =k1V1 + k 2V 2 + ... + k n Vn

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.

5.1.3 Comparators
The following comparator blocks are available in PSIM library:
• Comparator
204 Chapter 5: Control Circuit Components
• Comparator (deadtime)
• Comparator (hysteresis)
Images:
Comparator Comparator (deadtime) Comparator (hysteresis)
Vupper
Vo Vo Vin Vo
Vo_n Vlower Vo_n

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.

5.1.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.

5.1.3.2 Comparator with Deadtime


Attribute:

Parameter Description
Upper Output Level Output level high, in V.
Lower Output Level Output level low, in V
Deadtime Dead time between Vo and Vo_n, in second and can be set to zero
The output of the comparator Vo is high (Upper Output Level) when the positive input (+) is higher than the
negative input (-). When the positive input is lower, the output Vo is low (Lower Output Level). If the two input
are equal, the output is undefined and it will keep the previous value.
The output Vo_n is the complementary of Vo with a deadtime defined by the parameter "Deadtime".

5.1.3.3 Comparator with Hysteresis


A hysteresis comparator provides a hysteresis band when comparing the input. The output Vo_n is
complementary to the output Vo.
When the input Vin is equal or greater than the upper voltage threshold Vupper, the output Vo will change to 1.
When Vin is equal or less than the lower voltage threshold Vlower, the output Vo will change to 0. The
waveforms are shown below.
Vin
upper

Vlower

Vo

Chapter 5: Control Circuit Components 205


5.1.4 Limiters
Four types of limiters are provided to limit the amplitude of a signal: lower/upper limiter, lower limiter, upper
limiter, and range limiter.
Images:

Lower/upper Limiter Lower Limiter Upper Limiter Range Limiter

Attributes:

Parameters Description
Lower Limit Lower limit Vlower of the limiter
Upper Limit Upper limit Vupper of the limiter

For a lower/upper limiter, or lower limiter, or upper limiter, the output of the 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.
A range limiter limits the output vo between the lower limit and the upper limit, that is:
V lower  vo  V upper

Let the range of the upper limit and the lower limit be Vrange. When the output is equal to or greater than the
upper limit, the output is subtracted by the range Vrange until it is within the range. When the output is below the
lower limit, it is added by range Vrange until it is within the range. When the input is within the limit, the output
is equal to the input.

5.2 Filters
Four second-order filters and one first-order filter are provided as built-in blocks in PSIM.
Images:

2nd-order low-pass 2nd-order high-pass 2nd-order band-pass 2nd-order band-stop 1st-order low-pass

Attributes for second-order filters:

Parameters Description
Gain Gain k
Damping Ratio Damping ratio 

Cut-off Frequency Cut-off frequency fc (fc = ωc/2π) for low-pass and high-pass filters, in Hz

Center Frequency Center frequency fo (fo = ωo----


/2π) for band-pass and band-stop filter, in Hz

Passing Band; Frequency width fb (fb = B/2π) of the passing/stopping band for band-pass/band-
Stopping Band stop filters, in Hz

206 Chapter 5: Control Circuit Components


Attributes for first-order low-pass filter:

Parameters Description
Gain Gain k
Cut-off Frequency Cut-off frequency fc (fc = ωc/2π) of the low-pass filter, in Hz

The transfer function of these filters are listed below.


For second-order low-pass filter:

For second-order high-pass filter:

For second-order band-pass filter:

For second-order band-stop filter:

For first-order low-pass filter:

5.3 Computational Function Blocks

5.3.1 Multiplier and Divider


The output of a multipliers or divider is equal to the multiplication or division of two inputs.
Images:

Multiplier Divider

Numerator

Denominator

For the divider, the dotted node is for the numerator 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:

The output, which is a scalar, will be:

Chapter 5: Control Circuit Components 207


5.3.2 Trigonometric Functions
The following trigonometric functions are provided: sine (sin), cosine (cos), arc-sine (sin-1), arc-cosine (cos-1),
tangent (tan), arc-tangent (tg-1), and arc-tangent 2 (atan2).
The output is equal to the corresponding trigonometric function of the input. For the sin, cos, and tan blocks, the
input can be in degree, radian, or per unit. and for the arcsin, arccos, and arctangent blocks, the output can be in
degree, radian, or per unit.
Images:

Input in deg.

Input in rad.

Input in per unit

If the input of a block has the letter "r", it is in radian. If the input has the letter "u", it is in per unit. Otherwise it
is in deg.
In the arctangent and arctangent 2 blocks, the input node marked with x is the real part, and the other input node
marked with y is the imaginary part. If the output has the letter "u", the output is in per unit.
The output of the arctangent and arctangent 2 blocks is the inverse tangent of the ratio between the imaginary

part y and the real part x, i.e. . The output of the arctangent block is in degree, and the range is from
0 to 360 . On the other hand, the output of the arctangent 2 block is in radian, and the range is from - to +.
o
The arctangent 2 block behaves in the same way as the function atan2(y,x) in the C language.
5.3.3 Exponential/Power/Logarithmic Functions
The images and attributes of these function blocks are shown below.
Images:

Attributes:
Parameters Description
Coefficient k1 Coefficient k1
Coefficient k2 Coefficient k2

The output of an exponential function block is defined as:

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.

208 Chapter 5: Control Circuit Components


The output of a power function block is defined as:

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

5.3.4 Square-Root
A square-root function block calculates the square root of the input.
Image:

5.3.5 RMS (Root-Mean-Square)


A RMS (root-mean-square) function block calculates the RMS value of the input over a period specified by the
base frequency fb. The output is defined as:

where T = 1/fb. The output is only updated at the beginning of each period.
Image:

Attribute:
Parameter Description
Base frequency Base frequency fb, in Hz

5.3.6 Absolute and Sign Functions


An absolute value function block gives the absolute value of the input. A sign function block gives the sign of
the input, i.e., the output is 1 if the input is positive, 0 if the input is 0, and -1 if the input is negative.
Images:
Absolute Sign

5.3.7 Maximum/Minimum Function


A maximum/minimum function block detects the maximum or minimum of the inputs.
Image:

Chapter 5: Control Circuit Components 209


Attributes:

Parameters Description
Number of Inputs Number of inputs
Block Function Type Function type of the block. It can be either Maximum or Minimum.
The number of inputs can be changed through the drop-down menu.

5.3.8 MOD Function


A MOD function block performs the modulo operation.
Image:
n

mod
d

The block has two inputs: the numerator input Vin_n on the top left (with the letter "n"), and the denominator
input Vin_d on the bottom left (with the letter "d").
The block gives the remainder of the division Vin_n / Vin_d. For example, if Vin_n = 10.1 and Vin_d = 2, the
output will be 0.1.

5.4 Other Function Blocks

5.4.1 Sampling/Hold Block


A sampling/hold block samples the input when the control signal changes from low to high (from 0 to 1), and
holds this value until the next point is sampled.
Image:

Input

Control

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 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.

210 Chapter 5: Control Circuit Components


5.4.2 Lookup Table ((Trapezoidal and Square) Blocks
There are two specific types of lookup table blocks:
• Trapezoidal: Generate trapezoidal waveform from input.
• Square Generate square waveform from input .
Images:

Trapezoidal Waveform Square Waveform

For the trapezoidal waveform block:


Attributes:

Parameters Description
Rising Angle theta Rising angle , in deg.
Peak Value Peak value Vpk of the waveform

For the square waveform block:


Attribute:

Parameter Description
Pulse Width (deg.) Pulse width  in half cycle, in deg.

The input vin is in degree, and can be in the range of -360o to 360o. Both waveforms are half-wave and quarter-
wave symmetrical. The output waveforms of these two blocks are shown below.

vo Trapezoidal Waveform vo Square Waveform

Vpk 1
o vin vin
180
0 0 o o
o
360 180 360
-Vpk -1

5.4.3 Fast Fourier Transform


A Fast Fourier Transform block calculates the fundamental component of the input signal. The FFT algorithm is
based on the radix-2/decimation-in-frequency method. The number of sampling points within one fundamental
period should be 2N (where N is an integer). The maximum number of sampling points allowed is 1024.
The output gives the peak amplitude and the phase angle of the input fundamental component. The output
voltage (in complex form) is defined as:

Image:
Amplitude

Phase Angle

Chapter 5: Control Circuit Components 211


Attributes:

Parameters Description
No. of Sampling Points No. of sampling points N
Fundamental Frequency Fundamental frequency fb, in Hz.

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.
Note that the FFT block only works if the input signal contains dc, the fundamental component, and harmonics
of the fundamental components (with the frequencies at multiple integer times of the fundamental frequency). If
the input signal contains another component that is not multiple integer of the fundamental frequency, the FFT
block will not give the correct result.
Also, the FFT block only measures the fundamental component, not any other harmonics. For example, if the
input signal contains 60 Hz (fundamental) and 180 Hz, if the parameter "Fundamental Frequency" is set to 180,
the FFT block output will be incorrect.
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 0o.

in vamp v1
v5

Angle

5.4.4 THD Block


The total harmonic distortion (THD) of an ac waveform that contains both the fundamental and harmonic
components is defined as:

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.
Image:

THD Circuit Model of the THD Block

Vrms Vh
THD vin(t) THD
vin(t)

v1(t) V1

v1(t)

212 Chapter 5: Control Circuit Components


A second-order band-pass filter is used to extract the fundamental component. The center frequency and the
passing band of the band-pass filter need to be specified.
Attributes:

Parameters Description
Fundamental Frequency Fundamental frequency of the input, in Hz
Passing Band Passing band of the band-pass filter, in Hz
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.

alpha=30 deg.

is THD
is1

One of the THD block output is the input current fundamental component is1. By 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.

5.4.5 S-Domain Transfer Function


A transfer function block is expressed in polynomial form as:

Two types of transfer function blocks are provided:


• s-domain Transfer Function: with zero initial values
• s-domain Transfer Function (initial value): with initial values as input parameters.
Image:

Attributes:

Parameters Description
Order n Order n of the transfer function
Gain Gain k of the transfer function
Coeff. Bn...Bo Coefficients of the numerator (from Bn to Bo)
Coeff. An...Ao Coefficients of the denominator (from An to Ao)

Chapter 5: Control Circuit Components 213


Initial Values xn..x1 Initial values of the state variables xn to x1 (s-domain Transfer Function (initial
value) only)
Let Y(s) = G(s)*U(s) where Y(s) is the output and U(s) is the input, we can convert the s-domain expression into
the differential equation form as follows

The output equation in the time domain can be expressed as:

The initial values of the state variables xn to x1 can be specified as the inputs in the element s-domain Transfer
Function (initial value).
Example:
The following is a second-order transfer function:

In PSIM, the specification will be:


Order n 2
Gain 1.5
Coeff. Bn...Bo 0. 0. 400.e3
Coeff. An...Ao 1. 1200. 400.e3

5.4.6 Time Delay Blocks


Two types of time delay blocks are provided: one with arbitrary delay time, and the other with only one
simulation time step.
Images:
Time Delay Unit Time Delay

Attribute:

Parameter Description
Delay Time Delay time, in sec. (for the Time Delay block only)
A time delay block delays the input signal by a specified amount of time interval. The input signal can be an
analog signal or logic signal. For example, it can be used to model the propagation delay of a logic element.
A unit time delay block delays the input signal by just one simulation time step. If the simulation time step is
changed, the delay time will be changed accordingly.

214 Chapter 5: Control Circuit Components


Note that this Unit Time Delay block is a continuous element for analog systems. For discrete systems, the Unit
Delay block in Digital Control Module should be used. The difference between the two block is that the Unit
Time Delay block delay time is one simulation time step while the Unit Delay block delay time is equal to the
sampling period.

5.4.7 Round-Off Block


The image of a round-off block is shown below:
Image:

Attributes:

Parameters Description
No. of Digits No. of digits N after the decimal point
Truncation Flag Truncation flag (1: truncation; 0: round-off)
Let the input of the round-off block be Vin. The input is first scaled based on the following expression:
Vin new = V in  10N
If the truncation flag is 1, the output will be equal to Vin,new truncated, and then divided by 10N. Otherwise, the
output will be equal to Vin,new rounded off to the nearest integer, and then divided by 10N.
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, then Vout = 34.

If Vin = 34.5678, N = 1, truncation flag = 1, then Vout = 34.5. If Vin = 34.5678, N = -1, truncation flag = 1, then
Vout = 30.
5.4.8 dv/dt Limiter
A gradient (dv/dt) limiter limits the rate change of the input. If the rate change is within the limit, the output is
equal to the input.
Image:

Attribute:

Parameter Description
dv/dt Limit Limit of the rate of change (dv/dt) of the input

5.4.9 Multiplexers
The output of a multiplexer is equal to a selected input depending on the control signal. Three types of
multiplexers are provided:
• binary control inputs,
• individual control inputs
• Single control inputs

Chapter 5: Control Circuit Components 215


Images:
Binary Control Inputs Individual Control Inputs Single Control Input
2-input 4-input 8-input 4-input 8-input
3-input 4-input
d0
d0 d0
Y d1 d0 d1
Y
MUX MUX
MUX d2 MUX d2
MUX Y
d3 d3
d7
s0 s1 s0 s1 s0 s2 s1 s0
s2 s1 s0

In the images, d0...d7 are the data inputs; and s0..s2 are the control inputs. The truth tables of the multiplexers
are as follows.
For multiplexers with binary control inputs:

For multiplexers with individual control inputs:

For multiplexers with single control input, the value of input s is rounded to the nearest integer:

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.

216 Chapter 5: Control Circuit Components


5.4.10 Space Vector PWM
A space vector PWM block is used in a carrier-wave based PWM scheme. It transforms 3-phase input signals to
achieve the effect of space vector PWM.
Two blocks are available in PSIM library, as shown below.
Images:

Space Vector PWM Space Vector PWM (alpha/beta)

a alpha
b
c beta

The input and the output waveforms are shown below:

Space Vector PWM Space Vector PWM (alpha/beta)

3-ph Inputs 0
2-ph Inputs

Outputs Outputs

The Space Vector PWM block accepts 3-phase sinusoidal signal. The fundamental component of the output is
1.155 times the value of the input.
The Space Vector PWM (alpha/beta) block accepts two-phase orthogonal alpha/beta input signals. The beta
input lags the alpha input by 90 degrees. The fundamental component of the output is 1.155 times the value of
the input.

5.4.11 Discontinuous PWM


The discontinuous PWM methods reduce switching losses. Three DPWM blocks are available: DPWM1,
DPWMMIN, and DPWMMAX.
Images:

Chapter 5: Control Circuit Components 217


The 3-phase input signals are scaled inside these three blocks with a factor of 2/sqrt(3). The modulation index
ei(t) is calculated as below:
DPWM1:

DPWMMIN:

DPWMMAX:

5.4.12 Embedded Software Block


An Embedded Software Block is a special type of the external DLL blocks. It is intended for modeling
embedded software devices such as microcontrollers and DSP.
Attribute:

Parameter Description
DLL File Name of the DLL file that defines the functionality and the interface of the block
Number of Nodes Total number of input and output nodes
An Embedded Software Block has similar functionality as a general external DLL block. However, unlike the
general DLL block whose connection nodes are predefined as either inputs or outputs, the Embedded Software
Block allows the node types to be programmed as needed. Also, additional information, such as the exact
instant at which the state of a variable changes, can be calculated and passed to and from PSIM.
The Embedded Software Block is a control circuit element, and can be used in the control circuit only.
For more information on how to use the Embedded Software Block, please refer to the document "Help
Embedded Software Block.pdf".

218 Chapter 5: Control Circuit Components


5.5 Logic Components

5.5.1 Logic Gates


Basic logic gates are AND, OR, XORGATE (exclusive-OR), NOT, NAND, and NOR gates.
Images:
AND OR NOT
XOR

3-input AND 3-input OR NAND NOR

5.5.2 Set-Reset Flip-Flop


The set-reset flip-flops can be used either as edge-triggered or as level-triggered.
Image:

Attribute:

Parameter Description
Trigger Flag Trigger flag (0: edge-triggered; 1: level-triggered)
Dominant Flag Dominant flag (0: no-dominant; 1: Set-dominant; 2: Reset-dominant)
An edge-triggered flip-flop only changes the states at the rising edge of the set/reset input. A level-triggered
flip-flop, on the other hand, changes the states based on the input level.
The truth tables of the Set-Reset flip-flop are:

For edge-triggered flip-flop:

S R Q Q
0 0 No change
0/1  0 1
 0/1 1 0
  Dominant Flag = 0: No change
Dominant Flag = 1: SET edge dominant
Dominant Flag = 2: RESET edge dominant
For level-triggered flip-flop:

S R Q Q
0 0 No change
0 1 0 1
1 0 1 0
Chapter 5: Control Circuit Components 219
1 1 Dominant Flag = 0: No change
Dominant Flag = 1: SET level dominant
Dominant Flag = 2: RESET level dominant

5.5.3 J-K Flip-Flops


Two types of J-K flip-flops are provided: One without the set/reset inputs, and the other with the set input (S)
and reset input (R). For the element without the set and reset inputs, it is assumed that both set/reset inputs are
high (1).
Images:

A J-K flip-flop is positive edge triggered, and the truth table is:
S R J K Clock Q Q
0 1 x x x 1 0
1 0 x x x 0 1
0 0 x x x 0 0
1 1 0 0  no change
1 1 0 1  0 1
1 1 1 0  1 0
1 1 1 1  Toggle
x: Do not care

5.5.4 D Flip-Flops
Two types of D flip-flops are provided: One without set/reset inputs, and the other with the set input (S) and
reset input (R). For the block without set and reset inputs, it is assumed that both set/reset inputs are high (1).
Images:

A D flip-flop is positive edge triggered, and the truth table is:


S R D Clock Q Q
0 1 x x 1 0
1 0 x x 0 1
0 0 x x 0 0
1 1 0  0 1
1 1 1  1 0

5.5.5 Monostable Multivibrator


In a monostable multivibrator, the positive (or negative) edge of the input signal triggers the monostable. A
pulse, with the specified pulse width, will be generated at the output.

220 Chapter 5: Control Circuit Components


The output pulse width can be either fixed or adjusted through another input variable. The latter type of
monostables is referred to as controlled monostables. Its on-time pulse width, in second, is determined by the
control input.
Images:
Monostable Controlled Monostable

Attribute:

Parameter Description
Pulse Width On-time pulse width, in sec.
The input node at the bottom of the controlled monostable block is for the pulse width input.

5.5.6 Time Delay (Logic)


For logic signal delay, there are two elements:
• Time Delay (Logic): It delays the input signal by a specified amount of time interval. It can be used to
model the desired timed delay or propagation delay of a logic element.
• Turn-on Time Delay (Logic): It delays the rising edge of the input logic signal.
Since these blocks detects only the rising/falling edges of the logic input, it provides faster simulation speed
than the Time Delay block.
Image:

Time Delay (logic) Turn-on Time Delay (logic)

Attribute:

Parameter Description
Delay Time Delay time, in second

5.5.7 Bit Shift


A bit shift block performs left shift or right shift depending on the sign of the bit input.
Image:

Input
>>
Bit input b

The lower left input node with the letter b is for the bit input. If the bit input is not an integer, it is rounded to the
nearest integer.
When the bit input is positive, the block performs left shift. For example, if the bit input is 3, the output is equal
to the input multiplied by 23.

Chapter 5: Control Circuit Components 221


When the bit input is negative, the block performs right shift. For example, if the bit input is 3, the output is
equal to the input divided by 23.

5.5.8 Pulse Width Counter


A pulse width counter measures the width of a pulse. The rising edge of the input activates the counter. At the
falling edge of the input, the output gives the width of the pulse (in sec.). During the interval of two falling pulse
edges, the pulse width counter output remains unchanged.
Image:

5.5.9 Up/Down Counter


An up/down counter increments or decrements by 1 at each rising edge of the clock.
Image:

Preset Enable
Preset Value

Clock Output

Up/Down
Reset

Attribute:

Parameter Description
No. of Bits Number of bits N
When the Up/Down input is 0, the counter decrements, and when the Up/Down input is 1, the counter
increments.
The Reset input resets the counter to 0 when it is high (1). The Preset Enable input sets the counter to the preset
value when it is high.
The truth table of the counter is:
Up/Down Preset Enable Reset Clock Action
x 0 0 x No count
1 0 0  Count up
0 0 0  Count down
x 1 0 x Preset
x x 1 x Reset
x: Do not care

222 Chapter 5: Control Circuit Components


5.5.10 A/D and D/A Converters
A/D and D/A converters perform analog-to-digital and digital-to-analog conversion. Converters with 8, 10, 12,
and 14 bits are provided.
Images:
ADC (8-bit) ADC (10-bit) ADC (12-bit) ADC (14-bit) DAC (8-bit) DAC (10-bit) DAC (12-bit) DAC (14-bit)
Vref Vref

Vin Vin
Vo Vo

Clock

Let N be the number of bits. The output of the A/D converter is calculated as:

The output will be clamped to 2N-1.


For example, if Vref = 5 V, Vin = 3.2 V, N = 8 bits, then
Vo = 256/5*3.2 = 163.84 = 10100011 (binary)
The output of the D/A converter is calculated as:

For example, if Vref = 5 V, Vin = 10100011 (binary) = 163, N = 8 bits, then


Vo = 163/256*5 = 3.1836

Chapter 5: Control Circuit Components 223


5.6 Digital Control Module
The Digital Control Module is an add-on module to the basic PSIM program. It provides discrete elements, such
as zero-order hold, z-domain transfer function blocks, digital filters, etc., for digital control system simulation.
In contrary to a s-domain circuit which is continuous, a z-domain circuit is discrete, and the calculation is only
performed at the discrete sampling points. There is no calculation between two sampling points.
In addition to the frequently used discrete elements, there are 3 subfolders of special purpose elements:
• Motor Control Blocks: Elements in digitally controlled motor drive systems
• PWM Controllers: Elements for pulse-width modulated control
• PLL Blocks: Elements for phase-locked loop control

5.6.1 Motor Control Blocks


Elements in this subdivision are for digitally controlled motor drive systems. These blocks have similar
functionality as the corresponding function blocks in the TI Digital Motor Control (DMC) library. Please refer
to Chapter 11 of the SimCoder User Manual for more information.

5.6.1.1 Ramp Control


This block produces a ramp output when the input has a step change.
Image:

Attributes:

Parameters Description
Upper Limit Maximum ramp output, in per unit.
Lower Limit Minimum ramp output, in per unit
Step Duration Number of sampling period N at each step. It must be an integer equal to or greater
than 1.
Step Size Maximum ramp step change Vstep at the output, in per unit.
Sampling Frequency Sampling frequency, in Hz
In the image, the output node with a small dot is the ramp output, and the other output node is the flag indicating
that the output equals the input.
If the input is greater than the output, the output will increment by Vstep after a duration of N sampling periods.
If the input is less than output, the output will decrement by Vstep after a duration of N sampling periods. If the
input is equal to the output, the flag will be set to 1. Otherwise it will be 0.

5.6.1.2 Ramp Generator


This block generates a ramp output based on input settings.
Image:

Gain
Offset
Frequency f

224 Chapter 5: Control Circuit Components


Attributes:

Parameters Description
Base Frequency Base frequency FBI, in Hz.
Sampling Frequency Sampling frequency, in Hz
In the image, the first input is the Gain; the second input is the Offset; and the third input is the desired
frequency freq for output ramp.
The ramp output waveform is shown below.

The output ramp frequency is the multiple of the input value and the base frequency FBI. The output range is
limited from -1 to +1. Therefore, the range of Offset and Gain must be limited as: Offset + Gain <= 1.

5.6.1.3 Sliding Mode Observer (PMSM)


The function of this sliding mode observer block is to estimate the rotor position of a permanent-magnet
synchronous motor (PMSM). This block behaviors in the same way as the SMOPOS block of the TI DMC
Library.
Image:
v
al theta
be
i
al al
be be

Attributes:

Parameters Description
Base Voltage Motor base phase voltage, in V
Base Current Motor base phase current, in A
Stator Resistance Motor stator resistance, in Ohm
Stator Inductance Motor stator inductance, in H
Gain Kissed Sliding mode control gain
Gain Keels Sliding mode control filter gain
Coefficient E0 Coefficient to limit the error integral saturation. The default value is 0.5.
Sampling Frequency Sampling frequency, in Hz

Chapter 5: Control Circuit Components 225


5.6.1.4 Speed Calculator
This block calculates the motor speed based on the rotor angle theta.
Image:

Wr
rpm

Attributes:

Parameters Description
Base Frequency FBI Base frequency, in Hz
Cut-off Frequency First-order low-pass filter cut-off frequency, in Hz
Number of Poles Number of poles of the motor
Sampling Frequency Sampling frequency, in Hz
The input signal theta is the motor rotor electrical angle, in per unit. The output Wr is the estimated motor
speed, in per unit. The output rpm is the estimated motor speed, in rpm. A first-order low-pass filter is used at
the output variables.

5.6.1.5 Encoder
This block provides the function of the encoder with the ABZ signals.
Image:

Attributes:

Parameters Description
Counting Direction Counting direction (0: counting up; 1: counting down)
Z Signal Polarity Trigger polarity of the Z signal (0: active high; 1: active low)
Encoder Resolution Resolution of the encoder. If it is 0, the encoder counter will keep on counting and
will not reset. If, for example, the resolution is 4096, the counter will be reset to 0
after it reaches 4095.
Sampling Frequency Sampling frequency, in Hz
The output of the encoder gives the counter value.

226 Chapter 5: Control Circuit Components


5.6.2 PLL Blocks
The PLL blocks are for phase-locked loop control in discrete systems.

5.6.2.1 1-ph PLL


The images and parameters for single-phase phase-locked loop blocks are shown below.
Image:
1-ph PLL 1-ph enhanced PLL

Attributes:

Parameters Description
Proportional Gain Kp The proportional gain Kp. Refer to the block diagram of 1-ph PLL
Integral Gain Ki The integral gain Ki. Refer to the block diagram of 1-ph PLL.
Rated Input Frequency Rated frequency of the input signal, in Hz
Coefficient Lambda A positive constant to reduce frequency swings. Used in enhanced PLL only.
Sampling Frequency The input signal is sampled at this frequency, in Hz
Working Principle:

The outputs of this block are:


y: unitary output signal synchronous with the input
yq: unitary output signal 90-degree delayed version of y(t)
freq: estimated frequency, in Hz,
phi: estimated angle, in degree
A: estimated amplitude (for 1-ph ePLL)
yf: estimated fundamental component (or the frequency component at freq) (for 1-ph ePLL)
The originality of the enhanced PLL (ePLL) is that, without changing the original and widely accepted structure
of the PLL, it adds a few simple blocks to remove its main drawback: double-frequency ripples.
For power system applications, the coefficient Lambda is suggested to be selected in the range
0 < Lambda < 20
Larger Lambda value means stronger suppression of frequency swings.
Chapter 5: Control Circuit Components 227
5.6.2.2 3-ph PLL
The images and parameters for three-phase phase-locked loop blocks are shown below.
Image:
3-ph PLL 3-ph enhanced PLL

Attributes:

Parameters Description
Proportional Gain Kp The proportional gain Kp. Refer to the block diagram of 3-ph PLL
Integral Gain Ki The integral gain Ki. Refer to the block diagram of 3-ph PLL.
Rated Input Frequency Rated frequency of the input signal, in Hz
Rated Input Amplitude Rated amplitude of the input signal
(peak)
Coefficient Lambda A positive constant to reduce frequency swings. Used in enhanced PLL only.
Sampling Frequency The input signal is sampled at this frequency, in Hz
Working Principle:

The PLL-3ph block accepts three-phase balanced or near balanced input. The ePLL-3ph can processes general
three-phase signals regardless of being balanced or unbalanced. It is able to decompose the signal into its
positive-sequence, negative-sequence and zero-sequence components. Furthermore, it provides all signal
attributes of those components including their magnitudes, and phase angles. It eliminates the errors caused by
the presence of negative-sequence or zero-sequence components.
For power system applications, the coefficient Lambda is suggested to be selected in the range
0 < Lambda < 20

Larger Lambda value means stronger suppression of frequency swings.


The outputs of this block are:
y: unitary output signal synchronous with the input
yq: unitary output signal 90-degree delayed version of y(t)
freq: estimated frequency, in Hz,
228 Chapter 5: Control Circuit Components
phi: estimated angle, in degree
ud: d-axis component of the input
uq: q-axis component of the input
uo: o-axis component of the input

5.6.3 Zero-Order Hold


A zero-order hold samples the input at the point of sampling. The output remains unchanged between two
sampling points.
Image:
ZOH ZOH (variable sampling)

Attribute:

Parameter Description
Sampling Frequency Sampling frequency of the zero-order hold, in Hz
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.
The block ZOH (variable sampling) has an extra input for the sampling position. The top input is the input
signal to be sampled. The bottom input is the sampling position. This position determines where in the duty
cycle is the sampling done.
Example:
In the following circuit, the zero-order hold sampling frequency is 1000 Hz. The input and output waveforms
are shown on the left.

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.

Chapter 5: Control Circuit Components 229


5.6.4 Unit Delay
A unit delay block provides one sampling period delay to the input.
Image:

Attribute:

Parameter Description
Initial Output Value Initial value of the output of the block
Sampling Frequency Sampling frequency, in Hz
The difference between the unit delay block and the time delay block is that the unit delay block is a discrete
element and it delays the sampled points by one sampling period, whereas the time delay block is a continuous
element and it delays the whole waveform by the delay time specified.

5.6.5 z-Domain Transfer Function Block


A z-domain transfer function block is expressed in polynomial form as:

If a0 = 1, the expression Y(z) = H(z) * U(z) can be expressed in difference equation as:

Image:

Attributes:
Parameters Description
Order N Order N of the transfer function
Coeff. b0...bN Coefficients of the numerator (from b0 to bN)
Coeff. a0...aN Coefficients of the denominator (from a0 to aN)
Sampling Frequency Sampling frequency, in Hz

230 Chapter 5: Control Circuit Components


Example:
The following is a second-order transfer function:

Assuming a sampling frequency of 3 kHz, the specification will be:

Order N 2
Coeff. b0...bN 0. 0. 400.e3
Coeff. a0...aN 1. 1200. 400.e3
Sampling Frequency 3000.

5.6.5.1 Integrator
There are three types of integrators: regular integrator, external resettable integrator, and internal resettable
integrator.
Images:
Regular Integrator External Resettable Integrator Internal Resettable Integrator

Attribute:

Parameters Description
Algorithm Flag Flag for integration algorithm
0: trapezoidal rule
1: backward Euler
2: forward Euler
Initial Output Value Initial output value
Reset Flag Reset flag (0: edge reset; 1: level reset) (for external resettable integrator only)
Lower Output Limit Lower limit of the output (for internal resettable integrator only)
Upper Output Limit Upper limit of the output (for internal resettable integrator only)
Sampling Frequency Sampling frequency, in Hz
The output of an external 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).
The output of an internal resettable integrator is reset to 0 whenever the output reaches either the lower limit or
the upper limit. The integrator works in the same way as the external resettable integrator with the edge reset,
except that users do not need to set up the external reset circuit in this case.
If we define u(t) as the input, y(t) as the output, Ts 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:

Chapter 5: Control Circuit Components 231


With backward Euler:

With forward Euler:

5.6.5.2 Differentiator
Image:

Attribute:

Parameter Description
Sampling Frequency Sampling frequency, in Hz
The transfer function of a discrete differentiator is:

where Ts is the sampling period. The input-output relationship can be expressed in difference equation as:

5.6.5.3 Digital PI Controller


A digital PI controller is defined below.
Image:

Attribute:

Parameters Description
Gain Gain k of the PI controller
Time Constant Time constant T of the PI controller

Lower Output Limit Lower limit V_lower of the output


Upper Output Limit Upper limit V_upper of the output
Sampling Frequency Sampling frequency fs, in Hz

232 Chapter 5: Control Circuit Components


The transfer function of an analog PI controller in s-domain is defined as:

The digital PI controller is obtained by discretizing the analog PI controller using the backward Euler method.
The implementation of the controller is shown below:

5.6.5.4 Digital PID Controller with Reset


The digital PID controller with reset is defined below. Depending on the setting of the gains, the block can be
used as a PI or PD controller.
Image:
z
PID
Reset input r

Attribute:

Parameters Description
Sampling Frequency Sampling frequency, in Hz
Proportional Gain Proportional loop gain Kp
Integral Gain Integral gain Ki
Derivative Gain Derivative gain Kd
Integral Correction Gain Integral correction gain Kc
Upper Saturation Maximum output limit, in per unit
Lower Saturation Minimum output limit, in per unit
In the image, the input with "r" is for the reset signal. The other input, please note, is the error between the
reference and the feedback. When the value of the input Reset is greater than 0.5, integral output is clamped to
zero. This function is useful to prevent the integrator from entering saturation before the feedback signal is
available.
In the PID controller, the differential equation is transformed to the difference equation by means of the
backward Euler approximation.

Chapter 5: Control Circuit Components 233


The block diagram of this conventional PID controller with anti-windup correction is shown below.

Let the sampling period be Ts, the integral gain and derivative gain are defined as:

5.6.5.5 Digital Filters


Four digital filter blocks are provided: 1st-order low-pass filter, 2nd-order low-pass filter, general digital filter,
and general finite impulse response (FIR) filter. For both general filters, the filter coefficients can either be
entered directly through the element property window, or be specified through a text file.
Images:
1st-order Low-Pass 2nd-order Low-Pass General Digital Filter FIR Filter

Attributes:
For 1st-order low-pass filter and 2nd-order low-pass filter:

Parameters Description
Gain Gain k of the filter

Cut-off Frequency Cut-off frequency fc ( fc = ωc/2π ), in Hz

Damping Ratio Damping ratio  of the filter (for 2nd-order low-pass filter only)
Sampling Frequency Sampling frequency fs, in Hz

For General Digital Filter or FIR Filter that reads the coefficients directly:

Parameters Description
Order N Order N of the transfer function
Coeff. b0...bN Coefficients of the numerator (from b0 to bN)
Coeff. a0...aN Coefficients of the denominator (from a0 to aN)
Sampling Frequency Sampling frequency fs, in Hz

234 Chapter 5: Control Circuit Components


For General Digital Filter or FIR Filter that reads the coefficients from a text file:

Parameters Description
File for Coefficients Name of the file storing the filter coefficients
Sampling Frequency Sampling frequency fs, in Hz

The transfer functions of the low-pass filters are listed below.


For first-order low-pass analog filter in s-domain:

For second-order low-pass analog filter in s-domain:

The 1st-order and 2nd-order digital filters are obtained by discretizing the analog filter using the Backward
Euler method.
The transfer function of a general digital filter is expressed in polynomial form as:

If a0 = 1, the output y and input u can be expressed in difference equation form as:

If the denominator coefficients a0..aN are not zero, this type of filter is called infinite impulse response (IIR)
filter.
The transfer function of a FIR filter is expressed in polynomial form as:

If a0 = 1, the output y and input u can be expressed in difference equation form as:

The coefficient file for block Digital Filter (file) and FIR Filter (file) has the following format:
For FIR Filter (file):
N
b0
b1
... ... ...
bN
For Digital Filter (file), the format can be either one of the following:

Chapter 5: Control Circuit Components 235


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]
A = [ 1 -1.561 0.6414 ] = [a0 a1 a2]
The transfer function is:

The input-output difference equation is

The parameter specification of the filter in PSIM will be:

Order N 2
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

236 Chapter 5: Control Circuit Components


5.6.6 Quantization Blocks
Quantization blocks simulate the quantization process of an A/D converter. Two quantization blocks are
provided: One with 1 LSB (least significant bit) quantization error, and the other with input offset with 0.5 LSB
quantization error.
Images:
Quantization Block Quantization Block (with offset)

Attributes:

Parameters Description
No. of Bits Number of bits N
Vin_min Lower limit of the input value Vin,min
Vin_max Upper limit of the input value Vin,max
Vo_min Lower limit of the output value Vo,min
Vo_max Output value Vo,max that corresponds to the input value Vin,max
Sampling Frequency Sampling frequency, in Hz
To understand how the quantization blocks work, we will look at a special case where N = 3, Vin,min = 0, and
Vin,max = 1. The input will be divided into 23 (or 8) stages. Depending on the input level, the output will be one
of the 3-bit discrete numbers 000, 001, 010, 011, 100, 101, 110, and 111. The output will have 23 (or 8) levels,
and 23-1 (or 7) steps. If the binary number 000 corresponds to the decimal number 0, and the binary number 111
corresponds to the decimal number 0.875, and Vo,min = 0, and Vo,max = 1, we can plot the waveforms of the
input, output, and the quantization error Vin-Vo of the two quantization blocks as below.
The waveforms on the left are from the quantization block without the offset, and the waveforms on the right
are from the quantization block with the offset.
Quantization block Quantization block (with offset)
Binary Binary
numbers numbers
(111) (111)
(110) (110)

(100)
(011) (011)
(010)
(001)
(000)

Chapter 5: Control Circuit Components 237


As shown from the waveforms on the left, the quantization error of the quantization block is from 0 to 1 LSB
(least significant bit), or 1/23 (or 0.125).
For the quantization block with offset, a value of 0.5*LSB is added to the input before performing the
quantization. This reduces the quantization error to -0.5 LSB to +0.5 LSB (except when the input is close to the
maximum value), as shown from the waveforms on the right.
The figure below shows the input-output relationship of a general quantization block with offset.
Vo,max N
2 Binary numbers
N
Actual output limit 2 -1

ΔV

Vo

Vo,min
0
Vin,min Vin,max
Vin
Δ

The number of bits determines the quantization resolution. The input range, Vin,max - Vin,min, is divided into 2N
stages, with the width of each stage as:
Vin max – Vin min
ΔV in = ---------------------------------------
N
2
except for the 1st stage where the width is 0.5*ΔVin, and the last stage where the width is ΔVin. Note that
for the quantization block without the offset, the width of the 1st and last stage is ΔVin.
If the input falls in the kth stage, the output will be calculated as:
Vo = Vo min + (k – 1)  ΔV o

where k is from 1 to 2N, and the output step is calculated as:


Vo max – Vo min
ΔV o = -----------------------------------
N
2
Note that the value Vo,max corresponds to the output value when the input is at Vin,max. But because of the
quantization, the output can be represented in only N levels, from 0 to 2N-1. As a result, the actual limit of the
output is not Vo,max, but Vo,max - ΔVo, as shown in the figure above.
Example:
For a quantization block with the offset, let N = 3, Vin,min = 0, Vin,max = 1, Vo,min = 0, and Vo,min = 1. We have
ΔVin = ΔVo = 1/8. If Vin = 0.25, it is in the 3rd stage (k = 3), and it corresponds to Vo = 0 + (3 - 1) * 1/8 = 0.25.
If Vin = 0.6, it is in the 6th stage (k = 6), and it corresponds to Vo = 0 + (6 - 1) * 1/8 = 0.625.

238 Chapter 5: Control Circuit Components


5.6.7 Circular Buffers
A circular buffer is a memory location that can store an array of data. Two types of circular buffers are provided
in PSIM: One with a single output, and the other with a vector output.
Images:

Circular Buffer (single output) Circular Buffer (vector output)

Attributes:

Parameters Description
Buffer Length The length of the buffer
Sampling Frequency Sampling frequency, in Hz
A circular buffer stores data in a buffer. When the pointer reaches the end of the buffer, it will start again from
the beginning.
The circular buffer with single output is a type of first-in-first-out memory storage device, and the output is
equal to the value being pushed out.
The output of the circular buffer with vector output is a vector array with the length equal to the buffer length.
To access each memory location, use the memory read block.
Example:
If a circular buffer has a buffer length of 4 and a sampling frequency of 10 Hz, we have the buffer storage at
different time as follows:
Time Input Value at Memory Location Output (for single-
1 2 3 4 output buffer)
0 0.11 0.11 0 0 0 0
0.1 0.22 0.11 0.22 0 0 0
0.2 0.33 0.11 0.22 0.33 0 0
0.3 0.44 0.11 0.22 0.33 0.44 0
0.4 0.55 0.55 0.22 0.33 0.44 0.11
0.5 0.66 0.55 0.66 0.33 0.44 0.22
... ... ...

5.6.8 Convolution Block


A convolution block performs the convolution of two input vectors. The output is also a vector.
Image:

Let the two input vectors be:


A = [ am am-1 am-2 ... a1]
B = [ bn bn-1 bn-2 ... b1]

We have the convolution of A and B as:

C = A  B = cm + n – 1 cm + n – 2 ... c1
Chapter 5: Control Circuit Components 239
where

ci = [ ak+1 * bj-k], k=0, ..., m+n-1; j=0, ..., m+n-1; i=1, ..., m+n-1

240 Chapter 5: Control Circuit Components


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].

5.6.9 Memory Read Block


A memory read block is used to read the value of a memory location of a vector.
Image:

Attribute:

Parameter Description
Memory Index Offset Offset from the starting memory location
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.

5.6.10 Data Array


This is a one-dimensional array. The output is a vector. The data are either entered directly (the element is
called Array in the PSIM library) or specified in a file (the element is called Array (file) in the PSIM library).
Image:

Attributes:

Parameters Description
Array Length Length of the data array N (for the element Array only)
Values Values of the array (for the element Array only)
File for Coefficients Name of the file storing the array (for the element Array (file) only)
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.
Chapter 5: Control Circuit Components 241
8.

5.6.11 Stack
A stack is a first-in-last-out register.
Image:

Vin
push Vo
pop

Attribute:

Parameter Description
Stack Depth 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.

5.6.12 Multi-Rate Sampling System


A discrete system can have more than one sampling rate. The following system is used to illustrate this.
The system below has 3 sections. The first section has a sampling rate of 10 Hz. The output, Vo, fed back to the
system and is sampled at 4 Hz in the second section. In the third section, the output is displayed at a sampling
rate of 2 Hz.
It should be noted that a zero-order hold must be used between two elements with different sampling rates.

Vo

242 Chapter 5: Control Circuit Components


5.7 SimCoupler and FMI Module
The SimCoupler Module and the FMI Module are add-on options to the PSIM software.
The SimCoupler Module allows the co-simulation between PSIM and Matlab/Simulink.
The SimCoupler Module provides interface for co-simulation between PSIM and Matlab/Simulink. 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 PSIM’s capability in power simulation and Matlab/Simulink’s
capability in control simulation in a complementary way.
For more details on how to use the SimCoupler Module, refer to the document "Tutorial - SimCoupler
Module.pdf".

The FMI Module expends the interface to Functional Mock-up Interface (FMI) for model exchange with other
software which supports FMI standard.
The FMI Module provides the capability to generate a FMU (Functional Mock-up Unit) model, a file that
contains the model that meets the FMI standard. There are two types of FMU: Model exchange FMU and Co-
simulation FMU. At the moment, PSIM’s FMI Module supports co-simulation FMU in the slave mode. That is,
PSIM will export the FMU model, and the other software will import the FMU model. The other software will
initiate and run simulation in the master mode, and PSIM will run in the slave mode.
The FMI Module also interface PSIM with other Altair® products such as Embed® and Activate®.

The SimCoupler interface consists of two parts: link nodes in PSIM, and the SimCoupler model block in
Simulink. The images are shown below.
Images:
In PSIM In SimuLink
SimCoupler Model Block
In Link Node Out Link Node

In PSIM, the In Link nodes receive values from Simulink, and the Out Link 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.
The FMI Module uses the same In Link nodes and Out Link nodes as in the SimCoupler Module to exchange
data with other software. The setup in the PSIM circuit is also similar.
For more details on how to use the FMI Module, refer to the document "Tutorial - How to Use the FMI
Module.pdf".

5.7.1 Set-up in PSIM and Simulink


Use of the SimCoupler Module is easy and straightforward. As an example, the following is a PMSM drive
system with the power stage implemented in PSIM, and control in Simulink.

Chapter 5: Control Circuit Components 243


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 co-simulation for the example
above.
Adding the SimCoupler Block to the Simulink Library:
Run the program "SetSimPath.exe" to add the SimCoupler block to the Simulink library and set up the
SimCoupler Module for co-simulation of PSIM and Matlab/Simulink. After the execution, the
SimCoupler block will appear as "S-function SimCoupler" in the Simulink Library Browser.
Note that this step is necessary, otherwise Simulink will not find PSIM.
Also, this program needs to run only once. It needs to be run again only if the PSIM folder or Matlab
folder has changed.
In PSIM:
- After the rest of the power circuit is created, connect three Out Link nodes to the low-pass filters of
Phase A, B, and C currents, and rename them as “Ia”, “Ib”, and “Ic”; and connect one Out Link node
to the speed sensor output and rename it as “Wrpm”.
- Connect three In Link 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 In Link nodes (SLINK In) and Out Link nodes (SLINK Out) 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 the In
Link nodes, and “Ia”, “Ib”, “Ic”, and “Wrpm” for the Out Link nodes.
- Save the schematic file. In this example, we assume that the file is saved to
“C:\PSIM\pmsm_psim.psimsch”.
In Simulink:
- Start Matlab.
- Launch Simulink. Open an existing file or create a new file. After the rest of the system is created, go
to the menu "S-function SimCoupler" in the Simulink Library Browser, select the SimCoupler block,

244 Chapter 5: Control Circuit Components


and place it on the schematic.
- In the Simulink schematic, double click on the SimCoupler block, and click on the Browser button to
locate and select the PSIM schematic file “C:\PSIM\pmsm_psim.psimsch”. Then click on Apply.
The number of input and output ports of 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.
- Go to Simulation >> Model Configuration Parameters. Under Solver Options, set the Type to
“Fixed-step”. Set Fixed step size to be the same as or close to PSIM’s 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. In Simulink, start the simulation.
The SimCoupler Module supports Matlab/Simulink Release 13 and higher.
Please 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.

5.7.2 Solver Type and Time Step Selection in Simulink


There are certain restrictions on the selection of the solver type and the time step in Simulink when performing
the co-simulation. To illustrate this, we use the following one-quadrant chopper circuit with average current
mode control as an example.

The circuit on the left is all implemented and simulated in PSIM. The circuit on the right has the power stage
implemented in PSIM, and the control implemented in Simulink. In both circuits, the PSIM time step is 2 us.
Complete circuit in PSIM Power circuit in PSIM

Time step: 2us

There are different ways of setting up Simulink to perform co-simulation. The recommend approach is to set the
Solve Type to Fixed-step and define the Fixed step size to be the same or close to PSIM’s time step. The figure
below shows this option.

Chapter 5: Control Circuit Components 245


Control in Simulink Solver Type: Fixed-step
Time step: 20 us

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 Solver Type: Variable-step

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.

Control in Simulink Solver Type: Variable-step


ZOH Sample Time: 2 us

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.

246 Chapter 5: Control Circuit Components


5.7.3 Passing Parameters from Simulink to PSIM
One can set parameter values in Simulink, and pass them to PSIM. For example, to set the inductance of the
inductor L1 in Simulink, change the "Inductance" to varL1 in PSIM, as shown below.

In Simulink, double click on the SimCoupler block to open the property dialog, and click on Add Variable.
Click on the newly added row in the list and type the variable name and value, as shown below. The variable
varL1 will now be accessible from PSIM.

Chapter 5: Control Circuit Components 247


5.8 PIL Module
The PIL Module is an add-on option to the PSIM software. It provides the Processor-In-the-Loop (PIL)
simulation capability where part of a system is simulated in PSIM on a computer and the rest of the system is
implemented in a C code that runs on a DSP hardware board. With the PIL Modules, one can easily test and
validate control code, either handwritten or automatically generated by PSIM, on an actual DSP hardware with
the power circuit simulated in PSIM.
For more details on how to use the PIL Module, please refer to the tutorial files in " PIL - InstaSPIN - Motor
ID".

5.8.1 PIL Block


The PIL block allows PSIM to interface with a TI DSP hardware in a processor-in-the-loop simulation setup
where the power circuit is simulated in PSIM and the control code is running in a TI DSP hardware board.
Attributes:

Parameters Description
Target Config Target configuration file .ccxml used in Code Composer Studio (CCS) for the
specific DSP hardware
Target Program Target hardware executable .out file
No. of Input Nodes Number of inputs to the PIL block
No, of Output Nodes Number of outputs to the PIL block
Breakpoint Func. Names of the breakpoint functions where breakpoints need to be set for input
variables. If there are more than one function, function names are separated by
comma with no space (i.e. "Task1,Task2")
Endianness It refers to the order of the bytes of a word in the DSP. It can be one of the
following:
- Big-endian: the digits are written from the left to right, with the most
significant byte of a word to the left
- Little-endian: the digits are written from the right to left, with the most
significant byte of a word to the right.
TI F2833x, F2803x, F2806x, and F2802x DSP use Little-endian. TI C6657
uses Big-endian.
Addressability It refers to the way the DSP identifies memory locations. It can be one of the
following:
8-bit, 16-bit, 32-bit, 64-bit
TI F2833x, F2803x, F2806x, and F2803x DSP use 16-bit. TI C6657 uses 8-bit
Word Size Word size of the DSP. It can be one of the following:
8-bit, 16-bit, 32-bit, 64-bit
The word size of TI F2833x, F2803x, F2806x, and F2802x DSP is 16-bit, and
the word size of TI C6657 is 32-bit

248 Chapter 5: Control Circuit Components


5.8.2 PIL Block (InstaSPIN F2806x)
This block implement the functions interfacing with TI's InstaSPIN F2806x hardware.
Attributes:

Parameters Description
Target Config Target configuration file .ccxml used in Code Composer Studio (CCS) for the
specific DSP hardware
Target Program Target hardware executable .out file
No. of Input Nodes Number of inputs to the PIL block, fixed at 7.
No, of Output Nodes Number of outputs to the PIL block, fixed at 3.
Sampling Frequency The sampling frequency, in Hz.
All inputs are in IQ24 format and are in per unit. All outputs are also in IQ24 format and are in per unit unless
otherwise noted.
This block implements the functions of the FAST estimator block in TI's InstaSPIN motor control algorithm.
Since FAST functions are available on the ROM memory of an InstaSPIN-enabled DSP only (such as F28069M),
a PIL block is needed so that FAST functions are executed on the DSP while the rest of the system is
implemented in PSIM.
For each input or output, user may use the drop down list to select the signal desired.

5.8.3 InstaSPIN Set Block (F2806x)


This block set certain parameters for InstaSPIN.
Image:

Attributes:

Parameters Description
Set Type Define which parameters to set. It can be one of the following:
- Enable force angle flag: Set the enable force angle flag
- Rs & Rs_qFmt: Set the resistance Rs in p.u. and the IQ format of Rs
- Ld & Ls_qFmt: Set the inductance Ld in p.u. and the IQ format of Ld
- Lq & Ls_qFmt: Set the inductance Lq in p.u. and the IQ format of Lq
Set Mode Define at what condition the parameters are set. It can be one of the following:
- Immediately: Set the parameters immediately
- At high level: Set the parameters when the trigger input is high
- At rising edge: Set the parameters when the trigger input has a rising edge
- At falling edge: Set the parameters when the trigger input has a falling edge
The node on the top left of the block is for the trigger input, and the node on the bottom left is for the data input.
When the set condition defined by "Set Mode" is met, the value at the data input will be set to the parameter
defined by "Set Type".

Chapter 5: Control Circuit Components 249


5.9 Motor Control / HEV Design Suite Blocks
This section contains control blocks for Motor Control Design Suite and HEV Design Suite.
The following control blocks are provided:
- Speed Control (IPM)
- Speed Control (SPM)
- Speed Control (nonlinear IPM)
- Torque Control (IPM)
- Torque Control (SPM)
- Torque Control (nonlinear IPM)
- Voltage Control (PMSM)
- DC-DC Charging Control
- DC-DC Discharging Control
- DC-DC Regeneration Control

5.9.1 Speed Control (IPM)


The Speed Control (IPM) block is for speed control of linear IPM motors. It maximizes the drive performance
by providing advanced MTPA, field weakening, and MTPV control.
Image:

Speed Control (IPM)

Attributes:

Parameters Description
Ld d-axis inductance of the machine, in H
Lq q-axis inductance of the machine, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical
speed)
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter current, in A
Maximum Motor Speed Maximum motor speed, in rpm
Sampling Frequency Sampling frequency of the block, in Hz

The block has the following inputs and outputs:


Icmd: Input current command
Vdc: DC bus voltage
Wm: Motor mechanical speed, in rad/sec.
Id: Reference current for the d-axis current loop
Iq: Reference current for the q-axis current loop
nm_th: Base speed in rpm, beyond which the drive enters the field weakening region
FW: Flag (0: MTPA; 1: field-weakening control; 2: MTPV)

250 Chapter 5: Control Circuit Components


Given the dc bus voltage and the mechanical speed, this block will calculate the base speed nm_th. Below the
base speed nm_th, the motor will operate in the maximum torque region with MTPA control. Above the base
speed nm_th, the motor will operate in the maximum power region with field weakening control. Furthermore,
as the motor speed increases further, depending on the motor parameters and operating conditions, the motor
will operate in the MTPV control to maximize the power output.
This block is used in the Motor Control Design Suite and HEV Design Suite.

5.9.2 Speed Control (SPM)


The Speed Control (SPM) block is for speed control of linear SPM motors. It maximizes the drive performance
by providing advanced MTPA and field weakening, and MTPV control.
Image:

Speed Control (SPM)

Attributes:

Parameters Description
Ld d-axis inductance of the machine, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical
speed)
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter current, in A
Maximum Motor Speed Maximum motor speed, in rpm
Sampling Frequency Sampling frequency of the block, in Hz

The block has the following inputs and outputs:


Icmd: Input current command
Vdc: DC bus voltage
Wm: Motor mechanical speed, in rad/sec.
Id: Reference current for the d-axis current loop
Iq: Reference current for the q-axis current loop
nm_th: Base speed in rpm, beyond which the drive enters the field weakening region
FW: Flag (0: MTPA; 1: field-weakening control; 2: MTPV)
Given the dc bus voltage and the mechanical speed, this block will calculate the base speed nm_th. Below the
base speed nm_th, the motor will operate in the maximum torque region with MTPA control. Above the base
speed nm_th, the motor will operate in the maximum power region with field weakening control. Furthermore,
as the motor speed increases further, depending on the motor parameters and operating conditions, the motor
will operate in the MTPV control to maximize the power output.
This block is used in the Motor Control Design Suite and HEV Design Suite.

Chapter 5: Control Circuit Components 251


5.9.3 Speed Control (nonlinear IPM)
The Speed Control (IPM) block is for speed control of nonlinear IPM motors. It maximizes the drive
performance by providing advanced MTPA, field weakening, and MTPV control.
Image:

Speed Control (nonlinear IPM)

Attributes:

Parameters Description
Ld d-axis inductance of the machine at the rated operating condition, in H
Lq q-axis inductance of the machine at the rated operating condition, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical
speed)
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter current, in A
Maximum Motor Speed Maximum motor speed, in rpm
Sampling Frequency Sampling frequency of the block, in Hz

The block has the following inputs and outputs:


Icmd: Input current command
Vdc: DC bus voltage
Wm: Motor mechanical speed, in rad/sec.
Ld: Ld inductance based on the operating currents, in H
Lq: Lq inductance based on the operating currents, in H
Id: Reference current for the d-axis current loop
Iq: Reference current for the q-axis current loop
nm_th: Base speed in rpm, beyond which the drive enters the field weakening region
FW: Flag (0: MTPA; 1: field-weakening control; 2: MTPV)
Given the dc bus voltage and the mechanical speed, this block will calculate the base speed nm_th. Below the
base speed nm_th, the motor will operate in the maximum torque region with MTPA control. Above the base
speed nm_th, the motor will operate in the maximum power region with field weakening control. Furthermore,
as the motor speed increases further, depending on the motor parameters and operating conditions, the motor
will operate in the MTPV control to maximize the power output.
The Ld and Lq inputs would come from a 2-dimensional table with the inputs are Id and Iq, or current amplitude
or angle.
This block is used in the Motor Control Design Suite and HEV Design Suite.

252 Chapter 5: Control Circuit Components


5.9.4 Torque Control (IPM)
The Torque Control (IPM) block is for torque control of linear IPM motors. It maximizes the drive performance
by providing advanced MTPA, field weakening, and MTPV control.
Image:

Attributes:

Parameters Description
Ld d-axis inductance of the machine, in H
Lq q-axis inductance of the machine, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical
speed)
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter current, in A
Maximum Motor Power Maximum motor power, in W
Maximum Motor Speed Maximum motor speed, in rpm
Torque Loop Time Constant Time constant of the integrator of the internal torque control loop
Sampling Frequency Sampling frequency of the block, in Hz
The block has the following inputs and outputs:
Tcmd: Input torque command
Vdc: DC bus voltage
Wm: Motor mechanical speed, in rad/sec.
Tem: Motor developed torque, in N*m
Id: Reference current for the d-axis current loop
Iq: Reference current for the q-axis current loop
nm_th: Base speed in rpm, beyond which the drive enters the field weakening region
FW: Flag (0: MTPA; 1: field-weakening control; 2: MTPV)
This block provides feedback control of the developed torque with the internal feedback loop.
Given the dc bus voltage and the mechanical speed, this block will calculate the base speed nm_th. Below the
base speed nm_th, the motor will operate in the maximum torque region with MTPA control. Above the base
speed nm_th, the motor will operate in the maximum power region with field weakening control. Furthermore,
as the motor speed increases further, depending on the motor parameters and operating conditions, the motor
will operate in the MTPV control to maximize the power output.
This block is used in the Motor Control Design Suite and HEV Design Suite.

Chapter 5: Control Circuit Components 253


5.9.5 Torque Control (SPM)
The Torque Control (SPM) block is for torque control of linear SPM motors. It maximizes the drive
performance by providing advanced MTPA, field weakening, and MTPV control.
Image:

Attributes:

Parameters Description
Ld d-axis inductance of the machine, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical
speed)
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter current, in A
Maximum Motor Power Maximum motor power, in W
Maximum Motor Speed Maximum motor speed, in rpm
Torque Loop Time Constant Time constant of the integrator of the internal torque control loop
Sampling Frequency Sampling frequency of the block, in Hz

The block has the following inputs and outputs:


Tcmd: Input torque command
Vdc: DC bus voltage
Wm: Motor mechanical speed, in rad/sec.
Tem: Motor developed torque, in N*m
Id: Reference current for the d-axis current loop
Iq: Reference current for the q-axis current loop
nm_th: Base speed in rpm, beyond which the drive enters the field weakening region
FW: Flag (0: MTPA; 1: field-weakening control; 2: MTPV)
This block provides feedback control of the developed torque with the internal feedback loop.
Given the dc bus voltage and the mechanical speed, this block will calculate the base speed nm_th. Below the
base speed nm_th, the motor will operate in the maximum torque region with MTPA control. Above the base
speed nm_th, the motor will operate in the maximum power region with field weakening control. Furthermore,
as the motor speed increases further, depending on the motor parameters and operating conditions, the motor
will operate in the MTPV control to maximize the power output.
This block is used in the Motor Control Design Suite and HEV Design Suite.

254 Chapter 5: Control Circuit Components


5.9.6 Torque Control (nonlinear IPM)
The Torque Control (nonlinear IPM) block is for torque control of nonlinear IPM motors. It maximizes the
drive performance by providing advanced MTPA, field weakening, and MTPV control.
Image:

Attributes:

Parameters Description
Ld d-axis inductance of the machine at the rated operating condition, in H
Lq q-axis inductance of the machine at the rated operating condition, in H
Vpk / krpm Peak line-to-line back emf constant of the machine, in V/krpm (mechanical
speed)
Number of Poles Number of poles of the machine
Maximum Inverter Current Maximum inverter current, in A
Maximum Motor Power Maximum motor power, in W
Maximum Motor Speed Maximum motor speed, in rpm
Torque Loop Time Constant Time constant of the integrator of the internal torque control loop
Sampling Frequency Sampling frequency of the block, in Hz
The block has the following inputs and outputs:
Tcmd: Input torque command
Vdc: DC bus voltage
Wm: Motor mechanical speed, in rad/sec.
Ld: Ld inductance based on the operating currents, in H Lq:
Lq inductance based on the operating currents, in H Tem:
Motor developed torque, in N*m
Id: Reference current for the d-axis current loop
Iq: Reference current for the q-axis current loop
nm_th: Base speed in rpm, beyond which the drive enters the field weakening region
FW: Flag (0: MTPA; 1: field-weakening control; 2: MTPV)
This block provides feedback control of the developed torque with the internal feedback loop.
Given the dc bus voltage and the mechanical speed, this block will calculate the base speed nm_th. Below the
base speed nm_th, the motor will operate in the maximum torque region with MTPA control. Above the base
speed nm_th, the motor will operate in the maximum power region with field weakening control. Furthermore,
as the motor speed increases further, depending on the motor parameters and operating conditions, the motor
will operate in the MTPV control to maximize the power output.

Chapter 5: Control Circuit Components 255


The Ld and Lq inputs come from 2-dimensional tables with the inputs as Id and Iq, or current amplitude and
angle.
This block is used in the Motor Control Design Suite and HEV Design Suite.

5.9.7 Voltage Control (PMSM)


The Voltage Control block is for linear PMSM machines only.
Image:

Attributes:

Parameters Description
PI Gain Gain of the voltage loop PI controller
PI Time Constant Time constant of the voltage loop PI controller, in sec.
Maximum Inverter Current Maximum inverter current, in A
Sampling Frequency Sampling frequency of the voltage PI controller, in Hz
The voltage control block has the following inputs and outputs:
Vdc*: DC bus voltage reference
Vdc: DC bus voltage feedback
Wm: Motor mechanical speed in rad/sec.
Icmd: Current amplitude reference
This block uses a digital PI controller to regulate the dc bus voltage. It generates the machine current reference.

5.9.8 DC-DC Charging Control


The DC-DC Charging Control block is defined as below.
Image:

Vbatt

Vm

Ibatt

Attributes:

Parameters Description
Converter Rated Power Rated power of the dc-dc converter, in W
Battery-side Rated Voltage Converter rated voltage on the battery side, in V
Number of Cells in Series Number of cells Ns in series in the battery pack
Number of Cells in Parallel Number of cells Np in parallel in the battery pack

256 Chapter 5: Control Circuit Components


Voltage Derating Factor Voltage derating factor Ks, from 0 (100% derating) to 1 (no derating)
Full Battery Voltage Full (or maximum) voltage of the battery cell, in V
Battery Resistance Internal resistance of the battery cell, in Ohm
Current PI Gain Gain of the current loop PI controller
Current PI Time Constant Time constant of the current loop PI controller, in sec.
Voltage PI Gain Gain of the voltage loop PI controller
Voltage PI Time Constant Time constant of the voltage loop PI controller, in sec.
Control Block Output Limit The upper limit of the control block output Vm. The lower limit is 0.
Sampling Frequency Sampling frequency of the voltage and current PI controller, in Hz
The dc-dc charging control block has the following inputs and outputs:
Vbatt: Battery-side voltage
Ibatt: Current flowing into the battery
Vm: Modulation signal output
This block implements constant-voltage-constant-current charging control to a battery. When the battery
terminal voltage is less than the battery float voltage (the float voltage is defined as the internal battery full
voltage plus the voltage drop across the battery resistance), it is constant current charging, in which case the
voltage is disabled and the current loop changes the battery at a constant current rate. The charging current
amplitude is set to the converter rated current on the battery side.
On the other hand, when the battery terminal voltage reaches the float voltage, it is constant voltage charging.
The voltage loop generates the reference for the current loop.
Digital PI controllers are used in the voltage and current loops.

5.9.9 DC-DC Discharging Control


The DC-DC Discharging Control block is defined as below.
Image:

Vdc

Vm

Ibatt

Attributes:
Parameters Description
Current/Voltage Mode Operation mode of the discharge control (0: current mode; 1: voltage mode)
Converter Rated Power Rated power of the dc-dc converter, in W
Battery-side Rated Voltage Converter rated voltage on the battery side, in V
DC Bus Voltage Reference DC bus voltage reference, in V
Current PI Gain Gain of the current loop PI controller
Current PI Time Constant Time constant of the current loop PI controller, in sec.
Voltage PI Gain Gain of the voltage loop PI controller
Voltage PI Time Constant Time constant of the voltage loop PI controller, in sec.
Control Block Output Limit The upper limit of the control block output Vm. The lower limit is 0.

Chapter 5: Control Circuit Components 257


Sampling Frequency Sampling frequency of the voltage and current PI controller, in Hz

The dc-dc discharging control block has the following inputs and outputs:
Vdc: DC bus voltage feedback
Ibatt: Current flowing into the battery
Vm: Modulation signal output
This block implements constant-voltage or constant-current discharging control to a battery. When the
operation mode is set to Voltage Mode (1), the converter regulates the dc bus voltage, and the voltage loop
generates the reference for the current loop. When the operation mode is set to Current Mode (0), the converter
regulates the current flowing into the dc bus to the maximum current that the converter can deliver.
Digital PI controllers are used in the voltage and current loops.

5.9.10 DC-DC Regeneration Control


The DC-DC Regeneration Control block is defined as below.
Image:

Vdc Rgn

Tes

Wm

Attributes:

Parameters Description
Regen Power Threshold Threshold of the motor power level. Beyond the threshold, regeneration is
enabled.
Regen Enable Time Time from which regeneration is enabled. Before this time, regeneration is
disabled.
Sampling Frequency Sampling frequency of the low-pass filter for speed feedback, in Hz
The dc-dc regeneration control block has the following inputs and outputs:
Vdc: DC bus voltage feedback
Tes: Estimated developed torque of the traction motor
Wm: Mechanical speed of the traction motor in rad/sec.
Rgn: Regeneration flag (0: no regeneration; 1: regeneration)
This block generates a regeneration flag based on the dc bus voltage and the traction motor power. When the
motor power is negative (in generation mode) and the power amplitude exceeds the threshold, the regeneration
flag is set to 1 to enable regeneration.
To avoid false triggering due to start-up transient, a regeneration enable time is defined. Regeneration is
possible only after this time has passed.

258 Chapter 5: Control Circuit Components


5.10 PLL Blocks
The PLL blocks are for phase-locked loop control in continuous systems.

5.10.1 1-ph PLL


The images and parameters for single-phase phase-locked loop blocks are shown below.

Image:
1-ph PLL 1-ph enhanced PLL

Attributes:

Parameters Description
Proportional Gain Kp The proportional gain Kp. Refer to the block diagram of 1-ph PLL
Integral Gain Ki The integral gain Ki. Refer to the block diagram of 1-ph PLL.
Rated Input Frequency Rated frequency of the input signal, in Hz
Coefficient Lambda A positive constant to reduce frequency swings. Used in enhanced PLL only.
Working Principle:

The outputs of this block are:


y: unitary output signal synchronous with the input
yq: unitary output signal 90-degree delayed version of y(t)
freq: estimated frequency, in Hz,
phi: estimated angle, in degree
A: estimated amplitude (for 1-ph ePLL)
yf: estimated fundamental component (or the frequency component at freq) (for 1-ph ePLL)
The originality of the enhanced PLL (ePLL) is that, without changing the original and widely accepted structure
of the PLL, it adds a few simple blocks to remove its main drawback: double-frequency ripples.
For power system applications, the coefficient Lambda is suggested to be selected in the range
0 < Lambda < 20
Larger Lambda value means stronger suppression of frequency swings.

Chapter 5: Control Circuit Components 259


5.10.2 3-ph PLL
The images and parameters for three-phase phase-locked loop blocks are shown below.
Image:
3-ph PLL 3-ph enhanced PLL

Attributes:

Parameters Description
Proportional Gain Kp The proportional gain Kp. Refer to the block diagram of 3-ph PLL
Integral Gain Ki The integral gain Ki. Refer to the block diagram of 3-ph PLL.
Rated Input Frequency Rated frequency of the input signal, in Hz
Rated Input Amplitude Rated amplitude of the input signal
(peak)
Coefficient Lambda A positive constant to reduce frequency swings. Used in enhanced PLL only.
Working Principle:

The PLL-3ph block accepts three-phase balanced or near balanced input. The ePLL-3ph can processes general
three-phase signals regardless of being balanced or unbalanced. It is able to decompose the signal into its
positive-sequence, negative-sequence and zero-sequence components. Furthermore, it provides all signal
attributes of those components including their magnitudes, and phase angles. It eliminates the errors caused by
the presence of negative-sequence or zero-sequence components.
For power system applications, the coefficient Lambda is suggested to be selected in the range
0 < Lambda < 20

A larger Lambda value means stronger suppression of frequency swings.


The outputs of this block are:
y: unitary output signal synchronous with the input
yq: unitary output signal 90-degree delayed version of y(t)
freq: estimated frequency, in Hz,
phi: estimated angle, in degree
ud: d-axis component of the input
uq: q-axis component of the input
uo: o-axis component of the input

260 Chapter 5: Control Circuit Components


6
Other Components

This chapter provides descriptions for the components in PSIM element library’s Other section.

6.1 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.

6.1.1 On-Off Switch Controller


An on-off switch controller is used as the interface between a control gating signal and a power switch. The
input, a logic signal (0 or 1) from the control circuit, is passed to the power circuit as the gating signal.
Image:

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 of the switch results in the short-circuit of the resistor across the
switch and the increase of the current.

On-off
Controller

6.1.2 On-Off Switch Controller (Multi-Level)


An on-off switch controller (multi-level) is used to control a multi-level switch such as MOSFET or IGBT.
Depending on the input/output (I/O) signal type, this element can connect a control signal to an ideal switch or
to a switch model (such as Level-1 or Level-2 or SPICE model). Similarly, this element can connect a power
circuit to an ideal switch or to a switch model.
The image is different depending on the I/O signal type. There are four I/O signal types:
- Control to ideal switch: Input is control signal (0/1) and the output is the gate node of an ideal switch
- Control to model: Input is control signal and outputs are transistor gate node and source node
- Power to ideal switch: Inputs are power circuit and the output is the gate node of an ideal switch
- Power to model: Inputs are power circuit and outputs are transistor gate node and source node

Chapter 6: Other Components 261


Images:
Control to ideal switch Control to model Power to ideal switch Power to model

+ +

Attributes for Control to model:

Parameters Description
I/O Signal Type It is set to Control to model.
Gate Voltage High The high level of the gate voltage, in V
Gate Voltage Low The low level of the gate voltage, in V
Gate Resistance Gate resistance, in Ohm
Gate Current Flag Flag for gate current display
Attributes for Power to ideal switch:

Parameters Description
I/O Signal Type It is set to Power to ideal switch.
Gate Threshold Voltage When the input voltage is above the gate threshold voltage, the output is 1.
Otherwise, the output is 0.

6.1.3 Alpha Controller


An alpha controller is used for delay angle control of thyristor switches or bridges. There are three input for the
controller: the alpha value, the synchronization signal, and the gating enable/disable signal. The transition of the
synchronization signal from low to high (from 0 to 1) provides the synchronization and this corresponds to the
moment when the delay angle alpha equals zero. A gating with a delay of alpha degrees is generated and sent to
the thyristors. The alpha value is updated instantaneously.
Image:

Enable/Disable

Synchronization Signal alpha

Attributes:

Parameters Description
Frequency Operating frequency of the controlled switch/switch module, in Hz
Pulse Width On-time pulse width of the switch gating, in deg.
The input for the delay angle alpha is in deg.
Example:
The figure below shows a thyristor circuit using delay angle control. In the circuit, the zero-crossing of vs,
which corresponds to the moment that the thyristor would start conducting naturally, is used to provide the
synchronization. The delay angle is set at 30o. The gating signal is delayed from the rising edge of the
synchronization signal by 30o.

262 Chapter 6: Other Components


vs iRL1

vsync

6.1.4 PWM Lookup Table Controller


There are four input signals in a PWM lookup table controller: the modulation index, the delay angle, the
synchronization signal, and the gating enable/disable signal. The gating pattern is selected based on the
modulation index. The synchronization signal provides the synchronization to the gating pattern. The gating
pattern is updated when the synchronization signal changes from low to high. The delay angle defines the
relative angle between the gating pattern and the synchronization signal. For example, if the delay angle is 10
deg., the gating pattern will be leading the synchronization signal by 10 deg.

Image:

Delay Mod. Sync.


Angle Index Signal

Attributes:
Parameters Description
Frequency Switching frequency, in Hz
Update Angle Update angle, in deg., based on which the gatings are internally updated. If the
angle is 360o, the gatings are updated at every cycle. If it is 60o, the gatings are
updated at every 60o.
File Name Name of the file storing the PWM gating pattern

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.

Chapter 6: Other Components 263


The table below shows a sample PWM pattern file with 4 modulation index levels and 14 switching points.
4, 0.901, 0.910253, 0.920214, 1.199442
14
7.736627 72.10303 80.79825 99.20176 107.8970 172.2634 180.
187.7366 252.1030 260.7982 279.2018 287.8970 352.2634 360.
14
7.821098 72.27710 80.72750 99.27251 107.7229 172.1789 180.
187.8211 252.2771 260.7275 279.2725 287.7229 352.1789 360.
14
7.902047 72.44823 80.66083 99.33917 107.5518 172.0979 180.
187.9021 252.4482 260.6608 279.3392 287.5518 352.0980 360.
14
10.186691 87.24225 88.75861 91.24139 92.75775 169.8133 180.
190.1867 267.2422 268.7586 271.2414 272.7578 349.8133 360.
In this example, if the modulation index input is 0.8, the controller will select the first gating pattern. If the
modulation index is 0.915, the controller will select the third pattern.

6.2 PWM Blocks


There are pre-built PWM controller blocks.
The ouputs of these blocks are control signals. They can not be connected directly to the gating nodes of the
switching devices. On-Off Controllers must be inserted.

6.2.1 Carrier PWM Controller


This block takes the input signal as the modulation index and generates PWM pulse pattern at the output.
Images:
3-ph PWM

Attributes:

Parameters Description
Carrier Frequency The frequency of the triangular carrier wave, in Hz. Must be greater than 0.
Peak Value Peak value of the triangular wave, In the figure below, the peak value is b.
Bottom Value Bottom value of the triangular wave, In the figure below, the bottom value is a.
Duty Cycle Duty cycle of the rising slope interval. Must be in the range between 0 and 1.
Phase Delay Phase delay of the triangular waveform, in degree. When the value is 0, the wave
starts at the bottom of the rising slope, as shown in the figure below.
Dead Time The dead time between the output Q and Qn, in second.

264 Chapter 6: Other Components


Working Principle:

The input signal is Uref in the figure above. This controller is to compare the input signal with a triangular
wave, and to generate the gate signals for a pair of interlocked switches.
The outputs for single phase controller are:
Q: The "Upper switch pulse" as indicated in the figure above.
Qn: Complement of Q with the deadtime set in the parameters.
Vcr: The carrier waveform
The outputs for 3-phase controller are:
ap, bp, and cp: The "Upper switch pulse" as indicated in the figure above.
an, bn, and cn: Complement of p signals with the deadtime set in the parameters.
Vcr: The carrier waveform

6.2.2 Square Wave Controller (Variable Frequency)


This block generates a square wave with variable duty cycle, variable phase delay, and variable frequency to
control switches.
Image:

Working Principle:

The switching frequency is the same as the sampling frequency.


The inputs are:

Chapter 6: Other Components 265


D: The duty cycle of the square wave in each switching cycle.
delay: The delay time of the square wave as defined in the figure above.
freq: The frequency of the square wave.
The outputs are:
Q: The square wave as indicated in the figure above.
Qn: The compliment of Q with the deadtime set in the parameters.

6.2.3 Carrier PWM Controller (z-domain)


This block takes the input signal as the modulation index and generates PWM pulse pattern at the output.
Image:

z
ap

an

bp

bn

cp

cn

Vcr

Attributes:

Parameters Description
Carrier Frequency The frequency of the triangular carrier wave, in Hz. Must be greater than 0.
Peak Value Peak value of the triangular wave, In the figure below, the peak value is b.
Bottom Value Bottom value of the triangular wave, In the figure below, the bottom value is a.
Duty Cycle Duty cycle of the rising slope interval. Must be in the range between 0 and 1.
Phase Delay Phase delay of the triangular waveform, in degree. When the value is 0, the wave
starts at the bottom of the rising slope, as shown in the figure below.
Dead Time The dead time between the output Q and Qn, in sec.
Sampling Frequency The sampling frequency, in Hz
Working Principle:

The input signal is Uref in the figure above. This controller is to sample the input signal, to compare it with a
triangular wave, and to generate the gate signals for a pair of interlocked switches.
The sampling frequency is independent of the switching frequency.
266 Chapter 6: Other Components
The outputs for the single phase controller are:
Q: The "Upper switch pulse" as indicated in the figure above.
Qn: The compliment of Q with the deadtime set in the parameters.
Vcr: The carrier waveform
The outputs for the 3-phase controller are:
ap, bp, and cp: The "Upper switch pulse" as indicated in the figure above.
an, bn, and cn: Complement of p signals with the deadtime set in the parameters.
Vcr: The carrier waveform

6.2.4 Square Wave Controller (z-domain)


This block generates a square wave with variable duty cycle and phase delay to control switches. The controller
samples two inputs at the beginning of each switching cycle.
Image:

Attributes:

Parameters Description
Sampling Frequency The sampling frequency, in Hz
Working Principle:

The switching frequency is the same as the sampling frequency. D


The inputs are:
: The duty cycle of the square wave in each switching cycle
delay: The delay time of the square wave as defined in the figure below.
The outputs are:
Q: The "Upper switch pulse" as indicated in the figure above.
Qn: The compliment of Q with the deadtime set in the parameters.

6.2.5 Phase-Shift Controllers (z-domain)


The phase shift controller blocks generate complimentary square-pulses to drive two legs of the full bridge in a
DAB converter. The controller samples three inputs at the beginning of each switching cycle.
Phase Shift Controller (fixed D) is a special case of the phase controlled controller. It has fixed duty cycle of
0.5.

Chapter 6: Other Components 267


Image:
Phase shift Controller Phase shift Controller (fixed D)

Attributes:

Parameters Description
Phase Delay The delay of the pulses from the sampling point. The definition is  shown in the
figure below, in degree.
Sampling Frequency The sampling frequency (the same as the switching frequency), in Hz
Working Principle:

The inputs are:


D1: The duty cycle of the square wave in each switching cycle for S11 and S12
D2: The duty cycle of the square wave in each switching cycle for S21 and S22
delay: The "Shift" between S11 and S21, as shown in the figure above. Its value is between 0 and 1. When
delay=0, there is no phase shift between S11 and S21. When delay=0.5, the phase shift will be 180
degrees between S11 and S21.
The outputs are:
S11, S12: The first pair of complimentary pulse signals as defined in the figure above.
S21, S22: The second pair of complimentary pulse signals, with a delay from S11, as defined in the figure
above.

6.2.6 Space Vector PWM (2-level) (z-domain)


This element generates PWM signals based on 2-level space vector PWM.
Image:

268 Chapter 6: Other Components


Attributes:

Parameters Description
Modulation Mode The modulation mode can be one of the following:
0: for 7-segment modulation
1: for 5-segment modulation
Sampling Frequency Sampling frequency of the block, in Hz
For more details, please refer to the online help page of this block.

6.2.7 Space Vector PWM (3-level) (z-domain)


This element generates PWM signals based on 3-level space vector PWM.
Image:

Attributes:

Parameters Description
Sampling Frequency Sampling frequency of the block, in Hz
For more details, please refer to the online help page of this block.

6.3 Sensors
Four sensors are provided: Voltage sensor and current sensor for instantaneous value measurement, and voltage
sensor (average) and current sensor (average) for average value measurement.
A voltage sensor or current sensor measures the voltage or current in the power circuit and send it to the control
circuit.
The current sensor has an internal resistance of 1 .
Images:

In the images, the dot indicates the positive terminal.

Chapter 6: Other Components 269


Attribute:

Parameter Description
Gain Gain of the sensor
Sampling Frequency Sampling frequency fs for the average voltage/current sensor, in Hz
(average sensors)
Output Prob Enable Enable the probe for waveform display.
(3-phase sensors)
The average sensor integrates the input of the sensor and gives the average value during the sampling period, as
shown below.

6.4 Probes, Meters, and Scopes


Probes and meters are used to measure voltages, currents, power, or other quantities, while scopes are used to
display voltage and current waveforms.

6.4.1 Probes and Meters


Below find the images of the ac ammeter, dc ammeter, voltage probe, current probe, ac voltmeter, dc voltmeter,
single-phase and 3-phase wattmeters and kilowatt hour (kWh) meters, VAR meters, and VA-Power Factor
meters. A voltage probe measures a node voltage with respect to ground. A two-terminal voltage probe
measures the voltage between two nodes. A current probe or meter measures the current flowing into the meter
from the dotted side. Similarly, a power meter measures the power flowing into the meter from the dotted side.
Note that all the probes and meters, except the node-to-ground probe, are allowed in the power circuit only.
While voltage/current probes measure the instantaneous voltage or current, meters measure the dc or ac
quantities. A small resistor of 1  is used in the current probe internally to measure the current.
Note: The AC Sweep Probe and AC Sweep Probe (loop) are used for ac analysis. Their usage and functions will
be explained in the AC Analysis section.
Images:
Voltage Probes Current Voltmeters Ammeters
DC AC DC AC

Wattmeter / kW Meters
VAR Meters VA -Power Factor Meters
W kWh W kWh

Var Var

270 Chapter 6: Other Components


Attributes of Voltage Probes:
Parameters Description
Enable Flag Display flag. 0: no display; 1: display.
Type Flag Specify the probe type:
(3-phase Voltage Probe) 0: Line-to-neutral probe (Van, Vbn, Vcn).
1: Line-to-line probes (Vab, Vbc, Vca).

Attributes of Meters:

Parameters Description
Operating Frequency Operating frequency or fundamental frequency of the AC meters, in Hz
Cut-off Frequency Cut-off frequency of the low-pass (DC meters) or high-pass (AC meters) filter, in
Hz
kWh Meter Start Time Time from which the kilowatt hour meter starts, in sec. (for W/kWh meters only)
kWh Meter Stop Time Time at which the kilowatt hour meter stops, in sec. (for W/kWh meters only)
VA Display Flag Display flag for apparent power (0: no display; 1: display) (for VA-Power Factor
meters only)
PF Display Flag Display flag for power factor (0: no display; 1: display) (for VA-Power Factor
meters only)
DPF Display Flag Display flag for displacement power factor (0: no display; 1: display) (for VA-
Power Factor meters only)
In the images for the single-phase/3-phase wattmeter / kWh meter, the node with the letter "W" is for the real
power output, in watt, and the node with the letter "kWh" is for the kilowatt hour output, in kilowatt-hour.
A low-pass filter is used in the dc meter and wattmeter models to filter out high-frequency components, whereas
a high-pass filter is used in the ac 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, the readings of all the meters are meaningful only when the readings
reach the steady state.
The single-phase and 3-phase VAR meter measure the reactive power (VAR) at the fundamental frequency; and
the VA-Power Factor meters measure the apparent power (VA), the total power factor (PF), and the
displacement power factor (DPF). The kilowatt hour meter reading gives the integration of the real power over
a time interval defined by the start time and the stop time.
For a single-phase circuit, the real power P, reactive power Q, 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) = 2V1 sin( 1 t + 1 ) + 2V2 sin( 2 t + 2 ) + ...

i(t) = 2I 1 sin( 1 t + 1 ) + 2I 2 sin( 2 t + 2 ) + ...

where  is the fundamental frequency and all others are harmonic frequencies. We have the rms values of the
voltage and current as:

Chapter 6: Other Components 271


The real power (or average power) P is defined as:

The reactive power Q is defined as:


Q = V1  I1  sin( 1 – 1)
Note that the reactive power is for the fundamental component only.
The apparent power S is defined as:
S = Vrms  I rms

The total power factor PF and the displacement power factor DPF are then defined as follow:

PF = P
---
S
DPF = cos(1 – 1 )

For the 3-phase circuit, the definitions are similar.

Note that all the 3-phase meters, including 3-phase wattmeter/kWh meter, VAR meter, VA-Power Factor meter,
are for 3-phase 3-wire circuit only, and cannot be used in 3-phase 4-wire circuit. The models of the meters are
based on the assumption that the summation of 3-phase voltages and currents must be equal to zero, that is:
va + vb + vc = 0
ia + ib + i c = 0
For 3-phase 4-wire circuit, single-phase meters should be used instead.
To use the single-phase or 3-phase wattmeter/VAR meters, insert the meters into the circuit.
Example:
This example shows how single-phase and 3-phase meters are used. The circuit on the left shows the use of the
wattmeter and VAR meter, and the circuit on the right shows the use of the three-phase wattmeter and VAR
meter.

6.4.2 Voltage/Current Scopes


While voltage/current probes and meters save the simulation results for post waveform processing, voltage/
current scopes allow users to view simulation waveforms at runtime in the middle of the simulation.
These scopes are provided: 1-channel voltage scope, 2-channel voltage scope, 4-channel voltage scope, and
current scope.
Below are the images of the voltage and current scopes and their expanded view.

272 Chapter 6: Other Components


1-channel, 2-channel, and 4-channel voltage scopes Current scope

A B A B C D
Interface for current scope, and
Interface for 2-channel scope 1-channel and 4-channel voltage scopes

The 1-channel and 4-channel voltage scope and the current scope have the same interface. For the 4-channel
scope, the channel can be selected through the drop-down channel selection, and the settings apply that the
channel selected.
The scope is designed to operate in a similar way as the actual oscilloscope in the lab. It has 3 main sections:
Timebase section, Channel section, and Trigger section.
In the Timebase section, the scale of time (x axis) is defined.
In the Channel section, the scale of the Y axis, as well as the offset and the color of the waveform, are defined.
The channel display mode can be either DC, AC, or Gnd (for ground). When the display mode is in DC, the
entire waveform is displayed. If the display mode is in AC, only the ac portion of the waveform is displayed.
When the display mode is Gnd, the waveform will show 0.
In the Trigger section, the trigger conditions are defined. The trigger can be set to either ON or OFF. When the
trigger is off, the waveform is free-running, and the display of the waveform in the scope may vary from one
frame to another. If the trigger is on, the waveform display will only start when the trigger conditions are met.
This will lead to a steady waveform display.
There are three trigger modes: rising-edge triggering, falling-edge triggering, and one-shot triggering (if the
once checkbox is checked, the one-shot triggering is selected). The one-shot triggering will trigger only once,
and it is useful, for example, in situations where a transient needs to be captured.
The trigger level sets the level at which the triggering occurs. For example, if Channel A is selected with the
rising-edge triggering and the trigger level of 0V, whenever the Channel A input crosses over 0 from negative to
positive, triggering will occur and the waveform display will start from that instant.
On the scope, if the Auto scale checkbox is checked, the scale of all the channels will be automatically adjusted
so that the waveforms are within the display of the scope.
Note that voltage scopes have connecting terminals which can be connected to either power circuit nodes or
control circuit nodes. The scopes will display the node-to-ground voltages at these nodes.
The current scope, on the other hand, has no connecting terminals. It is associated with any element that has the
parameter of the current flag, and it is enabled by right clicking on top of the element, and selecting the branch
current under the Current Scopes, as shown below. After the branch current is selected, a check mark will
appear in front of the branch current name.

Chapter 6: Other Components 273


If the element has multiple current flags, under the Current Scopes menu, there will be multiply branch currents,
one corresponding to each current flag.
For example, for a 3-phase resistor R1, under the Current Scopes menu, there will be three branch currents:
I(R1) A, I(R1) B, and I(R1) C. The letter "A", "B", and "C" refer to Channel A, B, and C, respectively. For
example, if "I(R1) A", "I(R1) B", and "I(R1) C) are all selected, in the current scope, one can go to the Channel
pull-down menu in the Channel section, and select one of the channels for display. If Channel A is selected, the
scope will show the Phase A branch current I(R1).

6.5 Function Blocks

6.5.1 Control-Power Interface Block


A control-to-power interface block passes a control circuit value to the power circuit. It is used as a buffer
between the control and power circuit. The output of the interface block is treated as a voltage source when the
power circuit is solved. With this block, some of the functions that can only be generated in the control circuit
can be passed to the power circuit.
Image:

C/P

Example: A Constant-Power Load Model


In a constant-power dc load, the voltage V, current I, and power P have the relationship as P=V*I. Given the
voltage and the power, the current can be calculated as I=P/V. This can be implemented using the circuit as
shown below.
The load voltage is measured through a voltage sensor and is fed to a divider. The output of the divider gives the
current value I. Since the voltage could be zero or a low value at the initial stage, a limiter is used to limit the
current amplitude. This value is converted into the load current quantity through a voltage-controlled current
source.

LOAD I
V

P
k=1

274 Chapter 6: Other Components


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

6.5.2 Transformation Blocks


Function blocks of the following transformations are provided:
- abc-dqo transformations
- abc- (Clarke) transformations
- -dq (Park) transformations
- Cartesian-polar transformations
All these blocks can be used in either power circuit or control circuit.

6.5.2.1 abc-dqo Transformation


The abc-dqo function blocks perform the transformation between the abc coordinate and the dqo coordinate.
The transformation is often referred to as the Park transformation.
Images:
abc to dqo dqo to abc

 
Attributes:
Parameters Description
Transformation Flag Transformation flag (0: The q-axis leads the d-axis; 1: The q-axis lags the d-axis)
The angle  at the bottom of the blocks is in rad.
It should be noted that, in power circuit, currents must first be converted into voltage quantities (using current-
controlled voltage sources) before they can be transformed. Also, if an input terminal is not used (such as in the
dqo-to-abc transformation block where only Phase d and q are not used, and Phase o is not used), it must be
connected to ground.
Depending on the transformation flag, the transformation equations are as follows.
From abc to dqo, with the transformation flag set to 0:

From abc to dqo, with the transformation flag set to 1:


Chapter 6: Other Components 275
Note that the coefficient 2/3 in front of the transformation matrix means that the transformation is amplitude
invariant, not power invariant. That is, the dq vector amplitude is equal to the peak amplitude of the three-phase
sinusoidal waveforms. But the power in the dq frame must be multiplied by 3/2 to have the same power, i.e.
Power = va*ia + vb*ib + vc*ic = 3/2 *(vd*id+vq*iq).

To have the power invariant transformation, replace 2/3 with and 1/2 with
From dqo to abc, with the transformation flag set to 0:

From dqo to abc, with the transformation flag set to 1:

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 dqo output. In this example, the “q” component is constant, and both the “d” and the “o”
components are zero.

6.5.2.2 abc- (Clarke) Transformations

276 Chapter 6: Other Components


The abc- function blocks perform the transformation between the abc coordinate and the  coordinate. It is
often referred to as the Clarke transformation.
Images:

In the images, the letter "al" refers to , and the letter "be" refers to . The transformation equations are:
From abc to 

From ab to 

From ac to 

From  to abc

For the ab-to- and ac-to- transformation, it is assumed that va + vb + vc = 0.

Chapter 6: Other Components 277


6.5.2.3 -dq (Park) Transformations
The -dq function blocks perform the transformation from  to dq coordinate which is often referred as Park
Transformation. The dq- function blocks perform the transformation from dq to  coordinate which is often
referred as Inverse Park Transformation.
Images:

dq to  (Inverse Park)

d d al
al d d al
be q
q sin q be sin
cos q cos be
 

In the images, the letter "al" refers to , and the letter "be" refers to . The phase angle input can be either  in
radian or sin() and cos().
The transformation equations are:
From  to dq

From dq to 

6.5.2.4 Cartesian-Polar Transformation


The Cartesian-polar function blocks perform the transformation between the Cartesian coordinate and the polar
coordinate.
Images:

Cartesian to polar Polar to Cartesian

In the images, the letter "r" refers to the amplitude, and "a" refers to the phase angle , in rad.
The transformation equations are:
From Cartesian to polar

From polar to Cartesian

6.5.3 Lookup Tables


278 Chapter 6: Other Components
There are four lookup table blocks:
1-dimensional lookup table,
1-dimensional lookup table with data from external file,
2-dimensional lookup tables with integer input, and
2-dimensional lookup table with interpolation.
3-dimensional lookup table with external file and interpolation
All four lookup tables can be used in both power circuit and control circuit.
Images:
1-dimensional 2-dimensional 3-dimensional
(Interpolation)
Integer
(external file)
Index i

1-Dimensional Lookup Tables


A one-dimensional lookup table has one input and one output. Two data arrays, corresponding to the input and
output arrays, are stored in a lookup table.
Except the one-dimensional lookup table (SIMVIEW graph) where data is defined in an external file, there are
two ways to define lookup table data. One is to enter the data directly in the dialog window in the Lookup
Table tab. Another is to prepare the lookup table externally using a text editor, and define the file in the dialog
window.
To enter the data directly in the dialog window, define the number of rows (and columns for 2-dimensional
lookup tables), and click on Set. Then enter the values in the data cells provided. For 2-dimensional lookup
tables with floating-point input, also enter row input array in the left most column and column input array in the
topmost row.
To prepare the data externally in a text file, define the data in the format described below. Then click on
Open File... to load the file. Click on Reload Data if the text file is modified after it is loaded. Click on Save
As... to save the data to an external file.
Note that the external text file is optional. When an external text file is not defined, the internal data is used. But
if an external text file is defined, the text file takes the precedence and will overwrite the internal data. It is
important to note that, if the dialog window is closed, the external file will be saved automatically when one
closes the dialog window (by clicking on X at the upper right corner of the dialog window). Also, a copy of the
external text file is saved into the schematic file. In the case where the schematic file is moved to a different
computer and the external text file does not exist, PSIM will recreate the text file from the last time.
The data format for one-dimensional lookup tables is:
Vin(1), Vo(1)
Vin(2), Vo(2)
...
Vin(N), Vo(N)
Data points can be separated by either comma or space, such as:
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).

Chapter 6: Other Components 279


2-Dimensional Lookup Tables
The data format for 2-dimensional lookup tables with integer input is:
M, N
A11, A12, ..., A1N
A21, A22, ..., A2N
... ... ...
AM1, AM2, ..., AMN
where M and N are the number of rows and columns, respectively. Since the row or column index must be an
integer, the input value is automatically converted to an integer. If either the row or 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.
The data format for 2-dimensional lookup tables with floating-point input is:
M, N
Vr1 Vr2 ... VrM
Vc1 Vc2 ... VcN
A11, A12, ..., A1N
A21, A22, ..., A2N
... ... ...
AM1, AM2, ..., AMN
where m is the number of rows and n is the number of columns; Vr is the row vector and Vc is the column vector;
and A(i,j) is the output value at Row i and Column j. Note that Vectors Vr and Vc must be monotonically
increasing.
If an input falls between two points, interpolation is used to calculate the value. If an input is less than the
minimum or greater than the maximum value, the input will be limited to the minimum or maximum value.
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 10 + (---1---.-5-----–----1----)------(---3---0----–-----1---0---) =20.
2–1
Attributes for one-dimensional lookup table (external file):
Parameter Description
Graph File Name of the SIMVIEW file to be used as the lookup table data
Input Column Input column of the lookup table, selected from a drop-down menu after a graph file is
loaded.
Output Column Output column of the lookup table, selected from a drop-down menu after a graph file is
loaded.
A lookup table with external file can read the data in either text format or SIMVIEW binary format, with or
without the text heading (for example "Time V1 V2 ...") that a SIMVIEW file contains.
1-Dimensional Lookup Tables:
For 2-dimensional lookup tables, the node on the left is for the row index input, and the node on the top is for
the column index input.
A 2-dimensional lookup table with integer input has two inputs. The output data is stored in a 2-dimensional
matrix. The two inputs 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.
280 Chapter 6: Other Components
A 2-dimensional lookup table with floating-point input is similar to the lookup table with integer input. The
difference is that inputs are floating-point values, and interpolation is used to calculate the output.
The following shows a 2-dimensional lookup table with integer inputs:
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.
The following shows a 2-dimensional lookup table with floating-point inputs:
3, 4
1.1 2.2 3.3
1.2 2.3 3.4 4.5
1., -2., 4., 1.
2., 3., 5., 8.
3., 8., -2., 9.
If the row input is 2 and the column input is 3, the following table shows the four points that enclose the input
point, and the output value of 3.826 through interpolation:

3-Dimensional Lookup Tables:


A 3-dimensional lookup table with interpolation has three inputs and one output.
The three inputs on the left are corresponding to x, y, and z axes, with x-axis marked with an "X". The output
data calculation steps, with reference of the figure below:
1. Locate x0, x1, y0, y1, z0, z1 from the values of x, y, and z.
2. Read values of C000, C100, C010, C110, C001, C101, C011, C111
3. Calculate C00, C10,
C01, C11 Calculate
C00, C10, C01, C11
4. Calculate C0, C1
5. Calculate C

The lookup table file should be prepared externally. The data for the lookup table are stored in a file and have
the following format:
L, M, N
Chapter 6: Other Components 281
Vx1 Vx2 … VxL
Vy1 Vy2 … VyM
Vz1 Vz2 … VzN
A111, A121, …, A1M1
A211, A221, …, A2M1
………………
AL11, AL21, …, ALM1
A112, A122, …, A1M2
A212, A222, …, A2M2
………………
AL12, AL22, …, ALM2
A11N, A12N, …, A1MN
A21N, A22N, …, A2MN
………………
AL1N, AL2N, …, ALMN

where
L is the number of x-axis, M is the number of y-axis, and N is the number of z-axis;
Vx is the x-axis vector, Vy is the y-axis vector, and Vz is the z-axis vector;
Aijk is the output value at x=i, y=j, and z=k. Note that Vectors Vx, Vy, and Vz must be monotonically
increasing.
If an input falls between two points, interpolation is used to calculate the value. If an input is less than the
minimum or greater than the maximum value, the input will be set to be the same as the minimum or maximum
value.
Example:
The following shows a 3-dimensional lookup table:
3, 3, 3
123
456
789
1.1 1.2 1.3
2.1 2.2 2.3
3.1 3.2 3.3
1.4 1.5 1.6
2.4 2.5 2.6
3.4 3.5 3.6
1.7 1.8 1.9
2.7 2.8 2.9
3.7 3.8 3.9
When the inputs: x=1.5, y=4.5, and z=7.5, the resulted output V=1.8 through interpolation.

282 Chapter 6: Other Components


6.5.4 Math Function Blocks
The output of a math function block is expressed as the mathematical function of the inputs. With this block,
one can implement complex and nonlinear relationship easily. Blocks with 1, 2, 3, 5, and 10 inputs are
provided.
Images:
1-input 2-input 3-input 5-input 10-input

Attributes:

Parameters Description
Expression f(x1,x2,...,xn) Expression of the output versus inputs where n is the number of inputs
Expression df/dxi Expression of the derivative of the function f versus the ith input

The derivative df/dxi can be set to zero.


The variables that are allowed in the expression are: T or t for time, and xi (i from 1 to n) which represents the ith
input. For example, for the 3-input math function block, the allowed variables are: T, t, x1, x2, and x3. For the 1-
input math function block, the variable x, which refers to the only input, is also allowed.

6.5.5 DLL Blocks


A DLL (dynamic link library) block allows users to write code in C/C++, compile it into DLL using Microsoft
Visual C/C++, and link it with PSIM. These blocks can be used in either the power circuit or the control circuit.
A DLL block receives values from PSIM as inputs, performs the calculation, and sends the results back to
PSIM. PSIM calls the DLL routine at each simulation time step. However, when the inputs of the DLL block
are connected to one of these discrete elements (zero-order hold, unit delay, discrete integrators and
differentiator, z-domain transfer function blocks, and digital filters), the DLL block is called only at the discrete
sampling times.
Two types of DLL blocks are provided:
Simple DLL Block: has a fixed number of inputs and outputs, and the DLL file name is the only parameter
that needs to be defined.
General DLL Block: allows users to define arbitrary number of inputs/outputs and additional parameters.
Users can also customize the DLL block image.
The simple DLL block is easier to program and use.
Simple DLL blocks with 1 input/out up to 25 inputs/outputs are provided. The images and parameters of DLL
blocks with 1, 3, and 6 inputs/outputs are shown below

.
Chapter 6: Other Components 283
Images:
1-input 3-input 6-input

1 1 1 1

2 2

3 3
6 6
input output

Attribute:

Parameter Description
File Name Name of the DLL file
The node with a dot is for the first input (in[0]). The input/output node sequence is from the top to the bottom.
The images and parameters of a General DLL Block example are shown below.
Image (for a block with 2 inputs and 3 outputs):

1
1
input 2 output
2 3

Attribute:

Parameter Description
DLL File Name of the DLL file
Input Data File Name of the input data file that DLL reads (optional)
Number of Input Nodes Number of input nodes (optional)
Number of Output Nodes Number of output nodes (optional)
IN Nodes List of input nodes (optional)
OUT Nodes List of output nodes (optional)
Parameter 1 Parameter to be passed from PSIM into DLL (optional)
Parameter 2 Parameter to be passed from PSIM into DLL (optional)
Edit Image (button) Click this button to edit and customize the image of the DLL block.
Display File (button) Click this button to display the content of the Input Data File (optional).
Read File (button) If the Input Data File is modified, click this button to reload the data file
(optional).
The node with a dot is the first input (in[0]). The input/output node sequence is from the top to the bottom.
By default, users define the number of inputs and outputs. But the number of inputs and outputs, the node
names, as well as the number of parameters and the parameter names can all be defined inside the DLL routine.
For more details on defining and programming for the general DLL block, please refer to the help file "Help
General DLL Block.pdf" and related examples.
The name of the DLL file can be arbitrary. The DLL file can be placed in one of the two places, in the order of
precedence: in the PSIM directory, and in the same directory as the schematic file that uses the DLL file.
Note: When a DLL file is used in multiple DLL blocks in a schematic, if global or static variables are declared
and used in the DLL code, these global/static variables will be the same and be shared among all the DLL
284 Chapter 6: Other Components
blocks. If this is not what users intended, the DLL calculation can be incorrect, and users should avoid using
global/static variables in the code in this case.
Several examples using the simple DLL blocks and the general DLL blocks are provided in the
"examples\custom DLL" sub-folder in the PSIM directory.

6.5.6 C Block
A C block allows users to enter C code directly without compiling the code, unlike in external DLL blocks
where the code needs to be compiled into a DLL using an external compiler. The code of the C block will be
interpreted and executed at runtime by a built-in C interpreter in PSIM.
The interface of the C block dialog window is shown below.

Input/output ports

Edit block image

Check code syntax

Area for
custom code

The number of input and output ports of the C block is defined in the Number of Input/Output Ports section. If
the number of ports is changed, the image of the block in the schematic will change accordingly.
The function Insert GetPsimValue allows the C block to access element parameters and parameters defined in
a parameter file. Assuming that the circuit has a resistor called R1, to access the resistance value of R1, click on
Insert GetPsimValue. The following dialog window will appear.

Chapter 6: Other Components 285


Click on OK, and the following code will be inserted to the code:
int nStatus = -1; // If the function succeeds, the value of nStatus will be 0.
double nValue = GetPsimValue(reserved_ThreadIndex, reserved_AppPtr, "R1", "Resistance", &nStatus);
The resistance of the resistor R1 will be obtained and placed in the variable nValue.
To access a variable, for example "alpha", defined in a parameter file, use the following code:
int nStatus = -1;
double nValue = GetPsimValue(reserved_ThreadIndex, reserved_AppPtr, "", "alpha", &nStatus);
if(nStatus != 0)
{ //optional error handling code
printf("Error: alpha = %f, nStatus = %i \n", value, nStatus);
}
The value of the variable alpha will be obtained and placed in the variable nValue.
For faster simulation, the function GetPsimValue should be used in SimulationBegin, and the variable nValue
should be defined as a global variable so that it can be accessed in the SimulationStep function.
The code area includes four main sections:
Variable/Function Definitions: This section includes statements and global variable definition.
This function is called at each simulation step.
Simulation Step Function:
This function is called only once at the beginning of simulation for
SimulationBegin Function:
initialization.
This function is called only once at the end of simulation for
SimulationEnd Function:
termination.
Click on the Check Code button to check if the code has any compiling errors. Click on the Edit Image button
to customize the image of the C block.
For example, assume that a C block has 2 inputs and 3 outputs. After numbers of input/output ports are defined,
the C block will have an image in PSIM as follows:

2-input / 3-output

in[0] out[0]

input out[1] output

in[1] out[2]

286 Chapter 6: Other Components


The node sequence is from the top to the bottom.
In C code, the in array is used to pass the values from PSIM into the C block, and the out array is used to pass
the values from the C block back to PSIM. In this example, the first input, which corresponds to in[0] in the
code, is the node at the top left, and the first output, which corresponds to out[0] in the code, is at the top right.
The difference between the C block and the external DLL block is that, even though the C block is easier to use,
it does have the disadvantage that the custom code in the C block can not be debugged, while in the external
DLL block it is possible to set break points and trace/step through the code for debugging.
C Block in a z-Domain Circuit:
When a C block is used in a z-domain circuit, PSIM will check if there are any ZOH blocks connected
immediately at the inputs of the C block. If there are, it will take the sampling rate of the first ZOH block that it
encounters starting from the 1st input, and use this sampling rate for the whole block. For example, if there are
2 inputs, and Input 1 is connected to a 10-kHz ZOH, and Input 2 is connected to a 20-kHz ZOH, it will take
10kHz and ignore 20kHz.
At the moment, the C block does not support inputs of multiple sampling rates. That is, code in the C block will
run at one rate only.
If no ZOH is connected immediately at the inputs of the C block, the C block is called at every small time step.
The same behavior also applied to Simplified C blocks and external DLL blocks.

6.5.7 Simplified C Block


A simplified C block is a special case of the C block. Unlike the C block that contains a variable/function
definition section and three functions, the simplified C block contains only the C code that is called and ran at
every time step, corresponding to the code for the SimulationStep function.
The interface of the simplified C block dialog window is shown below.

Input/output
ports

Area for
custom code

The number of input and output ports of the ports is defined in the Number of Input/Output Ports section. After
the number of ports is changed, the image of the block in the schematic will change accordingly.
Variables that can be used in the code include:
t: Time passed from PSIM
delt: Time step passed from PSIM
x1, x2, ... :Inputs 1, 2, etc.
y1, y2, ... :Outputs 1, 2, etc.
Chapter 6: Other Components 287
When the checkbox "Enable Fixed Point Header Files" is checked, by clicking on Fixed Point Settings, one
can define the fixed point data types of the C block inputs and outputs.
By clicking on the Variables button, one can define variables that can be passed from the main circuit into the
C block. The variable can be a numerical value or a formula, for example:
k1 = 15.2
k1 = Freq/sqrt(2)
where Freq is a variable defined in a parameter file.
By clicking on the Insert GetPsimValue button, one can get the variables defined elsewhere and use them in
the C code. The usage of this function is the same as in the C block.
Unlike the C block, the simplified C block can be used for automatic code generation.

6.6 IC Models
Several PWM IC and driver IC models are provided.

6.6.1 PWM IC
The following PWM IC models are provided:

IC Name Description
UC3823A High speed PWM controller for high frequency switch-mode power
UC3823B supplies. The UC3823A and UC3823B and the UC3825A and UC3825B
UC3825A family of PWM controllers are improved versions of the standard UC3823
UC3825B and UC3825 family.
UC3842 Current mode fixed frequency PWM controller for off-line or dc-dc
UC3843 converters. The UC3842/3/4/5 family of control devices provides the
UC3844 necessary functions to implement off-line or dc-to-dc fixed frequency
UC3845 current mode control schemes.
UC3846 Current mode fixed frequency PWM controller for off-line or dc-dc
converters. The UC3846 family of control ICs provides the necessary
functions to implement fixed frequency, current mode control schemes.
UC3854 High power factor preregulator providing active power factor correction.
UC3854A UC3854A/B products are pin compatible enhanced versions of the
UC3854B UC3854. It provides all the functions necessary for active power factor
corrected preregulators.
UC3872 Resonant lamp ballast controller. UC3872 is a resonant lamp ballast
controller optimized for driving cold cathode fluorescent, neon, and other
gas discharge lamps.
UCC3806 Low power, dual output, current mode PWM controller. With the same
block diagram and pinout of the popular UC3846 series, the UCC3806 line
features increased switching frequency capability while reducing the bias
current used within the device.
UCC3817 BiCMOS power factor preregulator with average current mode control. The
UCC3818 UCC3817/18 family provides all the functions necessary for active power
factor corrected preregulators. The controller achieves near unity power
factor by shaping the ac input line current waveform to correspond to that
of the ac input line voltage.

288 Chapter 6: Other Components


UCC3895 BiCMOS advanced phase-shift PWM controller for full bridge power stage.
UCC3895 is a phase-shift PWM controller that implements control of a
full-bridge power stage by phase shifting the switching of one half-bridge
with respect to the other. It allows constant frequency pulse-width
modulation in conjunction with resonant zero-voltage switching to provide
high efficiency at high frequencies.
UCC38C40 BiCMOS low-power current-mode PWM controllers. They provide
UCC38C41 necessary functions to control fixed-frequency peak current-mode
UCC38C42 controlled power supplies.
UCC38C43 They differ in the start threshold voltage and the minimum operating
UCC38C44 voltage.
UCC38C45
UC3901 Isolated feedback generator. UC3901 is an alternative to is an alternative to
an optical coupler. It is designed to solve many of the problems associated
with closing a feedback control loop across a voltage isolation boundary. It
features an amplitude modulation system which allows a loop error signal
to be coupled with a small high-frequency transformer or capacitor.

Attribute:

Parameter Description
Model Level All these IC models, except UC3901, have two levels:
- Level 1: The PWM gating outputs are control signals with logic level of 1
(high) and 0 (low)
- Level 2: the PWM gating outputs are power signals which can directly
drive three-state switches.
The UC3901 model is a Level-2 model only.

6.6.2 Driver IC
The following driver IC models are provided:

IR21834 Half-bridge driver for high voltage, high speed power MOSFET and IGBT
with dependent high and low side referenced output channels.
IRS21867 High and low side driver for voltage, high speed power MOSFET and
IGBT driver with independent high and low side referenced output
channels.
TC4423A 3A dual output high-speed power MOSFET drivers.
TC4424A TC4423A: dual inverting.
TC4425A
TC4424A: dual non-inverting.
TC4425A: one inverting and one non-inverting.
TC4426A 1.5A dual output high-speed power MOSFET drivers.
TC4427A TC4426A: dual inverting.
TC4428A
TC4427A: dual non-inverting.
TC4428A: one inverting and one non-inverting.

Chapter 6: Other Components 289


6.6.3 555 Timer
The 555 Timer is a highly stable device for generating accurate time delays or oscillation. Additional terminals
are provided for triggering or resetting if desired. In the time delay mode of operation, the time is precisely
controlled by external resistor and capacitor.
In PSIM model, the OUT signal of the 555 Timer is a control signal node.
Images:
555
1 8
GND VCC
TRIG DISC
OUT THRS
REST VCTL 5
4

6.7 Initial Values


The initial node voltages of the power circuit and control circuit can be defined using this block. This value willnot
be kept as soon as the simulation started.
Image:

Attribute:

Parameter Description
Initial Value Initial value of the node voltage

6.8 Parameter File


A parameter file defines the variables used in a circuit. For example, the resistance of a resistor can be specified
as R1, and R1 is defined in a parameter file. Also, a parameter file can be used by itself as a computational tool.
Image:

A parameter file is a text file created by a text editor. It supports the following format:
// Text from the character // to the end of the line is treated as comment
k1 = 12.3 // Define the value of the variable k1
k1 = a + b*c // Define k1 in a math expression
(global) k1 = 12.3// Define k1 as a global variable (for use in SimCoder)
L1 = 3m // power-of-ten suffix is supported. L1 = 3e-3
C1 = 100uF // C1 = 100e-6. The unit "F" is ignored.
Note that, as compared to Version 9.1, the following format is no longer supported:
LIMIT var1 Vlow Vupper // This should be replaced by the "if...else if..." statement
% as comment. Now comments must start with double slash //. % is now used as modulo operation.
var1 value (for example "R1 2.5"). Now an equal sign must be used to define a variable.
290 Chapter 6: Other Components
The definition "(global)" is used in SimCoder only for automatic code generation. Please refer to the SimCoder
User Manual on how it is used. For PSIM simulation, this definition is ignored. That is, a parameter definition
"(global) K1 = 1.2" is treated the same as "K1 = 1.2".
Conditional statements and error/warning message functions are supported, as shown below:
if (k1 > 10)
{
a = 10
b=1
}
else if (k1 <= 20)
{
a = 20
b=2
}
else
{
Error {"Error: The value of k1 is out of the range. k1 = %f", k1}
}
if (k1 == 20)
{
Warning {"Warning: The value of k1 is equal to %.0f", k1}
}
When writing the conditional statements "if...else if...else...", the standard C syntax applies (without the
semicolon ; at the end of each statement though).
In addition, the while loop is supported. For example,
iflag = 1
a=0
b = 0.1
while (iflag == 1)
{
a = a + b if (a > 10)
iflag = 0
}
Supported operators and mathematical functions in a parameter file are:
+ // addition
- // subtraction
* // multiplication
/ // division
% // modulo operator that returns the remainder after division (e.g. 5 % 2 = 1)
^ // to the power of
= // equal assignment
== // conditional equal
!= // not equal
> // greater than
>= // equal or greater than
< // less than
<= // equal or less than
! // not
&& // and
|| // or
sin(x) // sine
cos(x) // cosine
tan(x) // tangent
asin(x) // arcsine
acos(x) // arccosine
atan(x) // arctangent
atan2(y,x) // arctangent with x and y defined
sinh(x) // hyperbolic sine
cosh(x) // hyperbolic cosine
Chapter 6: Other Components 291
tanh(x) // hyperbolic tangent
pow(x,y) // x to the power of y
sqrt(x) // square root
exp(x) // base-e exponential of x, i.e. e^x
ln(x) (or log(x)) // natural logarithm of x (base e)
log10(x) // common logarithm of x (base 10)
abs(x) // absolute
sign(x) // sign function that returns 1 if x > 0, -1 if x < 0, and 0 if x = 0
ceil(x) // function that returns the integer larger than x
floor(x) // function that returns the integer smaller than x
if (...){...} else if (...){...} else {...} // conditional if statement
iif (condition, value1, value2) // inline if statement (note it is "iif" not "if")
while (...) {...} // while loop
Error {"Error text %f, %f", var1, var2} // Error statement. Up to 5 variables are supported.
Warning {"Warning text %f, %f", var1, var2} // Warning statement. Up to 5 variables are supported
Note that the input or output of all trigonometric functions is in rad. Also, the Error or Warning reporting
functions can control the variable number format, as shown below.
Error {"Error message"}
Error {"Error message %.nf", k1}// Print the value of k1, where n is the number of digits after the
// decimal point. For example, if k1 = 12.34, %.1f will give 12.3
Warning {"Warning message"}
Warning {"Warning message %.nf", k1}// Print the value of k1, where n is the number of digits after
// the decimal point. For example, if k1 = 12.34, %.1f will give 12.3
An Error function will stop the simulation, while a Warning function will allow the simulation to proceed.
To display the variable values of a parameter file, go to Edit >> Show Values. For example, the figure below
shows a parameter file on the left, and the values on the right.

The function Show Values provides a very convenient way of checking the calculation.
Parameter File in Circuit Schematic:
When a parameter file element is used in a circuit schematic, it has the same hierarchy as the circuit in which it
resides. A variable defined in a parameter file in a higher-level circuit can be used in all lower circuits, but not
the other way around. Also, a variable define in a parameter file in circuit cannot be used in another circuit of
the same level.
For example, assume that a main circuit contain a parameter file "main_param.txt", and the main circuit
contains two subcircuits S1 and S2, with a parameter file "sub1_param.txt" in S1 and another parameter file
"sub2_param.txt" in S2. A variable defined in "main_param.txt" can be used in both S1 and S2 circuits as well
as in parameter files "sub1_param.txt" and "sub2_param.txt". However, a variable defined in "sub1_param.txt"
or "sub2_param.txt" can not be used in the higher level main circuit and in "main_param.txt".

292 Chapter 6: Other Components


Similarly, since Subcircuits S1 and S2 are parallel, a variable defined in "sub1_param.txt" cannot be used in
Subcircuit S2 and "sub2_param.txt", and vice versa.
In addition, when PSIM saves a parameter file, it will save the information of both the relative path and absolute
path of the parameter file, as well as a copy of the content of the parameter file.
When PSIM loads a schematic with a parameter file element, it will search and load the parameter file in the
following order: relative path (relative to the schematic file), absolute path, and the local path (the local folder
where the schematic file is). If PSIM still can not find the parameter file, it will create the parameter file in the
local schematic folder from the copy that it saved in the schematic file.
Parameter Tool:
This tool opens a parameter file without the need of a schematic. To access this function, go to Script >>
Parameter Tool.

Chapter 6: Other Components 293


6.9 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, it takes much shorter time to perform the ac analysis.
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.
The following are the steps to set up the ac analysis:
- Identify a sinusoidal voltage source as the excitation source for the ac sweep.
- Place ac sweep probes at the desired output location. To measure the loop response of a closed control
loop, use the node-to-node probe.
- Place the ac sweep block on the schematic, and define the parameters of the ac sweep.
- Run the simulation.
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.txt” 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.txt” 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: Open-Loop Response of a Buck Converter
The circuit on the left is an one-quadrant buck converter. An excitation source is injected to the modulation
signal, and the output voltage is measured. The result of the ac analysis, on the right, shows the open-loop
response of the output voltage versus the modulation signal.

Example: Loop Transfer Function of a Closed-Loop Circuit


The ac analysis can be used to find out the loop response of a closed-loop system. The circuit below shows a
buck converter with average current mode control. By injecting the excitation signal into the current feedback
path, and using the node-to-node ac sweep probe, we can obtain the loop transfer function directly. With the
loop transfer function, one can determine the bandwidth of the control loop and the phase margin.
294 Chapter 6: Other Components
Please note that the ac sweep probe should be connected such that the dotted side is connected to the node after
the excitation source injection.

Example: Loop Transfer Function of a Switchmode Power Supply


The loop transfer function of a switchmode power supply controlled by a PWM IC can also be determined in a
similar way. The figure below shows a buck converter controlled by TI UC3842. The excitation source can be
inserted in the feedback path, before the op. amp. output.

6.9.1 AC Sweep Probes


Two ac sweep probes are provided: AC Sweep Probe with one node, and AC Sweep Probe (loop) with two
nodes, as shown below.
Images:

AC Sweep Probe AC Sweep Probe (loop)

The AC Sweep Probe is used to measure the response of the node-to-ground voltage with respect to the
excitation source. The AC Sweep Probe (loop) is used to measure the response of a closed loop.

Chapter 6: Other Components 295


6.9.2 AC Sweep
The AC Sweep block defines the parameters for ac sweep. An excitation source will be injected into the circuit.
PSIM will run the circuit in transient simulation until it reaches the steady state. The criteria to detect the steady
state are set internally in PSIM.
Image:

Attributes:
Parameters Description
Start Frequency Start frequency of the ac sweep, in Hz
End Frequency End frequency of the ac sweep, in Hz
No. of Points Number of data points
Flag for Points Flag to define how the data points is generated.
Flag = 0: Points are distributed linearly in LOG10 scale
Flag = 1: Points are distributed linearly in linear scale
Source Name Name of the excitation source
Start Amplitude Excitation source amplitude at the start frequency
End Amplitude Excitation source amplitude at the end frequency
Freq. for extra Points Frequencies of additional data points. If the frequency-domain characteristics
change rapidly at a certain frequency range, one can add extra points in this region
to obtain better data resolution.

6.9.3 AC Sweep (1)


The AC Sweep (1) block works in the same way as the AC Sweep block. The difference between this block and
the AC Sweep block is that the excitation points can be defined arbitrarily.
Image:

Attributes:
Parameters Description
Start Frequency Start frequency of the ac sweep, in Hz
End Frequency End frequency of the ac sweep, in Hz
No. of Points Number of data points
Flag for Points Flag to define how the data points is generated.
Flag = 0: Points are distributed linearly in LOG10 scale
Flag = 1: Points are distributed linearly in linear scale
Source Name Name of the excitation source
(f1,V1) (f2,V2) ... Specify the frequency and amplitude of the excitation source at each point. Note
(fn,Vn) that f1 must be the same as the Start Frequency, and fn must be the same as the
End Frequency.

296 Chapter 6: Other Components


The excitation source is defined as below.

6.9.4 AC Sweep (2)


The AC Sweep (2) block works in a different way as the AC Sweep and AC Sweep (1) blocks. With this block,
PSIM will run the transient simulation up to the steady state time Tsteady specified by users. PSIM will then
simulate for additional N cycles (again specified by users) to calculate ac sweep results.
Image:

Attributes:

Parameters Description
Start Frequency Start frequency of the AC sweep, in Hz
End Frequency End frequency of the AC sweep, in Hz
No. of Points Number of data points
Flag for Points Flag to define how the data points is generated.
Flag = 0: Points are distributed linearly in LOG10 scale
Flag = 1: Points are distributed linearly in linear scale
Source Name Name of the excitation source
Number of Cycles Number of cycles N that simulation will run to obtain ac sweep results.
Steady State Time Steady state time Tsteady at which steady state is reached, in sec.
Flag for Waveforms Flag to save the time-domain simulation waveforms at each ac sweep frequency.
When the flag is set to 1, time-domain waveforms will be saved to files in a
subfolder. The file name will indicate the injection frequency.
(f1,V1) (f2,V2) ... Specify the frequency and amplitude of the excitation source at each point. Note
(fn,Vn) that f1 must be the same as the Start Frequency, and fn must be the same as the
End Frequency.

The excitation source profile is the same as for the AC Sweep (1) block.
To use this block for ac sweep, first run the circuit with no signal injection and find out when the circuit reaches
the steady state. Then use this steady state time in the ac sweep definition.

Chapter 6: Other Components 297


6.9.5 AC Sweep Multisine
The AC Sweep (multisine) block has the same functionality as the ac sweep. Its advantage is to simulate
multiple frequency of sine-wave in only one cycle of the lowest frequency wave, resulting faster simulation.
Image:

AC
Sweep
m-sine

Attributes:

Parameters Description
Start Frequency Start frequency of the ac sweep, in Hz
End Frequency End frequency of the ac sweep, in Hz
No. of Points Number of data points
Flag for Points Flag to define how the data points is generated.
Flag = 0: Points are distributed linearly in LOG10 scale
Flag = 1: Points are distributed uniformly in LOG10 scale
Source Name Name of the excitation source
Source Amplitude Excitation source peak amplitude at the start frequency.
Number of Cycles The number of cycles of the excitation source amplitude to be simulated
Steady State Time The time at which the circuit has reached the steady state, in second. One can run a
single time simulation to determine the steady state time.

6.10 Parameter Sweep


Parameter sweep can be performed on any parameters:
The image and parameters of the parameter sweep block are shown below.
Image:

Attributes:

Parameters Description
Name Name of the parameter to be swept
Start Starting value of the parameter
End End value of the parameter
Increment Increment step value of the parameter
Enabled When checked, the parameter line will be enabled.
For example, let the resistance of a resistor be “Ro”. To sweep the resistance from 2 Ohm to 10 Ohm, with an
increment step value of 2 Ohm, check the Enabled checkbox, and define the following:

298 Chapter 6: Other Components


Name Ro
Start 2
End 10
Increment 2
Parameter sweep will produce two plots: One is the outputs versus time, and the other is the outputs at the last
simulation point versus the swept parameter.
For example, a circuit has two outputs V1 and V2, and the resistance Ro is swept. The total simulation time is
0.1 sec. After the simulation, there will be two plots in SIMVIEW. One is V1 and V2 versus time. The other is
V1 and V2 versus Ro. The V1 and V2 values used in the second plot are the values at the last simulation point
at 0.1 sec.

Chapter 6: Other Components 299


7
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.

7.1 Constant
The constant element allows users to define a constant. It behaviors as a grounded voltage source.
Image:

Attribute:

Parameter Description
Value Value of the constant

7.2 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:

7.3 Ground
There are three different ground elements in PSIM library. Although they are in different shape, they are
electrically connected together. The different shape of these grounds provide the convenience for user to
separate the grounding in different functional sections of the circuits.
Images:

Ground (1) Ground (2)

300 Chapter 7: Sources


7.4 Voltage and Current Sources

7.4.1 DC Source
A dc source has a constant amplitude. The reference of the grounded dc voltage sources is the ground.
Images:
DC DC (battery) Grounded DC (circle) Grounded DC (T) Current

Attribute:
Parameter Description
Amplitude Amplitude of the source
Series Resistance Source series resistance, in Ohm (for DC and DC (battery) voltage sources only)
Series Inductance Source series Inductance, in H (for DC and DC (battery) voltage sources only)
The series resistance and inductance represent the source impedance.

7.4.2 Sinusoidal Source


A sinusoidal source is defined as:
vo = Vm  sin(2  f  t + ) + V offset
The specifications can be illustrated as follows.

Vm
Voffset

 t
1/f

Images:
Current

Attributes:
Parameters Description
Peak Amplitude Peak amplitude Vm
Frequency Frequency f, in Hz
Phase Angle Initial phase angle , in deg.
DC Offset DC offset Voffset
Series Resistance Source series resistance, in Ohm (for voltage source only)
Series Inductance Source series inductance, in H (for voltage source only)
Tstart Starting time, in sec. Before this time, the source is 0.
Chapter 7: Sources 301
To facilitate the setup of three-phase circuits, a symmetrical three-phase Y-connected sinusoidal voltage source
is provided. The dotted phase of the source refers to Phase A.
Image:
3-phase Voltage
a

Attributes:

Parameters Description
V (line-line rms) Line-to-line rms voltage amplitude
Frequency Frequency f, in Hz
Initial Angle (phase A) Initial angle for Phase A, in deg.
Series Resistance Source series resistance, in Ohm
Series Inductance Source series inductance, in H

7.4.3 Square-Wave Source


A square-wave voltage source or current source is defined by peak-to-peak amplitude, frequency, duty-cycle,
and DC offset. The duty cycle is defined as the ratio between the high-potential interval versus the period.
Images:
Voltage Current

Attributes:

Parameters Description
Vpeak-peak Peak-to-peak amplitude Vpp
Frequency Frequency, in Hz
Duty Cycle Duty cycle D of the high-potential interval
DC Offset DC offset Voffset
Phase Delay Phase delay  of the waveform, in deg.
Rise Time (SPICE) Rise time from low to high, in sec. (for SPICE only)
Fall Time (SPICE) Fall time from high to low, in sec. (for SPICE only)

302 Chapter 7: Sources


The specifications of a square wave source are illustrated as follows.

Vpp

D*T Voffset

0 t
T
 (T=1/f)

When the phase delay  is positive, the waveform is shifted to the right along the time axis.

7.4.4 Triangular/Sawtooth Sources


A triangular-wave voltage source or current source is defined by peak-to-peak amplitude, frequency, duty-
cycle, and DC offset. The duty cycle is defined as the ratio between the rising-slope interval versus the period.
Images:
Current Sawtooth-wave

Attributes:

Parameters Description
Vpeak-peak Peak-to-peak amplitude Vpp
Frequency Frequency, in Hz
Duty Cycle Duty cycle D of the rising slope interval
DC Offset DC offset Voffset
Phase Delay Phase delay  of the waveform, in deg.

The specifications of a triangular wave source are illustrated as:

D*T Vpp

0 t
Voffset
T

(T=1/f)

When the phase delay  is positive, the waveform is shifted to the right along the time axis.
A sawtooth-wave voltage source is a special case of the triangular source with the duty cycle of 1 and dc offset
and phase delay of 0, and with one node grounded. Its parameters are defined as below:

Chapter 7: Sources 303


Attributes:

Parameters Description
Vpeak Peak amplitude
Frequency Frequency, in Hz
Fall Time (SPICE) Fall time, in sec. (for SPICE only)

7.4.5 Step Sources


A step voltage/current source changes from one level to another at a given time. Two types of step sources are
provided: one that changes from 0 to a certain level (refer to as Step in the library), and the other that changes
from one level to another level (referred to as Step (2-level) in the library).
Images:

Voltage Current

Attributes:
For the Step type source:

Parameters Description
Vstep Value Vstep after the step change
Tstep Time Tstep at which the step change occurs
Transition Time (SPICE) Transition time from low to high, in sec. (for SPICE only)
For the Step (2-level) type source:

Parameters Description
Vstep1 Value Vstep1 before the step change
Vstep2 Value Vstep2 after the step change
Tstep Time Tstep at which the step change occurs
Transition Time Transition time Ttransition from Vstep1 to Vstep2

The specifications of the voltage step sources are illustrated as follows:


Step Type Step (2-level) Type
Vstep Vstep2

Vstep1
Ttransition
0 Tstep t 0 Tstep t

For SPICE, the transition time cannot be 0, and must be a non-zero value.

304 Chapter 7: Sources


7.4.6 Piecewise Linear Source
The waveform of a piecewise linear source consists of piecewise linear segments. It is defined by the number of
points, the values and the corresponding time (in sec.). The values and times can be entered either separately, or
in pair.
Images:

Voltage Current

Attributes for Piecewise Linear:

Parameters Description
Frequency Frequency of the waveform, in Hz
No. of Points n No. of points
Values V1...Vn Values at each point
Time T1...Tn Time at each point, in sec.
Attributes for Piecewise Linear (in pair):

Parameters Description
Frequency Frequency of the waveform, in Hz
Times, Values (t1,v1) ... Time and value at each point
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
Time (sec.)
0 0.1 0.2 0.3

The specification for the piecewise linear voltage source will be:

Frequency 0.
No. of Points n 4
Values V1...Vn 1. 1. 3. 3.
Times T1...Tn 0. 0.1 0.2 0.3
The specification for the piecewise linear (in pair) voltage source will be:

Frequency 0.
Times, Values (t1,v1)... (0., 1) (0.1, 1) (0.2, 3) (0.3, 3)

Chapter 7: Sources 305


7.4.7 Random Source
The amplitude of a random voltage source (VRAND) or current source (IRAND) is determined randomly at
each simulation time step. A random source is defined as:
vo = Vm  n + V offset

where Vm is the peak-to-peak amplitude of the source, n is a random number in the range of 0 to 1, and Voffset is
the dc offset.
Images:
Voltage Current

Attributes:
Parameters Description
Peak-Peak Amplitude Peak-to-peak amplitude of the source
DC Offset DC offset
Duration (SPICE) Duration of an individual voltage value, in sec. (for SPICE only)

7.4.8 Math Function Source


A math function source allows one to define the source in a mathematical expression.
Image:

Attributes:
Parameters Description
Expression The mathematical expression of the source
Tstart Start time of the source
In the expression, “T” or “t” represents time. For example, to implement a sinusoidal source, the expression will
be: sin(2*3.14159*60*t+2.09).

7.4.9 Grounded Source Multiple


This voltage source has one end grounded. It has the following options. Each option provides the same function
as the named voltage source type. The parameters and the definitions are all the same.
- Constant
- Sine
- Triangular
- Sawtooth
- Square
- Step
- Step (2-level)
7.4.10 Voltage/Current-Controlled Sources
The following types of controlled sources are available:
- Voltage controlled voltage source
306 Chapter 7: Sources
- Current controlled voltage source
- Voltage controlled current source
- Current controlled current source
- Variable-gain voltage controlled voltage source
- Variable-gain voltage controlled current source
The controlling current of a current controlled source must come from a RLC branch. Also, for a controlled
current source, the controlling voltage or current can not be an independent source.
Note that controlled sources can be used in the power circuit only.

Images:
Voltage-controlled Current-controlled Current-controlled Variable-gain
(flowing through) voltage-controlled

Current-controlled Variable-gain
Voltage-controlled Current-controlled voltage-controlled
(flowing through)

Attribute:
Parameter Description
Gain Gain of the source
For voltage-controlled sources, the controlling voltage is from the positive node (+) to the negative node (-).
For current-controlled sources (with an arrow pointing from one node to another), 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 (with a wire connecting the two nodes), the controlling current flows from one
control node to another, as indicated by the arrow. 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, the output is equal to the following:
vo = (k  v in2 )  vin1
io = (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 a variable-gain controlled source and a nonlinear source with multiplication is that, for
the nonlinear source with multiplication, 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 the variable-gain controlled source, 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 of vin2. Variable-gain controlled sources can be used in
circuits which may otherwise have convergence problem with nonlinear sources with multiplication.

Example:

Chapter 7: Sources 307


The circuits below illustrates the use of current controlled voltage sources. In the circuit on the left, the voltage
source is controlled by the inductor current 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. These two circuits ares equivalent.
Vis Vis

is is

7.4.11 Voltage-Controlled Sources


The output of a nonlinear voltage-controlled source is either the multiplication, division, or square-root of the
inputs. They are defined as:
Nonlinear (multiplication):
Nonlinear (division):

Nonlinear (square-root):

Nonlinear (power):

In the nonlinear power source, the term sign(vin) is 1 if vin is positive, and it is -1 if vin is negative.
Note that these nonlinear sources can be used in the power circuit only.
Images:

Multiplication Division Square-root Power

Attributes:

Parameters Description
Gain Gain k of the source
Coefficient k1 Coefficient k1
Coefficient k2 Coefficient k2

Where Gain is the parameter for all sources, while k1 and k2 are for nonlinear power source.
For the nonlinear (division) source, Input 1 is on the side of the division sign.

308 Chapter 7: Sources


8
Error/Warning Messages and Other Simulation Issues

8.1 Simulation Issues

8.1.1 Time Step Selection


PSIM uses the fixed time step in the simulation. In order to assure accurate results, the simulation time step
should be properly chosen. The factors that limit the time step in a circuit include the switching period, widths
of pulses or square waveforms, and intervals of fast transients. It is recommended that the time step should be at
least one magnitude smaller than the smallest of the above.

8.1.2 Propagation Delays in Logic Circuits


The logic elements in PSIM are ideal, i.e. there is no propagation delay. If a logic circuit uses the propagation
delays for its operation, a function block in PSIM, called the Time Delay block, needs to be added to represent
the effect of the propagation delay.
To illustrate this, take a two-bit counter circuit as an example.

Q0 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 inserted between Q0 and
the input (J) of the second flip-flop.

8.1.3 Interface Between Power and Control Circuits


In PSIM, power circuits are represented in the discrete circuit form, and control circuits are represented in
function block diagram. Power circuit components, such as RLC branches, switches, transformers, mutual
inductors, current sources, floating voltage sources, and all types of controlled sources are not allowed in the
control circuit. Similarly, control circuit components, such as logic gates, PI controllers, lookup tables, and
other function blocks, are not allowed in the power circuit.
If there is a direct connection between the power circuit and the input of a control circuit element, a voltage
sensor will be automatically inserted by the program. Similarly, if there is a direct connection between the
output of a control circuit element and the power circuit, a control-power interface block will be automatically
inserted. This is illustrated in the examples below.

Chapter 8: Error/Warning Messages and Other Simulation Issues 309


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.

8.1.4 FFT Analysis


When using FFT for the harmonic analysis, one should make sure that the following requirements are satisfied:
- The waveforms have reached the steady state;
- 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 Debugging
Some of the approaches in debugging a circuit is discussed in the following.
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.

310 Chapter 8: Error/Warning Messages and Other Simulation Issues


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.

8.3 Error/Warning Messages


The error and warning messages are listed in the following.

E-1 Input format errors occurred in the simulation.


It may be caused by one of the following:
• Incorrect/Incomplete specifications
• Wrong input for integers and character strings
Make sure that the PSIM library is not modified, and the PSIM simulator is up-to-date.
In the circuit file, character strings should be included between two apostrophes (like ‘test’). Also,
make sure an integer is specified for an integer variable. The specification of a real number (like 3.
instead of 3) for an integer will trigger the error message.

E-2 Error message: The node of an element is floating.


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.

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.

Chapter 8: Error/Warning Messages and Other Simulation Issues 311

You might also like