{
  "node": {
    "id": "term:cell-balancing",
    "type": "Term",
    "label": "Cell balancing",
    "properties": {
      "id": "cell-balancing",
      "name": "Cell balancing",
      "section": "topic-state",
      "definition": "Equalising the state of charge of cells in series, since the pack is limited by its emptiest cell on discharge and its fullest on charge. Passive balancing bleeds charge from high cells through resistors; active balancing moves it between cells.",
      "related": [
        "bms",
        "series-parallel",
        "state-of-charge",
        "cell-to-cell-variation"
      ],
      "example": {
        "title": "Pack average versus cell limits",
        "text": "Average pack SOC can look acceptable while one series cell reaches its voltage limit. One aggregate SOC state does not demonstrate cell balancing."
      },
      "url": "https://lemonergy.com/learn/glossary/cell-balancing/",
      "mentions": [
        "active-balancing"
      ]
    }
  },
  "edges": [
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-passive-balancer",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-passive-balancer",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-cell-delta-soc-ekf",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-cell-delta-soc-ekf",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-cell-delta-soc-ekf-variable-resistance",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-cell-delta-soc-ekf-variable-resistance",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-parallel-group",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-parallel-group",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-module",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-module",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-module-assembly",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-module-assembly",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-battery-pack-assembly",
      "source": "term:cell-balancing",
      "target": "workflow:native-battery-pack-assembly",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-passive-supervision-interface",
      "source": "term:cell-balancing",
      "target": "workflow:native-passive-supervision-interface",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-active-supervision-interface",
      "source": "term:cell-balancing",
      "target": "workflow:native-active-supervision-interface",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:usedIn/term:cell-balancing/workflow:native-balancing-interface",
      "source": "term:cell-balancing",
      "target": "workflow:native-balancing-interface",
      "type": "usedIn",
      "properties": {
        "sourceFile": "wiki-blocks.json"
      }
    },
    {
      "id": "edge:belongsTo/term:cell-balancing/topic:topic-state",
      "source": "term:cell-balancing",
      "target": "topic:topic-state",
      "type": "belongsTo",
      "properties": {
        "sourceFile": "terms.json"
      }
    },
    {
      "id": "edge:relatedTo/term:cell-balancing/term:bms",
      "source": "term:cell-balancing",
      "target": "term:bms",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:cell-balancing/term:series-parallel",
      "source": "term:cell-balancing",
      "target": "term:series-parallel",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:cell-balancing/term:state-of-charge",
      "source": "term:cell-balancing",
      "target": "term:state-of-charge",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:relatedTo/term:cell-balancing/term:cell-to-cell-variation",
      "source": "term:cell-balancing",
      "target": "term:cell-to-cell-variation",
      "type": "relatedTo",
      "properties": {
        "sourceFile": "terms.json",
        "meaning": "Related context; not a causal claim"
      }
    },
    {
      "id": "edge:mentions/cell-balancing/active-balancing",
      "source": "term:cell-balancing",
      "target": "term:active-balancing",
      "type": "mentions",
      "properties": {
        "sourceFile": "terms.json",
        "method": "build_glossary.mention_index + mentions",
        "field": "definition",
        "meaning": "Text mention; not a causal claim"
      }
    },
    {
      "id": "edge:illustratedBy/term:cell-balancing/visual:balancing",
      "source": "term:cell-balancing",
      "target": "visual:balancing",
      "type": "illustratedBy",
      "properties": {
        "sourceFile": "visual-pages.json"
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:native-battery-passive-balancer",
      "type": "Workflow",
      "label": "Passive cell balancer worked example",
      "properties": {
        "id": "native-battery-passive-balancer",
        "title": "Passive cell balancer worked example",
        "kind": "studio",
        "summary": "Hysteresis selects high cells and reports bleed current and resistor heat.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Cell voltages = [3.95, 4, 3.96] V, Enable = 1 true / false. At 0 s, Bleed switches is [0, 1, 0] true / false. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Connect the request to a physical balancing interface to load a conserving network. The synthetic resistor is not a hardware rating. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-passive-balancer",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-cell-delta-soc-ekf",
      "type": "Workflow",
      "label": "Cell-delta SOC EKF worked example",
      "properties": {
        "id": "native-battery-cell-delta-soc-ekf",
        "title": "Cell-delta SOC EKF worked example",
        "kind": "studio",
        "summary": "Estimates deviation from a supplied average. Average-error variance enters voltage uncertainty under an explicit independent-error assumption.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Series current = 1 A, Measured cell voltage = 3.73 V, Average SOC = 0.8 1 (fraction), Average SOC variance = 0 1, Aligned measurements valid = 1 true / false, Reset = 0 true / false. At 0 s, SOC deviation from average is -0.01 1. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "One-state extended Kalman observers, without an unscented transform, RC polarization states or automatic cell identification. SOE requires its own energy-fraction-to-OCV calibration. Synthetic filter settings are not accuracy guarantees. No jointly estimated correlated covariance between the average and the cell deviation. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-cell-delta-soc-ekf",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-cell-delta-soc-ekf-variable-resistance",
      "type": "Workflow",
      "label": "Cell-delta SOC EKF with resistance input worked example",
      "properties": {
        "id": "native-battery-cell-delta-soc-ekf-variable-resistance",
        "title": "Cell-delta SOC EKF with resistance input worked example",
        "kind": "studio",
        "summary": "Estimates deviation from a supplied average. Average-error variance enters voltage uncertainty under an explicit independent-error assumption.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Series current = 1 A, Measured cell voltage = 3.73 V, Average SOC = 0.8 1 (fraction), Average SOC variance = 0 1, Aligned measurements valid = 1 true / false, Reset = 0 true / false, Cell resistance (ohm) = 0.05 1. At 0 s, SOC deviation from average is -0.01 1. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "One-state extended Kalman observers, without an unscented transform, RC polarization states or automatic cell identification. SOE requires its own energy-fraction-to-OCV calibration. Synthetic filter settings are not accuracy guarantees. No jointly estimated correlated covariance between the average and the cell deviation. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-cell-delta-soc-ekf-variable-resistance",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-parallel-group",
      "type": "Workflow",
      "label": "Parallel cell group worked example",
      "properties": {
        "id": "native-battery-parallel-group",
        "title": "Parallel cell group worked example",
        "kind": "studio",
        "summary": "Generated series/parallel cell hierarchy with individual SOC, RC and temperature states, KCL current sharing and optional thermal links. Causal pack-current boundary.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Signed pack current = 4 A, Cell ambient temperatures = [298.15, 298.15] K, External cell heat inputs = [0, 0] W. At 0 s, Pack terminal voltage is 3.66 V. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Bounded to 256 cells with the supported series/parallel construction. External pack current is imposed causally; no arbitrary geometry, conserving terminal adapter or topology reconfiguration. Each cell parameter set still needs characterization. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-parallel-group",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-module",
      "type": "Workflow",
      "label": "Battery module worked example",
      "properties": {
        "id": "native-battery-module",
        "title": "Battery module worked example",
        "kind": "studio",
        "summary": "Generated series/parallel cell hierarchy with individual SOC, RC and temperature states, KCL current sharing and optional thermal links. Causal pack-current boundary.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Signed pack current = 6 A, Cell ambient temperatures = [298.15, 298.15, 298.15, 298.15, 298.15, 298.15] K, External cell heat inputs = [0, 0, 0, 0, 0, 0] W. At 0 s, Pack terminal voltage is 10.92 V. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Bounded to 256 cells with the supported series/parallel construction. External pack current is imposed causally; no arbitrary geometry, conserving terminal adapter or topology reconfiguration. Each cell parameter set still needs characterization. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-module",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-module-assembly",
      "type": "Workflow",
      "label": "Module assembly worked example",
      "properties": {
        "id": "native-battery-module-assembly",
        "title": "Module assembly worked example",
        "kind": "studio",
        "summary": "Generated series/parallel cell hierarchy with individual SOC, RC and temperature states, KCL current sharing and optional thermal links. Causal pack-current boundary.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Signed pack current = 6 A, Cell ambient temperatures = 12 channels each 298.15 K, External cell heat inputs = 12 channels each 0 W. At 0 s, Pack terminal voltage is 21.84 V. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Bounded to 256 cells with the supported series/parallel construction. External pack current is imposed causally; no arbitrary geometry, conserving terminal adapter or topology reconfiguration. Each cell parameter set still needs characterization. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-module-assembly",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-battery-pack-assembly",
      "type": "Workflow",
      "label": "Battery pack assembly worked example",
      "properties": {
        "id": "native-battery-pack-assembly",
        "title": "Battery pack assembly worked example",
        "kind": "studio",
        "summary": "Generated series/parallel cell hierarchy with individual SOC, RC and temperature states, KCL current sharing and optional thermal links. Causal pack-current boundary.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "Use the defaults below with Signed pack current = 12 A, Cell ambient temperatures = 24 channels each 298.15 K, External cell heat inputs = 24 channels each 0 W. At 0 s, Pack terminal voltage is 21.84 V. Additional checks are listed below.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Bounded to 256 cells with the supported series/parallel construction. External pack current is imposed causally; no arbitrary geometry, conserving terminal adapter or topology reconfiguration. Each cell parameter set still needs characterization. The example verifies numerical behavior for synthetic parameters. Cell characterization and validation for an intended use are separate tasks.",
        "url": "https://design.lemonergy.com/cosim.html?example=block-battery-pack-assembly",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-passive-supervision-interface",
      "type": "Workflow",
      "label": "Passive cell supervision interface worked example",
      "properties": {
        "id": "native-passive-supervision-interface",
        "title": "Passive cell supervision interface worked example",
        "kind": "studio",
        "summary": "Commanded cell current sink and terminal measurements; an abstract simulated interface, no hardware I/O driver.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "The bundled model draws 0.2 A from a 4 V cell with 0.1 Ω resistance. Terminal voltage is 3.98 V and interface power is 0.796 W. For its 1 Ah cell, SOC decreases by 0.2/3600 after one second.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "This is a simulated electrical interface without a target-hardware driver. SOC and temperature pass-throughs, diagnostic mode flags and hardware-specific communication are outside this interface.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-passive-supervision-interface",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-active-supervision-interface",
      "type": "Workflow",
      "label": "Active cell supervision interface worked example",
      "properties": {
        "id": "native-active-supervision-interface",
        "title": "Active cell supervision interface worked example",
        "kind": "studio",
        "summary": "Discharge current sink below charging command; finite-resistance charging above terminal voltage; no detailed switching converter or hardware I/O.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "A 4 V cell with 0.1 Ω internal resistance is connected to a 4.2 V charge command through the interface’s 0.1 Ω charging resistance. Solving both resistances gives -1 A interface current and 4.1 V terminal voltage. The negative current charges the cell.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "This is a simulated electrical interface without a target-hardware driver. SOC and temperature pass-throughs, diagnostic mode flags and hardware-specific communication are outside this interface.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-active-supervision-interface",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "workflow:native-balancing-interface",
      "type": "Workflow",
      "label": "Multi-cell balancing interface worked example",
      "properties": {
        "id": "native-balancing-interface",
        "title": "Multi-cell balancing interface worked example",
        "kind": "studio",
        "summary": "One to eight independently commanded current-sink circuits with per-cell voltage, current and power; no hardware I/O.",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "The bundled two-cell model commands 0.1 A from circuit 1 and zero from circuit 2. The first cell has 4 V OCV and 0.1 Ω resistance, giving 3.99 V under bleed. The second 3.7 V cell remains unloaded.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "This is a simulated electrical interface without a target-hardware driver. SOC and temperature pass-throughs, diagnostic mode flags and hardware-specific communication are outside this interface. One to eight independently commanded circuits per instance. The default contract shows one circuit; the worked example configures two.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-balancing-interface",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "topic:topic-state",
      "type": "Topic",
      "label": "State estimation",
      "properties": {
        "id": "topic-state",
        "name": "State estimation",
        "lede": "The quantities a battery management system estimates but cannot measure directly.",
        "context": "Distinguish internal states from noisy measurement estimates.",
        "example": "Current-sensor bias accumulates in coulomb counting. Exact model SOC does not establish real estimator accuracy.",
        "lesson_url": "https://lemonergy.com/learn/fundamentals/capacity-and-c-rate/",
        "lesson_label": "Open charge balance"
      }
    },
    {
      "id": "term:bms",
      "type": "Term",
      "label": "Battery management system",
      "properties": {
        "id": "bms",
        "name": "Battery management system",
        "abbr": "BMS",
        "section": "topic-pack",
        "definition": "The electronics and software that keep a battery inside its safe window: measuring every cell voltage and many temperatures, estimating SOC and SOH, balancing cells, computing current limits, controlling the contactors and reporting over the vehicle network.",
        "related": [
          "state-of-charge",
          "cell-balancing",
          "state-of-power",
          "cell-supervision-circuit",
          "contactor",
          "can-bus"
        ],
        "lesson": "fundamentals/battery-basics/#cell-module-pack",
        "url": "https://lemonergy.com/learn/glossary/bms/",
        "mentions": [
          "state-of-health",
          "cell-voltage"
        ]
      }
    },
    {
      "id": "term:series-parallel",
      "type": "Term",
      "label": "Series and parallel connection",
      "properties": {
        "id": "series-parallel",
        "name": "Series and parallel connection",
        "aka": [
          "xSyP"
        ],
        "section": "topic-pack",
        "definition": "Cells in series add their voltages; cells in parallel add their capacities and share current. A pack is described as, for example, 96s4p: 96 groups in series, each of 4 cells in parallel. Series strings need balancing; parallel groups self-balance through their shared terminals.",
        "formula": "V = n_s·V_cell, Q = n_p·Q_cell",
        "related": [
          "module",
          "cell-balancing",
          "pack-voltage",
          "volt",
          "fuse"
        ],
        "lesson": "fundamentals/battery-basics/#cell-module-pack",
        "example": {
          "title": "Assemble an ideal 4s2p pack",
          "text": "Eight identical 3.6 V, 5 Ah cells arranged as four series groups with two cells in parallel give 14.4 V nominal, 10 Ah and 144 Wh. Interconnect losses, cell variation and usable voltage limits are additional constraints."
        },
        "url": "https://lemonergy.com/learn/glossary/series-parallel/",
        "mentions": []
      }
    },
    {
      "id": "term:state-of-charge",
      "type": "Term",
      "label": "State of charge",
      "properties": {
        "id": "state-of-charge",
        "name": "State of charge",
        "abbr": "SOC",
        "section": "topic-state",
        "definition": "How full a cell is, as a fraction of its available capacity. State of charge, like temperature, affects how fast a stored cell ages.",
        "unit": "%",
        "related": [
          "depth-of-discharge",
          "ocv-soc-curve",
          "coulomb-counting",
          "state-of-health",
          "bms"
        ],
        "lesson": "fundamentals/battery-aging/#storage-soc",
        "example": {
          "title": "Interpret a charge inventory",
          "text": "If available capacity is 5 Ah and 3 Ah remains by the chosen estimator, SOC is 60%. A different estimate of available capacity changes this percentage, so compare SOC values only with the capacity convention recorded."
        },
        "url": "https://lemonergy.com/learn/glossary/state-of-charge/",
        "mentions": [
          "usable-capacity"
        ]
      }
    },
    {
      "id": "term:cell-to-cell-variation",
      "type": "Term",
      "label": "Cell-to-cell variation",
      "properties": {
        "id": "cell-to-cell-variation",
        "name": "Cell-to-cell variation",
        "section": "topic-state",
        "definition": "The spread in capacity, resistance and self-discharge between nominally identical cells, from manufacturing and from unequal temperatures in service. It is why packs need balancing and why grading matches cells before assembly.",
        "related": [
          "cell-balancing",
          "grading",
          "end-of-line-testing",
          "thermal-management"
        ],
        "url": "https://lemonergy.com/learn/glossary/cell-to-cell-variation/",
        "mentions": [
          "self-discharge"
        ]
      }
    },
    {
      "id": "term:active-balancing",
      "type": "Term",
      "label": "Active balancing",
      "properties": {
        "id": "active-balancing",
        "name": "Active balancing",
        "aka": [
          "capacitive balancing",
          "inductive balancing",
          "switched-capacitor balancing",
          "converter-based balancing",
          "cell bypass"
        ],
        "section": "topic-pack",
        "definition": "Cell balancing that moves charge from fuller cells to emptier ones instead of burning it in resistors. Switched capacitors shuttle charge between neighbours; inductors or transformers carry it further; isolated converters exchange it between one cell and the whole string; bypass switches take a cell out of the string. Currents reach amperes, at the cost of more parts.",
        "related": [
          "cell-balancing",
          "buck-boost-converter",
          "bms",
          "cell-to-cell-variation",
          "mosfet"
        ],
        "url": "https://lemonergy.com/learn/glossary/active-balancing/",
        "mentions": []
      }
    },
    {
      "id": "visual:balancing",
      "type": "Visual",
      "label": "The limiting cell matters",
      "properties": {
        "title": "The limiting cell matters",
        "summary": "A pack average can hide a cell that reaches its voltage limit first.",
        "readout": "Average: 3.93 V. Highest cell: 4.02 V. The highest cell can reach the charge limit first.",
        "formula": "V_max = max(V₁, V₂, …); V_average = ΣV_i / N",
        "note": "The 4.2 V ceiling is an example, not universal. Voltage alone does not uniquely determine SOC.",
        "software": {
          "status": "reference",
          "label": "Reference concept",
          "body": "Cell supervision uses individual voltages. The native Studio battery is an aggregate model; this chart does not claim it simulates cell balancing.",
          "href": "https://design.lemonergy.com/cosim.html?example=charging-home"
        },
        "html": "<figure class=\"visual-figure\"><figcaption>Four cells before balancing</figcaption><svg class=\"visual-chart\" viewBox=\"0 0 360 330\" role=\"img\" aria-labelledby=\"static-balancing-0-title static-balancing-0-desc\"><title id=\"static-balancing-0-title\">Four cells before balancing</title><desc id=\"static-balancing-0-desc\">Cell number versus Cell voltage (V). Individual voltages; Average; Example ceiling. Interpretation follows the graphs.</desc><path d=\"M74,238h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"242\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">3.7</text><text x=\"74\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">1</text><path d=\"M74,188.5h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"192.5\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">3.85</text><text x=\"141\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">1.75</text><path d=\"M74,139h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"143\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">4</text><text x=\"208\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">2.5</text><path d=\"M74,89.49999999999986h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"93.49999999999986\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">4.15</text><text x=\"275\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">3.25</text><path d=\"M74,40h268\" stroke=\"currentColor\" opacity=\".13\"/><text x=\"64\" y=\"44\" text-anchor=\"end\" font-size=\"13\" fill=\"currentColor\">4.3</text><text x=\"342\" y=\"265\" text-anchor=\"middle\" font-size=\"13\" fill=\"currentColor\">4</text><path d=\"M74,40v198h268\" fill=\"none\" stroke=\"currentColor\" opacity=\".3\"/><polyline fill=\"none\" stroke=\"#6953a8\" stroke-width=\"2.8\" points=\"74.00,172.00 163.33,158.80 252.67,185.20 342.00,132.40\"/><polyline fill=\"none\" stroke=\"#2459a8\" stroke-width=\"2.8\" stroke-dasharray=\"7 4\" points=\"74.00,162.10 342.00,162.10\"/><polyline fill=\"none\" stroke=\"#a45b2b\" stroke-width=\"2.8\" points=\"74.00,73.00 342.00,73.00\"/><text transform=\"translate(208 303)\" text-anchor=\"middle\" font-size=\"14\" fill=\"currentColor\"><tspan x=\"0\" dy=\"0\">Cell number</tspan></text><text transform=\"translate(20 139) rotate(-90)\" text-anchor=\"middle\" font-size=\"14\" fill=\"currentColor\"><tspan x=\"0\" dy=\"0\">Cell voltage (V)</tspan></text></svg><div class=\"visual-legend\"><span><i style=\"background:#6953a8\"></i>Individual voltages</span><span><i style=\"background:#2459a8\"></i>Average (dashed)</span><span><i style=\"background:#a45b2b\"></i>Example ceiling</span></div></figure>"
      }
    }
  ]
}
