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.
Operating Principle
A stress - strain plot is a very useful piece of information when characterizing materials.
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.
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.
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.
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.
Once I have this calibration, I save the function fit, and use it to read positions back while the machine is loaded.
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: