InputShaping-Plugin-0.2.0-pre6 released
-
What are the step to have this plugin appearing in DWC?
-
@zapta You need to uoload the plugin in DWC, go into "System" and "Upload System File"
When done, the plugin needs to be activated: go into "Machine-Specific" and "External Plugins" then click on the button to start it.
This plugin require to use RepRap Firmware 3.4.0-b5 and Duet Web Control 3.4.0-b5; both are beta versions.
-
Thanks @fred-y, I will give it a try. I do have the latest betas installed.
-
Hi All,
OK so I've never done this before, so be prepared for stupid questions and settings..!I've got my accelerometer working:-
M955 P0
Accelerometer 0:0 type LIS3DSH with orientation 20 samples at 1600Hz with 16-bit resolution, SPI frequency 2000000Configure settings:-
But when I press run noting happens, please note that the Y axis is driven by a can connected board at address 123, but the accelerometer is on io1 on my duet 3 Mini. I've used small accelerations and move distances because my printer is a polar machine, Y is the bed, and I'm not sure what its going to do in terms of move parameters (axis motor moves are in Deg not mm).
Also I'm not sure how to orientate the accelerometer as the y Axis goes round, so I've hopefully pointed the X axis of the chip to the bed centre and the Y axis circumferentially. Chip top is up and pointing in the direction of +ve z axis of the printer, text can be read normally looking towards the bed centre.
Please point out the obvious mistakes on my part, in the nicest possible way lol!
Many Thanks
Barry M -
- please the accelerometer configuration gcode.
And i think you should attach the accelerometer to the print head and not the baseplate. As most resonances will be in the moving parts.
-
@mfs12 said in InputShaping-Plugin-0.2.0-pre6 released:
- please the accelerometer configuration gcode.
And i think you should attach the accelerometer to the print head and not the baseplate. As most resonances will be in the moving parts.
Hi @mfs12
The code I used is: M955 P0 C"io1.out+io1.in"M955 P0 returns this in the console:
Accelerometer 0:0 type LIS3DSH with orientation 20 samples at 1600Hz with 16-bit resolution, SPI frequency 2000000The bed on a polar printer rotates, and this is the most significant source of vibration. Its effectively a bed slinger that rotates. The "Resonance" app on my android phone suggests that there are two significant frequencies, one at 17hz and one at 13hz.
Many Thanks
Barry M -
@cncmodeller did you home the printer and set the head at an appropriate position before you pressed Run? Are there any error messages on the console?
The plugin generates a move along the requested access that is within the bounds for that axis. You can adjust it when you create the session. Other axis positions are not changed. In your case, you need to ensure that the move generated by the plugin does not pass through the centre of the turntable. So if the centre is X0 Y0 and you are using the plugin to generate a X move, you must use an initial Y position sufficiently different from 0 to avoid the centre. Similarly, if you are using the plugin to generate a Y move, you must use an X position sufficiently different from 0.
In your particular case it would be beneficial for the plugin to generate a turntable-only move by using the H2 parameter and specifying start/end positions in degrees, however the plugin can't do that at present. You could temporarily change the M669 command in config.g to pretend your machine is Cartesian, set appropriate turntable limits using M208 and pretend-home using G92; then run the plugin.
One further point: input shaping does not work on segmented moves. This means that on a polar printer, input shaping cannot be applied to G1 moves. However, it should be applied to any G0 travel moves.
-
@dc42 thanks for the thoughts and obvious things to check, I followed your advice and all is well. As always the Duet team are more than helpful.
This isn't a clean bed move but the X axis is mechanically very distant from the bed so I don't think it matters. The move still results in a sharp jolt to the bed to excite the relevant modes.
That's interesting to know w.r.t. segmented moves, for peace of mind I need to check / make sure that the slicer uses G0 for travel moves as they are major contributors to the ringing I'm seeing at higher speeds.
Many thanks
Barry MEdit - PS does the plugin use G0 moves? I've only quickly tried a test with no shaping applied so far.
-
@mfs12 6HC w/PI4 1LC v1.1 Firmware 3.4-b5 on both.
M955 P121.0 I10 to set it up. Response: Accelerometer 121:0 with orientation 10 samples at 1344Hz with 10-bit resolutionConfigure board address (121), select X, zvd. When I hit run it homes, then nothing. Recorder State: HOMING
Reboot printer. If I home first, hit run and it doesn't respond. The state shows IDLE.
An uninstall/ reinstall has no effect.
-
@Stephen6309, can you share the browser's log and dwc's console log?
-
@mfs12 How do you get those logs?
-
in firefox you can open the browser's console "Ctrl-shift+j".
Then -> Right mouse button -> export log to file -> upload file here.DuetWebControl -> open menu (left top) -> open console -> open console's menu (right top of the messages) -> download as file -> upload here.
For further details:
Check and search for "download". https://duet3d.dozuki.com/Wiki/Duet_Web_Control_v2_and_v3_(DWC)_Manual#Section_Console
More details about firefox' console. https://developer.mozilla.org/en-US/docs/Tools/Browser_Console
-
-
@mfs12
Currently printing something./rr_connect?password=reprap&time=2021-11-2T13%3A18%3A58:1 Failed to load resource: the server responded with a status of 404 (Not Found) index.js:560 Plugin EndstopsMonitor not found _callee11$ @ index.js:560 thinEngine.js:357 Babylon.js v4.2.0 - WebGL2 - Parallel shader compilation /machine/directory/0%3A%2Fsys%2Faccelerometer:1 Failed to load resource: the server responded with a status of 404 (Not Found) app.450a9c06.js:42 Uncaught (in promise) Error: Directory 0:/sys/accelerometer not found at new ExtendableBuiltin (app.450a9c06.js:42) at DirectoryNotFoundError._createSuperInternal (app.450a9c06.js:1) at new NetworkError (app.450a9c06.js:42) at DirectoryNotFoundError._createSuperInternal (app.450a9c06.js:1) at new DirectoryNotFoundError (app.450a9c06.js:42) at RestConnector._callee11$ (app.450a9c06.js:42) at tryCatch (app.450a9c06.js:24) at Generator.invoke [as _invoke] (app.450a9c06.js:24) at Generator.throw (app.450a9c06.js:24) at asyncGeneratorStep (app.450a9c06.js:1) /machine/directory/0%3A%2Fsys%2Faccelerometer:1 Failed to load resource: the server responded with a status of 404 (Not Found) vue.runtime.esm.js:1897 Error: Directory 0:/sys/accelerometer not found at new ExtendableBuiltin (app.450a9c06.js:42) at DirectoryNotFoundError._createSuperInternal (app.450a9c06.js:1) at new NetworkError (app.450a9c06.js:42) at DirectoryNotFoundError._createSuperInternal (app.450a9c06.js:1) at new DirectoryNotFoundError (app.450a9c06.js:42) at RestConnector._callee11$ (app.450a9c06.js:42) at tryCatch (app.450a9c06.js:24) at Generator.invoke [as _invoke] (app.450a9c06.js:24) at Generator.throw (app.450a9c06.js:24) at asyncGeneratorStep (app.450a9c06.js:1) logError @ vue.runtime.esm.js:1897
DWC doesn't show anything other that the usual printing stuff.
-
@mfs12 Ran a fresh one after exiting/restarting chrome. Looks like the last one was from when enabling the builtin accelerometer.
rr_connect?password=reprap&time=2021-11-2T14%3A43%3A27:1 Failed to load resource: the server responded with a status of 404 (Not Found) index.js:560 Plugin EndstopsMonitor not found _callee11$ @ index.js:560 Initialize.vue:71 Created new session TestCommand.vue:158 axis changed Test vue.runtime.esm.js:1897 TypeError: Cannot read properties of null (reading 'runs') at VueComponent.accelerometerRuns (Recorder.vue:96) at Watcher.get (vue.runtime.esm.js:4495) at Watcher.evaluate (vue.runtime.esm.js:4597) at VueComponent.computedGetter [as accelerometerRuns] (vue.runtime.esm.js:4851) at VueComponent.<anonymous> (vue.runtime.esm.js:503) at Watcher.get (vue.runtime.esm.js:4495) at new Watcher (vue.runtime.esm.js:4484) at VueComponent.m.$watch (vue.runtime.esm.js:4961) at createWatcher (vue.runtime.esm.js:4921) at initWatch (vue.runtime.esm.js:4903) logError @ vue.runtime.esm.js:1897 Recorder.vue:109 run tests Recorder.vue:120 run tests Session Recorder.vue:132 starting tests Recorder.vue:87 axis not homed: Array(3) Recorder.vue:137 home all axis Recorder.vue:269 homing all axis G28 M400 Recorder.vue:273 Recorder.vue:160 configuring algo Algorithm vue.runtime.esm.js:1897 TypeError: Cannot read properties of null (reading 'runs') at VueComponent.accelerometerRuns (Recorder.vue:96) at Watcher.get (vue.runtime.esm.js:4495) at Watcher.evaluate (vue.runtime.esm.js:4597) at VueComponent.computedGetter [as accelerometerRuns] (vue.runtime.esm.js:4851) at _loop$ (Recorder.vue:162) at tryCatch (runtime.js:63) at Generator.invoke [as _invoke] (runtime.js:294) at Generator.next (runtime.js:119) at tryCatch (runtime.js:63) at maybeInvokeDelegate (runtime.js:357) logError @ vue.runtime.esm.js:1897
DWC console:
11/2/2021, 2:43:28 PM Connected to cxy-msv1.local -
something looks weird. The http requests basically all fail.
Please check and provide the exact versions of:
- DWC
- RRF
- TBC
- InputShaping Plugin
Can you record data with the accelerometer plugin? it is an internal plugin.
And please provide the complete logs. If there's something logged, please share it. Because more information helps to understand the complete situation.
-
@mfs12 The firmware on the tool board actually wasn't updated. M997 B121 fixed it. It just homed and moved and it says recording. Now finished has has a nice graph.
You might want to add an error check for the actual firmware on the toolboard.
-
does seem the plugin or input shaping in general helps me. has this been seen before? the frequency peaks do not change when i change the movement speed so i dont think its stepper noise.
any thoughts?
-
@cbrunnem2 do you have any signs of ringing (ghosting) on your prints? What sort of printer is it?
Did you have any fans running during the accelerometer data collection? One user had a peak, somewhat above 100Hz AFAIR, which disappeared when he turned the fan off.
-
@dc42 it is a cartesian printer. homemade basically. x and y slide on linear MGN-12H rails. dual Y motors, single x motor, and a direct drive extruder.
there is some ghosting at 125mm/s. at 250 mm/s its more noticeable. i can get pictures tonight.
fans are NOT off during this so i will try that tonight.
-
@dc42 turned off my fans and.... hmmm not really any strong modes and trying to damp any of them doesn't work. i assume this is just something i cant benefit from?
PS. 136hz mode was my 5050 cooling fans and the 195hz mode was my extruder fan. not sure why i didnt think to turn them off....