Thank you so much!! 🙏 I'm converting my printer from Marlin to Klipper, and I could not set this rotation_distance right.. I used the conversion formula to get from steps/mm (Marlin) to rotation_distance: rotation_distance = * / For my X and Y axis that is: 400 * 32 / 397.75 (last value being calibrated value in Marllin) = 32.18 But when I entered thsi in Klipper, the movements where exactly double the length! (so I entered 16.1 as a quick fix) Turns out I was missing the full_steps_per_rotation variable in my printer.cfg file. (so when that is missing, Klipper assumes its 16 !) After setting that to 400, everything is solved now 😎
Excellent change, this makes it more consistent with the underlying math. One thing I *do* *not* approve of though is the definition of gear_ratio. gear1:gear2 is hopelessly ambiguous (and thus very unPythonic), you must change this to drive_grear:driven_gear
From an engineering (mechanical engineering) point of view this (gear1:gear2) is the right way, so it makes sense. However, I do understand your point.
I built a Voron 0.1 from a Formbot kit. Moving X by 120 didn’t actually move 120mm - it moved 123mm (from being off the bed on one side to being off the bed on the other side). It was easy to measure the bed and prove that the nozzle was moving further. I find it bizarre that I have to modify rotation distance to 41, even though it has 20-tooth pulleys and 2mm belt pitch. What do you reckon? What is the best way to correct for this discrepancy?
Does it matter which gear is listed first? Klipper documentation states “The common BMG extruder motor gears are an example of this - they are advertised as "3:1" but actually use "50:17" gearing.”
So..? By knowing pully teeth, belt pitch and gear ratio for x, y and z axis, that becomes the default numbers for rotational distance? Because when I print a 20x20x20mm cube, it's not 20x20x20mm. I figured out how to calculate e-steps. Seems there should be a calculation for the other stepper motors.
So, just too clarify for extruder, smaller the rotation_distance more filament extruder will push? As it would make more revelations of the motor to feed specific length?
Hello Eddie. Do you have made a mistake? In the voron 2 GIT hub, the z gear ratio is set to 80:16, but standard build is a ratio of 80:20, ins't it? Best regards Martin
The standard build uses a 16T on the stepper motor to the 80T gear. These two are the "gear_ratio" gears. Then, the drive pulley is 20T (which does into the rotation_distance) - 20T * 2mm :)
Mines set up as this just got it running and learning 😂 Changing from 20t to 16t gear on stepper Just change rotation distance from 40 to 32 if i understand right Thankyou great videos
@@eddietheengineer id imagine less teeth then you have more steps for shorter distance if im understanding things correctly Thanks for all the help from your videos its been a steep learning curve
quick question! I did the belted Z which uses the stock stepper with a 16t pulley, GT2 belts, (a big 80T ring gear with 188mm looped belt to keep the z axis from falling) and I was wondering in klipper my rotation distance is set to 8 with a microstep of 16 but I don't know if that is correct or not, x and y are set at 40
So, you can do a few ways here. You’d either define a rotation distance of 40 (20T drives the actual Z belt) and a gear ratio of 5, or you’d set it to 40/5=8. Both will get the same end result! And fortunately with rotation distance, microsteps don’t matter! So you can change those if you feel like it without changing your other settings
The best approach would be to change the rotation distance parameter-gear ratio is a physical representation and not an approximate value (you can’t have 17.1 teeth). The fine tuning for the rotation distance makes sense because depending on how compressed the filament is by the drive gears/idlers, the radius will change slightly.
Planetary extruders are a bit tricky. For instance, with a 10T sun gear and a 65T ring gear, the formula is 10/(65+10) = 1/7.5. This would be gear_ratio: 7.5:1 in Klipper.
@@eddietheengineer I'll have to read up a bit on it, but you might want to add that info in? I think with the orbiter extruder, QR and there are a few more.. But if I understand you correctly I can just ad in the gear ratio without the math behind it?
hope you can help. trying to understand this "math" I have a voron 2.4 with that 80:16 gear for z axis. and i'm running on 0.9 deg steppers on my z rotation_distance: 50 gear_ratio: 80:16 full_steps_per_rotation: 400 microsteps: 16 This is what i had to set to get my z to move correctly But what i'm trying to understand is how did i get that rotation_distance to 50. default voron config it set to 40 for a 1.8deg stepper Or i know how i got there. i manually changed my rotation distance for 2h until i got my z to move 100mm when telling it to move 100mm Do anyone have an explanation why my rotation distance is 50 and not 40, i thought that i only had to change full steps pr rotation from 200 to 400 and klipper would do the rest :O
I bet I can! If you have to use a rotation distance of 50 to get your printer Z to move properly, then I believe you likely used a 20T pulley instead of 16T on your Z motors. Changing the rotation distance to 50 should be the same as keeping the rotation distance at 40 and changing the gear_ratio to 80:20 😊
@@eddietheengineer oh your correct! i disassembled some parts and found out that i infact had used 20t pullys on my z motors :O Changed my Rotation distance to 40 and gear ration to 80:20 works perfectly! but i still have some problems understandig the math here. or somehow i think i do you said in the video that rotation_distance = pully teeth * belt pitch so my 20t pully x the gt 2 pitch of 2 20x2 = 40 BUT wouldn't that make the default voron 2.4 config to say rotation_distance 32 and not 40 ? rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 this is the default config from vorons github..
So, the rotation distance is for the pulley that drives the long vertical Z belts, which are 20T = 40mm. Then the gear reduction is an 80T and 16T, for the 80:16 gear ratio! Hopefully that makes sense
Bob Ross of 3DP
Thank you for simplifying this for us! Great video!!
Thank you so much!! 🙏 I'm converting my printer from Marlin to Klipper, and I could not set this rotation_distance right..
I used the conversion formula to get from steps/mm (Marlin) to rotation_distance:
rotation_distance = * /
For my X and Y axis that is: 400 * 32 / 397.75 (last value being calibrated value in Marllin) = 32.18
But when I entered thsi in Klipper, the movements where exactly double the length! (so I entered 16.1 as a quick fix)
Turns out I was missing the full_steps_per_rotation variable in my printer.cfg file. (so when that is missing, Klipper assumes its 16 !)
After setting that to 400, everything is solved now 😎
Congratulations .... Much more easy and clear config parameters.
Excellent change, this makes it more consistent with the underlying math.
One thing I *do* *not* approve of though is the definition of gear_ratio. gear1:gear2 is hopelessly ambiguous (and thus very unPythonic), you must change this to drive_grear:driven_gear
That's a great point! It could be confusing which is first and which is second.
From an engineering (mechanical engineering) point of view this (gear1:gear2) is the right way, so it makes sense. However, I do understand your point.
thank you for the video and all your work on the voron great job !!
Thanks Roy!
I built a Voron 0.1 from a Formbot kit. Moving X by 120 didn’t actually move 120mm - it moved 123mm (from being off the bed on one side to being off the bed on the other side). It was easy to measure the bed and prove that the nozzle was moving further. I find it bizarre that I have to modify rotation distance to 41, even though it has 20-tooth pulleys and 2mm belt pitch. What do you reckon? What is the best way to correct for this discrepancy?
i have same issue printer should be moving 20mm but its moving 24ish XD
3D printing never gets in the average joe households with a nerd paradise usabilty like this. run investor run
Does it matter which gear is listed first? Klipper documentation states “The common BMG extruder motor gears are an example of this - they are advertised as "3:1" but actually use "50:17" gearing.”
Thank you, this helped lots.
So..? By knowing pully teeth, belt pitch and gear ratio for x, y and z axis, that becomes the default numbers for rotational distance? Because when I print a 20x20x20mm cube, it's not 20x20x20mm. I figured out how to calculate e-steps. Seems there should be a calculation for the other stepper motors.
I have the same issue . I mArlin I can alterthe Steps/mm. to correct. How /what do I alter in Klipper
Sorry for the delayed response! a 20T GT2 pulley would be 40mm of rotation distance (20T * 2mm belt pitch)
The real doctor no! Finally revealed.
So, just too clarify for extruder, smaller the rotation_distance more filament extruder will push? As it would make more revelations of the motor to feed specific length?
very clear and helpful, thank you .
Hello Eddie. Do you have made a mistake? In the voron 2 GIT hub, the z gear ratio is set to 80:16, but standard build is a ratio of 80:20, ins't it? Best regards Martin
The standard build uses a 16T on the stepper motor to the 80T gear. These two are the "gear_ratio" gears. Then, the drive pulley is 20T (which does into the rotation_distance) - 20T * 2mm :)
Do you know what the step distance is for the Bondtech LGX?
Mines set up as this just got it running and learning 😂
Changing from 20t to 16t gear on stepper
Just change rotation distance from 40 to 32 if i understand right
Thankyou great videos
That’s correct! Glad you enjoyed the video 😊👍🏼
@@eddietheengineer great thankyou
@@eddietheengineer whats best more or less teeth?
For resolution without gear ratios changing things
@@eddietheengineer id imagine less teeth then you have more steps for shorter distance if im understanding things correctly
Thanks for all the help from your videos its been a steep learning curve
quick question! I did the belted Z which uses the stock stepper with a 16t pulley, GT2 belts, (a big 80T ring gear with 188mm looped belt to keep the z axis from falling) and I was wondering in klipper my rotation distance is set to 8 with a microstep of 16 but I don't know if that is correct or not, x and y are set at 40
So, you can do a few ways here. You’d either define a rotation distance of 40 (20T drives the actual Z belt) and a gear ratio of 5, or you’d set it to 40/5=8. Both will get the same end result!
And fortunately with rotation distance, microsteps don’t matter! So you can change those if you feel like it without changing your other settings
Two in one day!
Nice one Eddie
I was debating posting this tomorrow--but it was done, so I had to go for it! :) It helps when everything is set up and relatively clean
thanks for putting this video up! curious how one would do extruder fine tuning with this new approach, change the gear ratio?
The best approach would be to change the rotation distance parameter-gear ratio is a physical representation and not an approximate value (you can’t have 17.1 teeth). The fine tuning for the rotation distance makes sense because depending on how compressed the filament is by the drive gears/idlers, the radius will change slightly.
@@eddietheengineer thanks!
Does that method work the for axis movement fine tuning
How do one go about and enter gears for a planetary gearbox?
For example a QR extruder
Planetary extruders are a bit tricky. For instance, with a 10T sun gear and a 65T ring gear, the formula is 10/(65+10) = 1/7.5. This would be gear_ratio: 7.5:1 in Klipper.
@@eddietheengineer I'll have to read up a bit on it, but you might want to add that info in?
I think with the orbiter extruder, QR and there are a few more..
But if I understand you correctly I can just ad in the gear ratio without the math behind it?
hope you can help. trying to understand this "math"
I have a voron 2.4 with that 80:16 gear for z axis. and i'm running on 0.9 deg steppers on my z
rotation_distance: 50
gear_ratio: 80:16
full_steps_per_rotation: 400
microsteps: 16
This is what i had to set to get my z to move correctly
But what i'm trying to understand is how did i get that rotation_distance to 50. default voron config it set to 40 for a 1.8deg stepper
Or i know how i got there. i manually changed my rotation distance for 2h until i got my z to move 100mm when telling it to move 100mm
Do anyone have an explanation why my rotation distance is 50 and not 40, i thought that i only had to change full steps pr rotation from 200 to 400 and klipper would do the rest :O
I bet I can! If you have to use a rotation distance of 50 to get your printer Z to move properly, then I believe you likely used a 20T pulley instead of 16T on your Z motors. Changing the rotation distance to 50 should be the same as keeping the rotation distance at 40 and changing the gear_ratio to 80:20 😊
@@eddietheengineer oh your correct! i disassembled some parts and found out that i infact had used 20t pullys on my z motors :O
Changed my Rotation distance to 40 and gear ration to 80:20 works perfectly!
but i still have some problems understandig the math here. or somehow i think i do
you said in the video that rotation_distance = pully teeth * belt pitch so my 20t pully x the gt 2 pitch of 2 20x2 = 40
BUT wouldn't that make the default voron 2.4 config to say rotation_distance 32 and not 40 ?
rotation_distance: 40
gear_ratio: 80:16
microsteps: 32
this is the default config from vorons github..
So, the rotation distance is for the pulley that drives the long vertical Z belts, which are 20T = 40mm.
Then the gear reduction is an 80T and 16T, for the 80:16 gear ratio! Hopefully that makes sense
@@eddietheengineer it all makes sense now! :) ty for helping me understand that ;)
What a smart guys.
Cat!
Ender 3 please
DOOM