Skip to content
Snippets Groups Projects

The Displacement Exercise (DEX)

The DEX is an open source piece of materials testing equipment. The machine can be manufactured by anyone with access to a laser cutter with at least a 24x12" bed, or a milling machine of similar or larger size, and nearly any FDM 3D Printer. A bill of materials of purchased parts required to complete the machine is below, totaling some ~ $500 USD.

The machine uses a NEMA 23 stepper motor and a small ball screw to exert force on samples, and any off the shelf load-cell to measure stress. At the lab, we use squidworks controllers to operate the machine, but rolling a controller with an off-the-shelf Arduino should not be an exceptionally cumbersome task.

dex

Operating Principle

A stress - strain plot is a very useful piece of information when characterizing materials.

ss curve

To generate these curves, the DEX slowly pulls samples (normally some 'dogbone' shape below) apart, while measuring the amount that it stretches (~ the strain), and the amount of force it exerts as it is stretched (~ the stress). These types of machine are common in industry, often referred to by their leading brand name 'Instron', or as 'Universal Testing Machines' (UTM).

Hardware

CAD

CAD for the machine is available in this Repo, under cad/ - the .f3z file is a Fusion 360 parametric model of the machine, and the .3dm model is a complete Rhino3D Model, with purchase parts included. To source parts, consult the BOM below.

dex

BOM

Part numbers are from McMaster Carr unless otherwise linked.

Part Spec Count Notes PN / Link Cost / Per
Acrylic Sheet 24x12", 0.25" Thick 2 - 8505K755 $19.93 / 1
PLA 'Tough' ~ 300g Many 3DP Mechanical Bits Matter Hackers M6E9T65K $52.00 / 1kg
625ZZ Bearings 5x16x5 13 - VXB 625ZZ $24.95 / 20
Bearing Shims 5x10x0.5 26 - 98055A098 $8.62 / 50
Carriage Shoulders M4x5x6 13 - 92981A146 $2.16 / 1
NEMA 23 Stepper Motor 56mm Can Length 1 Spec Shaft with Pinion Stepper Online $14.83 / 1
GT2 Pinion 20T 1 Spec Shaft with NEMA 23 Amazon (or) RobotDigg $9.96 / 5
GT2 Closed Loop Belt 200T (400mm long), 6mm Wide 1 - Amazon (or) RobotDigg $15.88 / 10
1204 x 400mm SFU Ball Screw Kit 1 Amazon
M3 Inserts Tapered, 3.8mm Tall 200 - 94180A331 $12.92 / 100
M4 Inserts Tapered, 4.7mm Tall 16 - 94180A351 $14.96 / 100
SHCS M3x16 100 Pinning T- to the wall, and pulley endmatter 91292A115 $5.87 / 100
M3 Washers 18-8 Standard Flat 300 - 93475A210 $1.62 / 100
SHCS M4x16 6 Mounting Ball Nut 91292A118 $8.13 / 100
SHCS M5x20 4 Motor Mounting 91292A121 $9.03 / 100
Locknut M5 4 Motor Mounting 93625A200 $6.46 / 100
SHCS M8x30 2 Loadcell Fixturing 91292A149 $10.13 / 25
Feet M4 Stud, 15x15mm 3 - 93115K881 $1.78 / 1
Shaft Collar 8mm Diameter, Flanged - - 9723T12 $60.14
Loadcell(s) 10, 30, or 50kg 1 Choose Range for Sensitivity Amazon 50kg Amazon 30kg Amazon 10kg $39.00 / 1
Loadcell Amplifier HX711 1 - Sparkfun 13879 $9.95 / 1
Power Supply 350W 24V LRS-350-24 1 - Amazon $32.25 / 1

Choice of Sheet Material

Here, I list Acrylic Sheet as the main chassis material. With acrylic, the machine can be manufactured easily on a laser cutter. However, it should also be possible to build the DEX with different sheet material. Lately, I have been using Phenolic as a chassis material: it can be milled on a ShopBot or similar router, and performs much better than Acrylic, with around 11GPA flexural strength (vs. Acrylic's ~ 3GPA). Acrylic is best bonded with Acrylic Cement, a solvent that welds the plastic to itself. Phenolic is best bonded with a two-part epoxy: I use a 20 minute working life epoxy, and nearly any type will do.

Control and Interface

DEX is designed to run a squidworks controller. The dex branches of cuttlefish and ponyo contain code that is known to work with the machine. For more info on the controllers, please consult those repositories. In all, controlling the machine can be achieved in any number of ways, on needs only to control one stepper motor and read one load cell.

c1 c2

Vision for Displacement Sensing

We're currently working to build a computer vision based displacement sensing method for the DEX. Since our machine (or, many machines manufactured by novices / in the public domain) are liable to flex (indeed, nothing is infinitely stiff!), the thought is to measure local displacements of the sample, at the sample, rather than measuring open-loop through the machine's structure. I started this with a small sample code, noted in the log, and have gone through integrating this into the machine's controller.

dex-vision

The controller involves a calibration stage, where I operate the machine in open-loop, stepping in increments with no load exerted on the machine. I track the marker's displacements, building a map between the known ballscrew displacements and the tracked pixel positions.

dex-calib

Once I have this calibration, I save the function fit, and use it to read positions back while the machine is loaded.

dex-use

This nearly works, but needs some improvement. To go about doing this at a higher fidelity, I am working on integrating Python scripts into squidworks controllers, which will let me tie OpenCV codes into dataflow controllers. Another escalation will involve using DIC (digital image correlation) codes to observe the entire structure's deflections during testing, which should render even higher quality testing results.

Testing Notes

The D683 ASTM Dogbones:

dogbones