Spring Calculator
This tool can be used to calculate an appropriate mandrel size for spring winding along with a few other bits of information about the spring.
All the fields that expect a number (diameters etc), will accept fractions (e.g. 1 1/4) and numbers followed by an explicit unit (" or mm). All calculations are performed in metric with conversion to/from imperial for display if required.
| Units: | ||
| Diameter Selection: | ||
| Spring Diameter (mm): | mm | |
| Wire Diameter (mm): | mm | |
| Termination Type: | ||
| Material: | ||
| Spring Pitch (mm): | mm | |
| Number of Active Coils: | ||
| Total Length (mm): | mm | |
| Spring Inner Diameter (mm): | mm | |
| Spring Mean Diameter (mm): | mm | |
| Spring Outer Diameter (mm): | mm | |
| Spring Index: | ||
| Winding Arbor Diameter (mm): | mm | |
| Estimated Wire Length (mm): | mm | |
| Compressed Spring Length (mm): | mm | |
| Spring Rate: | N/m | |
| Use comma as decimal separator: |
Background
This calculator uses the following equations - please let me know if you think they're wrong! Regardless of the selected unit, all entered data is converted into millimetres when calculating the results; if you've selected imperial units, the result is converted back into imperial units for display (although both inches and millimetres are displayed in the right hand column regardless of the selected unit).
All calculations use millimetres and produce millimetres except the spring rate calculation which uses metres to ensure all the units work out neatly.
Key
\(\qquad D_m\) is the mean spring diameter (in millimetres or metres).
\(\qquad D_o\) is the outer spring diameter (in millimetres or metres).
\(\qquad D_i\) is the inner spring diameter (in millimetres or metres).
\(\qquad D_a\) is the winding arbor diameter (in millimetres or metres).
\(\qquad d\) is the wire diameter (in millimetres or metres).
\(\qquad N_a\) is the number of active coils (no units).
\(\qquad N_t\) is the total number of coils (no units).
\(\qquad L_t\) is the total length of the spring (in millimetres or metres).
\(\qquad L_a\) is the active length of the spring (in millimetres or metres).
\(\qquad L_c\) is the length of the spring when fully compressed (in millimetres or metres).
\(\qquad L_0\) is the free length of the spring (in millimetres or metres).
\(\qquad L_w\) is the estimated length of the wire used to make the spring (in millimetres or metres).
\(\qquad p\) is the pitch (in millimetres or metres).
\(\qquad G\) is the shear modulus of the material (in Pascals).
\(\qquad E\) is the Young's modulus of the material (in Pascals).
\(\qquad S\) is the tensile strength of the wire (in MPa).
\(\qquad \kappa_0\) is the curvature of the wire while it is wound on the arbor (\(\kappa_0 = 2 / (D_a + d)\)).
\(\qquad \kappa_m\) is the curvature of the finished spring (\(\kappa_m = 2 / D_m\)).
\(\qquad M\) is the bending moment in the wire while it is wound on the arbor.
\(\qquad I\) is the second moment of area of the wire (\(I = \pi d^4 / 64\)).
\(\qquad i\) is the spring index (no units).
\(\qquad R\) is the spring rate (in Newtons per metre).
Calculations
$$ D_o = D_m + d = D_i + 2 d $$ $$ i = D_m / d $$ $$ R = \frac{G d^4}{8 N_a D_m^3} $$ $$ L_w = \pi D_m N_t $$The end coil formulas follow Shigley's Mechanical Engineering Design. If the spring ends are open:
$$ N_t = N_a \qquad L_0 = p N_a + d \qquad L_c = d \left( N_t + 1 \right) $$If the spring ends are closed:
$$ N_t = N_a + 2 \qquad L_0 = p N_a + 3 d \qquad L_c = d \left( N_t + 1 \right) $$If the spring ends are closed and ground square:
$$ N_t = N_a + 2 \qquad L_0 = p N_a + 2 d \qquad L_c = d N_t $$Arbor Diameter
When wire is wound around an arbor and then released, it springs back to a larger diameter, so the arbor needs to be smaller than the inside diameter of the finished spring. The amount of spring-back can be calculated by treating the wire as a round bar bent beyond its yield point: while it is on the arbor, the outer part of the wire has yielded and carries a stress equal to the wire's strength, while the core is still elastic. When it is released, the bending moment is removed elastically, so the curvature reduces by \(M / (E I)\):
$$ \kappa_m = \kappa_0 - \frac{M\left(\kappa_0\right)}{E I} $$For a round wire of radius \(c = d/2\) with an elastic core of half-depth \(y_e = S / (E \kappa_0)\), the bending moment is:
$$ M = 4 S \left[ \frac{1}{8 y_e} \left( y_e \left( 2 y_e^2 - c^2 \right) \sqrt{c^2 - y_e^2} + c^4 \sin^{-1}\left( \frac{y_e}{c} \right) \right) + \frac{1}{3} \left( c^2 - y_e^2 \right)^{3/2} \right] $$The calculator finds (numerically) the value of \(\kappa_0\) that gives the required spring diameter, and then:
$$ D_a = \frac{2}{\kappa_0} - d $$Spring wire is hard drawn and barely work-hardens any further, so its tensile strength is used for \(S\). This depends on the wire diameter: \(S = A / d^m\) with \(d\) in millimetres. The values used (from Shigley's Mechanical Engineering Design) are:
- Music wire: \(A = 2211\), \(m = 0.145\), \(E = 200\) GPa, \(G = 81.7\) GPa.
- Hard drawn spring steel: \(A = 1783\), \(m = 0.190\), \(E = 197.9\) GPa, \(G = 80.7\) GPa.
- 302 stainless steel: \(A = 1867\), \(m = 0.146\), \(E = 193\) GPa, \(G = 69.0\) GPa.
- Phosphor bronze: \(A = 1000\), \(m = 0\) up to 0.6 mm; \(A = 913\), \(m = 0.028\) up to 2 mm; \(A = 932\), \(m = 0.064\) above that; \(E = 104.8\) GPa, \(G = 41.4\) GPa.
For music wire, this gives results within a few percent of the (unexplained) arbor diameter table in Machinery's Handbook. In practice, the tension in the wire while winding, the wire batch and the winding method all have an effect, so it is worth winding a short test piece and adjusting the arbor size if necessary.
This website is free and ad-free, but costs me money to run. If you'd like to support this site, please consider making a small donation or sending me a message to let me know what you liked or found useful.