Fighting some layer shifting - Need some help
-
Hey guys,
Custom built Hypercube, 300x300x400, recently started seeing some significant layer shifting.
Doesn't happen with all 3d models, but this one model is kicking my but.
I could use some help here, any ideas?
Things I've tried:
Made sure pulley's on X/Y steppers are tight
Belt is very tight
Replaced 1.8º steppers with 0.9º steppers (SparkFun Electronics / ROB-10846 / 42BTGHM809)
reduced Jerk/Accel in config.g
reconfigured steps in config.g
reconfigures sensorless homing in config.gShifting occurring in the 45º direction as pictured.
XY steppers are barely warm after 4hrs of printing.
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Jan 29 2019 20:18:25 GMT-0600 (Central Standard Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M667 S1 ; Select CoreXY mode ; Network M550 P"HEVO" ; Set machine name M552 S1 ; Enable network M587 S"asus" P"*********" I192.168.1.97 J192.168.1.1 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X160 Y160 Z403 E820 ; Set steps per mm M566 X450 Y250 Z150 E900 ; Set maximum instantaneous speed changes (mm/min) M203 X18000 Y18000 Z1800 E18000 ; Set maximum speeds (mm/min) M201 X1300 Y600 Z100 E3500 ; Set accelerations (mm/s^2) M906 X1450 Y1450 Z1000 E700 I25 ; Set motor currents (mA) and motor idle factor in per cent M84 S10 ; Set idle timeout ; Axis Limits M208 X3 Y0 Z0 S1 ; Set axis minima M208 X310 Y312 Z437 S0 ; Set axis maxima ; Endstops ;M574 X1 S1 P"!xstop" ; X min active high endstop switch ;M574 Y1 S1 P"!ystop" ; Y min active high endstop switch M591 D0 P2 C"e0stop" S1 ; filament monitor connected to E0 endstop M574 X1 Y1 S3 ; configure sensorless endstop for low XY M915 X Y S1 F0 R0 ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M558 P9 C"^zprobe.in" H5 F400 T10000 M950 S0 C"exp.heater3" M280 P0 S80 ; set 80deg servo position on GPIO port 0 G31 P25 X34 Y0 Z3.10 ; Set Z probe trigger value, offset and trigger height M557 X10:285 Y10:290 S40 ; Define mesh grid, probe from X=10 to 190, Y=10 to 190mm with a mesh spacing of 20mm ; Heaters M308 S0 P"bed_temp" Y"thermistor" R4700 T100000 B3950 ; define bed temperature sensor M143 H0 S120 ; Set temperature limit for heater 0 to 120C M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; define E0 temperature sensor M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0 M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1 M140 H0 ; the bed heater is heater 0 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M950 F0 C"fan0" Q125 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 S"HotEnd" ; 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 ; Automatic saving after power loss is not enabled ; Custom settings are not configured
-
@tsitalon1 said in Fighting some layer shifting - Need some help:
Doesn't happen with all 3d models, but this one model is kicking my but.
What is going on in the gcode preview in your slicer at the layer height that the shifting starts? It looks like there are some ridges that start to be formed.
If it's only this model, it's more likely something that could be fixed in slicer settings than a mechanical problem. Common things that could cause layer shift issues are corners and overhangs lifting or areas of bridging or surface infill that causes over extrusion that gets caught on the nozzle.
-
It's not just this model, other models have given me some trouble in the past, but not as consistently as this model.
You are right, the model starts stair stepping up as seen in the below picture.
I'll run a test, I'll lower the model down on the plate to just before the stair stepping and start a print... it should start layer shifting much sooner if the theory of a collision is actually causing the shifting.
If that happens, I guess I can enabled Zhop on layer change and test again.
I'll be back with results.
Is there a status command I can input that will report if any collisions occurred during printing?
-
@tsitalon1 said in Fighting some layer shifting - Need some help:
Is there a status command I can input that will report if any collisions occurred during printing?
Have you configured stall detection?
https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing
-
Nope, been running this Duet 2 Wifi for years and never got around to that or resume after power failure either .. Guess it's time I start exploring more advanced features
I did print the upper portion of this and it failed in the same fashion, this time I could hear that it was in fact colliding with the print. Upping my Z-offset has since resolved it.
I already have sensorless homing, so I'll start looking into stall detection, in fact I've already started with some success.
I was getting a bunch of false detections at sensitivity between S2-7, so I changed it to S20 and didn't get a single detection, which is good since I know the parameter is working. I'll start increasing sensitivity until I get the desired results.
A question I have which isn't crystal clear to me is what should be in the rehome.g file besides the M915 command?
Also when exactly does the system look at this file and decide to use it ?
-
Rn Action to take on detecting a stall from any of these drivers: 0 = no action (default), 1 = just report it, 2 = pause print, 3 = pause print, execute /sys/rehome/.g, and resume print
It depends on what action you want to take when a stall is detected. If you choose to use the rehome file, you would want to have some commands in there to re-home x and y axis to ensure any skipped steps from the collision are corrected and then the print resumes.
-
ok, thank you for your help !
-
I suppose after homing you may need to re-prime the nozzle before resuming as well.
-
@phaedrux Roger that.