KISSY is born and added a banner to the README

This commit is contained in:
Félix Boisselier
2023-10-15 21:20:04 +00:00
parent 15109e6603
commit ed079a1343
10 changed files with 36 additions and 35 deletions

View File

@@ -1,49 +1,51 @@
# Klippain Input Shaper standalone module
# KISSY: Klippain Input Shaper SYstem
This standalone Klippain module is the best way to automate and calibrate the input shaper sytem on your machine with a streamlined workflow. It's a two part system and here is how it works:
1. Using specialy tailored Klipper macros, it first run either some tests for the belts or for the printer X/Y axis. The goal is to measure the machine axes behavior using an ADXL345 hooked to your machine toolhead.
2. Then, it automatically call some Python scripts that automate a few things:
1. it generate some custom made graphs that should give you all the insights of what is happenning in your machine. The goal is to get the best set of parameters for the Klipper `[input_shaper]` system (including best shaper choice, resonant frequency and damping ratio), or diagnose and fix the mechanical problems like belt tension, etc...
2. it then move the graphs and associated CSVs files to your Klipper config folder to allow you to find them directly using Mainsail/Fluidd (no more SSH is needed to calibrate your input shaper!)
3. it manage the folder to delete the older files and keep only a set (default is three) of the most recent results.
KISSY *Klippain Input Shaper System* is a module from the [Klippain](https://github.com/Frix-x/klippain) ecosystem, designed to automate and calibrate the input shaper system on your Klipper 3D printer with a streamlined workflow and insightful vizualisations.
> **Note**
>
> This input shaper workflow module is part of the [Klippain](https://github.com/Frix-x/klippain) ecosystem. If you're already using a full Klippain installation on your machine, this is still directly included and nothing more need to be installed to use it!
![KISSY](./docs/kissy.png)
When you have your graphs, you can get some hints on how to read and interpret them in [my IS graphs documentation](./docs/input_shaper.md).
It operates in two steps:
| Belts resonances example | X resonances example | Y resonances example | Vibrations measurement example |
|:------------------------:|:--------------------:|:--------------------:|:------------------------------:|
| ![belts resonances example](./docs/images/resonances_belts_example.png) | ![X resonances example](./docs/images/resonances_x_example.png) | ![Y resonances example](./docs/images/resonances_y_example.png) | ![vibration resonances example](./docs/images/vibrations_example.png) |
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:
a. 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..)
b. Relocates the graphs and associated CSV files to your Klipper config folder for easy access via Mainsail/Fluidd to eliminate the need for SSH.
c. Manages the folder by retaining only the most recent results (default setting of keeping the latest three sets).
> **Note**:
>
> KISSY is part of the [Klippain](https://github.com/Frix-x/klippain) ecosystem. If you already have a full Klippain installation on your machine, no additional installation is required for you!
If needed, refer to [my IS graphs documentation](./docs/input_shaper.md) for tips on interpreting the generated graphs.
| Belts graphs | X graphs | Y graphs | Vibrations measurement |
|:----------------:|:------------:|:------------:|:---------------------:|
| ![](./docs/images/resonances_belts_example.png) | ![](./docs/images/resonances_x_example.png) | ![](./docs/images/resonances_y_example.png) | ![](./docs/images/vibrations_example.png) |
## Installation
If you're not using the full Klippain, here are the steps to install it in your own config:
1. Add the [is_workflow folder](./../../scripts/is_workflow/) at the root of your own config (ie. in your `~/printer_data/config/` directory).
2. Be sure to have the `gcode_shell_command.py` Klipper extension installed. Easiest way to install it is to use the advanced section of KIAUH.
3. Make the scripts executable using SSH. When in the folder (`cd ~/printer_data/config/is_workflow/scripts`), use:
For those not using the full [Klippain](https://github.com/Frix-x/klippain), follow these steps to integrate KISSY in your setup:
1. Add the [KISSY folder](./KISSY/) and its contents to the root of your config directory (e.g., `~/printer_data/config/`).
2. Ensure the `gcode_shell_command.py` Klipper extension is installed. Use the advanced section of [KIAUH](https://github.com/dw-0/kiauh) for a straightforward installation.
3. Make the scripts executable via SSH within the folder (`cd ~/printer_data/config/KISSY/scripts`):
```bash
chmod +x ./is_workflow.py
chmod +x ./graph_belts.py
chmod +x ./graph_shaper.py
chmod +x ./graph_vibrations.py
```
4. Add the following at the end of your `printer.cfg` file:
4. Append the following to your `printer.cfg` file:
```
[include is_workflow/*.cfg]
[include KISSY/*.cfg]
```
## Usage
Be sure your machine is homed and then call one of the following macros:
- `BELTS_SHAPER_CALIBRATION` to get the belt resonnance graphs. This is usefull to verify the belts tension, but also to check if the belt paths are OK.
- `AXES_SHAPER_CALIBRATION` to get the input shaper graphs and suppress the ringing/ghosting artefacts in your prints by setting correctly Klipper's [input_shaper] system.
- `VIBRATIONS_CALIBRATION` to get the machine vibrations graphs and select the best speeds for your slicer profile.
- `EXCITATE_AXIS_AT_FREQ` to maintain a specific excitation frequency in order to let you inspect and find out what is resonating.
Ensure your machine is homed, then invoke one of the following macros as needed:
- `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 vibration graphs to optimize your slicer speed profiles.
- `EXCITATE_AXIS_AT_FREQ` to sustain a specific excitation frequency, useful to let you inspect and find out what is resonating.
Then, look for the results in the results folder. You can find them directly in your config folder by using the WebUI of Mainsail/Fluidd. You can get some hints on the results in my documentation about how to [read and interpret the IS graphs](./docs/input_shaper.md).
Retrieve the results from the results folder, accessible directly via Mainsail/Fluidd WebUI. For further insight on reading the results, refer to my documentation on [interpreting the IS graphs](./docs/input_shaper.md).