Shutdown: Timer too close when running TEST_RESONANCES/SHAPER_CALIBRATE

I get the infamous error “Timer too close” when running TEST_RESONANCES or SHAPER_CALIBRATE.
Environment:

  • Delta Kinematic
  • Stepper settings:
[stepper_?]
step_pulse_duration: 0.000000190
rotation_distance: 32
microsteps: 16
full_steps_per_rotation: 400
homing_speed: 120
  • Klipper host:
Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
64bit x86_64 with 8 cores

The error occures at approx. 70Hz.
Here’s the sar output when the error occures

17:10:37        CPU     %user     %nice   %system   %iowait    %steal     %idle
17:10:38        all      0,87      0,00      0,50      0,00      0,00     98,63
17:10:39        all      0,88      0,00      0,38      0,00      0,00     98,74
17:10:40        all      0,75      0,00      0,63      0,00      0,00     98,62
17:10:41        all      1,00      0,00      0,38      0,00      0,00     98,62
17:10:42        all      0,88      0,00      0,63      0,00      0,00     98,50

I only got a working shaper by decreasing the µStep to 8…

Due to the special Delta kinematic the MCU needs to create a lot more steps than for a Cartesian one. Looks like your board cannot create enough steps without lagging behind.
Post a klippy.log showing the issue.

Last year (july) I successfully run those tests with 1.8° Stepper and 32µSteps with the same hardware (Printer & MCU).

I also tried with and without STEP_ON_BOTH_EDGES. With “off” the shutdown should occure much earlier because of doubling the MCU load. But - interestingly enough - the error was in the same frequency range.

klippy.zip (27.9 KB)

Can you post a full unmodified log?

Just spitballing, but I think the acceleration changed from 7k to 10k during the test but I’m not sure if that would explain what you are seeing.

No, because I get also failures when testing Y axes - and here it fails already at ~70Hz.
Attached yesterdays and todays log. Today I had to go down to 4uszep to run a successfull calibrate.
klipper_all.zip (3.4 MB)

Now you apparently upgraded to 0.9 steppers. I’m by no means a Delta expert, but to my knowledge it needs all 3 axes to either move in X or Y direction. With doubling the steps on one axes, this means 6-folding it, when all 3 axes are used, right?

Yes, but I also reduced the uSteps to the half - compared to last year. So 0.9 * 16uSteps compared to 1.8*32 uSteps. That’s no difference in steps/rotation.
Addendum: last year I used a 2-core, 1.6GHz host. Now I used a 8-core with 3.5GHz each.
And - according to the doc - Timer too close means the host can’t handle the load…

My understanding is that you still have a factor of 3:
3 steppers x 2 (.9 stepper) / 0.5 (uSteps) = 3

Virtualized?

No - plain hardware.
And no - steps/rotation is the same on each axis. So the sum is the same…

So, finally it showed that the mcu (MKS Robin Mini) was simply too weak.
Switched over to a Supernova board - now it runs fine with 128µSteps…