Battery Pack Balancing and Power Estimation (Coursera)

Battery Pack Balancing and Power Estimation (Coursera)

In this course, you will learn how to design balancing systems and to compute remaining energy and available power for a battery pack. This course can also be taken for academic credit as ECEA 5734, part of CU Boulder’s Master of Science in Electrical Engineering degree.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of the course, you will be able to:

  • Evaluate different design choices for cell balancing and articulate their relative merits
  • Design component values for a simple passive balancing circuit
  • Use provided Octave/MATLAB simulation tools to evaluate how quickly a battery pack must be balanced
  • Compute remaining energy and available power using a simple cell model
  • Use provided Octave/MATLAB script to compute available power using a comprehensive equivalent-circuit cell model

What You Will Learn

  • How to design balancers and power-limits estimators for lithium-ion battery packs

Course 5 of 5 in theAlgorithms for Battery Management Systems Specialization.

Syllabus

WEEK 1
Passive balancing methods for battery packs
In previous courses, you learned how to write algorithms to satisfy the estimation requirements of a battery management system. Now, you will learn how to write algorithms for two primary control tasks: balancing and power-limits computations. This week, you will learn why battery packs naturally become unbalanced, some balancing strategies, and how passive circuits can be used to balance battery packs.

WEEK 2
Active balancing methods for battery packs
Passive balancing can be effective, but wastes energy. Active balancing methods attempt to conserve energy and have other advantages as well. This week, you will learn about active-balancing circuitry and methods, and will learn how to write Octave code to determine how quickly a battery pack can become out of balance. This is useful for determining the dominant factors leading to imbalance, and for estimating how quickly the pack must be balanced to maintain it in proper operational condition.

WEEK 3
How to find available battery power using a simplified cell model
This week, we begin by reviewing the HPPC power-limit method from course 1. Then, you will learn how to extend the method to satisfy limits on SOC, load power, and electronics current. You will learn how to implement the power-limits computation methods in Octave code, and will see results for a representative scenario.

WEEK 4
How to find available battery power using a comprehensive cell model
The HPPC method, even as extended last week, makes some simplifying assumptions that are not met in practice. This week, we explore a more accurate method that uses full state information from an xKF as its input, along with a full ESC cell model to find power limits. You will learn how to implement this method in Octave code and will compare its computations to those from the HPPC method you learned about last week.

WEEK 5
Future Battery-Management-System Algorithms
Present-day BMS algorithms primarily use equivalent-circuit models as a basis for estimating state-of-charge, state-of-health, power limits, and so forth. These models are not able to describe directly the physical processes internal to the cell. But, it is exactly these processes that are precursors to cell degradation and failure. This week quickly introduces some concepts that might motivate future BMS algorithms that use physics-based models instead.

WEEK 6
Capstone project
This capstone project explores the design of resistor value for a switched-resistor passive balancing system as well as enhancing a power-limits method based on the HPPC approach.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

算法基础 (Coursera) Coursera
Peking University

算法基础 (Coursera)

本课程内容程涵盖枚举、二分、贪心、递归、深度优先搜索、广度优先搜索、动态规划等基本算法。通过大量的高强度的编程训练,提高动手能力,做到能较为熟练、完整、准确地实现自己设计的程序,为进一步学习其他计算机专业课程,或在其他专业领域运用计算机编程解决问题奠定良好的基础。

Jun 15th 2026
5-12 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Jun 15th 2026
4 Weeks
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera) Coursera
Stanford University

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera)

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

Jun 15th 2026
4 Weeks
Data Privacy Fundamentals (Coursera) Coursera
Northeastern University

Data Privacy Fundamentals (Coursera)

This course is designed to introduce data privacy to a wide audience and help each participant see how data privacy has evolved as a compelling concern to public and private organizations as well as individuals. In this course, you will hear from legal and technical experts and practitioners who encounter data privacy issues daily.

Jun 17th 2026
3 Weeks
Introduction to Google SEO (Coursera) Coursera
University of California, Davis

Introduction to Google SEO (Coursera)

Ever wonder how major search engines such as Google, Bing and Yahoo rank your website within their searches? Or how content such as videos or local listings are shown and ranked based on what the search engine considers most relevant to users? Welcome to the world of Search Engine Optimization (SEO). This course is the first within the SEO Specialization and it is intended to give you a taste of SEO with some fun practices to get seen in Google.

Jun 15th 2026
4 Weeks
Programming Foundations with JavaScript, HTML and CSS (Coursera) Coursera
Duke University

Programming Foundations with JavaScript, HTML and CSS (Coursera)

Learn foundational programming concepts (e.g., functions, for loops, conditional statements) and how to solve problems like a programmer. In addition, learn basic web development as you build web pages using HTML, CSS, JavaScript. By the end of the course, will create a web page where others can upload their images and apply image filters that you create.

Jun 15th 2026
4 Weeks
Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Jun 15th 2026
5-12 Weeks
Mastering the Software Engineering Interview (Coursera) Coursera
University of California, San Diego

Mastering the Software Engineering Interview (Coursera)

You’ve hit a major milestone as a computer scientist and are becoming a capable programmer. You now know how to solve problems, write algorithms, and analyze solutions; and you have a wealth of tools (like data structures) at your disposal. You may now be ready for an internship or (possibly) an entry-level software engineering job. But can you land the internship/job? It depends in part on how well you can solve new technical problems and communicate during interviews. How can you get better at this? Practice!

Jun 15th 2026
4 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Jun 15th 2026
4 Weeks
Algorithmic Toolbox (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Algorithmic Toolbox (Coursera)

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Jun 15th 2026
5-12 Weeks