How do i calibrate my steps with klipper - in marlin it was easy and many tutorials are around - but how it goes with klipper `?
Do the same calibration as with ANY printer and then divide the result by 1 to get mm/step rather steps/mm.
ok - and where i put my result in ?
Err, look at the example configuration files. They will show you all the options and are well commented. You need to set the step_distance parameter, e.g.
https://github.com/KevinOConnor/klipper/blob/master/config/example.cfg#L33
mhhhh i mean extrusion steps - so i messure my filament- extrude 10*10 got 21mm left and than ? sorry im not sooooo familiar with all these things
There are lots of "howtos" online about how to do this:
https://mattshub.com/2017/04/19/extruder-calibration/
I am not sure what else you really need to know... The extruder configuration is also in the same example file:
https://github.com/KevinOConnor/klipper/blob/master/config/example.cfg#L94
I don't know whether this is important or not. But you have to round the calculated value to 6 digest.
So, if you are getting a value like this: 0.00952380952380952380952380952381 you should round it to 0,009524 (or ..23). But maybe this is done automatically by the python script that reads the configuration.
If i want to sen M503 it says command does not exist - thats my problem - if i follow one of these how tos it wont work with klipper that way :/ so i want to know how i can calibrate my esteps under klipper
Why do you need to send M503? There is no "EEPROM" in klipper. Current settings are in your printer.cfg file.
M503 is not needed to calibrate the steps. You will find your current values (step_distance:) in the printer.cfg file.
now its clear ! thank you very much ! got it !
actually i have step_distance: .0105 with my ant a8
i have meassured after extrude 100mm for example 10mm left than i got 90 extruded
so 100 - 10= 90
105 * 100 =10500
10500 / 90 = 116
so my new steps in cfg should be 0.0116 ? is that correct math ?
Most online tutorials are assuming step/mm (used by Marlin and others) instead of mm/step used by Klipper. You need to invert the measured/expected ratio, in this case it's (90/100)*0.0105=0.00945 .
@xsasx I would calc it like this:
1) Mark you filament 120mm above the entry to your extruder.
2) Heat up the nozzle to your desired printing temperature
3) Home all axis to get in "printer ready" state
4) Lift up your nozzle by 50mm (to make room for the filament!)
5) Execute the following commands (one by one)
5a) G92 E0
This resets the "extruded material" value to 0.
5b) G1 E100 F100
This extrudes 100mm filament with 100mm/min.
6) Now measure the distance between your extruder entry and the mark on your filament.
I.e if it is 28mm instead of 20mm (120mm - 100mm) than you are UNDERextruding by 8mm ==> 92mm instead of 100mm. If it shows 15mm than your are OVERextruding by 5mm ==> 105mm.
Now calc:
c := current value in configuration.cfg
m := measured left over filament
d := desired mm
n := new value for configuration.cfg
((120 - m) / d) * c = n
((120 - 28) / 100) * 0.010500 = 0,009660
(92 / 100) * 0.010500 = 0,009660
As you can see, for underextrusion the new value is lower than the old one.
You may play around with the last two numbers to fine tune.
It looks like the original question was answered, so I'm going to close this issue.
-Kevin
I still don't get it why Klipper switches the whole quasi standard of steps/mm into step distance. But then again I am free to use Klipper or let it be. Am I right ;)
FYI, it's done that way to use consistent measurement units in the config file - mm for distance, amps for current, volts for voltage, seconds for time, ohms for resistance, etc. I know it's different from other firmware, but it's just weird to configure this one parameter in units of inverse millimeters.
-Kevin
i agree with the consistency, I put a note in my config file so I don't forget:
# Measure 120mm, then extrude 100mm
# G1 E100 F100
# step_distance = old_e_steps * ((120 - distance_to_mark) / 100)
@xsasx I would calc it like this:
- Mark you filament 120mm above the entry to your extruder.
- Heat up the nozzle to your desired printing temperature
- Home all axis to get in "printer ready" state
- Lift up your nozzle by 50mm (to make room for the filament!)
- Execute the following commands (one by one)
5a) G92 E0
This resets the "extruded material" value to 0.
5b) G1 E100 F100
This extrudes 100mm filament with 100mm/min.- Now measure the distance between your extruder entry and the mark on your filament.
I.e if it is 28mm instead of 20mm (120mm - 100mm) than you are UNDERextruding by 8mm ==> 92mm instead of 100mm. If it shows 15mm than your are OVERextruding by 5mm ==> 105mm.
Now calc:
c := current value in configuration.cfg
m := measured left over filament
d := desired mm
n := new value for configuration.cfg((120 - m) / d) * c = n
((120 - 28) / 100) * 0.010500 = 0,009660
(92 / 100) * 0.010500 = 0,009660As you can see, for underextrusion the new value is lower than the old one.
You may play around with the last two numbers to fine tune.
It would be absolutely awesome for people new to Klipper if this appeared in the "getting started" document. It is quite a culture shock coming from Marlin and this would be a great help, in my opinion.
Most helpful comment
@xsasx I would calc it like this:
1) Mark you filament 120mm above the entry to your extruder.
2) Heat up the nozzle to your desired printing temperature
3) Home all axis to get in "printer ready" state
4) Lift up your nozzle by 50mm (to make room for the filament!)
5) Execute the following commands (one by one)
5a) G92 E0
This resets the "extruded material" value to 0.
5b) G1 E100 F100
This extrudes 100mm filament with 100mm/min.
6) Now measure the distance between your extruder entry and the mark on your filament.
I.e if it is 28mm instead of 20mm (120mm - 100mm) than you are UNDERextruding by 8mm ==> 92mm instead of 100mm. If it shows 15mm than your are OVERextruding by 5mm ==> 105mm.
Now calc:
c := current value in configuration.cfg
m := measured left over filament
d := desired mm
n := new value for configuration.cfg
((120 - m) / d) * c = n
((120 - 28) / 100) * 0.010500 = 0,009660
(92 / 100) * 0.010500 = 0,009660
As you can see, for underextrusion the new value is lower than the old one.
You may play around with the last two numbers to fine tune.