Skip to main content
emobility.academy
M.TechManufacturing & drawingsAdvanced About 8 weeksSolidWorks & Alias

Tolerance Stack-Up Analysis for a Battery Module Assembly

Analyse the tolerance stack-up of an example battery module (cells, holders, busbars, end plates) by hand worst-case and RSS, TolAnalyst on a DimXpert scheme and a Monte Carlo spreadsheet, then reallocate tolerances to meet busbar alignment and compression targets at lowest cost.

Tools: SOLIDWORKS · TolAnalyst

Tolerance Stack-Up Analysis for a Battery Module Assembly: EV components, motor and controller on a DIYguru lab workbench
Representative photo from DIYguru's EV lab, not of this specific project.

The problem

In a battery module, small variations in cell length, holder pitch and end-plate position add up. If the stack is too long, busbars do not reach the terminals or welds are stressed; too short and cells are under-compressed. Production teams need a quantified stack-up to set realistic tolerances before tooling is ordered, and to understand when worst-case design is too expensive.

Objectives

  • Define the functional gaps and alignments in an example module and the loops that control them.
  • Calculate each loop by worst case and RSS by hand, and by Monte Carlo in a spreadsheet.
  • Build a DimXpert scheme and run TolAnalyst studies on the same loops.
  • Compare methods and rank contributors by sensitivity.
  • Reallocate tolerances to meet targets and estimate the effect on yield.

What you need

Tools and toolboxes

  • SOLIDWORKS Assembly — Simplified module with cells, holders, end plates, straps and busbars mated by functional faces.
  • DimXpert — Tolerance schemes on each part with datums, size and geometric tolerances that TolAnalyst can read.
  • TolAnalyst — Worst-case and RSS stack-up studies with contributor ranking; it is included with SOLIDWORKS Premium.
  • Excel — Hand stack tables, a Monte Carlo simulation with random draws per contributor and yield estimates.
  • SOLIDWORKS Drawings — Final drawings carrying the reallocated tolerances.

Software

  • SOLIDWORKS Premium 2023 or later (for TolAnalyst)
  • Excel

Extra parts and data

  • Cell datasheet dimensions and tolerances — Cell length and diameter tolerances are a main contributor and should come from a real datasheet for the chosen format.

Key concepts

Worst-case stack
All tolerances are taken at their limits in the same direction. It guarantees assembly but often forces very tight, costly tolerances.
RSS (root sum square)
A statistical stack that assumes independent, centred, roughly normal variations, giving a smaller predicted spread than worst case.
Monte Carlo stack
Random samples of each contributor drawn from chosen distributions are summed many times to estimate the output distribution and the fraction out of limits.
Sensitivity
How much the output gap changes per unit change in a contributor. In a 1-D stack it is plus or minus one; in 2-D or 3-D stacks it depends on geometry.

Step-by-step guide

  1. 1

    Define the module and its critical requirements

    Set up an example module of 12 cylindrical or prismatic cells in a row between two end plates, held by plastic holders and steel straps, with busbars welded across cell terminals. Define requirements as example values: busbar-to-terminal misalignment under 0.5 mm, end-plate compression gap within a given window, and strap hole alignment. Write each as a gap with lower and upper limits. Get cell size tolerances from a real datasheet.

    Checkpoint: A requirements table with each critical gap, its limits and the parts that contribute to it.

  2. 2

    Model the assembly with functional mates

    Model simplified parts: cell, holder, end plate, strap and busbar, with only the features that matter. Mate by the faces that actually contact in assembly, for example cell end faces against each other or against holder ribs. Use a pattern for the cells so the count can change. Mark which faces define each gap and add reference dimensions in the assembly to measure them at nominal.

    Checkpoint: Nominal gap values measured in the assembly match a hand sum of nominal dimensions.

  3. 3

    Draw the stack loops

    For each requirement, draw a vector loop on a sketch of the assembly: start at one side of the gap, travel through each contributing dimension and return to the other side, with a sign for each link. Identify where geometric tolerances such as perpendicularity of the end plate face enter as additional contributors. Keep loops one-dimensional first, then note any angular effects you will need TolAnalyst to handle.

    Checkpoint: A loop diagram for each requirement with all links, directions and tolerance values.

  4. 4

    Calculate worst case and RSS by hand

    In Excel, tabulate each loop with nominal, plus and minus tolerance and sign. Compute nominal gap, worst-case range as the sum of absolute tolerances and RSS range as the square root of the sum of squares. Convert asymmetric tolerances to a mean and equal bilateral form first. Note that with 12 cells, the cell length tolerance appears 12 times, which makes it dominant in worst case.

    Checkpoint: For each loop, a worst-case and RSS range, with a check of whether each meets the requirement.

  5. 5

    Run a Monte Carlo simulation

    In Excel, generate random values for each contributor using NORM.INV with RAND, with standard deviation taken as one-sixth of the tolerance range for a process at about three sigma capability, stated as an assumption. Draw at least 10,000 samples, sum each loop and plot a histogram. Compute the percentage outside limits. Repeat with a uniform distribution to see how sensitive the result is to the assumed distribution.

    Checkpoint: Monte Carlo spread agrees with RSS within a few per cent for normal inputs, and the out-of-limit fraction is reported for both distributions.

  6. 6

    Build DimXpert schemes

    On each part, apply DimXpert datums matching the functional surfaces, then size and geometric tolerances that mirror your hand table, such as size tolerance on cell length or perpendicularity on the end plate face. Use DimXpert Show Tolerance Status to confirm features are fully constrained. Make sure tolerances in DimXpert are the same values as in Excel so the methods can be compared fairly.

    Checkpoint: Tolerance Status shows the features that take part in each loop as fully constrained.

  7. 7

    Run TolAnalyst studies

    Create a TolAnalyst study for each requirement: select the measurement between the two faces, define the assembly sequence and constraints in the order parts are actually built, and run it. Read the worst-case and RSS results and the contributor list with percentages. Where the study includes angular contributors such as perpendicularity, compare its result with your 1-D hand calculation and explain any difference.

    Checkpoint: TolAnalyst results for each loop, with any difference from the hand calculation explained by geometry or assembly sequence.

  8. 8

    Rank contributors and reallocate

    Sort contributors by percentage of variation. For the dominant ones, consider options: tighten the holder pitch tolerance, add a compressible pad so the stack self-adjusts, or float the busbar holes as slots. Re-run hand, Monte Carlo and TolAnalyst calculations for each option. Use a simple relative cost rule, for example tighter tolerances cost more, stated qualitatively, to choose the cheapest option that meets the requirement.

    Checkpoint: A revised tolerance set that meets every requirement by the chosen method, with the main design change identified.

  9. 9

    Discuss method choice

    Write a comparison of worst case, RSS and Monte Carlo for this module. Discuss when worst case is justified, for example safety-critical clearances to high voltage, and when statistical methods are reasonable, such as high-volume parts with process data. Note the assumptions behind RSS: independence and centred processes. Show what happens to yield if the cell length mean shifts by a third of its tolerance.

    Checkpoint: A table of predicted yield for each method, and the effect of a mean shift, with a recommended method per requirement.

  10. 10

    Update drawings and report

    Put the reallocated tolerances onto the part drawings using the DimXpert annotations or 2D GD&T. Write the report: requirements, loop diagrams, hand calculations, Monte Carlo histograms, TolAnalyst outputs, comparison, reallocation and recommendations. Add a validation plan stating that real measurements of first-off parts are needed to confirm distributions, and propose how many parts to measure. Suggest a sample size, for example 30 parts per contributor, and explain how the measured standard deviation would replace the assumed one in each calculation.

    Checkpoint: Drawings show the new tolerances, and the report includes a measurement plan for validating the statistical assumptions.

Testing & validation

  • Nominal gaps in CAD match hand sums.
  • Monte Carlo spread agrees with RSS for normal inputs.
  • TolAnalyst results are reconciled with hand calculations.
  • Revised tolerances meet every requirement by the stated method.
  • A plan exists to validate distributions with measured parts.

Expected results

A quantified tolerance stack-up of an example battery module by three methods, contributor rankings, a cheaper tolerance set that meets alignment and compression targets, and updated drawings.

Research angle for your M.Tech thesis

Compare worst-case, RSS and Monte Carlo predictions for multi-cell stacks, where one contributor repeats many times, and quantify how distribution shape and mean shift change predicted yield. A useful contribution is a method that combines measured process data with compliant elements such as compression pads, validated against measured assemblies.

Take it further

  • Add thermal expansion of cells and holders as an extra contributor.
  • Include cell swelling over life as a time-dependent contributor.
  • Measure a small batch of printed holders and replace assumed distributions with real data.

Viva and review questions

Why does cell length dominate the worst-case stack?

Because it appears once per cell, so with 12 cells its tolerance is added 12 times. In RSS it grows only with the square root of the count, which is why statistical methods change the picture so much here.

When is RSS not appropriate?

When contributors are not independent, processes are not centred, the number of contributors is small, or the requirement is safety critical, such as high-voltage clearance. Then worst case or a measured Monte Carlo is safer.

What did TolAnalyst add over your spreadsheet?

It accounted for geometric tolerances and assembly sequence in 3D, including angular effects of perpendicularity, which a simple 1-D table misses. It also ranked contributors automatically.

How would you validate your assumptions?

By measuring first-off parts to estimate real means and standard deviations, then re-running the Monte Carlo with those values and checking measured assembled gaps.

Learn it at DIYguru

These DIYguru courses and programmes teach what this project needs.

Related EV projects

All 100 SolidWorks & Autodesk Alias EV projects