Spring Testing Machine

by HarshadB9 in Workshop > 3D Printing

2213 Views, 20 Favorites, 0 Comments

Spring Testing Machine

cover3.png
Cover photo.png
iso1.jpg

I was searching online to buy springs for one of my different projects. But the springs are far more expensive than I thought it would be. Making springs is not that difficult. All you need is some wire, a round thing to wind the spring on and two hands to bend the wire. But now the challenge is that we don't know the properties of the spring.

And so, I decided to cancel the project for which I needed springs and instead I took up the project to test springs.

Supplies

potentiomneter.jpg
chrome rod.jpg
linear bearing.jpg
threaded rod.jpg
stepper motor.jpg
coupler.jpg
RAS-3421.jpg
load cell with hx711.jpg
  • Stepper motor (34mm NEMA17) and A4988 stepper motor driver
  • Lead screw - M8 and M8 nuts
  • 5mm to 8mm coupler
  • 10mm Chromed Hardened Shaft
  • LM10UU Linear Motion Slider Linear Bushing
  • M3 Bolts
  • Load Cell and HX711 24 ADC
  • Raspberry Pi Pico or Arduino microcontroller
  • Dual axis spring return potentiometer

Understand the Theory

Spring theory.jpg
Spring force formula.jpg

The equation for spring reaction force is: F= -k.x

Where

  • F is the force
  • x is the compression in the spring
  • k is the spring constant, also known as spring rate.


There is no direct way of measuring the value of this spring constant. The only way to evaluate the spring constant is to measure the force and measure the compression in the spring. The ratio of the force and compression is the spring constant.


The only reliable and easy way to measure force is by using a load cell. I have used a load cell with a maximum value of 1kg.


However, there are a few more options available when it comes to measuring displacement. But I have used a method where I precisely control the displacement instead of measuring the displacement. Here I am using a stepper motor with a lead screw. The exact calculation is mentioned in one of the later steps.

System Concept Design

cnept.jpg
displacement clacuation.jpg

So, the way I have designed the system is, the stepper motor along with the lead screw, will compress the spring in a controlled manner. And on the other side, there will be a load cell.

The microcontroller is responsible for giving the command to turn the stepper motor. And hence, it knows exactly how many turns the motor has made. The leadscrew will turn this rotational motion into translational motion.

The lead screw is a standard M8 lead screw. The pitch for a standard M8 pitch is 1.25mm. Which means, for every revolution of the motor, the system will compress the spring by 1.25mm.

The NEMA 17 stepper motor has 200 steps in a revolution. This means with every step command that the microcontroller gives out, the motor will advance 360/200= 1.8 degrees.

However, the A4988 stepper motor controller IC will has micro stepping. I am using this feature which is set to 16 micro steps per steps. Which means, the for every step command the microcontroller puts out, the spring will compress by: 1.25mm*1.8/360/16= 0.000390625mm



Engineering Design and 3D Modeling

labled iso.jpg
Spring testing machine: motions

Making a conceptual design for the machine is completion of part one of the project. The second part is the engineering of the system.

One major part is the guiding mechanism for the motor motor lead screw arrangement. The moving assembly needs some support which can make sure that the motor moves in straight line and has an almost friction free movement.

We also need to consider the that lower the friction, better it would be for the system. So for that reason, I decided to go with LM10UU Linear Motion Slider Linear Bushing. That will ensure we have a smooth motion and a straight path for the spring to compress.


I have attached the fusion 360 file and the stp file for the projects below:

Fusion 360: https://drive.google.com/file/d/15kzD3phUB3d-B27JyFcJYk7zkcc2LjtX/view?usp=sharing

STEP file: https://drive.google.com/file/d/1lGRD8PUUbvj3ygevk3pV3PwHQDkEpBeb/view?usp=sharing

Wiring

Schematic.jpg

I have attached the schematic for wiring up with Raspberry Pi Pico. The schematic would be slightly different if you decide to go with any other micro controller. I would be happy to help if you decide to go with any other microcontroller.


The link for pdf copy of the circuit is below:

https://drive.google.com/file/d/1oQLpK8LXSz6pFxfLjB0j7YMYja_Z6Oeg/view?usp=sharing

Programming!

plxdaw.jpg
arduino_logo_1200x630-01.png

Now that our hardware is ready, we need something to read the values of displacement and the force value that the microcontroller is reading. Yes, serial read is one way. But it is not as intuitive. So, I have used PLXDAQ for the acquiring data and for generating graph. The software is noting more than a macros enabled excel sheet which can read data from COM port. I have added the link to download the excel sheet.

Link for downloading PLXDAQ software:

https://forum.arduino.cc/uploads/short-url/dtM6CJUYvP6YUJ43IKeajJirycF.zip


Just download the excel sheet and set the COM port same as the port to which you uploaded the microcontroller program.


I have also uploaded the program on my google drive and you may download it with the link below:

https://drive.google.com/file/d/1MFeEh_LCVbcwdBL4JKOFHR2tk2DtyzEz/view?usp=sharing

Testing the Springs!

LOAD GRAPH.png
Spring testing machine. Spring diameter 14mm, Spring wire: 1mm, Active turns: 4
Spring testing machine- Spring diameter: 30mm, wire diameter: 1mm, 4 active turns

Well, with that we are all done!

The machine is now all ready to test springs. Now the only remaining part is to learn how to make springs, which is easier than the work mentioned above.

The excel dynamically adds the values in individual rows and also adds those values to the chart. This makes the movement of the joystick very intuitive.


The link for one of the data file generated during the tests is below:

https://drive.google.com/file/d/1W6AnKZyCXNp09NvP__JqFjLvSNPCE_zU/view?usp=sharing