Parametric OpenSCAD models and procedures for diagnosing layer shifts, belt tension, and motion instability in FDM 3D printers.
Find a file
2026-03-18 22:05:03 -07:00
img README.md generated from ChatGPT, such as it is 2026-03-18 22:02:20 -07:00
openscad clean up 2026-03-18 22:05:03 -07:00
orca-slicer All printed successfully 2026-03-18 20:34:42 -07:00
stls created models 2026-03-17 14:16:18 -07:00
LICENSE Initial commit 2026-03-17 14:01:46 -07:00
README.md Fixed labels which previously went off edges of bar and tower. 2026-03-18 22:04:17 -07:00

sv06-belt-recovery-stress-tests

Belt tension recovery and motion stability test models for bed-slinger 3D printers (e.g., SV06-class machines).


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.

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

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).

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:

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