Loading the teaching model. This standalone file uses Vue, Tailwind, and Font Awesome from public CDNs; if those libraries are blocked or offline, the interactive interface cannot start.

Battery Pack Configuration Lab v2.0 Sim

Series/parallel battery arithmetic & mismatch teaching model

Educational scope: this app demonstrates idealized series/parallel arithmetic and simplified mismatch examples. Chemistry profiles and current figures are illustrative assumptions, not cell ratings, pack-design limits, charger settings, or construction instructions.

Pack Parameters Setup

Series Cells ({{ series }}S) Increases Voltage

Stacking {{ series }} cells in series for voltage.

Parallel Strings ({{ parallel }}P) Increases Capacity (Ah)

Combining {{ parallel }} cells in parallel per series group.

Nominal Voltage: {{ currentCell.vNom }} V
Cell Capacity: {{ currentCell.ah }} Ah
Example Upper Bound: {{ currentCell.vMax }} V
Example Lower Bound: {{ currentCell.vMin }} V
Example Current Assumption: {{ (currentCell.maxC * currentCell.ah).toFixed(1) }} A ({{ currentCell.maxC }}C)
Nominal V×Ah: {{ (currentCell.vNom * currentCell.ah).toFixed(1) }} Wh

*Current assumptions are illustrative only. Real allowable current depends on the exact cell datasheet, temperature, state of charge, aging, interconnects, protection and thermal design.

Theoretical Pack Characteristics Total Cells: {{ totalCellCount }}

Nominal Voltage

{{ packNominalVoltage.toFixed(1) }} V

{{ series }} × {{ currentCell.vNom }}V

Pack Capacity

{{ packCapacity.toFixed(1) }} Ah

{{ parallel }} × {{ currentCell.ah }}Ah

Nominal Energy Estimate

{{ packEnergyWh.toFixed(0) }} Wh

{{ packNominalVoltage.toFixed(1) }}V × {{ packCapacity.toFixed(1) }}Ah

Illustrative Current Sum*

{{ maxContinuousCurrent.toFixed(0) }} A

Ideal equal sharing: {{ parallel }} × {{ (currentCell.maxC * currentCell.ah).toFixed(0) }}A

Example lower: {{ packMinVoltage.toFixed(1) }}V Nominal: {{ packNominalVoltage.toFixed(1) }}V Example upper: {{ packMaxVoltage.toFixed(1) }}V

Illustrative profile span only ({{ packMinVoltage.toFixed(1) }}V to {{ packMaxVoltage.toFixed(1) }}V); use the exact manufacturer documentation for real cells.

1. Series Voltage Formula:
V_pack = S × V_cell = {{ series }} × {{ currentCell.vNom }}V = {{ packNominalVoltage.toFixed(2) }} V
Connecting {{ series }} cells in series stacks electric potential.
2. Parallel Capacity Formula:
Cap_pack = P × Cap_cell = {{ parallel }} × {{ currentCell.ah }}Ah = {{ packCapacity.toFixed(2) }} Ah
Connecting {{ parallel }} cells in parallel combines charge capacity reservoirs.
3. Stored Energy (Watt-Hours) Formula:
Energy = V_pack × Cap_pack = {{ packNominalVoltage.toFixed(1) }}V × {{ packCapacity.toFixed(1) }}Ah = {{ packEnergyWh.toFixed(1) }} Wh
Alternatively: Total Cells ({{ totalCellCount }}) × Cell Energy ({{ (currentCell.vNom * currentCell.ah).toFixed(1) }} Wh) = {{ packEnergyWh.toFixed(1) }} Wh.

Interactive Visual Cell Matrix Diagram

Click two numbered nodes (0 through S) to compare idealized nominal potential differences.

Voltmeter Probe Status:
Measured Potential: {{ voltmeterReading.toFixed(2) }} V Click any 2 node probe buttons on the diagram below to measure voltage difference.
- PACK (-) · NODE 0 + PACK (+) Group {{ sIdx }} {{ (sIdx * currentCell.vNom).toFixed(1) }}V Node {{ sIdx }} {{ currentCell.vNom }}V {{ currentCell.ah }}Ah
Positive Busbar (+) Negative Busbar (-) Series Inter-Module Jumper Voltmeter Tap Node

Reverse Pack Engineering Challenge

Select the correct series and parallel matrix to fulfill application requirements.

Score

{{ challengeScore }}

Streak

{{ challengeStreak }}🔥

