Simulating Power Electronic Circuits using Python
4.5 (52 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
365 students enrolled

Simulating Power Electronic Circuits using Python

A beginner's guide to simulations with theory and example
Bestseller
4.5 (52 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
365 students enrolled
Created by Shivkumar Iyer
Last updated 2/2020
English
English [Auto-generated]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 18.5 hours on-demand video
  • 55 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Installing and setting up Python
  • Installing Python Power Electronics - an open source circuit simulator
  • Simulating a basic resistive circuit
  • Basics of magnetic and electric fields from a power engineering perspective
  • How inductors and capacitors form energy storage elements in power electronic circuits
  • The use of diodes in power electronic circuits
  • The working of a diode using simulations
  • The concept of rectification and how a rectifier can be built using diodes
  • Building a rectifier step by step using simulations
  • Writing control functions using Python
  • Simulating a buck converter
Requirements
  • Basic electrical engineering, basic programming in any high level language
Description

For a student of electrical engineering or for a practicing electrical technician, getting started with simulating electrical circuits can be challenging. Even more so in the case of power electronics where circuits are non-linear. This course introduces the process of simulation and also provides basic theory lectures to help you understand how simulations can be used to learn how power converters work.

This course uses only free and open source software. The course will have lectures to show you how to download and install each software. All software are compatible with Windows, Linux and Mac OS and you can follow this course whatever operating system you prefer to use. The course also has a basic tutorial on Python programming to help you with writing control code for electrical circuits. The course uses the free and open source circuit simulator Python Power Electronics. You can use other simulators if you are already using them. However, all examples in this course will use Python Power Electronics as I would like all students registered for the course to be able to access a circuit simulator and not all simulators are free to use.

This course is not a comprehensive course on power electronics. I will not be covering a vast number of power converters. Instead, this course focuses on depth. The lectures will have code along sessions where I will be building simulations from scratch and will be switching back and forth between theory presentations and simulation results to understand how circuits work. The course will not be heavily mathematical but on the contrary will use fundamental concepts of Physics to understand how power converter circuits.

In order to successfully complete this course, a student is required to have some basic electrical knowledge. This implies basic network laws - Kirchoff's Voltage Law, Kirchoff's Current Law, Ohm's Law. These would be taught in first year of electrical engineering. Other than that, you do not need to have prior knowledge of power electronics or analog electronics. A student will also be required to have some basic knowledge of programming. This course uses Python. However, if a student has used any other high level language such as C, C++, Java etc, that would do as well. Expert knowledge of programming is not necessary. This course however, should not be a student's very first time coding.

Who this course is for:
  • Students of electrical engineering, practicing engineers and electrical technicians
Course content
Expand all 106 lectures 18:26:52
+ Welcome
1 lecture 08:50

This lecture provides a quick outline to this course. It describes briefly the contents, the prerequisites, the target audience and the importance/usefulness of the skills taught in this course.

Preview 08:50
+ Introduction
5 lectures 21:54

Overview of this section.

Preview 00:58

This lecture describes what is the fundamental concept of a simulation.

Preview 04:57

Describes the usefulness of open source software.

Open source software in electrical engineering
03:52

Describes how and why Python Power Electronics was created.

Python Power Electronics - an open source circuit simulator
04:17

A quick recap of what is required of a student registered for the course and how it will benefit.

Target audience of the course
07:50
+ Installing software
15 lectures 02:15:14

Introduction to the installation section.

Overview
02:42

Introduces the Anaconda project and goes through their website.

Introduction to Anaconda Python
04:43

This is a guide for installing Anaconda in Windows systems.

Windows - installing Anaconda
07:08

This is a guide for installing Anaconda in Linux systems. Mac OS should be fairly similar.

Linux/Mac - installing Anaconda
11:13

Describes the need for virtual environments and their usefulness in maintaining a project.

Environments in Anaconda
05:14

Describes the commands needed to setup and manage an environment in Anaconda in a Windows system.

Windows - setting up Anaconda environments
14:34

Describes the commands needed to setup and manage an environment in Anaconda in a Linux system. The commands will be very similar for a Mac.

Linux/Mac - setting up Anaconda environments
23:33

A theory lecture that describes the dependencies for Python Power Electronics.

Setting up an environment for Python Power Electronics
07:17

Describes how to download Python Power Electronics and set it up in Anaconda for a Windows system.

Windows - installing and setting up Python Power Electronics
12:02

Describes how to setup an Anaconda environment in a Linux system that can support Python Power Electronics. These are raw commands. A simpler method follows in the next lecture.

Linux/Mac - installing the dependencies for Python Power Electronics
05:04

Describes how to download Python Power Electronics and set it up in Anaconda for a Linux/Mac system.

Linux/Mac - installing and setting up Python Power Electronics
21:54

Describes how to launch Python Power Electronics after it has been installed in a Windows system.

Windows - launching Python Power Electronics
03:55

Describes how to launch Python Power Electronics after it has been installed in a Linux/Mac system.

Linux/Mac - launching Python Power Electronics
05:35

A brief lecture on editors and IDEs for Python programming.

Editors for Python programming
05:31

Concluding the installation section.

Conclusion
04:49
+ Simulating Basic Resistive Circuits
12 lectures 02:15:27
Overview
02:57

Describing a simple resistive circuit that will be simulated in this section.

Choosing a circuit to simulate
10:36

Describes how a circuit can be represented in a spreadsheet.

"Drawing" the circuit in a spreadsheet
11:39

Describes some of the Dos and Don'ts while representing circuits using spreadsheets.

Rules for drawing circuits in spreadsheets
10:55

Describes the parameters of the circuit components.

Understanding parameters of a simulation
16:13

Shows how to launch a new simulation with Python Power Electronics.

Creating a new simulation
16:47

Describes how the spreadsheet with the circuit is added to the simulation.

Adding a circuit schematic to the simulation
08:28

Describes the parameters of the components appear in the simulation.

Parameters of circuit components
12:22

Describes how to edit the parameters of the components.

Editing the parameters of components in the simulation
10:06

Describes how to run the simulation and generate plots with waveforms.

Running the simulation
19:43

Describes how to back up the component parameters by exporting them to a .csv file.

Backing up the parameters of the circuit
08:16
Conclusions
07:25
+ Energy storage in electrical circuits
10 lectures 01:30:47
Introduction
05:14

Describes how electric circuits produce magnetic fields.

Magnetic field basics
08:06

Describes how electromagnets are constructed.

Electromagnets
10:18

Describes how an inductor is not very different from an electromagnet.

Inductors
12:12

Describes the induced emf produced by the inductor due to which the inductor is a very important component in power electronic circuits.

Induced EMF produced by inductors
16:43

Describes a few mathematical equations related to inductors.

Inductors - Laws and formulae
08:12

Describes the construction and principle of operation of a capacitor.

Capacitors
07:18

Describes some of the mathematical equations related to a capacitor.

Capacitors - Laws and formulae
10:17

Describes how inductors and capacitors play opposing and complementary roles in power electronic circuits.

Comparing inductors and capacitors
09:04
Conclusions
03:23
+ Basic nonlinear circuits
18 lectures 02:46:22
Introduction
01:45

Describes the construction and principle of operation of a diode.

Diodes
13:24

Describes how a test circuit will be used to demonstrate the working of a diode.

Test circuit to examine the working of a diode
09:35

Describes using a simulation how the parameters of the diode can be edited.

Parameters of a diode
07:45

Describes using a simulation how the diode behaves when it is forward biased.

When the diode is forward biased
11:10

Describes using a simulation how the diode behaves when it is reverse biased.

When the diode is reverse biased
06:29

Describes the operation of the diode when an AC voltage is applied across it.

When an AC voltage is applied across the diode
10:11

A theory lecture to describe the concept of rectification - conversion of AC voltage to DC voltage.

Concept of rectification
06:02

Describes how a new simulation is setup for the rectifier.

Setting up the rectifier simulation
08:45

Describes the basic working of the rectifier through simulation results.

Simulating the basic rectifier
07:41

An in-depth analysis of the operation of the rectifier using simulation results.

Analysis of the basic rectifier and the need for energy storage
04:22

Describes how a capacitor can be added to the rectifier to improve the output.

Adding a capacitor to the output
07:49

Describing the impact of the capacitor through simulation results.

Change in the operation of the rectifier with a capacitor at the output
09:24

An in-depth analysis of the impact of the capacitor with simulation results.

Analyzing the effect of addition of the capacitor
17:07

Describes how a large capacitance impacts the performance of the rectifier.

Increasing the value of the capacitance and analyzing the result
09:15

Describes through simulation results and theory how an inductor is needed in the rectifier.

The need for an inductor as a current limiter and energy buffer
10:19

Describes through simulations how the inductor in combination with the capacitor produces a rectifier that meets basic expectations.

Adding the inductor and analyzing the results
20:12
Conclusions
05:07
+ Tutorial on Python programming
12 lectures 02:58:02
Overview
02:20

Describes how to use the Jupyter notebook.

Launching the interactive Jupyter notebook
07:32
Integer data types
13:55
Float data types
07:57
String data types
19:28
List data types
14:16
Dictionary data types
18:14
Iterable objects
17:05
In-built functions available in Python
17:03
User defined functions
10:25
Conditionals
15:49

A programming challenge to test your Python skills.

Programming challenge
33:58
+ Writing control functions in Python Power Electronics
14 lectures 02:23:10
Introduction
02:32

Describes how a control function is evaluated by Python Power Electronics as a part of the simulation.

How a control function is evaluated by the simulator
13:49

Describes how the control communicates with the rest of the circuit.

IO ports of a controller
04:25

Describes how input variables allow a control function to receive inputs from meters in the circuit.

Inputs to a control function
17:00

Describes how basic computations can be performed using Python code based on the inputs from the circuit.

Basic computation with inputs
08:23

Describes how time events can be configured to achieve digital control.

Time event variables to achieve digital control
13:41

Describes the concept of digital control as is normally implemented in hardware through a DSP or FPGA.

Common timing problems
07:41

Describes how local variables in the control code are inadequate for certain advanced computations.

Need for internal variables with memory
14:03

Describes how special variables can be used for performing mathematical operations such as integration.

Static variables
12:32

Introduces controllable components through a controlled voltage source.

Controllable voltage source - a component that can be regulated through control
08:08

Describes how output variables link control functions with controllable components.

Output variables
09:26

Describes the use of variable resistors and variable inductors.

Variable resistors and variable inductors
13:02

Describes a few commonly occurring errors while writing control functions and how to debug them.

Commonly occuring errors with control code
14:01
Conclusion
04:27
+ Simulating a buck converter
18 lectures 03:36:05
Introduction
02:55

Describes how jump labels act as connectors joining together different parts of a circuit.

Jumpers or connectors in circuits
16:17

Describes the ideal switch which will play the role of devices such as IGBTs and MOSFETs.

The ideal switch component
06:43

A basic test circuit to examine the operation of the ideal switch.

Test circuit to examine the ideal switch operation
18:10

A theory lecture describing the buck converter circuit and operation.

Converter topology
15:20

Describes how the buck converter is represented using a spreadsheet.

Drawing the converter in a spreadsheet
12:22

Editing the parameters of the buck converter in the simulation.

Editing the parameters of the converter
12:35

Describes the concept of Pulse Width Modulation in controlling the conduction of the ideal switch.

Generating gate pulses through Pulse Width Modulation
19:05

Describes the carrier waveform that is used to fix the frequency of operation of the ideal switch.

Generating the carrier waveform through control code
13:44

Describes using simulation how the carrier waveform can be generated in control code.

Analyzing and debugging the carrier waveform
06:38

Describes how to generate the gate pulses using Pulse Width Modulation in the control function.

Programming the Pulse Width Modulation strategy through control code
08:38
Connecting the gate signal to the switch
09:51

A basic analysis of the simulation results by plotting waveforms.

Analyzing the performance of the converter
23:18

Describing the objective of voltage regulation and how that is done with control code.

Getting started with output voltage control
12:36

Describes how a proportional integral controller is used to achieve output voltage regulation.

Coding the Proportional Integral controller
17:27

Describes the performance of the controller and shows how a controller can be tuned to improve control performance and achieve better control.

Tuning the controller
09:40

Describes how the buck converter can be simulated step-by-step adding one component after the other.

Tear down approach to studying this circuit
06:58
Conclusion
03:48