
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.
Overview of this section.
This lecture describes what is the fundamental concept of a simulation.
Describes the usefulness of open source software.
Describes how and why Python Power Electronics was created.
A quick recap of what is required of a student registered for the course and how it will benefit.
Introduction to the installation section.
Introduces the Anaconda project and goes through their website.
This is a guide for installing Anaconda in Windows systems.
This is a guide for installing Anaconda in Linux systems. Mac OS should be fairly similar.
Describes the need for virtual environments and their usefulness in maintaining a project.
Describes the commands needed to setup and manage an environment in Anaconda in a Windows system.
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.
A theory lecture that describes the dependencies for Python Power Electronics.
Describes how to download Python Power Electronics and set it up in Anaconda for a Windows system.
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.
Describes how to download Python Power Electronics and set it up in Anaconda for a Linux/Mac system.
Describes how to launch Python Power Electronics after it has been installed in a Windows system.
Describes how to launch Python Power Electronics after it has been installed in a Linux/Mac system.
A brief lecture on editors and IDEs for Python programming.
Concluding the installation section.
Describing a simple resistive circuit that will be simulated in this section.
Describes how a circuit can be represented in a spreadsheet.
Describes some of the Dos and Don'ts while representing circuits using spreadsheets.
Describes the parameters of the circuit components.
Shows how to launch a new simulation with Python Power Electronics.
Describes how the spreadsheet with the circuit is added to the simulation.
Describes the parameters of the components appear in the simulation.
Describes how to edit the parameters of the components.
Describes how to run the simulation and generate plots with waveforms.
Describes how to back up the component parameters by exporting them to a .csv file.
Describes how electric circuits produce magnetic fields.
Describes how electromagnets are constructed.
Describes how an inductor is not very different from an electromagnet.
Describes the induced emf produced by the inductor due to which the inductor is a very important component in power electronic circuits.
Describes a few mathematical equations related to inductors.
Describes the construction and principle of operation of a capacitor.
Describes some of the mathematical equations related to a capacitor.
Describes how inductors and capacitors play opposing and complementary roles in power electronic circuits.
Describes the construction and principle of operation of a diode.
Describes how a test circuit will be used to demonstrate the working of a diode.
Describes using a simulation how the parameters of the diode can be edited.
Describes using a simulation how the diode behaves when it is forward biased.
Describes using a simulation how the diode behaves when it is reverse biased.
Describes the operation of the diode when an AC voltage is applied across it.
A theory lecture to describe the concept of rectification - conversion of AC voltage to DC voltage.
Describes how a new simulation is setup for the rectifier.
Describes the basic working of the rectifier through simulation results.
An in-depth analysis of the operation of the rectifier using simulation results.
Describes how a capacitor can be added to the rectifier to improve the output.
Describing the impact of the capacitor through simulation results.
An in-depth analysis of the impact of the capacitor with simulation results.
Describes how a large capacitance impacts the performance of the rectifier.
Describes through simulation results and theory how an inductor is needed in the rectifier.
Describes through simulations how the inductor in combination with the capacitor produces a rectifier that meets basic expectations.
Describes how to use the Jupyter notebook.
A programming challenge to test your Python skills.
Describes how a control function is evaluated by Python Power Electronics as a part of the simulation.
Describes how the control communicates with the rest of the circuit.
Describes how input variables allow a control function to receive inputs from meters in the circuit.
Describes how basic computations can be performed using Python code based on the inputs from the circuit.
Describes how time events can be configured to achieve digital control.
Describes the concept of digital control as is normally implemented in hardware through a DSP or FPGA.
Describes how local variables in the control code are inadequate for certain advanced computations.
Describes how special variables can be used for performing mathematical operations such as integration.
Introduces controllable components through a controlled voltage source.
Describes how output variables link control functions with controllable components.
Describes the use of variable resistors and variable inductors.
Describes a few commonly occurring errors while writing control functions and how to debug them.
Describes how jump labels act as connectors joining together different parts of a circuit.
Describes the ideal switch which will play the role of devices such as IGBTs and MOSFETs.
A basic test circuit to examine the operation of the ideal switch.
A theory lecture describing the buck converter circuit and operation.
Describes how the buck converter is represented using a spreadsheet.
Editing the parameters of the buck converter in the simulation.
Describes the concept of Pulse Width Modulation in controlling the conduction of the ideal switch.
Describes the carrier waveform that is used to fix the frequency of operation of the ideal switch.
Describes using simulation how the carrier waveform can be generated in control code.
Describes how to generate the gate pulses using Pulse Width Modulation in the control function.
A basic analysis of the simulation results by plotting waveforms.
Describing the objective of voltage regulation and how that is done with control code.
Describes how a proportional integral controller is used to achieve output voltage regulation.
Describes the performance of the controller and shows how a controller can be tuned to improve control performance and achieve better control.
Describes how the buck converter can be simulated step-by-step adding one component after the other.
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.