Spiral Torsion Spring Optimizer
Volume
Range of Motion
Material Data
Other
Output to CAD
| Height | — mm |
| Thickness | — mm |
| Center Pad Radius | — mm |
| Spring Inner Radius | — mm |
| Pitch @ Rest | — mm |
| Minimum Coil Gap | 0.50 mm |
| Revolutions @ Rest | — |
Optimizer Message
Run the optimizer to see status.
Other Outputs
Generating the 3D Model
To generate a usable spring model, paste the outputs from this optimizer into the parametric FreeCAD file found on my printables page. There are instructions on that page for where to paste the outputs
Source Code
Find the source code along with an in-depth explanation of how this works on my github.
Getting errors/no output?
It is possible to input values to this optimizer for which no feasible spring exists, and in this case the behavior is not totally predicable. In the future I will add more input validation and create more error codes that explain what is wrong and how to adjust the inputs so a feasible spring can be found. There are many moving parts in this problem so to speak, and the relationships between the parameters are not always intuitive. For instance, often setting the preload torque to zero will result in an infeasible spring when one was feasible before. How can this be? You would think that mandating a certain preload torque would be adding more constraints, right? So, removing that constraint cannot result in an infeasible spring, right? Well, actually, the optimizer only constrains the radius of the spring at the preload state, meaning its radius at rest can be anything if a preload torque is specified. This gives the optimizer a much larger search space in which to find a feasible optimum. When you eliminate the preload torque, now the radius at rest has to be constrained, and you wind up with a much smaller search space, in which there may not be any feasible candidates. There are other such counter-intuitive situations that I have not documented yet. Please read the readme file on the github for more information.