forked from Klipper3d/klipper
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added an STL for calibration, some gcode macros to the sample idex config, and an entire document on configuring an idex printer. Signed-off-by: Charles Pickering <[email protected]>
- Loading branch information
1 parent
3176150
commit 9d43291
Showing
6 changed files
with
156 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
This document provides **general** information on configuring and | ||
calibrating a standard IDEX printer. Klipper has support for very | ||
complex IDEX configurations, with multiple hotends and extruders on a | ||
single carriage, independent or grouped cooling fans, and much more, | ||
which are not covered in this document. | ||
|
||
# General configuration | ||
Start with studying, and possibly using parts of the [example config](../config/sample-idex.cfg) | ||
for IDEX printers. It has some distinct items that you may or may not | ||
wish to use. | ||
* Definition for `dual_carriage` on the X-axis, which you can change to | ||
be on the Y axis if that is how your printer is configured. | ||
* Sample macros for parking and switching toolheads. You should check | ||
these to make sure they make sense for your setup and update the | ||
position values with those that match your printer | ||
* Configuration for multiple part cooling fans. The `[fan]` module in | ||
Klipper only supports a single controllable fan. If you would like to | ||
have independently controlled part cooling fans, do not configure a | ||
`[fan]` section and use the template provided in the file. | ||
* A macro for calibrating carriage separation described later in this | ||
document. | ||
|
||
# Tuning | ||
If you want to use both extruders to print different features of a | ||
single object, Klipper will need to know the positions of the extruders | ||
relative to each other. | ||
|
||
Because Klipper configures this by the endstop position, you will | ||
need to calibrate your [rotation distance](Rotation_Distance.md) first. | ||
|
||
## Step 1 (~5mm) | ||
Start by literally eyeballing it. Put a piece of tape on your bed or | ||
use a line or other graphic already on your bed as a reference point. | ||
|
||
Move the first carriage to this point and note it's position on the | ||
axis with both carriages. Then, park carriage 1, and move carriage 2 to | ||
the same physical position. Note it's position (where Klipper "thinks" | ||
it is) and calculate the difference. | ||
|
||
In a standard setup where the carriages home to the sides with the | ||
primary on the left, you move the logical coordinate system for the | ||
secondary extruder to the right by lowering it's `position_endstop` | ||
value. | ||
|
||
Once you are within a few mm of accuracy, proceed to step 2 | ||
|
||
## Step 2 (~1mm) | ||
Configure the `calibrate_separation` macro in [the sample config](../config/sample-idex.cfg) | ||
for your bed size and dual_carriage axis, and add heating commands to | ||
it for the filament you'll be using. | ||
|
||
Load filament in both extruders, and run the macro. | ||
|
||
The test with the standard axis configuration should look as follows: | ||
|
||
![measuring print](img/separation-lines.png) | ||
|
||
Note the lines should be colinear. If they are not, adjust your | ||
`position_endstop` setting as noted in step 1. Once they are visually | ||
aligned, proceed to step 3. | ||
|
||
## Step 3 (~0.05mm) | ||
While the measuring process of this step accounts for symmetric | ||
horizontal expansion, you will likely achieve better results by | ||
calibrating the flow, temperature, and pressure advance for the | ||
filament you'll be using first. You'll also do better with a filament | ||
that is known to have better dimensional stability. Look for filaments | ||
that can be printed without a heated bed. | ||
|
||
Use a slicer to generate g-code for the multi-part print found in | ||
[docs/prints/calibrate_idex.stl](prints/calibrate_idex.stl). | ||
Align the slot down the middle with the axis of your `dual_carriage`. | ||
Configure your slicer to print the 2 parts using extruders on opposite | ||
carriages. I highly recommend using identical filaments printed with | ||
the same temperature, etc. Nothing else matters as long as the wall | ||
quality is smooth. Print the object. | ||
|
||
Use calipers to measure the inner and outer distances as follows. | ||
Average your inner and outer measurements, calculate the difference | ||
from the nominal value (which is 40mm), and adjust your `position_endstop` | ||
setting as noted in step 1. | ||
|
||
![measuring print](img/separation-block.png) | ||
|
||
# Next steps | ||
At this point you should re-tune your mins and maxes for each axis when | ||
the other is parked by issuing slow, small movements until they | ||
collide. | ||
|
||
Configure a homing override to make sure that the inactive carriage is | ||
fully parked in all scenarios. | ||
|
||
If you want to use [input shaping](Resonance_compensation.md), | ||
calibrate the input shaper for each carriage separately and add g-code | ||
to your `T0` and `T1` etc commands to configure the input shaper when | ||
the active carriage changes. | ||
|
||
Print a few objects to ensure everything is working as expected! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.