Building a Spring Tester

Hello all,

I'm new to the community and to working with electronics on this level. I dinked around with a breadboard and a couple very cheap chips like 6 years ago, but that's about the extent of my experience so I apologise if I ask a dumb question or if I sound like I'm jumping in way over my head. I digress, anyway... I work in a physical laboratory and we are considering making an H-frame style spring tester in the shop here. I'm in charge of interfacing the measuring equipment with the computer, apparently because I'm the youngest and the least afraid of technology.
What I want to do is use an Arduino Uno to simultaneously take input from a tension/compression load cell and from SOMETHING that will measure the distance compressed. I'm considering either a linear variable differential transformer (LVDT) or possibly something like the optics from a mouse to measure the distance that working end travels when compressing. Alternatively I'm also looking at higher grade optical measures for distance as i need accuracy to about 0.005mm or better over a distance of about 5cm which it doesnt look like I'll get from mouse optics. Ideally the board would spit the data out into a spreadsheet, comma deliniated value file, or data acquisition program.

Obviously I can't ask for specific help as we are early in the project and I don't have any specs on the LVDT's or optics we're considering for measuring distance. I can say we will likely be interchanging tension/compression load cells with the following specs:

Excitation:
25 lb/100 N: 10 Vdc
Output:
5 lb/20 N: 2 mV/V (nom)
Bridge Resistance: 350 ? minimum
Electrical Connection: 1.5 m (5') 4-conductor, shielded cable

My big questions are as follows: does this sound feasible with the Uno? Does it sound more feasible or easier with a different arduino board? Do you have any recommendations for what would be best/easiest to use for measuring distance of compression/extension with an accuracy of better than 0.005mm?

Thank you in advance.

Your project won't need many I/O pins, so a Uno or Leonardo should be adequate. You will need an instrumentation amplifier to amplify the output from the load cell before feeding it to the Arduino.

Have you considered using a stepper motor (controlled by the Arduino) and leadscrew to define the distance compressed, rather than trying to measure it?

Have you considered using a stepper motor (controlled by the Arduino) and leadscrew to define the distance compressed, rather than trying to measure it?

I have considered such an alternative, I just don't know much about running a system like that. Our machinist wants to look into using a ball screw set-up anyway, which would make a stepper motor a feasible way to track distance. The bossman doesnt think it will be accurate enough to measure the distances we need; however, I have been corrected that the distance traveled is only expected to be 2cm rather than 5cm. This does open up a few LVDT options that were not available previously.

Thank you for the suggestion and I'm glad I at least seem to be on a feasible track with this.

To get your 0.005mm resolution with a standard 1.8 degree stepper motor the ball screw would need to be 1mm pitch or less. If you fit a gearbox to the setup then the pitch can be increased and/or the measurement resolution increased.
You did not specify a budget but this motor has a 30:1 gearbox so using a 10mm pitch ballscrew would mean each step would be about 0.00166mm.

This morning I recieved more information on what we plan to use and what we need.
We are apparently planning to use a ball screw with a 5.08mm lead (yeah, the numbers are goofy because everything we do is in English units. Not my choice.) and we are looking to compress with up to 12,500N of linear force (almost 3 times what I originally thought). This means that I will need to get 12Nm of torque out of the stepper motor, assuming 90% efficiency and a small safety factor. That 12Nm also assumes I've done this calculation properly - for this I make no promises but the Torque to Linear Force equation is pretty straightforward for screws with low friction.

Riva: That motor would be perfect - I thought it was, actually, until I was informed that some of our spring configurations would require such high force. Thank you for the suggestion.

I am, however, convinced that a stepper motor is the way to go. Bossman was planning to use an LVDT and crank the tester by hand. Obviously that route introduces accuracy and repeatability issues between different people and with the possibility of the ball screw being back driven.

Have you thought of interfacing to a digital linear scale to make the linear measurements of the spring position? There are quite a few web pages that discuss interfacing an Arduino to linear scales, I have not checked whether they have the requisite resolution.

To get the required motion you could use a linear actuator rated for the force required and use the arduino interfaced to a motor control board.

Free advice and worth every cent!

Riva: That motor would be perfect - I thought it was, actually, until I was informed that some of our spring configurations would require such high force. Thank you for the suggestion.

Did you do the calculation to take into effect the 30:1 gearbox or just the 3.1Nm motor. Google and you will find various CNC motor/gearbox configurations ranging from 30 to 600 Nm and ball screw shafts in metric.

Did you do the calculation to take into effect the 30:1 gearbox or just the 3.1Nm motor

I definitely only accounted for the 3.1Nm motor. I'm awesome like that. I will certainly consider that motor and gear box, though I have been looking at other CNC motors. As far as finding parts in metric - I can do that easily; however, I'm the only one who wants to use metric in the lab/shop/office here so I will have to continue posting odd measurements. When I do my own arduino project, then everything will be metric and it will be beautiful (seriously, who would willingly measure things in fractions rather than decimals).

wwbrown: We have looked at digital linear scales, but we haven't found any that could get the resolution we are looking for. If we were to go that rout we'd likely stick with an LVDT. As far as a linear actuator - that's not something we've looked at. I'll do some research into them, we would need one rated for the force required that allowed for minute adjustments.