motion-diagnostics-suite/README.md

259 lines
No EOL
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# sv06-belt-recovery-stress-tests
Belt tension recovery and motion stability test models for bed-slinger 3D printers (e.g., SV06-class machines).
---
![](img/DSC_5098.webp)
## Purpose
These models are designed to help recover from situations where printer motion accuracy has been degraded, typically due to:
* Adjusting belt tension without a reference baseline
* Experiencing layer shifts during prints
* Replacing belts or modifying mechanical components
This project provides:
* Parametric OpenSCAD models
* A structured test procedure
* Guidance for interpreting failure modes
---
## When To Use This
Use these tests if you observe:
* Sudden layer shifts (e.g., 3-5 mm offsets)
* Inconsistent dimensional accuracy
* Audible belt skipping or motor stutter
* After adjusting belt tensioners
Here's an example of a case for a hand held radio where the top suddendly shift at the 20mm height.
![](img/20260318_215156_Wed.png)
---
## Models Included
### 1. Cube (Baseline Test)
* Dimensions: 40 × 40 × 40 mm
* Purpose:
* Verify basic printer stability
* Detect gross mechanical issues
---
### 2. Y-Bar (Axis Stress Test)
* Dimensions: 20 × 150 × 50 mm
* Purpose:
* Stress the Y-axis (bed movement)
* Detect belt slip under momentum and direction reversal
**Important:**
* Orient the 150 mm dimension front-to-back on the bed
---
### 3. Tower (Long-Duration Test)
* Dimensions: 18 × 18 × 120 mm
* Purpose:
* Reveal issues that appear only over time
* Detect cumulative drift, resonance, or late-stage layer shifts
---
## Print Procedure (Recommended Order)
Run each model as a **separate print job**:
1. **Cube**
* Confirms system is not fundamentally broken
2. **Y-Bar**
* Directly tests axis tension and inertia behavior
3. **Tower**
* Tests stability over time and height
---
## Suggested Slicer Settings (Orca Slicer)
### Cube
* Layer height: 0.20 mm
* Perimeters: 3
* Infill: 20-25% (grid or gyroid)
### Y-Bar
* Layer height: 0.20 mm
* Perimeters: 3
* Infill: 15-25% (grid recommended)
### Tower
* Layer height: 0.20 mm
* Perimeters: 3
* Infill: 0-10%
* Brim: optional (only if adhesion is an issue)
See the settings folder for settings used in Orca Slicer.
---
## Belt Tension Guidance
This project assumes GT2 belts (typical for most hobby printers).
### Frequency Method (Recommended)
Using a phone-based spectrum analyzer:
* Target range: **90-110 Hz**
* Reference: ~110 Hz ? ~2 lb tension (Voron baseline)
Procedure:
1. Move bed so belt span ~ 150 mm
2. Pluck belt
3. Measure frequency
4. Adjust tensioner
5. Repeat until stable
### Notes
* Too loose:
* Low frequency (<70 Hz)
* Layer shifts likely
* Too tight:
* High frequency (>120-130 Hz)
* Motor strain, possible missed steps
---
## Interpreting Results
### Good Result
* Clean vertical alignment
* No sudden offsets
* Consistent layer stacking
---
### Failure Modes
#### Sudden Layer Shift
* Cause:
* Belt too loose
* Pulley slipping
* Action:
* Increase tension slightly
* Check motor pulley set screws
---
#### Repeated Shift at Same Height
* Cause:
* Mechanical obstruction
* Cable snag
* Action:
* Inspect motion path
* Check wiring harness clearance
---
#### Gradual Lean / Drift
* Cause:
* Frame or axis alignment issue
* Action:
* Inspect rails, wheels, or rods
---
#### Ringing / Ghosting (No Shift)
* Cause:
* High acceleration
* Action:
* Reduce acceleration (not a belt issue)
---
## Notes on Methodology
These tests intentionally:
* Emphasize repeated motion in one axis
* Increase inertial load with height
* Create conditions where marginal tension fails visibly
This approach isolates motion system issues rather than general print quality.
---
## OpenSCAD Usage
Generate models:
```bash
openscad -D 'model="cube"' -o cube_$(date +%Y%m%d_%H%M).stl stress_test_models.scad
openscad -D 'model="ybar"' -o ybar_$(date +%Y%m%d_%H%M).stl stress_test_models.scad
openscad -D 'model="tower"' -o tower_$(date +%Y%m%d_%H%M).stl stress_test_models.scad
```
---
## Provenance
Generated with:
* OpenSCAD
* Orca Slicer (recommended)
* Frequency-based belt tuning derived from:
* Voron Design tuning methodology
This project was developed with ChatGPT.
---
## License
Recommend: MIT or CC-BY 4.0 for broad reuse.
---
## Contributing
Improvements welcome:
* Additional test geometries
* Axis-specific stress models
* Automated calibration workflows
---