Inconsistent Extrusion and Microstepping

  • Hi,

    I believe I have tried my best to resolve this problem without any success.

    I have installed Duetwifi (1.21RC1 firmware) on a new CoreXY Build with a new Titan Aero extruder along with a nema 17 1.8 motor. I cannot tune the Extrusion steps as they are always inconsistent especially after I switch duet off and back on again. But the error is weirdly consistent. As an example, I have a 120mm mark on the filament. Extrude 100mm and find the distances of the mark. even if i get it right and see the 20mm mark on the filament and power duet off and back on again the mark is an additional +5mm for the next 3-4 extrusions.

    The filament I use is PETG and I extrude at 230C. I tried to extrude both from the interface 100mm at 5mm/s and manually executing G1 E100 F180. At this point i have run out of options. Is there anything else I should check?

    My config.g

    ; <<< General preferences >>>
    M111 S0                                                                    ; Debugging off
    G21                                                                        ; Work in millimetres
    G90                                                                        ; Send absolute coordinates...
    M83                                                                        ; ...but relative extruder moves
    M555 P1                                                                    ; Set firmware compatibility to look like RepRap Firmware
    ; Automatic saving after power loss is not enabled
    ; <<< COREXY Settings >>>
    M667 S1                                                                    ; Select CoreXY mode
    ;M404 N1.75                                                                 ; Filament and Nozzle settings
    M208 X0 Y0 Z0 S1                                                           ; Set axis minima
    M208 X300 Y295 Z400 S0                                                     ; Set axis maxima
    M671 X-2:305:305:-2 Y-2:-2:305:305 P0.5
    ; <<< Drives >>>
    M569 P0 S0                                                                 ; Drive 0 goes forwards
    M569 P1 S0                                                                 ; Drive 1 goes forwards
    M569 P2 S0                                                                 ; Drive 2 goes forwards
    M569 P3 S1                                                                 ; Drive 3 goes forwards
    ; <<< Drives Microstepping >>>
    M350 X16 Y16 Z128 E64 I1                                                   ; Configure microstepping with interpolation
    ; <<< Drives Steps >>>
    M92 X80 Y80 Z6400 E1810                                                    ; Set steps per mm
    ; <<< Motor Currents >>>
    M906 X800 Y800 Z800 E940 I30                                               ; Set motor currents (mA) and motor idle factor in per cent
    ; <<< Drives Speeds >>>
    M203 X18000 Y18000 Z900 E1500                                              ; Set maximum speeds (mm/min)
    M201 X800 Y800 Z250 E250                                                   ; Set accelerations (mm/s^2)
    M566 X600 Y600 Z50 E80                                                     ; Set maximum instantaneous speed changes (mm/min)
    M204 P500 T2000                                                            ; 500mm/s Acceleration for printing moves accelaration 2000mm/s Acceleration for travel moves
    ; <<< Idle timeout >>>
    M84 S0                                                                     ; Set idle timeout
    ; <<< Endstops >>>
    M574 X1 Y1 S1                                                              ; Set active high endstops
    M574 Z1 S2                                                                 ; Set endstops controlled by probe
    ;M558 P0 H5 F120 T6000                                                      ; Set Z probe type to switch and the dive height + speeds
    ;G31 P600 X0 Y0 Z2.5                                                        ; Set Z probe trigger value, offset and trigger height
    ; <<< Heaters >>>
    M143 H0 S120                                                               ; Set temperature limit for heater 0 to 120C
    M143 H1 S292                                                               ; Set temperature limit for heater 1 to 292C
    ; <<< Thermistors >>>
    M305 P0 T100000 B4138 C0 R4700 S"Bed"                                      ; Set thermistor + ADC parameters for heater 0
    M305 P1 X200 S"HotEnd"                                                     ; Hot-End PT100
    ; <<< PID Heater Parameters >>>
    M307 H0 A379.6 C961.2 D20  S1.00 B1                                        ; Heater 0 - BED PID paramaters
    M307 H1 A765.1 C237.7 D4.2 S1.00 B0                                        ; Heater 1 - Hot End PID paramaters - Bang Bang
    ; <<< Fans >>>
    M106 P0 S0.3 I0 F500 H-1                                                   ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45                                                  ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H-1                                                     ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
    ; <<< Tools >>>
    M563 P1 D0 H1                                                              ; Define tool 1
    G10 P1 X0 Y0 Z0                                                            ; Set tool 1 axis offsets
    G10 P1 R0 S0                                                               ; Set initial tool 1 active and standby temperatures to 0C
    ; <<< BLTOUCH >>>
    M307 H3 A-1 C-1 D-1                                                        ; Disable Heater 3 (pin 8) normal function
    M557 X7:275 Y25:275 S53                                                    ; Define mesh grid with S mm distance between probe points
    M558 P5 X0 Y0 Z1 H5 F150 T4000 S0.02 R0.300 A5                             ; Set Z probe type (use P5 -z axis endstop- probe for Z axis, at F speed and T travel speed between probe points. S tolerances and Probe A times)
    G31 P25 X6.7 Y23.5 Z1.37                                                   ; Probe offsets from nozzle
    M376 H11.0                                                                 ; taper of height compensation above this mm value

    Edit: Grammar check

    Edit: Something that I forgot to mention is that the new extruder came with bushings instead of bearings which definitely causes some extra friction. Nevertheless, the motor seems to work smoothly. I wonder if there are any settings that I keep missing though.

  • There is nothing to be gained from using 1/64th microstepping for the extruder. Its 3:1 geared anyway so 1 microstep at 1/16th is still a tiny distance, at 1/64th its ludicrously small.

    I'd consider greasing the bushings.

    I'd also take the hotend off (or the heater block at minimum) and just repeat your experiment with no back pressure on the filament.

    It might also be worth trying a few different tensions on the idler bearing.

  • Thanks, you are right here about the 1/16th. I tried to replicate my settings from ramps. I will probably try this out without the hot end and see how it will work.


Looks like your connection to Duet3D was lost, please wait while we try to reconnect.