The Displacement Exercise (DEX)
DEX is a small materials testing machine that should be capable of running tensile and compressive tests at up to 600N of force. The machine can be manufactured by anyone with access to a laser cutter with at least a 24x12" bed, and nearly any FDM 3D Printer. A bill of materials of purchased parts required to complete the machine is below.
![]() |
![]() |
Usage
DEX runs a squidworks controller. To run, use the 'dex' branches of cuttlefish and ponyo
Comparison to Instron 4411
To see how we do against a real instron, I tested identical samples on the DEX as well as on an Instron '4411' with a 5kN load cell. In the plot below (I'm using cuttlefish to plot the .csv that I saved from Bluehill, the Instron software), the leftmost plot is taken on the 4411, and the lazier slope belongs to the DEX.
While the samples fail around the same load, the difference in elongation is ~ 1.5mm wide: this is almost surely the machine's own deflection, stretch in the belts, etc.
This obviously warrants correction. One way to do this is to build a stiffer machine, however, we will be chasing up the cost and complexity if we do this. Rather, we should throw some more control at it. To start, we can circle back to our attempts at subpixel tracking, or attach a small linear stage directly to our fixturing elements. For this, I am imagining something like the AMS5311, which should do some 12 bits inside of a 2mm throw (for 0.4um resolution). Either can be added to existing systems, given network controllers / modular browser code. Since I want to integrate it elsewhere, it's likely that the camera option comes first.
TODO
- encapsulate branches for ponyo, cuttlefish.
- bs ?
- put rpi setup back on desk with dex, branch, close
- revisit with cameras, rate control
Controller TODOs:
- extension rate is important, include this
- assign meaning to charts and graphs (date / location / etc)
- this should be generic json-object making, yeah?
- save tests as .json objects (optionally) develop program for reading
- overlay multiples, save images
- read-in csv as well
- save images of tests (genpurp canvas save tool?)
Circuit TODO:
- draw / fab temp and humidity sensor (looks like Bosch BME280 828-1063-1-ND)
- better implementation of load cell amplifier ? filippos' part number ? nice unit to have.
Building a Displacement Exercise
The machine is made largely from laser cut delrin and 3D printed (commodity FDM) parts.
CAD
BOM
Part numbers are from McMaster Carr unless otherwise linked.
Part | Spec | Count | Notes | PN / Link | Cost / Per |
---|---|---|---|---|---|
Delrin (Acetal) Cast Sheet | 24x12", 0.25" Thick | 2 | Fits on 24x18" w/ no mistakes | 8573K35 | $50.49 / 1 |
PLA 'Tough' | ~ 300g | Many 3DP Mechanical Bits | Matter Hackers M6E9T65K | $52.00 / 1kg | |
625ZZ Bearings | 5x16x5 | 24 | - | VXB 625ZZ | $24.95 / 20 |
Bearing Shims | 5x10x0.5 | 37 | - | 98055A098 | $8.62 / 50 |
Carriage Shoulders | M4x5x6 | 12 | - | 92981A146 | $2.16 / 1 |
Reduction Shoulder | M4x5x10 | 1 | - | 92981A030 | $2.32 / 1 |
Idler Shoulders | M4x5x20 | 5 | - | 92981A042 | $2.33 / 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 | 280T, 6mm Wide | 1 | - | Amazon (or) RobotDigg | $15.88 / 10 |
GT3 Open Loop Belt | ~ 1m, 9mm Wide | 1 | - | Amazon (or) RobotDigg | $15.00 / 1 |
6806 Bearing | 30x42x7mm | 2 | x | 6806-2RS VXB | $12.95 / 1 |
M3 Inserts | Tapered, 3.8mm Tall | ~ 300 | - | 94180A331 | $12.92 / 100 |
M4 Inserts | Tapered, 4.7mm Tall | 16 | - | 94180A351 | $14.96 / 100 |
M5 Inserts | Tapered, 6.7mm Tall | 4 | - | 94180A361 | $12.00 / 50 |
M3 Washers | 18-8 Standard Flat | 300 | - | 93475A210 | $1.62 / 100 |
SHCS | M3x16 | 100 | Pinning T- to the wall, and pulley endmatter | 91292A115 | $5.87 / 100 |
SHCS | M3x20 | 100 | Pinning T- to one another (?) | 91292A123 | $6.78 / 100 |
SHCS | M3x25 | 100 | Pinning T- and X-es together | 91292A020 | $7.23 / 100 |
SHCS | M3x45 | 8 | Pinning the 'squat' together | 91292A025 | $12.21 / 50 |
FHCS | M3x10 | 30 | Pinning blisters to faces | 92125A130 | $5.81 / 100 |
FHCS | M3x25 | (?) | - | 92125A138 | $11.50 / 100 |
Steel Dowel Pins | 5x8mm | 10 | - | 91585A506 | $8.40 / 25 |
Feet | M4 Stud, 15x15mm | - | - | 93115K881 | $1.78 / 1 |
Approximate Mechanical Total | $446.80 | ||||
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 |
Rough Control Total: Incomplete | 81.20 | ||||
All Up | $528.00 |
CAD Notes
(write this doc) how to download / load / fab
Tools for Fabrication
- laser, 3dprinter
- soldering iron for inserts
- arbor press is nice, but not necessary
Dependencies
This repo is for the machine itself, it implements / uses / depends on the projects below:
- pdbs
- router
- stepper driver
- loadcell circuit (find amp, make board?)
MFG Notes
I used the trotec w/ 80 watts power, doing two passes per cut at 0.25 speed and 100 power. The colors to setup with are:
Black, Red, Blue, Cyan, Green, Magenta
To export from Fusion, use Rhino for layout, export cut files as DXF, for the trotec the best move is to export as 'R12 Natural'. This will keep segments together.
...
fixturing moves / top to bottom
Testing Notes
Use the D683 ASTM Dogbone - normally Type 5.
Controller Desires
- cyclic loading
- direct upload -> materiom (generic: databases) ... MQTT (and nodered)
- https://cookbook.nodered.org/mqtt/ (and: https://cookbook.nodered.org/)
- add to data: humidity, temperature, location, time ...