Tensile test machine?
-
Hi! I would like to get your assitance/assessment on a project :)
Specifically if it is doable with UIflow2 or if I need to switch to micropython?I have:
M5stack core s3
M5stack Unit weight-I2C
M5stack Stepmotor Driver Module 13.2 v1.1
10kg load cell
Step motor
trapzodial rod T8x4.My aim is to build a small tensile test machine and plot displacement vs. load.
Basically:
*calibrate load cell with known weight.
*Tare
*Move load cell by stepper and count step(i.e displacement)
*Poll load cell
*Stop at a set max load
*Save load vs disp in a csv-file
*Reverse motor back to org positionAnd a graphic on the display showing buttons for calibrate, tare and start.
Best regards, H
-
@killernils Your project is feasible with UIflow2 (MicroPython). Here's the breakdown:
Hardware Compatibility:
CoreS3 (SKU:K128) supports both Unit Weight-I2C and Module13.2 Stepmotor Driver v1.1 (SKU:M039-V11) via I2C
Stepper driver provides precise control with microstepping (FULL to 1/32 step) and step counting
Weight unit offers calibration, tare function, and filter settings through UIflow2 blocksRequired Functions Implementation:
Load Cell Calibration: Use WEIGHT_I2CUnit.set_calibration() with known weights
Tare Function: Implement via WEIGHT_I2CUnit.set_reset_offset()
Stepper Control: Utilize StepMotorDriverModule methods for direction, microstepping, and PWM frequency control
Position Tracking: Count steps using motor control commands and convert to displacement based on T8x4 rod (4mm per revolution)
Data Logging: Use UIflow2's file system blocks to save CSV data to internal storage
HMI Interface: Create buttons and plots using CoreS3's display blocksImplementation Considerations:
Ensure proper power supply (9-24V) for the stepper driver
Implement step delay logic for smooth motor movement
Add error handling for load cell over-range conditions
Use filter functions on weight readings for stable measurements