Simulating Power Electronic Circuits using Python
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
Instructor
I did my Master's and PhD in power electronics after which I spent several years working for both big companies like ABB and GE as well as a number of start-ups. I specialized in the field of power converter control and smart grids and have published prolifically in high impact international journals and conferences besides also being the author of two books.
I started programming at the age of 14 and over the past 20 years have programmed in several languages - C, C++, Python, JavaScript. I started taking a keen interest in open source software after I became a Linux user when I was a graduate student.
My expertise in electrical engineering and programming therefore resulted in me creating open source software for electrical engineers. I use open source software for teaching electrical engineering to students and practicing engineers with the typical theme of my courses being the application of programming to solve engineering problems.