Babystep Accumulates between prints !?
-
After som testeing I have drawn the conclusion that babystep settings accumulates between each print.
These are three consecutive prints (sorry for the green light, LED strip signaling finished print).
Baystep is set to 0.1 mm "higher" and as can be seen it prints higher and higher for each print.Babystep is set by PanelDue FW 3.5.0
RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode)config.g and g-code for the print attached, sliced with Orca Slicer.
What can be the cause of this?
-
@fotomas how do you set baby stepping? If you do it via filament settings / M703, please be aware that Babystepping via M290 by default is relative to the current babystepping value; if you want to re-set babystepping absolute you need to use the R1 parameter (see https://docs.duet3d.com/User_manual/Reference/Gcodes#m290-baby-stepping)
-
@oliof I set babystepping via PanelDue, see OP.
-
@fotomas What happens if you repeat the test but don't set any babysteps?
-
@fotomas does the babystepping value shown on the paneldue change with the prints?
-
@gloomyandy That is a good question. I will test that ASAP
-
@oliof No the value on PanelDue and DWC remains at 0.1
-
@fotomas do you use firmware retraction with Z-Hob?
e.g.M207 P0 Z0.075
If so make sure your pause.g contains aG10
and your stop.g/cancle.g/resume.g contains aG11
https://github.com/Duet3D/RepRapFirmware/issues/967#issuecomment-2100868942
Otherwise the z-hob will add up -
@timschneider There is no M207 in config.g or print code.
I have done more testing.
- Starting out with a 0.2 mm baybystepping does NOT make it change more between prints.
- I happens even without any initial baby stepping.
- "Print Again" on PanelDue or sending new G-Code file makes no difference.
- Homing Z makes it OK again
So it does not seem to relate to babystepping. I started thinking in terms of loosing steps on Z-Axis, below is my motor settings, start and end GCode (if any Z-moves messes things up)
... I am running out of ideas here, does any one hava any ideas for some controlled approach to narrow down the possibilities?
speed settings
M566 X600.00 Y600.00 Z500.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) and jerk policy M203 X30000.00 Y30000.00 Z1200.00 E6000.00 ; set maximum speeds (mm/min) M201 X20000.00 Y20000.00 Z300.00 E5000 ; set accelerations (mm/s^2) M204 P10000 T20000
Start of print code
M140 S80 ; set bed temp and continue M109 S245 ; set nozzle temp and wait M190 S80 ; set bed temp and wait M150 R255 U255 B255 W255 P255 S120 F0 ; Print lights G1 X100 Y4 Z5 F5000 M73 P1 R1 G1 Z0.6 M73 P2 R1 G1 X200 Y4 E30 F1500
End of print code
M106 S0 M400 G91; relative positioning G1 H2 Z25 F12000 ; lift Z relative to current position G90 ; absolute positioning G1 Y270 X10 F5000; move head back M150 U255 P255 S120 F0 ; Print done lights, green M0
I start my printer with bed.g G32 (code borrowed and tweaked) from someone at this forum:
M290 R0 S0 ; clear baby stepping M561 ; clear any bed transform M400 ; finish all moves, clear the buffer if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 ; home all M201 X1000 Y1000 ; reduce acceleration ; calibrate bed while true if iterations = 5 abort "Auto calibration repeated attempts ended, final deviation", move.calibration.final.deviation ^ "mm" G30 P0 X5 Y10 Z-99999 ; probe near a leadscrew if result != 0 continue G30 P1 X150 Y275 Z-99999 ; probe near a leadscrew if result != 0 continue G30 P2 X270 Y10 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors if result != 0 continue if move.calibration.initial.deviation <= 0.05 break echo "Repeating calibration because deviation is too high (" ^ move.calibration.initial.deviation ^ "mm)" ; end loop echo "Auto calibration successful, deviation", move.calibration.final.deviation ^ "mm" G0 X150 Y150 F12000 G28 Z ; rehome Z as the absolute height of the z plane may have shifted G29 S1 ; load saved mesh M98 P"0:/sys/setspeeds.g" ; set speed and acceleration
-
@fotomas said in Babystep Accumulates between prints !?:
M566 X600.00 Y600.00 Z500.00
That's a pretty high jerk value for a Z axis. Try Z120
-
After finding and adressing several issues I belive it is working fine now.
I have:
Lowered the jerk value for Z to 15
Let the bed soak properly before do bed mesh (temp 80 )
Replaced lost screw, one of three holding the hotend to the heatsink. This was hidden by the silicon sock on my Phaetus Rapido hotend.I think the jerk value was the thing but the other two brought a fair amount of inconcistency too.
So i will end this thread/question here. Thank you for all the help and a little extra to Phaedrux.
-