Skip to content

GaetanoLongo/OpenPE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

OpenPE — Power Electronics Design Refresher ⚡

A growing set of interactive Jupyter notebooks for refreshing power electronics and power-converter design: the theory behind why things are done a certain way, paired with the design tools, tables, and live plots you actually reach for at the bench.

Binder


What this is (and isn't)

This is not a formal, complete course in power electronics, and it doesn't try to be. It's a personal set of refresher notes — the kind of thing you skim before starting a design, or revisit to remind yourself where a formula comes from and what assumptions hide behind it.

The aim is a blend of two things that usually live in separate books:

  • Sound theory — derivations worked through step by step, the underlying assumptions made explicit, and topics connected to each other rather than treated in isolation.
  • Practical design aids — interactive widgets, stress tables, FOM scorecards, and worked examples with numbers you can trace back to specs.

Think of it as a working reference, written to be honest about where the math is exact, where it's an approximation, and where it stops being reliable.

If a derivation rests on an assumption, the notes try to say so. If a model breaks down outside a certain regime, the notes try to flag it. The goal is intuition you can trust, not just equations to copy.

Who it's for

Someone with a minimum background in power electronics who wants to refresh and sharpen it — roughly a mid-experience electrical engineer preparing for or returning to converter design work. You don't need to be an expert, but you'll get the most out of it if switching converters, duty cycle, and basic AC circuit analysis aren't brand new to you.

How it's built

Each topic lives in a single Jupyter notebook that mixes Markdown narrative with live Python:

  • Markdown for theory, derivations, and commentary.
  • Python for plots, interactive design tools, and rendered formulas.

Interactive elements use ipywidgets (sliders, checkboxes, auto-updating outputs) with Plotly for plotting, SymPy for symbolic derivations, and SchemDraw for inline circuit diagrams. Notebooks are written for Jupyter Notebook classic.

Why Open?

The end goal would be to create an open source and cross-platform ecosystem where theory and widget exploration are done on a decent number of PE topics. Also implementing ngspice integration is a goal (e.g. parametrize SPICE models for topologies or specific topics) .. ... BUT, at the moment I'm relying on LTSpice for validation. Free, but not open (and not cross-platform).

Running it

The fastest way to try it out is Binder — click the badge above and a live environment will spin up in your browser, no install required:

Binder

To run locally instead:

git clone https://github.com/GaetanoLongo/OpenPE.git
cd OpenPE
pip install -r requirements.txt
jupyter notebook

⚠️ Note on interactivity: the widgets and live plots are designed for Jupyter Notebook classic. Static HTML exports are provided for reading/markup, but the interactive controls won't work there. Some hosted environments (e.g. plain Colab) don't fully support the widget patterns used here.

Table of Contents

Module Title Notebooks
0 Foundations & Energy Processing Mindset 4
1 Analytical Framework 7
2 Control Theory for Power Converters 6
3 Topology Analysis & Design 15
4 Magnetics Design 5
5 Semiconductor Devices & Gate Drive 6
6 Power Factor Correction 4
7 Thermal Management & Reliability 4
8 EMI & Parasitics 5
9 Simulation Literacy 4
A–E Reference Appendices 5
Module 0 — Foundations & Energy Processing Mindset
  • 00_00 Introduction — energy routing mindset, three canonical primitives, course map
  • 00_01 Volt-second & charge balance — M(D) for all three primitives, ripple equations
  • 00_02 CCM/DCM boundary — the K parameter, boundary conditions, DCM gain
  • 00_03 Ripple as a design variable — r trade-offs, L–C co-design, multiphase cancellation
Module 1 — Analytical Framework
  • 01_00 State-space averaging — derivation, validity limits, A/B matrices
  • 01_01 Small-signal models — Gvd, Gvg, Zout; physical origin of the RHP zero
  • 01_02 Circuit-averaged models — switch-network replacement, loss-free resistor
  • 01_03 Canonical PWM switch model — Vorpérian's three-terminal model
  • 01_04 Extra element theorem — null double injection, ESR zero
  • 01_05 Impedance & port analysis — Zin, Zout, Middlebrook criterion
  • 01_06 First harmonic approximation — why averaging fails for resonant; LLC gain via FHA
Module 2 — Control Theory for Power Converters
  • 02_00 Loop gain review — Bode, PM, GM
  • 02_01 Voltage-mode control — modulator gain, Type II & III compensators
  • 02_02 Current-mode control — subharmonic oscillation, slope compensation
  • 02_03 Systematic compensator design — K-factor method, bandwidth selection
  • 02_04 Digital control introduction — discretisation, computational delay, z-domain
  • 02_05 Cascaded systems & stability — source/load Z interactions
Module 3 — Topology Analysis & Design

Each topology follows a consistent template: operating principles → M(D) → stress analysis → worst-case stress table → small-signal model → design procedure → FOM scorecard → control aspects → interactive tool → worked example.

  • 03_00 Topology analysis method
  • 03_01 Synchronous buck
  • 03_02 Boost
  • 03_03 Buck-boost
  • 03_04 SEPIC
  • 03_05 Ćuk
  • 03_06 Zeta
  • 03_07 Flyback
  • 03_08 Forward converter
  • 03_09 Push-pull / half-bridge / full-bridge
  • 03_10 Phase-shifted full bridge
  • 03_11 LLC resonant
  • 03_12 CLLC bidirectional
  • 03_13 Dual active bridge
  • 03_14 Multilevel converters
Module 4 — Magnetics Design
  • 04_00 Magnetic circuit fundamentals — reluctance, MMF, gapped cores, B–H
  • 04_01 Core loss models — Steinmetz, iGSE, coefficient extraction
  • 04_02 Inductor design — area-product method, winding loss (Dowell)
  • 04_03 Transformer design — area product, leakage, interleaving
  • 04_04 Coupled inductors — mutual inductance, zero-ripple, integrated magnetics
Module 5 — Semiconductor Devices & Gate Drive
  • 05_00 MOSFET switching transients — gate charge model, switching loss
  • 05_01 IGBT characteristics — tail current, SCSOA, when to choose IGBT
  • 05_02 SiC MOSFETs — dV/dt, gate threshold sensitivity, driver requirements
  • 05_03 GaN HEMTs — lateral GaN, common-source inductance, no Qrr
  • 05_04 Gate drive design — isolated supply, negative bias, dV/dt management
  • 05_05 Bootstrap & isolated drivers — bootstrap limits, level shifting
Module 6 — Power Factor Correction
  • 06_00 PFC fundamentals — harmonic physics, THD, PF, displacement factor
  • 06_01 Boost PFC (CCM) — average current-mode control, zero-crossing distortion
  • 06_02 Totem-pole bridgeless PFC — GaN preference, loss reduction
  • 06_03 CrM/BCM PFC — variable frequency, ZVS at zero-crossing
Module 7 — Thermal Management & Reliability
  • 07_00 Thermal network fundamentals — Rth, Cth, transient Zth, Cauer vs Foster
  • 07_01 Junction temperature calculation — steady-state and pulsed Tj via Zth(t)
  • 07_02 Heatsink selection — convection, PCB copper as heatsink, TIM impact
  • 07_03 Derating & reliability — MTBF, electrolytic cap lifetime (Arrhenius)
Module 8 — EMI & Parasitics
  • 08_00 EMI fundamentals — CM vs DM, conducted vs radiated, LISN, CISPR 32
  • 08_01 Noise source modeling — switching node spectrum, parasitic C paths
  • 08_02 Filter design — DM filter, CM choke, filter-converter interaction
  • 08_03 Layout as circuit design — loop area, commutation inductance, return paths
  • 08_04 Snubber design — RC, RCD, active clamp
Module 9 — Simulation Literacy
  • 09_00 SPICE for power converters — time-step, convergence, ideal vs behavioural
  • 09_01 Averaged models in SPICE — Bode from AC sim vs switching sim
  • 09_02 Python as a simulation tool — scipy.signal, SymPy, scipy.integrate
  • 09_03 Validation strategies — red flags, averaged vs switching disagreement
Appendices
  • A Laplace & transfer functions
  • B Bode plot construction
  • C Component stress reference
  • D Design checklists
  • E Material & component reference

Status

This is a work in progress, built one notebook at a time. Modules and notebooks will appear gradually — the table above is the planned scope, not a snapshot of what's already finished. Check the notebook folders to see what's currently available.

A note on the notes

These are personal refresher notes shared in case they're useful to others. They aim to be careful and honest, but they're not peer-reviewed and they're not a substitute for the textbooks and application notes they draw on (which are cited inline where relevant). If you spot an error, corrections are welcome.

License

See the LICENSE file for details.

About

Small notes with interactive widgets for power electronics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors