Under Extrusion on iM, Cura but not S3d.
-
I have a bad problem with under extrusion and could use some help to fix (it has been going on for awhile) and seems to be caused by the slicer. I first noticed it with ideaMaker (started sometime after I started to use it, but originally thought it was a physical issue), and now moving to Cura, I see the same problem. Went back to a slicer that is quick/easy for me to get back into and calibrate (but that hasn't been updated in years) to assist another printer to print a kids school project, S3d, and no issues. Mind Blown. As such, testing Super Slicer right now and running into that learning curve. Main SS question so far is in anther thread.
I am hoping someone has seen this before and would be able to just tell me what to fix in the Slicer.
I had this printer on RepRap v2 until this past week as I updated to v3 to start the troubleshooting process over, and update as a low hanging item.CoreXY using a Duet2 and Duex5.
It has a Hemera Extruder using a v6 nozzle.Both hollow and complete cubes have 2 walls.
20mm_calibration_cube S3d hollow.gcode
CFFFP_20mm_calibration_cube Cura Full Cube.gcode
20mm_calibration_cube S3d full cube.gcode
CFFFP_20mm_calibration_cube Cura hollow.gcode
![0_1657383289232_3e42aee1-62a8-422c-ad48-8b4844c7daf7-image.png](Uploading 100%)
m122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1 (2022-06-01 21:05:28) running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3S0-7JTDL-3SN6N-TS6VG Used output buffers: 3 of 26 (25 max) === RTOS === Static ram: 23860 Dynamic ram: 71536 of which 24 recycled Never used RAM 13300, free system stack 98 words Tasks: NETWORK(ready,201.0%,205) HEAT(notifyWait,4.0%,308) Move(notifyWait,93.6%,292) DUEX(notifyWait,0.0%,24) MAIN(running,2189.3%,421) IDLE(ready,0.4%,30), total 2488.3% Owned mutexes: === Platform === Last reset 05:08:37 ago, cause: software Last software reset at 2022-07-08 12:54, reason: User, GCodes spinning, available RAM 16540, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 34.6, current 36.7, max 42.3 Supply voltage: min 23.8, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/58/58, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min 0 Driver 1: ok, SG min 0 Driver 2: standstill, SG min n/a Driver 3: standstill, SG min 0 Driver 4: standstill, SG min n/a Driver 5: standstill, SG min n/a Driver 6: standstill, SG min n/a Driver 7: standstill, SG min n/a Driver 8: standstill, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2022-07-08 18:02:47 Cache data hit count 4294967295 Slowest loop: 80.20ms; fastest: 0.12ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 7 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.6ms, write time 92.9ms, max retries 0 === Move === DMs created 83, segments created 21, maxWait 6260651ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 18459, completed 18458, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.2 === GCodes === Segments left: 0 Movement lock held by HTTP HTTP is idle in state(s) 49 0 0, running macro Telnet is idle in state(s) 0 File is idle in state(s) 0 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === DueX === Read count 1, 0.00 reads/min === Network === Slowest loop: 94.53ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex 7/8/2022, 6:02:52 PM M32 "0:/gcodes/Untitled.gcode" === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1 (2022-06-01 21:05:28) running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3S0-7JTDL-3SN6N-TS6VG Used output buffers: 3 of 26 (25 max) === RTOS === Static ram: 23860 Dynamic ram: 71536 of which 24 recycled Never used RAM 13300, free system stack 98 words Tasks: NETWORK(ready,201.0%,205) HEAT(notifyWait,4.0%,308) Move(notifyWait,93.6%,292) DUEX(notifyWait,0.0%,24) MAIN(running,2189.3%,421) IDLE(ready,0.4%,30), total 2488.3% Owned mutexes: === Platform === Last reset 05:08:37 ago, cause: software Last software reset at 2022-07-08 12:54, reason: User, GCodes spinning, available RAM 16540, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 34.6, current 36.7, max 42.3 Supply voltage: min 23.8, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/58/58, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min 0 Driver 1: ok, SG min 0 Driver 2: standstill, SG min n/a Driver 3: standstill, SG min 0 Driver 4: standstill, SG min n/a Driver 5: standstill, SG min n/a Driver 6: standstill, SG min n/a Driver 7: standstill, SG min n/a Driver 8: standstill, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2022-07-08 18:02:47 Cache data hit count 4294967295 Slowest loop: 80.20ms; fastest: 0.12ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 7 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.6ms, write time 92.9ms, max retries 0 === Move === DMs created 83, segments created 21, maxWait 6260651ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 18459, completed 18458, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.2 === GCodes === Segments left: 0 Movement lock held by HTTP HTTP is idle in state(s) 49 0 0, running macro Telnet is idle in state(s) 0 File is idle in state(s) 0 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === DueX === Read count 1, 0.00 reads/min === Network === Slowest loop: 94.53ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex 7/8/2022, 6:02:52 PM M98 P"0:/macros/Auto Ready Complete - Test Embed" === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1 (2022-06-01 21:05:28) running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DGM-9T6BU-FG3S0-7JTDL-3SN6N-TS6VG Used output buffers: 3 of 26 (25 max) === RTOS === Static ram: 23860 Dynamic ram: 71536 of which 24 recycled Never used RAM 13300, free system stack 98 words Tasks: NETWORK(ready,201.0%,205) HEAT(notifyWait,4.0%,308) Move(notifyWait,93.6%,292) DUEX(notifyWait,0.0%,24) MAIN(running,2189.3%,421) IDLE(ready,0.4%,30), total 2488.3% Owned mutexes: === Platform === Last reset 05:08:37 ago, cause: software Last software reset at 2022-07-08 12:54, reason: User, GCodes spinning, available RAM 16540, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 34.6, current 36.7, max 42.3 Supply voltage: min 23.8, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/58/58, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min 0 Driver 1: ok, SG min 0 Driver 2: standstill, SG min n/a Driver 3: standstill, SG min 0 Driver 4: standstill, SG min n/a Driver 5: standstill, SG min n/a Driver 6: standstill, SG min n/a Driver 7: standstill, SG min n/a Driver 8: standstill, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2022-07-08 18:02:47 Cache data hit count 4294967295 Slowest loop: 80.20ms; fastest: 0.12ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 7 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.6ms, write time 92.9ms, max retries 0 === Move === DMs created 83, segments created 21, maxWait 6260651ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 18459, completed 18458, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.2 === GCodes === Segments left: 0 Movement lock held by HTTP HTTP is idle in state(s) 49 0 0, running macro Telnet is idle in state(s) 0 File is idle in state(s) 0 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === DueX === Read count 1, 0.00 reads/min === Network === Slowest loop: 94.53ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex
; 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 Thu Jul 07 2022 18:55:08 GMT-0400 (Eastern Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Dusty3d" ; set printer name M669 K1 ; select CoreXY mode M929 S2 ; log level info <- Added ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet ; Drives ;M569 P0 S1 ; physical drive 0 goes forwards <- Commented out M569 P0 S0 ; <- Added ;M569 P1 S1 ; physical drive 1 goes forwards <- Commented out M569 P1 S0 ; <- Added ;M569 P2 S1 ; physical drive 2 goes forwards <- Commented out M569 P3 S1 ; physical drive 3 goes forwards M569 P7 S1 ; <- Added M569 P8 S1 ; <- Added M569 P9 S1 ; <- Added ;M584 X0 Y1 Z2 E3 ; set drive mapping <- Commented out M584 X0 Y1 Z9:7:8 E3 ; set drive mapping <- Updated M671 X6:163:315 Y-7:300:-7 S10 ; <- Added ;M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M350 X16 Y16 Z16 I1 ; <-Updated M350 E16 I0 ; <- Added M92 X160.00 Y160.00 Z800.00 E401.8 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ;M591 D0 P3 C3 R85:125 E6.0 L25.01 S0 ; Magnetic Filament Sensor from v2.x May need to be updated ;M591 D0 ; Magnetic Filament Sensor from v2.x May need to be updated ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X294 Y272 Z280 S0 ; set axis maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 H7 C"nil" ; Disable heaters h7 to free up pins M950 S0 C"duex.e6heat" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds ;G31 P500 X43 Y-46 Z2.96 ; set Z probe trigger value, offset and trigger height <- Commented Out G31 P9 X43 Y-46 Z2.96 ;<- Updated M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat 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 S90 ; set temperature limit for heater 0 to 90C M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ;MB Temp Sensor ;M308 S2 P"?" Y"thermistor" T100000 B4138 ; may be needed to configure for motherboard fan for H100:101:102 ; 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 T40 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 M106 P2 H2 T39:40 L0.0 ; Motherboard FAN Turns on at 38C, MAX @ 40C, L0.0 = always run @ low 0% fan <- Added - May need to be updated for v3 ; 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 ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S21 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss <- Updated for 24v PS, was set to 12v low/high settings
-
-
I see some things in your GCODE files:
- Cura is doing Outside-in walls
- S3D is doing Inside-out walls
- Cura is using relative extrusion amounts
- S3d is using absolute extrusion amounts
- Cura is extruding 0.85352 per wall line
- S3D is extruding 0.5691 per wall line
- Cura is doing a two-part move for one of the three walls. (???)
Here's the Cura code for the first wall:
;TYPE:WALL-OUTER G1 F600 Z0.3 G1 F2400 E0.5 G1 F4500 X137.2 Y145.8 E0.88984 G1 X156.8 Y145.8 E0.88984 G1 X156.8 Y136 E0.44492 G1 X156.8 Y126.2 E0.44492 G1 X137.2 Y126.2 E0.88984 G0 F3600 X137.6 Y126.6 ;TYPE:WALL-INNER G1 F4500 X137.6 Y145.4 E0.85352 G1 X156.4 Y145.4 E0.85352 G1 X156.4 Y136 E0.42676 G1 X156.4 Y126.6 E0.42676 G1 X137.6 Y126.6 E0.85352 G0 F3600 X137.98 Y126.98
Here's the S3D for the same portion of the print: (With some math inserted by me)
; feature inner perimeter G1 X137.599 Y126.599 F4800 G1 E0.0000 F40 G92 E0.0000 G1 X156.400 Y126.599 E0.5690 F3375 Extrusion amount: G1 X156.400 Y145.400 E1.1381 (0.5691) G1 X137.599 Y145.400 E1.7071 (0.5691) G1 X137.599 Y126.599 E2.2762 (0.5691) ; feature outer perimeter G1 X137.199 Y126.199 F4800 G92 E0.0000 G1 X156.800 Y126.199 E0.5933 F2250 G1 X156.800 Y145.800 E1.1865 G1 X137.199 Y145.800 E1.7798 G1 X137.199 Y126.199 E2.3730
It looks like there are some things you can adjust in cura to get it to produce mode S3D-like GCODE:
- Do Inside first
- Set absolute extrusion
I'd be happy to look at your Cura GCODE after these changes and see if it's more like the S3D code.
Also, it would seem to me that the Cura print whould be OVERextruding, not underextruding looking just at the GCODE.
Unless (and I'm ready to accept this) I'm completely misunderstanding something.
-
Thank you!
When Printing walls inside out in Cura, I still had the under extrusion, just obviously harder to see from the outside on most prints. I could really notice it on some smaller/higher detailed prints like minis.
I changed the walls to outside in to help troubleshoot.
For one, I didn't know Relative Extrusion was an option the Slicer would care to play with (and just found the option in Cura). I have only played with that setting on purpose in config.g and it was so long ago, I don't even remember why I did it.I will make the suggested changes, print a cube and share the code.
Thanks again! -
Also, cura is printing outer walls at 4500 and S3D is printing outer walls at 2250 so maybe check your speeds and possibly your layer minimum times to get cura to slow down some.
-
@alankilian
I updated S3d settings to (well hopefully) print the outside wall first than inside. (left cube)
I also updated Cura to print a lot slower, should be at 40mm/s on the outside wall. (right cube)
CFFFP_20mm_calibration_cube Cura test slow print down.gcode
20mm_calibration_cube S3d test walls outside in.gcodeI can see small holes are more rounded, smaller than they were, and some of the smallest holes are gone all together, just from the slower speeds. But the larger holes didn't change much if at all.
Thanks for the help! -
There are still some differences in the GCODE:
Cura:
- Layer height 0.18mm (109 layers)
- First layer height 0.3mm
- Speed Outer 2400 Inner 4800
- One line extrudes 0.5339
S3D:
- Layer height 0.2mm (100 layers)
- First layer height 0.2mm
- Speed Outer 912 Inner 1369
- One line extrudes 0.5933
I think the differences in extrusion amounts may be linked with the differences in layer height.
I would try to get the Cura speeds down to the S3D speeds and see wherre that gets you.
-
@bluedust I can’t preview the GCODE right now, but it looks as if ‘Coasting’ is enabled in Cura.
I would recommend toggling the settings visibility in Cura to ‘all’ and searching for ‘Coasting’. Ensure it is disabled.
Coasting is a way in Cura to emulate Pressure Advance and under/over extrusion at layer start/stops - a way to eliminate blobbing.