RRF 3.4 input shaping preview available
-
@dudek23 thanks for the feedback!
-
@dudek23 yes different frequencies and different shapers for the different axis would be a nice option
-
@cr3d an issue with using different shapers for different axes is that the axes will no longer move exactly in sync during acceleration and deceleration. For example, corners printed at 45deg to X and Y may become less square. However, I can make different shapers per axis an option to try, at least on Duet 3.
-
@dc42 how does klipper handle this? only curious how its done? are they syncing axis then?
-
@pcr said in RRF 3.4 input shaping preview available:
@dc42 how does klipper handle this? only curious how its done? are they syncing axis then?
Good question! The Klipper docs mention "smoothing" but don't elaborate. They also suggest use of low acceleration.
-
@dc42 https://github.com/KevinOConnor/klipper/blob/master/klippy/chelper/kin_shaper.c
static double shaper_xy_calc_position(struct stepper_kinematics *sk, struct move *m , double move_time) { struct input_shaper *is = container_of(sk, struct input_shaper, sk); if (!is->sx.num_pulses && !is->sy.num_pulses) return is->orig_sk->calc_position_cb(is->orig_sk, m, move_time); is->m.start_pos = move_get_coord(m, move_time); if (is->sx.num_pulses) is->m.start_pos.x = calc_position(m, 'x', move_time, &is->sx); if (is->sy.num_pulses) is->m.start_pos.y = calc_position(m, 'y', move_time, &is->sy); return is->orig_sk->calc_position_cb(is->orig_sk, &is->m, DUMMY_T); }
i am no coder but looks like the calculating it
-
@dc42 ah i think klipper can only use one shaper for x and y but diffrent freq.
So i think different freq. per axis should be possible?
-
@pcr if you use different frequencies per axis, the axes will move out of step. But the amount of out-of-step movement may be small enough to be acceptable, especially if the accelerations are low. It makes no difference whether the same or different input shapers are used per axis.
-
Sorry dc42 I have to contradict you. Without doing X and Y separately, it won't work properly and properly. Out of interest, I looked at clippers last week and took a measurement. As a result you get the following graphs and also the suggestions for the frequency and the shaper. and these are always different for X and Y.
In addition, you will also receive a recommendation for the respective max.accelerations per axis ...
-
@cr3d said in RRF 3.4 input shaping preview available:
Sorry dc42 I have to contradict you.
Which bit of my post are you contradicting?
-
@dc42 I was able to do a print and captured some stepper errors with debug output. Included is my config.g, the gcode I was printing, and the output logs. Hopefully this helps diagnose the issues some of us are having with RRF 3.4. This was with PA disabled , and input shaping enabled via M593 P"ei2" F41 S0.10
config.g
printOutput.txt
CFFFP_xyzCalibration_cube_205.gcode -
@skrotz thanks for that, it shows clearly some step errors on the extruder drive and that PA was not involved. I will investigate.
-
I ment this part here:
"if you use different frequencies per axis, the axes will move out of step. But the amount of out-of-step movement may be small enough to be acceptable, especially if the accelerations are low. It makes no difference whether the same or different input shapers are used per axis."
I think it is absolutely necessery and with klipper it also works...
Just for information We want the same perfect shaper here in RRF
-
i really think that at least different frequencies should be possible because i really don't see how the frequency should be the same on X and Y as the weight in movement is not the same at all, and thus the moment.
-
@psychotik2k3 could still be that the frequencies are close enough that the wider band from one configuration is enough to improve both X and Y
-
@dc42 This is exactly what happens in Klipper at high smoothing values. In recent versions, during the calibration procedure, the software gives the recommended acceleration values ​​so that the loss of accuracy is not noticeable. I think it is definitely worth testing how it will look in rrf, even for duet3 only, maybe the loss of accuracy will be acceptable.
-
@skrotz said in RRF 3.4 input shaping preview available:
@dc42 I was able to do a print and captured some stepper errors with debug output. Included is my config.g, the gcode I was printing, and the output logs. Hopefully this helps diagnose the issues some of us are having with RRF 3.4. This was with PA disabled , and input shaping enabled via M593 P"ei2" F41 S0.10
config.g
printOutput.txt
CFFFP_xyzCalibration_cube_205.gcodeWith your files I was able to identify and reproduce the problem. It is now fixed and I can run your test print using your configuration without errors.
We will release a new beta with input shaping within the next few days.
-
@dc42 great! More than happy to test out a pre-release version of it if you put it on the dropbox
-
@skrotz said in RRF 3.4 input shaping preview available:
@dc42 great! More than happy to test out a pre-release version of it if you put it on the dropbox
I've just put the Duet 2 version at https://www.dropbox.com/sh/ja08b7qdzsl8kjc/AAAwUbkN2XJvurq5CuQTgx5Wa?dl=0. Please try it with care, this doesn't just contain a bug fix for that issue, the units used internally to measure speeds and accelerations have changed. It works OK so far on my delta, but I haven't tried it on a Cartesian or CoreXY machine yet.
-
@dc42 I installed the new firmware, did some basic homing and movement tests, and all seemed fine, so I went for broke and printed out the calibration cube with both input shaping and pressure advance enabled.. no clunking issues or anything that seemed amiss during the print. However, I still have some extrusion zits (in the same places as before, seems caused by input shaping) and the print looked extremely similar to a non PA enabled print, with slightly bulging corners. M122 after showed no errors but 2 hiccups.
== Move ===
DMs created 83, segments created 33, maxWait 125385ms, bed compensation in use: mesh, comp offset 0.000
=== MainDDARing ===
Scheduled moves 11545, completed moves 11545, hiccups 2, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1