Code Monkey home page Code Monkey logo

klipper-z-tramming's Introduction

Z Tramming for Klipper

Z Tramming for 3d printers running Klipper, that do not have separate drivers for the z axis.

Why should you use this?

If the printer is not perfectly square, the z axis will not move in level. This means your nozzle could be at different heights at different sides of the bed.

Some 3d printers, like the Sovol SV06, do not have separate drivers for the z axis. Thus automatic calibration of the axis is not possible, as the motors are not independent.

This is a solution to this problem. But it requires some manual adjustments of the z axis motors.

How does it work?

The macro probes each side of the bed, then calculates the amount you need to rotate one of the motor screws. If we have to rotate clockwise by 1 hour and 20 minutes, it means that we need to rotate the motor 1 full rotation for the hour, then another third of a rotation for the 20 minutes. Calculation is done using the lead of your lead screw. This is the only input you need to provide.

As more people use this and contribute, I will strive to keep a list so that it becomes easy.

How to use it?

Simply run the Z_TRAMMING in your console. Your printer will probe and then use Mainsail's prompt to inform you what to do next. Continue till you are happy.

โš ๏ธ WARNING: This macro will disable your z stepper without informing Klipper. Ensure you run G28 Z if you abort without using the prompt. See this for the reason.

How to install it?

To ease installation, there is a script you can simply curl and execute.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Jomik/klipper-z-tramming/main/install.sh)"

Then you only need to configure your lead screw lead. See How to configure it?.

Manual installation

  • Clone this repository to your printer's Klipper host.
git clone https://github.com/Jomik/klipper-z-tramming.git ~/z_tramming
  • Symlink it to your config folder.
ln -s ~/klipper-z-tramming/macros/z_tramming.cfg ~/printer_data/config/z_tramming
  • Copy the z_tramming_settings.cfg to your config folder.
cp ~/klipper-z-tramming/macros/z_tramming_settings.cfg ~/printer_data/config/z_tramming_settings.cfg
  • Include the macros in your printer.cfg by adding these lines:
[include z_tramming_settings.cfg]
[include ./z_tramming/z_tramming.cfg]
  • Add the repo to moonraker
cat >>$HOME/printer_data/config/moonraker.conf <<EOF
[update_manager Z_Tramming]
type: git_repo
channel: dev
path: ~/z_tramming
origin: $origin
managed_services: klipper
primary_branch: main
EOF

How to configure it?

Open z_tramming_settings.cfg and uncomment the line with variable_screw_lead, set the number to your lead. The lead is the distance the screw moves in one rotation. It is calculated by multiplying the pitch with the number of starts of the screw. So a 2mm pitch, 4 start screw has a lead of 8mm. You can look at the examples in the file for some known values.

Alternatives

klipper-z-tramming's People

Contributors

jomik avatar

Stargazers

 avatar

Watchers

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