Questions about the input shaping plugin
-
The way I have been using it is the same as you have shown, but once you have the recommendations you can select any/all and then click the "add configuration to session" button which is below the table of recommended configurations. This will add those to the Configure section. Then go to Record section and record actual results from the recommended configurations. You can then view those results in the Analysis section and choose the one that gives the best smoothing.
In Analysis and Recommendations sections you can sort the tables by clicking any of the column titles along the top to make it easier to choose the best candidates, but I've found it's best to just add them all for recording and then choose the smoothest curve(s) from the Analysis section to test on an actual print.
The plug-in seems to use the max acceleration, jerk and speed that is already configured (from conf.g or from the console). When I change these on the console between recordings it does seem to effect the results.
I wish there was much more documentation on input shaping both on duet's and klipper's wikis. Specifically on how max accel and jerk effect each IS mode. If/when there are conditions when IS won't be applied, and what accels/jerk are used in those cases.
I have used the printing simulation utility to test how different IS modes effect print times. zvd and mzv are the fastest at 80mm/s (at least at the frequency I'm configuring), but at 160mm/s they're much closer in overall print speed for my calibration cube model.
-
@ajdtreyd
Yes, I understand that you can do that but I don't see the point of these recommendations. Both the X and Y specifies a frequency of 10.36 Hz and dampening of 0.1 which cannot be correct unless it means something entirely different than it does in Klipper.Maybe someone can explain what that frequency means and if it compares to the Klipper recommendations in any way?
-
Ah, sorry, I didn't notice the recommended frequency. It's clearly wrong. I have seen others reporting this same issue.
Anyway, your X graph looks relatively smooth (max g = 0.0012) so I'd focus on that peak at 60.5 for Y. I'd add a config at 59, 60 and 61Hz for each mode to both Y and X and see how those look. -
@gixxerfast said in Questions about the input shaping plugin:
@ajdtreyd
Yes, I understand that you can do that but I don't see the point of these recommendations. Both the X and Y specifies a frequency of 10.36 Hz and dampening of 0.1 which cannot be correct unless it means something entirely different than it does in Klipper.Maybe someone can explain what that frequency means and if it compares to the Klipper recommendations in any way?
I've placed another post for exactly the same question....I can't understand what's the meaning of the recomended frequency but I'm starting to think that maybe it can be a plugin's bug
-
@ajdtreyd
I printed a tower where I continuously modified inputshaping (M593) every 5 mm (25 layers) in before layer change in SuperSlicer{if layer_num== 25}M593 P"mzv" F58 {elsif layer_num== 50}M593 P"mzv" F59 {elsif layer_num== 75}M593 P"mzv" F60 {elsif layer_num== 100}M593 P"mzv" F61 {elsif layer_num== 125}M593 P"mzv" F62 {elsif layer_num== 150}M593 P"mzv" F63 {elsif layer_num== 175}M593 P"mzv" F64 {elsif layer_num== 200}M593 P"mzv" F65 {elsif layer_num== 225}M593 P"mzv" F66 {endif}
I have verified that the changes are in the produced gcode.
Printing it I cannot see any difference whatsoever (The first 5 mm is without any specified input shaper) :
Any obvious flaws in this test?
-
@gixxerfast that's strange... I did the same test and it works. You are on 3.4 B6? Can you confirm via M122?
-
2021-11-14 16:12:30 m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.4.0beta6 (2021-11-06 11:39:32) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: H1668-Y296U-D65J0-40KMA-KR03Z-RK6ZH Used output buffers: 3 of 40 (15 max) === RTOS === Static ram: 103876 Dynamic ram: 117976 of which 12 recycled Never used RAM 16872, free system stack 144 words Tasks: NETWORK(ready,15.1%,250) HEAT(notifyWait,0.0%,344) Move(notifyWait,0.0%,284) CanReceiv(notifyWait,0.0%,772) CanSender(notifyWait,0.0%,372) CanClock(delaying,0.0%,346) TMC(notifyWait,1.2%,71) MAIN(running,82.8%,428) IDLE(ready,0.0%,29) AIN(delaying,0.8%,264), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 01:19:42 ago, cause: software Last software reset at 2021-11-14 14:52, reason: User, GCodes spinning, available RAM 14392, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU revision 3, ADC conversions started 4782369, completed 4782369, timed out 0, errs 0 Step timer max interval 1489 MCU temperature: min 32.6, current 32.8, max 34.8 Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/6, heap memory allocated/used/recyclable 2048/352/272, gc cycles 0 Driver 0: pos 35200, standstill, SG min 0, read errors 0, write errors 1, ifcnt 192, reads 41496, writes 19, timeouts 0, DMA errors 0 Driver 1: pos -11200, standstill, SG min 0, read errors 0, write errors 1, ifcnt 191, reads 41496, writes 19, timeouts 0, DMA errors 0 Driver 2: pos 4000, standstill, SG min 0, read errors 0, write errors 1, ifcnt 109, reads 41505, writes 9, timeouts 0, DMA errors 0 Driver 3: pos 0, standstill, SG min 0, read errors 0, write errors 1, ifcnt 93, reads 41498, writes 16, timeouts 0, DMA errors 0 Driver 4: pos 0, standstill, SG min 0, read errors 0, write errors 1, ifcnt 96, reads 41499, writes 16, timeouts 0, DMA errors 0 Driver 5: pos 0, standstill, SG min 0, read errors 0, write errors 1, ifcnt 94, reads 41498, writes 16, timeouts 0, DMA errors 0 Driver 6: pos 0, standstill, SG min 0, read errors 0, write errors 1, ifcnt 95, reads 41498, writes 16, timeouts 0, DMA errors 0 Date/time: 2021-11-14 16:12:27 Cache data hit count 4294967295 Slowest loop: 12.07ms; fastest: 0.13ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.9ms, write time 3.8ms, max retries 0 === Move === DMs created 83, segments created 5, maxWait 55298ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 31, completed 31, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1, chamber heaters -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === CAN === Messages queued 43071, received 95868, lost 0, longest wait 3ms for reply type 6049, peak Tx sync delay 266, free buffers 17 (min 16), ts 23912/23911/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 82.71ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address f0:08:d1:02:eb:c9 WiFi Vcc 3.36, reset reason Power up WiFi flash size 2097152, free heap 23120 WiFi IP address 192.168.1.70 WiFi signal strength -56dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
-
@gixxerfast strange. I have done the manual method of Klipper for getting the frequency of the ringing. Can you try this aswell.
-
@pcr I'll see if I can do that a bit later if I find the instructions
It doesn't look like "MZV" is working very good here
Also seem like the plugin is leaving the last m593 setting. I could end with a M593 "none" or the before-value instead.
-
@gixxerfast
From the photos it looks like either the commands failed or there were other settings preventing the modes from working.Watch the console/display for any errors. It looks like those commands are fine but I've had errors returned for copy/pasted commands that include quotation marks. Alternatively, you can verify the IS mode is being set correctly by running "M593" in the console during each 5mm part of the print.
I don't know what your other settings are so I'll state the following:
For testing the IS modes you should first be sure pressure advance has been disabled, set your accelerations (M201,M204) to 10000 for X&Y and jerk (M566) to 300 for X&Y. The print speed should be between 50-80mm/s (too slow and ringing artifacts are too close together, but too fast and they start getting smeared out and less pronounced).Hopefully this is helpful
-
Did you get anywhere with this? I am in exact same boat (1LC+6HC on latest stable RRF 3.4.0)
-
@leobg and @Gixxerfast both RRF and the input shaping plugin have changed substantially since the original posts 6 months ago. Please try using RRF 3.4.0 or 3.4.1rc1 and the latest input shaping plugin, and start a new thread if the problem persists.
Additionally, tThe snapshot of the graph in the original post was lacking the frequency scale, so I can't tell how the configured M593 parameters relate to the graph.
-
Friends,
I have the accelerometer installed and I speak the readings successfully using the imput shaping plugin 3.4.0 b1.
after reading without input modeling, I apply some modeling to analyze the result, and they don't look good, I don't know if I'm doing something wrong or my mechanics are not good enough.
I'll put images in the correct order, from the data collections made by the plugin.
the interesting thing is that the plugin simulates the expected result with the input modeling, in these simulations the results seem very good, but when I collect data using the input modeling the actual results collected are not as good as the simulations.No shaper
simulating zvd
ZVD
simulating zvddd
ZVDDD
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1rc1 (2022-05-03 09:34:00) running on Duet WiFi 1.02 or later Board ID: 0JD0M-9P6M2-NW4SS-6JKF6-3SJ6N-TBWVK Used output buffers: 1 of 26 (14 max) === RTOS === Static ram: 23868 Dynamic ram: 77364 of which 12 recycled Never used RAM 9924, free system stack 124 words Tasks: NETWORK(ready,13.6%,230) ACCEL(notifyWait,0.2%,232) HEAT(notifyWait,0.0%,316) Move(notifyWait,0.0%,283) MAIN(running,86.0%,448) IDLE(ready,0.2%,30), total 100.0% Owned mutexes: WiFi(NETWORK) HTTP(MAIN) === Platform === Last reset 00:09:15 ago, cause: power up Last software reset at 2022-05-20 11:14, reason: User, GCodes spinning, available RAM 12776, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x10 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 20.1, current 30.2, max 30.4 Supply voltage: min 24.5, current 24.6, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min 0 Driver 4: standstill, SG min n/a Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Date/time: 2022-05-23 09:41:24 Cache data hit count 4294967295 Slowest loop: 56.88ms; fastest: 0.19ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 1.1ms, write time 248.2ms, max retries 0 === Move === DMs created 83, segments created 38, maxWait 448960ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 20, completed 20, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 4], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP is ready with "M122" in state(s) 0 0, running macro Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === Filament sensors === Extruder 0 sensor: ok === Network === Slowest loop: 115.06ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address 24:a1:60:2f:8d:12 WiFi Vcc 3.40, reset reason Turned on by main processor WiFi flash size 4194304, free heap 26616 WiFi IP address 192.168.1.109 WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
After doing all the data collection, and inserting it in my config and I did a test print, I didn't see any difference, so something is really wrong
please help me understand if i'm doing something wrong or there might be something wrong with my firmware.
I'm using jerk of 300mm/min and accelerations of 3500mm/s2the accelerometer is fixed this way
Thank you for your help!
-
@rodokas in the screen shot of your configuration file,
- the M593 is prepended with a semicolon,
- You are using upper case for the algorithm in the P parameter
- ou are using a colon to separate the decimal point in the F parameter. The former means the command is not read at all, the latter is not the right way to input the value.
Change
;M593 P"ZVDDD" F40,9
to
M593 P"zvddd" F40.9
and try again.
-
@rodokas Hi friend, thanks for trying to help. where you mentioned that you have ; I was in tests, and I'm using the plugin, that screenshot was just to show how it's placed because the accelerometer code.
I'm doing everything inside the plugin, so at this point I don't need to worry about the 593 in the config.
all tests inside the plugin also go wrong. -
@rodokas I can only work with what I see (-;