Git Product home page Git Product logo

klippain-shaketune's Introduction

Klippain Shake&Tune Module

This Klippain "Shake&Tune" repository is a standalone module from the Klippain ecosystem, designed to automate and calibrate the input shaper system on your Klipper 3D printer with a streamlined workflow and insightful vizualisations.

logo banner

It operates in two steps:

  1. Utilizing specially tailored Klipper macros, it initiates tests on either the belts or the printer X/Y axis to measure the machine axes behavior. This is basically an automated call to the Klipper TEST_RESONANCES macro with custom parameters.
  2. Then a custom Python script is called to:
    1. Generate insightful and improved graphs, aiding in parameter tuning for the Klipper [input_shaper] system (including best shaper choice, resonant frequency and damping ratio) or diagnosing and rectifying mechanical issues (like belt tension, defective bearings, etc..)
    2. Relocates the graphs and associated CSV files to your Klipper config folder for easy access via Mainsail/Fluidd to eliminate the need for SSH.
    3. Manages the folder by retaining only the most recent results (default setting of keeping the latest three sets).

Check out the detailed documentation of the Shake&Tune module here. You can also look at the documentation for each type of graph by directly clicking on them below to better understand your results and tune your machine!

Belts graph Axis input shaper graphs Vibrations graph

Note:

Be aware that Shake&Tune uses the Gcode shell command plugin under the hood to call the Python scripts that generate the graphs. While my scripts should be safe, the Gcode shell command plugin also has great potential for abuse if not used carefully for other purposes, since it opens shell access from Klipper.

Installation

Follow these steps to install the Shake&Tune module in your printer:

  1. Be sure to have a working accelerometer on your machine. You can follow the official Measuring Resonances Klipper documentation to configure one. Validate with an ACCELEROMETER_QUERY command that everything works correctly.
  2. Install the Shake&Tune package by running over SSH on your printer:
    wget -O - https://raw.githubusercontent.com/Frix-x/klippain-shaketune/main/install.sh | bash
  3. Then, append the following to your printer.cfg file and restart Klipper (if prefered, you can include only the needed macros: using *.cfg is a convenient way to include them all at once):
    [include K-ShakeTune/*.cfg]
    

Note:

Due to some breaking changes in the resonance testing code on the Klipper side, Shake&Tune has been modified to take advantage of this, and thus S&T v2.6+ will only support a Klipper version from Feb 17th 2024. If you are using an older version of Klipper, you must use S&T <=2.5.x

Usage

Ensure your machine is homed, then invoke one of the following macros as needed:

  • AXES_MAP_CALIBRATION to automatically find Klipper's axes_map parameter for your accelerometer orientation (be careful, this is experimental for now).
  • BELTS_SHAPER_CALIBRATION for belt resonance graphs, useful for verifying belt tension and differential belt paths behavior.
  • AXES_SHAPER_CALIBRATION for input shaper graphs to mitigate ringing/ghosting by tuning Klipper's input shaper system.
  • VIBRATIONS_CALIBRATION for machine and motors vibration graphs, used to optimize your slicer speed profiles and TMC drivers parameters.
  • EXCITATE_AXIS_AT_FREQ to sustain a specific excitation frequency, useful to let you inspect and find out what is resonating.

For further insights on the usage of these macros and the generated graphs, refer to the K-Shake&Tune module documentation.

klippain-shaketune's People

Contributors

frix-x avatar fragmon avatar shinanca avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.