@gloomyandy I've attached my phone to the print head and got this result: 2024-10-1417.17.34.csv
I not sure how to read it (hopefully one of you can). Otherwise I have to graph it and see what comes from that.
Is this helpful?
Posts made by BartW22
-
RE: Input shaping on large mass print head
-
RE: Input shaping on large mass print head
@jay_s_uk @dc42 I've upted the jerk settings to 900mm/min, which the printer is able to handle. I also started to play with the max speed which lies around 6000-8000mm/min.
With those settings I recorded motion profiles with no desirable result so far:
This is a profile without input shaping. The mounting orientation of the accelerometer is so that Z is recording the Y direction. X is for the X direction.
Here the ZVDDD input shaper is used at 66Hz. Although it looks like it reduces that frequency, that's not the frequency the print head is oscillating at. I presume it's the resonance frequency of the printer frame.
The ZVDDD input shaper at 8 Hz also doesn't seem to have any effect.What I'm struggling with is that the movements used to record a motion profile don't recreate the oscillations that occur while printing. I tried to add custom movements for recording, but the print head always comes to a full stop in between moves. Is there a way to record frequencies while printing or maybe write some gcode to recreate the occuring movements while recording?
Thanks! -
RE: Input shaping on large mass print head
@jay_s_uk Each motor uses one driver on the Duet 2 Wifi. The X motors are driven by X_MOT and E1_MOT and the Y motors are driven by Y_MOT and E0_MOT.
Increasing the jerk did make the moves in corners a bit smoother, so the print head isn't shaking that much anymore.
Is it reasonable to increase the jerk so much that the print head will oscillate above 10Hz and thus can be compensated by Input Shaping> -
RE: Input shaping on large mass print head
@jay_s_uk I'm already working on increasing the jerk settings, thanks to your suggestion.
Here is the config file:; Configuration file for Duet WiFi (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Wed Dec 14 2022 15:12:07 GMT+0100 (Midden-Europese standaardtijd) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"pastaprinter" ; set printer name M564 H0 ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes backwards M569 P4 S1 ; physical drive 4 goes forwards M569 P5 S0 R1 T3.4:3.4:6:0 ; physical drive 5 goes backwards M569 P6 S0 R1 T3.4:3.4:6:0 ; physical drive 6 goes backwards M584 X3:4 Y0:1 Z5 E6 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X41.22 Y41.22 Z2560.60 E330.00 ; set steps per mm M566 X200.00 Y200.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) (jerk) M203 X6000.00 Y6000.00 Z800.00 E10000.00 ; set maximum speeds (mm/min) (stond op Z300) (20/11 -> M201 X100.00 Y100.00 Z20.00 E300.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M915 P0:1:3:4 S3 R2 F0 H400 ; stall detection ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X760 Y360 Z1000 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; set x-axis high endstop M574 Y1 S1 P"ystop" ; set y-axis high endstop M574 Z1 S1 P"zstop" ; set z-axis high endstop ; Z-Probe M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) ;M305 P0 T100000 B4138 R4700 ; ??? ;M305 P1 T100000 B4138 R4700 ; ??? ; Sensors M308 S0 P"e1temp" Y"thermistor" T10000 A"T_E-motor" ; M955 P0 C"SPI.CS2+SPI.CS1" I50 ; versnellingsmeter LIS3DH M593 P"zvddd" F12 S0.05 ; Fans M950 F1 C"fan2" ; extruder motor fan M106 P1 S1 T45 H0 ; extruder motor fan on from 45C and above ; Tools M563 P0 S"pasta extruder" D0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; External stop and pause buttons M950 J1 C"e1stop" ; defines input (red button) of E1 stop as "tool 1" M581 P1 S1 T0 ; assigns tool 1 trigger to stop function M950 J2 C"e0stop" ; defines input (yellow button) of E0 stop as "tool 2" M581 P2 S1 T1 ; assigns tool 2 trigger to pause function ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory T0 ; select first tool
-
RE: Input shaping on large mass print head
@jay_s_uk Good morning!
I was able to get the oscillations on camera way better: the video (watch out, there are some loud background noises!)
And my jerk (and additional) settings are as follows:M566 X20.00 Y20.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min) (jerk) M203 X6000.00 Y6000.00 Z800.00 E10000.00 ; set maximum speeds (mm/min) M201 X100.00 Y100.00 Z20.00 E300.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent
The used steppermotors (two on both X and Y) are 23LC051-025-8W-F8-1.0. The pulley system is set up like this . I don't know if it matters, but I provided it just to be sure.
Thanks! -
RE: Input shaping on large mass print head
@jay_s_uk I'm unable to get them now. But I'll try to do it tomorrow first thing in the morning!
Edit: But yes, the printer uses very low jerk settings. From the top of my head it uses 40mm/min. I have used higher values, but then it sounds like the steppermotors struggle too much. -
Input shaping on large mass print head
Hi,
I'm currently working on a large custom 3D-printer which prints a biodegradable and circular concrete like material. It can print models up to 75x35x80cm, so naturally it has a large print head and extruder. It also has a large cylinder and a piston hanging from rails above the extruder for holding and pushing the material to the extruder. At full capacity the mass can be as much as 10kg. You can see the components described in the provided video, although it was not recorded to show off the printer.
What I'm trying to do is implement input shaping in the printer to prevent the print head and the frame from shaking when the print head is moving faster, especially in the Y direction. I'm also working on stiffening up the printer frame to prevent the frame from shaking.
I've installed an accelerometer (LIS3DH) the print head, at the part where it shakes the most. Then, I ran the Input Shaping plugin and tried different Input Shapers at multiple frequencies and Damping factors. All of them didn't prevent the print head from shaking, because (I think) the print head oscillates at a frequency lower than 10Hz. I was trying to show the oscillations in the video, but now I see that it doesn't really show. I'll make a new video tomorrow which hopefully shows it better. I'll also provide the frequency graphs.
While I know the oscillation problem cannot only be solved with algorithms, I do hope that there is a way to minimize it while working on other solutions. Is there a way to implement Input Shaping a frequencies lower than 10Hz?
The video of the printer and print head
Thank you!
I'll update the post tomorrow with a better video.