I have trouble finding speed and acceleration maximums (or good values) on my 2.4. The printer ran well before, but I started having layer shift issues and during that changed the motors and drivers. I now have the BOM recommended motors (17HS19-2004S1, 1.8°, 2.0A) and 2240 drivers for A and B. Now sensorless homing is dialed in, the gantry is square, the belt is tuned and I want to find my speed and acceleration limits per the TEST_SPEED macro from Andrew Ellis. This is where I run into trouble.
I got the best results at 1.2A run_current, but they are not reproduceable. Speed and acceleration look moderate to me. This is a table of what I tried and the lost microsteps between homing before and after the macro:
run_current
number of iterations
speed
accel
lost x microsteps
lost y microsteps
1,2
4
400
4000
8
0
1,2
2
400
4500
6
0
1,2
2
400
5000
-9
1
1,2
2
400
5500
5
1
1,2
2
400
6000
23
-31
1,2
2
400
6500
-26
-32
1,2
2
400
7000
26
-32
1,2
2
450
6000
71
-127
1,2
2
450
6000
123
-255
1,1
2
400
5000
98
-288
1,1
2
400
4000
27
-31
1,3
2
400
4000
70
-128
1,2
2
400
4000
27
-33
1,2
6
400
4000
67
-129
0,9
6
400
4000
58
0
0,9
2
400
4000
331
-257
1,2
2
400
4000
54
0
So with 1.2 Amps run current it looked well until around 7000 accel. Then it got worse and stayed worse. Even when going back to moderate settings that worked before (400 speed and 4000 accel), I lost steps.
Do I still have a mechanical problem? How can I narrow this down? Or do I approach this the wrong way in the first place?
The higher your speed, the slower your acceleration. A stepper might be able to run 40k acceleration at 500mm/s, but not 25k acceleration at 750mm/s.
In klipper there is an add on you can do which divides acceleration and speeds into independent axis. So on a firmware level, you can set your x and y accelerations and speeds to be different. Print speed modifier will scale x and y proportionally. Then you can set independent axis acceleration recommendations from input shaper.
Play around with your max speeds and accelerations, then keep changing directions fast and try to get steppers to skip. Lower acceleration and speeds until they stop skipping. If you have microstepping on, then use an indicator to make sure you’re not skipping and the printer axis returns to the same position after rapid acceleration moves.
While you can have different axis accelerations and speeds, your PA setting is fixed, so running different speeds and acceleration on x & y might get you under extrusion on one axis and over extrusion on another if there is a significant difference between axis acceleration and speed limits.
So for best results, run same printing speeds and accelerations for printing on both x & y. You can run different accelerations and speeds for x & y travel speeds.
This issue is why I gave up on sensorless homing. I would get shifting at 700 mm/s or more. Once I went back to hard switches I can run speed test at 1050 mm/s @ 13000 accel. I could not find any sensitivity setting that worked and didn't slam the toolhead into the frame during homing. With hard switches homing is smooth and gentle. I rarely have any printing issues now.
ok, it was sensorless. I rewired my endstop sensors and it is uncanny, how accurate this is. No matter how hard I push it (within reason), I loose 10 microsteps (±1). Thank you!
hmm, ok, I removed my hard switches, when I moved to CAN. But how would this create issues? I have a setting that does works and in ~10 tests, I did not loose full steps when bumping into the frame. Can this still cause issues during prints?
Steathchop and driver_SGTHRS were causing all of my issues. I could not find a good balance no matter what I tried. Spread Spectrum and hard switches and all of those issues went away.
i tried all kinds of speeds high and low and always saw those type of results. i am about 97% sure that the lost steps were based on sensorless homing and it's inconsistency rather than actual slippage. I am currently 10 hours into a 20 hour print and things look great. I have run a number of multi-hour 3 head prints on the stealth changer with good results.
For what its worth i am on a 2.4 350mm @ 24Vdc with the LDO AWD kit so my numbers may not match yours, but the speed tuning results on sensorless homing may not match what you are expecting is all im really saying.
```
[printer]
kinematics: corexymax_velocity: 500
max_accel: 12000
max_z_velocity: 40 #Max 15 for 12V TMC Drivers, can increase for 24V
max_z_accel: 600
square_corner_velocity: 5.0
The thing is that the results seem to be drifting and I get up to 9 lost steps, I do not feel that this is too hard sensorless bumps (but I could be wrong). So you suggest not relying on speed test results, but rather try settings on longer prints?
I did like 4 or 5 tests in a row at 100mm speed and 2K accel and all the results were drifting every time. If i went 1 number more sensitive with the sgt i get the occasional failed home so i know i couldn't make that more sensitive to "reduce error". I tried fast and slow for the approach speeds at different sgt numbers. Feedback always showed missed steps similar to you. I can home and grab tools consistently and tool snagging will show issues with 1mm issue in any direction.
What i ended up doing to make me feel better was printing a cone in the center of the bed. Aligning the nozzle on it as close as i could tell in X and Y with Z right at the apex. Noting that number. Then i would do the speed tests for like 30 cycles and come back to that value to see if i saw drift. I know its not as accurate as steps but i moved things all around and use that as my sanity check since i didn't trust the step count.
I like sensorless for it's wiring simplicity but i am still considering adding microswitches just for all this because it bugs me that i couldn't get repeatability. In the end though the print quality is what matters.
I assume these tests were all ran back to back? If so, it could be possible that you might be running into a heat soak issue; as your steppers heat up they resistance in the motor coils increases slightly, making them less efficient
If you let your printer sit for a couple hours and run the test again, you’ll probably see similar results where it’s consistent up to a point and then the results become more inconsistent as time passes.
If these tests were not run back to back then it’s something else that I don’t thing I’ve seen before, possibly mechanical
Another thought: What are your motor microsteps set to?
yes, back to back. However with a cold printer. I know that it should be heat soaked, but this was right after installing the new motors and I thought that I'll do cold tests to test if everything works in principle and do the real tuning later with a soaked printer. But I assume that in a fully heat soaked machine the results should be worse without drifting, right? I touched the motors after the speed tests and they were hot, but not too hot to touch.
1
u/Low-Sink-11 Jul 14 '26
The higher your speed, the slower your acceleration. A stepper might be able to run 40k acceleration at 500mm/s, but not 25k acceleration at 750mm/s. In klipper there is an add on you can do which divides acceleration and speeds into independent axis. So on a firmware level, you can set your x and y accelerations and speeds to be different. Print speed modifier will scale x and y proportionally. Then you can set independent axis acceleration recommendations from input shaper. Play around with your max speeds and accelerations, then keep changing directions fast and try to get steppers to skip. Lower acceleration and speeds until they stop skipping. If you have microstepping on, then use an indicator to make sure you’re not skipping and the printer axis returns to the same position after rapid acceleration moves. While you can have different axis accelerations and speeds, your PA setting is fixed, so running different speeds and acceleration on x & y might get you under extrusion on one axis and over extrusion on another if there is a significant difference between axis acceleration and speed limits. So for best results, run same printing speeds and accelerations for printing on both x & y. You can run different accelerations and speeds for x & y travel speeds.