Mission #{{ currentChallengeIndex + 1 }} of {{ challenges.length }} Difficulty: {{ activeChallenge.difficulty }}

{{ activeChallenge.title }}

{{ activeChallenge.description }}

Available Cell Specs

{{ activeChallenge.cellNom }}V / {{ activeChallenge.cellAh }}Ah

Chemistry: {{ activeChallenge.chemistryName }}

Target Pack Specifications

Target Voltage: {{ activeChallenge.targetV }} V Target Capacity: {{ activeChallenge.targetAh }} Ah

Target Energy: {{ (activeChallenge.targetV * activeChallenge.targetAh).toFixed(0) }} Wh

Set the S/P Arithmetic:

Series Count (S): {{ userS }}S

Calculated V: {{ (userS * activeChallenge.cellNom).toFixed(1) }} V

Parallel Count (P): {{ userP }}P

Calculated Capacity: {{ (userP * activeChallenge.cellAh).toFixed(1) }} Ah

Worksheet Result: {{ userS }}S{{ userP }}P ({{ userS * userP }} Cells Total)

Voltage Match: {{ (userS * activeChallenge.cellNom).toFixed(1) }}V / {{ activeChallenge.targetV }}V | Capacity Match: {{ (userP * activeChallenge.cellAh).toFixed(1) }}Ah / {{ activeChallenge.targetAh }}Ah

Hint: {{ activeChallenge.hint }}
{{ challengeFeedback.title }}

{{ challengeFeedback.message }}

Cell Mismatch & Protection Concepts

Explore why combining mismatched cell capacities or initial state-of-charge voltages creates severe hazards.

Discharge Simulation (4S String)

Cells 1, 2, and 4 are healthy 3.0 Ah cells.
Cell 3 is a degraded/mismatched 1.5 Ah cell.

Total Drawn Charge (Ah): {{ dischargeDrawn.toFixed(2) }} Ah

Idealized Low-Voltage Cutoff

Example teaching threshold: 2.80 V

Cutoff Model: {{ bmsTripped ? 'THRESHOLD REACHED' : 'MODEL RUNNING' }}

This teaching model clamps Cell 3 at the example 2.80V threshold. Real protection behavior and limits are cell- and system-specific.

Model warning: Cell 3 has moved below this example profile boundary. Do not interpret the displayed voltage as a universal safe/unsafe cutoff.

4S Series Cell Voltages

Cell 1 (3.0Ah)

{{ cell1Voltage.toFixed(2) }} V

Cell 2 (3.0Ah)

{{ cell2Voltage.toFixed(2) }} V

Cell 3 (1.5Ah ⚠️)

{{ cell3Voltage.toFixed(2) }} V

Cell 4 (3.0Ah)

{{ cell4Voltage.toFixed(2) }} V

Series String Bottleneck Concept

Because the same string current passes through every series cell, the lower-capacity example cell reaches its modeled lower boundary earlier. This simplified linear voltage model does not predict electrochemical failure, reversal, temperature, or a real protection trip point.

Simplified Parallel Equalization Estimate

Initial Equalization-Current Estimate:

I_inrush = ΔV / (2 × R_int) = {{ Math.abs(parallelV1 - parallelV2).toFixed(2) }}V / {{ (internalR * 2).toFixed(3) }}Ω = {{ inrushCurrent.toFixed(1) }} A

Simplified Thévenin Equalization Model

With the entered voltage difference and equal per-cell internal resistance, the idealized initial current estimate is {{ inrushCurrent.toFixed(1) }} A. Real current is limited by dynamic cell impedance, interconnect resistance, temperature, state of charge, protection and other effects not modeled here.

Instantaneous internal I²R estimate (simplified):

{{ (inrushCurrent * inrushCurrent * (internalR * 2)).toFixed(1) }} W across the two entered internal resistances

Safety Scope: No Universal Voltage-Mismatch Threshold

Do not use a universal millivolt rule from this app. Acceptable matching, assembly and protection requirements must come from the exact cell/pack manufacturer documentation, applicable standards and qualified engineering procedures.

Electrochemical Curriculum

Module {{ activeLessonIdx + 1 }}

{{ currentLesson.title }}

Common Misconception Buster

"{{ currentLesson.misconception.myth }}"

{{ currentLesson.misconception.fact }}

Interactive Knowledge Quiz

Test your understanding of series and parallel battery configuration rules.

Question {{ currentQuizIdx + 1 }} / {{ quizQuestions.length }}

{{ activeQuestion.text }}

Explanation:

{{ activeQuestion.explanation }}