Friday 15 January 2021

The Spring Winder



The Spring Winder is based on the usual method of a rotating former and a wire dispenser moving along its length. For an ordinary spring, the wire would be moved at a constant rate, but for a fret-spaced spring it needs to be fast at one end and slow at the other. A linear actuator was obtained as they are popular in 3D printers. They are built from readily available extrusions with a stepper motor driven lead-screw. The spring length needs to be roughly 700mm, so a 1000mm actuator will allow some breathing space.

Aluminium Extrusion cross section

Linear actuator parts

An Arduino Uno was purchased as I really wanted to try one out! No additional programmer box or pricey software is required, just a USB A-B lead and a (free) download of the Arduino IDE. The built-in functions make pin operations straightforward and makes it a great introduction to programmable hardware.


After successfully blinking a few LEDs on and off, the main circuitry was developed to PWM control the winding motor and use a DRV8825 module to run the stepper motor. An LCD alphanumeric display was also added to show useful info. 


The winding former was estimated to be 30mm when using 1.8mm diameter stainless steel wire and a 50mm inside diameter. The winding speed was set at a fairly pedestrian 12rpm and the position of the winding former is monitored by a rotary encoder. 


The whole fixture was built on a combination of plywood and MDF measuring about 1200mm x 400mm x 45mm and uses pillow block bearings to constrain the winding former and a brass clamp to provide wire tension. The first winding motor tried out didn't have enough torque, so a larger motor was sourced connected to a chunky 36V/10A PSU. To negate the effect of loading on the motor speed, the PWM controller uses a small amount of current feedback. 

Winding a spring

Florence checking the spring winder

The main software loop takes the rotary encoder count, calculates* the new actuator position and sets the number of actuator steps so that this can be achieved. Using the micro-stepping facility of the DRV8825 module gave a nice round 100 steps per mm and worked up to a maximum rate of 8000 steps per second. If the quantity of steps are not completed within 30ms an error flag is set and the loop repeated anyway. The slow (~12rpm) winding speed ensures that this overspeed condition does not occur. This process is repeated until the windings are complete. 

Spring fully wound

Spring winder display


*The calculations use a simple linear ratio for the lead-in and lead-out at each end, and a more involved formula that comes from working out fret positions for the bit in the middle. 


distance = scalelength * (1.0 - 2.0 ^ (turns / -12.0))



An Unexpected Turn Of Events


Smart people will already have realised that turning the winding motor 12 times to get a whole octave of windings does not result in 12 finished coils! The ratio of spring ID to former ID had been overlooked. The spring is wound on a 30mm former, but when released (and yes, this was a scary bit) it rapidly returns to the more relaxed state of 50mm diameter. It is the same length of wire in both cases so the larger relaxed diameter has less turns. To correctly compensate for this it needs to rotate (50/30) more turns than I first thought. 


After this, I settled for 4 lead-in turns, 4 lead-out turns and 26 fret turns based on 50mm ID. This equates to around 7 lead-in turns, 7 lead-out turns and around 44 fret turns when mapped to a 30mm former. The 26 fret turns allows some freedom in choosing the best 22 (plus a zero fret). 


After several rounds of debugging it was ready to run. Winding the spring took around 5 minutes and apart from a bit of congestion on the lead-in, it nailed it first time! The video clip speeds up the action into just over a minute.



Doing The Rounds


In between working on the Spring Winder, other parts of the Tubular Bass also needed to be made. The nut and bridge assemblies are both made from aluminium, mostly 15mm thick, but the nut and saddle are only 6mm. To anchor these, 47mm discs are turned on a lathe** and fitted inside the tube. The visible parts of the nut and bridge are bolted to these through slotted holes to allow a certain amount of height adjustment but keeping things sturdy and rigid. 

Tubular bass - bridge parts

Tubular bass - bridge parts


Tubular bass - bridge assembly

**I don't have a lathe so I laid a benchdrill on its side instead. Each part was rough cut into an octagon shape with an 8mm centre hole, then turned lathe-style. It doesn't have quite the same bearing system as a proper lathe so there is more judder and it doesn't give a great finish but it's good enough. Don't try this at home - it makes a lot of swarf!

Dodgy machining practices


No comments: