minimum extrusion amounts
-
I've been having an issue with Prusaslicer lately where the printer will not extrude well doing print moves. For example on a zigzag surface the printer will start in a corner and move back and forth, but not extrude anything until the moves are longer. I have relative extrusions turned on and have tried turning off pressure advance with no effect, I've also tried changing motor microstepping with no effect. It's always the same section that doesn't extrude so I don't think it's a mechanical issue.
My question is is their a minimum extrusion amount for the Duet 3 below which its rounded down to 0? I've included a bit of the gcode I think it's not extruding.
My setup:
Duet 3 Mainboard with Raspberry Pi 4b SBC
Duet Toolboard with Tool distribution board
E3D Hemera extruderUsing reprap firmware 3.2-beta2, same issue on 3.1.1
Sliced with Prusaslicer 2.2.0G1 Z0.720
G11 ; unretract
G1 F3000.000
G1 X202.066 Y245.253 E0.11010
G1 X202.066 Y246.115 E0.06994
G1 X203.615 Y244.566 E0.17771
G1 X204.477 Y244.566 E0.06994
G1 X202.066 Y246.977 E0.27661
G1 X202.066 Y247.839 E0.06994
G1 X205.339 Y244.566 E0.37552
G1 X206.201 Y244.566 E0.06994
G1 X202.066 Y248.701 E0.47442
G1 X202.066 Y249.564 E0.06994
G1 X207.064 Y244.566 E0.57333
G1 X207.926 Y244.566 E0.06994
G1 X202.066 Y250.426 E0.67223
G1 X202.066 Y251.288 E0.06994
G1 X208.788 Y244.566 E0.77114
G1 X209.650 Y244.566 E0.06994
G1 X202.066 Y252.150 E0.87004
G1 X202.066 Y253.012 E0.06994
G1 X210.512 Y244.566 E0.96895
G1 X211.375 Y244.566 E0.06994
G1 X202.066 Y253.875 E1.06785
G1 X202.066 Y254.737 E0.06994
G1 X212.237 Y244.566 E1.16676
G1 X213.099 Y244.566 E0.06994
G1 X202.066 Y255.599 E1.26566 -
Check this calculator out to see if any of your extrusion moves fall below the limit.
https://wilriker.github.io/microstep-calculator/
E0.06994 seems t be the lowest in your posted code, but there may be lower?
You didn't post your other settings and details so I can't really say, but based on 0.4 nozzle, 0.2 layer, you might need to use at least x32 microstepping to get some movement from the smallest sections.
I think prusaslicer also has a resolution setting?
You'll need to provide some more details on the printer, your settings, and gcode sample to get more educated answers.
-
there is a prusaslicer with higher resolution
https://github.com/n8bot/PrusaSlicer/releases/tag/v2.3.0-alpha0-n8pm3
-
Higher resolution on the slicer end may actually exacerbate the problem because if the moves are sufficiently small they won't get activated because they are smaller than a single microstep.
Using a 0.9 motor on the extruder will get you more natural resolution. Increase the microstepping can get you closer as well, but microsteps are less accurate.
-
I have been having odd extrusion issues with Prusaslicer recently also. I keep having sections that don't extrude. At first I thought I needed some extra restart after a retraction but I took a closer look and it happens at some points where retractions haven't happened.
I'm doing a print now that I have tried a few times in Prusaslicer using ideamaker with the same settings I use in Prusaslicer and it's printing flawlessly. I think it may have something to do with the most recent update but I'm not positive.
-
Thinking about it a bit more I doubt its a problem of falling below the limit, its a rectangular surface and it starts in one corner, where it doesn't extrude, and moves to the opposite diagonal corner, where it does. The gcode for that section looks pretty similar,
G1 X295.523 Y260.434 E0.27662
G1 X296.385 Y260.434 E0.06994
G1 X297.934 Y258.885 E0.17772
G1 X297.934 Y259.747 E0.06994
G1 X296.975 Y260.707 E0.11011I'm also printing with a 0.6mm nozzle and 0.32 layer heights, and I've had the same issue with a 0.4 nozzle and 0.2 layer heights.
I did manage to get a print out of Cura this morning, No stringing or missing areas, a few pimples and small blobs but hard to say if its the same issue. For comparison I think I found a comparable bit of the gcode from Cura to the gcode above.
G1 X297.009 Y258.564 E0.08495
G1 X296.063 Y259.51 E0.12014
G1 X295.108 Y259.51 E0.08576
G1 X297.009 Y257.609 E0.24143
G1 X297.009 Y256.655 E0.08567
G1 X294.154 Y259.51 E0.36258
G1 X293.199 Y259.51 E0.08576
G1 X297.009 Y255.7 E0.48387
G1 X297.009 Y254.745 E0.08576
G1 X292.245 Y259.51 E0.60509
G1 X291.29 Y259.51 E0.08576In Cura I have relative extrusion ON but I don't think Cura has firmware retraction. I tried to keep all other settings comparable to Prusaslicer.
Here is a pic of the print from Cura https://ibb.co/bKp7wqd
And these two are from Prusaslicer https://ibb.co/jWQ88Ky I cancelled both of these after a few layers. You can see the corner section that doesn't extrude on the left and how stringy and uneven the one on the right is, including blobs from where its extruding right before and then during travel moves.
I did run M122 B20 but forgot to save it, although I do remember it showing 0 hiccups
I also ran M122 during the print and got the following
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.2-beta2 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
Board ID: 08DJM-956L2-G43S4-6J9D6-3SJ6M-KA6AG
Used output buffers: 1 of 40 (10 max)
=== RTOS ===
Static ram: 157532
Dynamic ram: 136364 of which 124 recycled
Exception stack ram used: 520
Never used ram: 98676
Tasks: Linux(ready,50) HEAT(blocked,297) CanReceiv(blocked,853) CanSender(blocked,350) CanClock(blocked,353) TMC(blocked,20) MAIN(running,1193) IDLE(ready,20)
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:31:52 ago, cause: software
Last software reset at 2058-01-24 11:14, reason: HardFault imprec, none spinning, available RAM 207164, slot 0
Software reset code 0x4072 HFSR 0x40000000 CFSR 0x00000400 ICSR 0x0440f803 BFAR 0x00000000 SP 0x20418828 Task MAIN
Stack: 2042c458 20429500 00000004 2042be60 a5a5a5a5 004638e1 0043c2d0 81000000 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 20416aac 00000000 20416aac 004666ff 00000054 00000000 20416aac
Error status: 0x00
MCU temperature: min 22.7, current 38.6, max 38.8
Supply voltage: min 24.0, current 24.1, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0
Driver 0: position 54240, standstill, reads 8957, writes 17 timeouts 0, SG min/max 0/129
Driver 1: position -43040, standstill, reads 8958, writes 17 timeouts 0, SG min/max 0/148
Driver 2: position 28164, ok, reads 8958, writes 17 timeouts 0, SG min/max 0/383
Driver 3: position 0, ok, reads 8959, writes 17 timeouts 0, SG min/max 0/375
Driver 4: position 0, standstill, reads 8965, writes 11 timeouts 0, SG min/max 0/0
Driver 5: position 0, standstill, reads 8966, writes 11 timeouts 0, SG min/max 0/0
Date/time: 2020-10-19 07:43:20
Slowest loop: 6634.44ms; fastest: 0.23ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
Hiccups: 0(0), FreeDm: 374, MinFreeDm: 373, MaxWait: 1826083ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 19, completed moves: 18, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: 3
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 0 is on, I-accum = 0.0
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by File
HTTP* is ready with "M122" in state(s) 0
Telnet is idle in state(s) 0
File* is idle in state(s) 45 0 0, running macro
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== CAN ===
Messages sent 7623, send timeouts 7620, longest wait 2ms for type 6012, free CAN buffers 48
=== SBC interface ===
State: 0, failed transfers: 0
Last transfer: 21ms ago
RX/TX seq numbers: 38597/59995
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.2.0-beta2
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 31.89This is my filament settings
M572 D0 S0.022 ; Set pressure advance for tool0
M207 D0 S1 R0.0 F2400.0 Z0.4 ; Set retraction and Z hop , F is in mm/min
M221 S100 ; Set extrusion rateand my config.g, keep in mind I've been changing the speeds/acceleration/jerk/steps to try and fix this issue.
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.3 on Mon Jun 29 2020 01:54:12 GMT-0400 (Eastern Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name
M669 K1 ; select CoreXY mode; Drives
M569 P0.0 S1 ; Physical drive 0.0 goes forwards
M569 P0.1 S1 ; Physical drive 0.1 goes forwards
M569 P0.2 S1 ; Physical drive 0.2 goes forwards
M569 P0.3 S1 ; Physical drive 0.3 goes forwards
M569 P20.0 S0 ; Physical drive 0.4 goes backwards;M584 X0.0 Y0.1 Z0.2 E20.0:0.3 ; Set drive mapping
M584 X0.0 Y0.1 Z0.2:0.3 E20.0 ; Set actual drive mapping, does not work with above for some reasonM92 X160 Y160 Z1569 E409 ; Set steps per mm
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M201 X750.00 Y750.00 Z120.00 E300.00 ; Set max accelerations (mm/s^2) , was E3000.00
M203 X10000.00 Y10000.00 Z600 E1200.00 ; Set maximum speeds (mm/min), was E6000
M204 P3000 T5000 ;Set max print P and travel, T accelerations
M205 X14.00 Y14.00 Z2.0 E2.0 ; Set maximum instantaneous speed changes (mm/s) , was E50
M906 X900 Y900 Z1800 E800 I30 ; Set motor currents (mA) and motor idle factor in per centM84 S60 ; Set idle timeout
;M915 XYZ H10 S5 F0 R0 ; Set stall detection; Axis Limits
M208 X10 Y0 Z0 S1 ; set axis minima
M208 X500 Y520 Z480 S0 ; set axis maxima; Endstops
M574 X2 S1 P"20.io2.in" ; configure active-high endstop for low end on X via pin io0.in
;M574 X1 S3 ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"io1.in" ; configure active-high endstop for low end on Y via pin io1.in;Leads
M671 X510:-10 Y250:250 S12.0 ; leadscrews at left and right of X axis
M208 X-5:505 Y0:500 ; X carriage moves from -5 to 505, Y bed goes from 0 to 500; Z-Probe
M558 P9 C"^20.io0.in" H15 F120 T1400 ; set Z probe type to bltouch and the dive height + speeds
M950 S4 C"20.io0.out" ; create servo pin 0 for BLTouch
G31 P25 X-15 Y-54 Z2.95 ; set Z probe trigger value, offset and trigger height 2.95 x-15
M557 X50:450 Y50:450 S25 ; define mesh grid
M280 P0 S60 ; BLtouch - toggle switch mode
G4 P1000 ; wait 1 second
M280 P0 S120 ; BLtouch toggle self-test; Heaters
M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 R2200 B5000 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 Q10.0 ; create bed heater output on out0 and map it to sensor 0
;M307 H0 B1
M307 H0 A331.0 C885.5 D100.5 V0.0 S1.0 B1 ; disable bang-bang(PID B=0) mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S2 P"20.temp0" Y"PT1000" A"HotEnd" T1000 R2200 B4725 C0 ; configure sensor 1
M950 H1 C"20.out0" T2 ; 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 S290; Fans
M950 F0 C"20.out2" Q25 ; create fan 1 on pin out8 and set its frequency
M106 P0 C"PrntFan" H-1 ; set fan 1 value. Thermostatic control is turned off
M950 F1 C"20.out1+^out1.tach" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P1 C"ExtuFan" L0.5 S1.0 T50 H1 ; set fan 0 value. Thermostatic control is turned on; Tools
M563 P0 D0 H1 F0 S"1LC" ; 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
;M200 D1.75 ; Set filament diameter;M593 F40.5 ; acceleration resonance
;legacy pid
;Computed PID parameters for setpoint change: P13.4, I0.482, D51.4
;Computed PID parameters for load change: P13.4, I0.949, D51.4; Miscellaneous
;M584 X0 Y1 Z2:3 E4
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
T0 ; select first tool -
@vishiano said in minimum extrusion amounts:
I don't think Cura has firmware retraction.
It does, but you have to install the Printer Settings plugin to expose the option.
@vishiano said in minimum extrusion amounts:
I'm also printing with a 0.6mm nozzle and 0.32 layer heights, and I've had the same issue with a 0.4 nozzle and 0.2 layer heights.
In that case you're likely within the step size no problem.
@vishiano said in minimum extrusion amounts:
I did run M122 B20 but forgot to save it, although I do remember it showing 0 hiccups
It would be good to see that.
Can you give some more details about the printer? What is the extruder? Those prints look like something is not configured correctly at all.
If you send M98 P"config.g" do you get any error messages?
-
Printer is a Core XY based off the Hevo. Extruder is the E3D Hemera with a volcano heater block. I'm at work at the moment but when I get home I'll try M98 and M122 B. I was getting great prints up until about 2 weeks ago when I noticed really weird extrusion patterns on surfaces and missing sections of outer walls. I had thought it was maybe a signal reflection issue with the toolboard as during printing I was trying to fix the issue and would send M207 to change retraction settings and got
"Warning: Lost connection to Duet (Timeout while waiting for transfer ready pin)"
So I bought the tool distribution board hoping that would solve it. I haven't gotten the above error since then but am still having the extrusion issues.
-
Those prints look horrible ... this is not minor 'tweak' issue but a very fundamental error someplace.
-
@jens55 Is there a way to move it to a different section?
-
Don't worry about the section it is in. My point was that there are fundamental issues and chasing 'minimum extrusions' is the wrong thing (IMHO) to do at this point. Once you get a basically good print but have minor issues, then you go and tweak for those little issues.
I can't really suggest anything based on the pictures I am seeing - there is blobbing, there is under extrusion and other stuff.
About the only thing I can suggest is to start at square one tuning absolutely everything. Don't bother with anything past the first layer until you have the first layer worked out.
One aspect of the first layer is that the traces do not meet - either you are under extruding or your gap between build plate and nozzle is too large. -
@Phaedrux said in minimum extrusion amounts:
M98 P"config.g"
Only warning from M98 is
Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 356C
Which I would expect as the voltage/resistance of my heated bed is 240v and it's powered by 120v.
m122 b20
Diagnostics for board 20:
Board TOOL1LC firmware 3.2beta (2020-09-14b1)
Never used RAM 2.2Kb, max stack 376b
HEAT 323 CanAsync 362 CanRecv 355 TMC 52 MAIN 343 AIN 245
Last reset 00:42:49 ago, cause: power up
Last software reset data not available
Driver 0: position 442948, ok, SG min/max 0/14, read errors 0, write errors 0, ifcount 14, reads 32860, writes 0, timeouts 0, DMA errors 0, failedOp 0xff
Moves scheduled 890, completed 876, in progress 1, hiccups 0
Next step interrupt due in 246 ticks, enabled
VIN: 24.2V
MCU temperature: min 18.1C, current 48.0C, max 48.0C
Ticks since heat task active 138, ADC conversions started 2559729, completed 2559727, timed out 0
Last sensors broadcast 00000004 found 1 177 ticks ago
Free CAN buffers: 36, messages lost 0, duplicates 0, oos 0
NVM user row b1d088a9 fffff8bb 20003818 0
TSENS 0012b4 GAIN 015225 OFFS 00253b CAL 1f2bAlso tried printing with absolute extrusion and slicer retraction with prusaslicer, same issue and didn't extrude the same area.
-
@vishiano said in minimum extrusion amounts:
m122 b20
Diagnostics for board 20:Was this after printing?
Want to know if there are any hiccups after printing
Moves scheduled 890, completed 876, in progress 1, hiccups 0
-
@Phaedrux For the above I sent m122 when it was on layer 3.
I just sent it again when it was around 95% done with the print, got an error message I haven't seen before, could hear the print slow down when i sent it.
10/20/2020, 8:43:56 PM m122 b20
Diagnostics for board 20:
Board TOOL1LC firmware 3.2beta (2020-09-14b1)
Never used RAM 2.2Kb, max stack 392b
HEAT 321 CanAsync 358 CanRecv 352 TMC 52 MAIN 343 AIN 245
Last reset 00:45:12 ago, cause: power up
Last software reset data not available
Driver 0: position 2066070, standstill, SG min/max 0/16, read errors 0, write errors 0, ifcount 12, reads 11200, writes 0, timeouts 0, DMA errors 0, failedOp 0xff
Moves scheduled 40237, completed 40208, in progress 0, hiccups 0
No step interrupt scheduled
VIN: 24.2V
MCU temperature: min 37.1C, current 49.0C, max 51.0C
Ticks since heat task active 229, ADC conversions started 2701473, completed 2701473, timed out 0
Last sensors broadcast 00000004 found 1 19 ticks ago
Free CAN buffers: 3, messages lost 168, duplicates 0, oos 8689
NVM user row b1d088a9 fffff8bb 20003818 0
TSENS 001327 GAIN 015225 OFFS 00253b CAL 1f2b
10/20/2020, 8:43:40 PM m122 b20
Error: M122: Response timeout: CAN addr 20, req type 6024, RID=1528 -
and after completing the print
m122 b20
Diagnostics for board 20:
Board TOOL1LC firmware 3.2beta (2020-09-14b1)
Never used RAM 2.2Kb, max stack 392b
HEAT 321 CanAsync 358 CanRecv 352 TMC 52 MAIN 343 AIN 245
Last reset 00:49:22 ago, cause: power up
Last software reset data not available
Driver 0: position 2123290, standstill, SG min/max 0/16, read errors 0, write errors 0, ifcount 12, reads 48164, writes 0, timeouts 0, DMA errors 0, failedOp 0xff
Moves scheduled 45124, completed 45124, in progress 0, hiccups 0
No step interrupt scheduled
VIN: 24.5V
MCU temperature: min 37.1C, current 49.3C, max 51.0C
Ticks since heat task active 40, ADC conversions started 2951037, completed 2951036, timed out 0
Last sensors broadcast 00000004 found 1 43 ticks ago
Free CAN buffers: 36, messages lost 0, duplicates 0, oos 8745
NVM user row b1d088a9 fffff8bb 20003818 0
TSENS 001345 GAIN 015225 OFFS 00253b CAL 1f2b -
Thanks. Not sure about that time out error, but no hiccups shown, so that's good I guess.
Are you sure of your nozzle size?
What are your print settings in the slicer? Layer height, extrusion width, print speed, etc.
-
I think you need to increase your instantaneous speed setting for your extruder quite a bit...for my corexy printers with bondtech extruders I have them set at 2000 which for you using mm/sec would be 33. With it set so low it can affect your print especially if you try pressure advance. I would also up your acceleration on your extruder as well. I'm running mine happily at 2000.
Your max extruder speed is also rather low and I could see that causing issues with retraction and un-retraction since you are limiting it to 20mm/s.
Also, what's with the 1569 steps/mm for your Z? Usually they would be either 400 or 1600 for the common leadscrews.
-
That's a good call. I noticed that too actually but forgot to mention it.
Try M205 E50 and M201 E3000 and M203 E3000
-
@Phaedrux said in minimum extrusion amounts:
Thanks. Not sure about that time out error, but no hiccups shown, so that's good I guess.
Are you sure of your nozzle size?
What are your print settings in the slicer? Layer height, extrusion width, print speed, etc.
I'm certain of the nozzle, it's a couple month old microswiss 0.6 nickel plated nozzle, and I've only printed PLA with it. I've also tried the standard e3d 0.4 brass nozzle and had the same issue with other prints.
From the beginning of the print sliced with prusaslicer
; generated by PrusaSlicer 2.2.0+win64 on 2020-10-10 at 22:47:25 UTC
; Prusaslicer does not like odd number lines!
; external perimeters extrusion width = 0.68mm
; perimeters extrusion width = 0.68mm
; infill extrusion width = 0.68mm
; solid infill extrusion width = 0.68mm
; top infill extrusion width = 0.60mm
; first layer extrusion width = 0.80mmM107
M190 S55 ; set bed temperature and wait for it to be reached
M104 S225 ; set temperature
M98 P"0:/macros/startprint.g"
M109 S225 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
; Filament gcode
M702
M701 S"PLA_4043D"
M703
G10 ; retract@Phaedrux said in minimum extrusion amounts:
That's a good call. I noticed that too actually but forgot to mention it.
Try M205 E50 and M201 E3000 and M203 E3000
I'll try these but fair warning I had them around these levels previously with the same issue.
@JamesM said in minimum extrusion amounts:
Also, what's with the 1569 steps/mm for your Z? Usually they would be either 400 or 1600 for the common leadscrews.
Was 1600 I probably changed it trying to fix this issue, I'll switch it back.
-
Try M205 E50 and M201 E3000 and M203 E3000
I'll try these but fair warning I had them around these levels previously with the same issue.
Ya just tried again, same issue. Could this be a stepper driver issue?