Solved Extruder Motor Skipping and Inconsistent Layers
-
I converted a Prusa MK2S to a Duet 2 wifi system, and I'm having problems with the extruder motor skipping while laying down filament. The extruder motor will skip and not extruder every 10 millimeters or so leaving me with broken layer lines. The printer is mostly stock parts from Prusa, but I've swapped the extruder stepper with a 1.5amp motor and I'm running an EZABL probe instead of the Prusa supplied PINDA probe
Here's what I've tried so far to fix, with no change in result:
Swapped extruder motors to test if bad stepper. Also changed from a 1amp stepper to 1.5amp stepper to test if underpowered stepper.
Altered stepper current higher and lower with no change in result.
Changed Hotend and nozzle to brand new one to make sure a clog wasn't the issue.
Swapped extruder motor from E0 to E1 driver to make sure it wasn't a bad driver.
Played with flow rate and print speed in Duet Web Control while printing to observe result. I tried changing speed from 100% all the way down to 50% and flow rate settings everywhere from 80% to 120% with minimal change in result if any.
At this point I'm running out of variables so I'm assuming now that its got to do with something in either my config file or slicer settings, but I don't have a very firm understanding of either of those two and need help diagnosing from here.
Here's my config.g
; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Apr 19 2022 17:58:07 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Prusa MK2.75S" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drive Mappings M569 P0 S1 ; Drive 0 goes forwards: X Axis M569 P1 S1 ; Drive 1 goes backwards: Y Axis M569 P2 S1 ; Drive 2 goes Upwards: Z Axis M569 P3 S1 ; Drive 3 goes forwards: E Axis M569 P4 S1 ; Drive 4 goes Upwards: Z Axis (at E1) M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E140.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E270.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y2000.00 Z750.00 E7200.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z200.00 E2000.00 ; set accelerations (mm/s^2) M906 X750 Y750 Z560 E1350 I10 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Motor remapping for dual Z and axis Limits ;M584 X0 Y1 Z4:2 E3 ; two Z motors connected to driver outputs Z and E1 M584 X0 Y1 Z3:2 E4 M671 X-37:287 Y0:0 S10 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M208 X0:220 Y-4:215 Z0:210 ; X carriage moves from 0 to 250, Y bed goes from 0 to 210 M564 H0 ; allow unhomed movement ; Endstops M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop ; Z-Probe PINDA M574 Z1 S2 ; Set endstops controlled by probe M558 P5 C"!zprobe.in" H3 F100 T6000 A5 S0.02 ; PINDA G31 P1000 X23 Y5 Z0.1 ; set Z probe trigger value, offset and trigger height M557 X24:205 Y10:192 P3 ; define mesh grid ; Heatbed Heaters and Thermistor Bed M308 S0 P"bed_temp" Y"thermistor" T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0 Bed M950 H0 C"bedheat" T0 ; Creates Bed Heater M307 H0 A128.0 C498.9 D4.5 V12.0 B0 ; Bed PID Calibration and PWM M140 H0 ; Bed uses Heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C Bed ; HotEnd Heaters and Thermistor HotEnd M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 R4700 ; Set thermistor + ADC parameters for heater 1 HotEnd M950 H1 C"e0heat" T1 ; Create HotEnd Heater ;M307 H1 A306.9 C115.4 D4.0 V23.8 B0 ; Hotend PID Calibration and PWM ;M307 H1 R2.458 K0.491:0.000 D4.20 E1.35 S1.00 B0 ; New Hotend PID Parameters M307 H1 R1.604 K0.429:0.107 D6.22 E1.35 S1.00 B0 M143 H1 S285 ; Set temperature limit for heater 1 to 285C HotEnd M302 S185 R185 ; Fans M950 F0 C"fan0" Q500 ; 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 ; Tools M563 P0 D0 H1 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 ;M572 D0 S0.04 ; Custom settings are not defined
-
Looks like you've tried the likely suspects. The symptoms sound like an under-powered motor.
Maybe double check the motor current setting in your M906 command (the E parameter) It seems unusual to me that the extruder motor has higher current than the X,Y, and Z motors.
One thing you didn't mention (or I missed) is the extruder temperature setting. I'd recommend watching the temperature on the DWC while the failing extrusion is happening. It's possible the heater is not running enough to keep the filament melted after a short amount of extrusion.
Related to this is your M308 command for the thermistor. If the B value is wrong it might be reporting a temperature that's higher than it really is resulting in cold-ish extrusion.
-
An off the wall thought - if the under extrusion is happening at a regular interval, could there be a rough spot or some other mechanical issue in the extruder? You said you replaced the motor but you said nothing about the mechanics that the motor connects to. 10 mm (or so) could very well be the circumference of one of the gears in the extruder.
-
@jens55 I would say the under extrusions are happening at semi - regular intervals.
However, this same issue is happening across multiple extruder motors and multiple hotends. That is to say I've replaced the stock E3d v6 hotend that came with the machine with a brand new hotend of the same model. The entire hotend, from heatbreak, to thermistor, to nozzle. All of it. The issue still persists, so its not to do with the hotend unfortunately. But thanks for input.
EDIT: I misunderstood you, you're talking about the gear the extruder is connected to not the hotend, yea it could be possible something is up with that. I'll have to take it off the extruder motor and give it a real good look and cleaning.
-
@mikeabuilder So I neglected to mention that when I replaced the hotend I had run a PID tune at the same time and input the M308 value it gave me when tuning was complete. Any chance the values it gave me were wrong? I like your theory that I could be extruding at a cooler temperature than reported on DWC, any ways I can go about testing that theory further?
-
Are you using the E3D thermistor, or something else?
M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 R4700
This isn't correct for the E3D thermistor.
-
@phaedrux I am using the E3D thermistor, Honestly I've been learning as I go with this duet board, I'm pretty new to tuning and tweaking a 3D printer and used the default given thermistor value from the firmware configuration tool. I absolutely could have entered incorrectly.
I am using a 30W E3D 12v thermistor, what would be the appropriate M308 Value to input for that given thermistor?
-
Try this instead
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8
-
@Secretasianman7, I think Phaedrux has you on a good track, but the typical way to test a thermistor is to put it somewhere at a known temperature. The classic method is an ice bath and boiling water. This gives two points to test at a wide temperature separation. But you can also look at the temperature reported when the printer is just turned on and neither the bed or hot end heating has started. The reported temperatures should be the same.
-
The jerk and acceleration settings for the extruder look pretty low to me. I don't think that's causing your problem, but it will lead to other problems.
Is the print cooling fan turning on during the print and cooling off the heater block or nozzle?
-
@secretasianman7 Check if the filament is feeding from the spool easily.
-
@mrehorstdmd Thanks! What kinds of jerk and acceleration settings should I be looking at entering instead? Very new to tuning and tweaking a 3D printer, so I'm very much learning as I go.
Both the hot-end cooling fan and part cooling fan are turning on during printing.
-
@phaedrux Just tried the new thermistor M308 parameter, and ran another pid tune, still having the same issue. If I put my fingers on the filament as Its being fed, I can feel almost like a bump or a jolt every time it skips and doesn't lay down filament. Could it be something in my slicer profile? I'm using PrusaSlicer with the MK2S profile. I've attached a few pics to show what's happening.
-
Does it extrude cleanly into free air if you just use DWC to heat the hotend and use the extrude buttons?
-
@phaedrux Just tested, it does not extrude cleanly into air when extruding from DWC. Also, when extruding into air, as the motor skips, I can make it skip a bit less by pushing on the filament with my fingers, but that doesn't cure the problem entirely.
-
Looking at the print sample, it looks like the gap between bed and nozzle is excessive. This can cause exactly the kind of horrible mess you see here. Of course the 'not extruding cleanly into air' also doesn't help.
-
@jens55 Nozzle height could definitely do with an adjustment, but I'd like to see good extrusion first.
-
@secretasianman7, yeah, the bit about the motor still skipping and skipping less if you push on the filament is a great big red flag.
-
@jens55 Agreed. Feeling very perplexed about the root cause as I've changed out nozzles multiple times, and swapped out the entire hotend, thermistor, heater cartridge and stepper motor to no effect. Quite a strange problem...
-
@secretasianman7 said in Extruder Motor Skipping and Inconsistent Layers:
Swapped extruder motors to test if bad stepper. Also changed from a 1amp stepper to 1.5amp stepper to test if underpowered stepper.
So you had the problem before you swapped the extruder motor as well?