help: layer shifting
-
I've been using this Creatbot F430 ,converted to use a Duet3 6hc, for about 18 months. Recently it has begun to randomly shift layers in the Y axis. Slowing down the print jobs seem to help but does not eliminate the problem. The mechanicals (belt slack, pulleys et all) seem to be solid an free. I need help in narrowing down the problem (failing stepper, firmware, slicer, cabling, etc).
For slicer, I used to use Simplify3d but then started having issues after they updated it. Now I am using Cura. I've seen layer shifting with both slicers.
Here is my conifg.g
; Configuration file for Duet 3 (firmware version 3.3) ; executed by the firmware on start-up ; ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"F430" ; set printer name ; Network M551 P"F430" ; set password M552 S1 ; enable network and set IP address DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.1 S0 ; physical drive (X axis) 0.1 goes backwards M569 P0.2 S0 ; physical drive (Y axis) 0.2 goes backwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M584 X0.1 Y0.2 Z0.3 E0.4 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X78.82 Y131.23 Z640.00 E436.70 ; set steps per mm M566 X1000.00 Y1000.00 Z60.00 E2000.00 ; set maximum instantaneous (JERK) speed changes (mm/min) M203 X6000.00 Y6000.00 Z600.00 E6000.00 ; set maximum speeds (mm/min) M201 X600.00 Y600.00 Z200 E2500 ; set accelerations (mm/s^2) ;M201 X500.00 Y500.00 Z200 E2500 ; set accelerations (mm/s^2) M906 X800 Y1100 Z1400 E650 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X420 Y300 Z290 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure microswitch endstop for low end on X via pin io1.in M574 Y1 S1 P"io2.in" ; configure microswitch endstop for low end on Y via pin io2.in M574 Z2 S1 P"io5.in" ; configure microswitch endstop for High end on Z via pin io5.in ;M574 Z2 S2 ; configure Z-probe endstop for high end on Z ; Z-Probe M950 S0 C"io7.out" ; create servo pin 0 for BLTouch M558 P9 C"io7.in" H5 F2000:100 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-4 Y75.5 Z3.1 ; set Z probe trigger value, offset and trigger height M557 X5:400 Y76:286 S30 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out3" T0 ; create bed heater output on out3 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S160 ; set temperature limit for heater 0 to 160C M308 S1 P"temp1" Y"pt1000" ; configure sensor 1 as PT1000 on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S420 ; set temperature limit for heater 1 to 420C M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin temp2 M950 H2 C"out2" T2 ; create chamber heater output on out2 and map it to sensor 2 M307 H2 B1 S1.00 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H2 ; map chamber to heater 2 M143 H2 S70 ; set temperature limit for heater 2 to 70C ; Fans M950 F0 C"out4" Q3000 ; create fan 0 on pin out4 and set its frequency M106 P0 C"Print Cooler" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"out5" Q4000 ; create fan 1 on pin out5 and set its frequency M106 P1 C"HotEnd" S0 H1 S0.5 T100 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"out8" Q500 ; create fan 2 on pin out8 and set its frequency M106 P2 C"onXstepper" S0.15 H-1 ; set fan 2 name and value. Thermostatic control is turned off M950 F3 C"out9" Q500 ; create fan 3 on pin out9 and set its frequency M106 P3 C"Duet-board" S0.1 H-1 ; set fan 3 name and value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R150 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M150 X0 R255 U255 B255 P200 S107 ; set DotStar LEDs (dim white) T0 ; select first tool
-
@brs First thing is to look back at what you know has changed. So have you updated the firmware recently? Have you changed any configuration settings? Any hardware changes? If you have then try reverting the change (if you can) and test to see if you still have the problem.
-
Taking a look I can see that I'm running....
Board: Duet 3 MB6HC (MB6HC)
Firmware: RepRapFirmware for Duet 3 MB6HC 3.4.6 (2023-07-21)Hmmm 5 months old - well that is suspicious. I'm thinking it's time to upgrade. The notes for 3.4.7 says
Fixed incorrect line number (off by 1) within a while-loop in conditional GCode. Could this be related? I don't recall what was installed before 3.4.6 (most likely 3.4.5).Would those here recommend going back to 3.4.5 or jumping to RC1 3.5.0?
-
@brs I don't think 3.4.7 has been released yet, so you are running the current (non beta) firmware.
But really the question is, if you have been printing things ok for months, what has changed recently (if anything)? At the moment we don't have much to go on to help you.
So for instance, If you have not updated your firmware or firmware configuration for some time then it seems unlikely that what you are seeing is a firmware problem and so reverting (or updating to 3.5) would probably just confuse issues.
-
Is there any failure mode (stepper Motors) that could be causing this? I could try replacing the motor.
There has also been some indication on the web that increasing the current has helped others with this problem. I forget how I came up with the original currents. I'll be researching these. -
@brs Stepper motors are coils of wire, magnets, and ball bearings. They are super reliable. If it doesn't smell burnt, and the shaft turns, there's a 99.9999% chance the motor is fine.
-
I have seen motors get damaged by bad crashes. The shaft wouldn't spin smoothly at a certain point when turned by hand.
Are you sure there are no sticking points in the X Y movement?
-
SOLVED!
(I think, at least my last 3 hour print was flawless)Motor currents were set as...
M906 X800 Y1100 Z1400 E650 I30Stepper specs show max curr/coil is 2amps. So I bumped the current up to 1.5 (M906 Y1500) amps and gave it a try.
Seems to have solved the problem. So this brings up another question...
Q. Just because the motor is rated at 2 amps, in order to be conservative, how does one decide upon the best/optimal current setting to use?