Print stuttering around curves, LaErrors
-
@brisma Thank you for your response! You bring up some really good points.
Regarding the overzealous extruder jerk, Ive been told that its too high ever since I found that I could mess with it! I was under the assumption that the print moves would be dictated by the speed, acceleration, and jerk of the least responsive axis (at least I thought that was correct in Marlin). Therefore, I wanted to make sure that the extruder was unlikely to be the least responsive axis. Is this incorrect? Or maybe I shouldn't be considering it in that way?
Regarding the M906, I was just making it 85% of the max motor current (which is 1680). I could change it to 1400, though Im not sure that it would change much (though I could be very mistaken!).
My setup is Direct Drive. E3D Titan Aqua to a Supervolcano running 24V. As represented by the very low pressure advance value, PA isnt doing too much, so I could remove it.
Thanks again for your time.
-
@NitroFreak First of all, thank you for printing items to fight COVID!
Looks like you have many "Hiccups." In my experience, this has to do with very high microstepping. In your config.g file, what does it show under "M350"? For instance, mine is "M350 X16 Y16 Z16 E16 I1".
-
Yup definitely a large number of hiccups. @NitroFreak usually a result of using too high microstepping. x16 with interpolation to x256 is recommended.
Regarding the halting movement behaviour I may have noticed something similar myself on curved surfaces lately but I was also testing a new slicer release and wrote it off as something I had changed there. I did not look at a M122 at the time. I'll keep that in mind on my next print.
-
@Phaedrux If the slicer matters, Im running cura 4.6.0 (newest release). Im still getting no hiccups, some LA Errors, and stuttering behavior.
-
I was using this version of Cura which is built on 4.6
https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0&lst=
-
@Phaedrux said in Print stuttering around curves, LaErrors:
Yup definitely a large number of hiccups. @NitroFreak usually a result of using too high microstepping. x16 with interpolation to x256 is recommended.
Regarding the halting movement behaviour I may have noticed something similar myself on curved surfaces lately but I was also testing a new slicer release and wrote it off as something I had changed there. I did not look at a M122 at the time. I'll keep that in mind on my next print.
I have nothing out of the ordinary, apart from an external Y servo that i run with no microstepping.
Also two X axis motors that i do indeed run with x16 and interpolation.M350 Y1 Z64 ;E16:16I0 ; Configure microstepping without interpolation
M350 X16:16 I1 E16:16 I1 ; Configure microstepping with interpolation
M92 X88.89 Y360.00 Z3200.00 E411:430 ; Set steps per mm, mk8 extruder 94.3Any idea what else it could be?
-
@NitroFreak said in Print stuttering around curves, LaErrors:
Z3200.00
Are you using z hop or something? I might try dropping the Z axis back to x16.
The external stepper could be something but I'm not familiar.
-
Are you sure that your M350 commands are all after your M584 commands?
-
As an update, decreasing extruder jerk did not improve or worsen the artifacts. The issue persists.
-
I'm about to try a print. The mesh isn't very high resolution though so the curves are pretty facetted.
-
=== DDARing === Scheduled moves: 11250, completed moves: 11225, StepErrors: 0, LaErrors: 1, Underruns: 34, 0
Only a few minutes into the print and there is 1 La error and a few under runs.
-
Changing X, Y, and E instantaneous speed (jerk) settings dramatically (both high and low) did not affect the outcome.
Changing pressure advance mid print (through M572 command on the gcode console during the print) also did not change the fact that it still stopped while traveling around the large radius arcs.
Below is a link to the GCode for the affected print.
https://drive.google.com/file/d/17gsPftKUcRSPVDl176A_GBqD7sG8GH9i/view?usp=sharing
Please let me know if there is a better way to post gcode, as it exceeded the maximum file size for uploading.
-
From the end of the print:
=== DDARing === Scheduled moves: 18, completed moves: 18, StepErrors: 0, LaErrors: 14, Underruns: 698, 0
m122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later Board ID: 08DDM-9FAM2-LW4SD-6JKF0-3SN6N-T2ZBY Used output buffers: 1 of 24 (16 max) === RTOS === Static ram: 25712 Dynamic ram: 93328 of which 228 recycled Exception stack ram used: 544 Never used ram: 11260 Tasks: NETWORK(ready,628) HEAT(blocked,1176) MAIN(running,3728) IDLE(ready,160) Owned mutexes: === Platform === Last reset 03:48:36 ago, cause: power up Last software reset at 2020-03-30 17:04, reason: User, spinning module GCodes, available RAM 11148 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 27.2, current 29.2, max 30.7 Supply voltage: min 23.7, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max 0/1023 Driver 1: standstill, SG min/max 0/1023 Driver 2: standstill, SG min/max 0/279 Driver 3: standstill, SG min/max 0/1023 Driver 4: standstill, SG min/max not available Date/time: 2020-04-26 19:43:09 Cache data hit count 4294967295 Slowest loop: 67.26ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 98, MaxWait: 60049ms Bed compensation in use: mesh, comp offset 0.000 === DDARing === Scheduled moves: 18, completed moves: 18, StepErrors: 0, LaErrors: 14, Underruns: 698, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.4 === GCodes === Segments left: 0 Stack records: 3 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 200.47ms; fastest: 0.08ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 2 WiFi firmware version 1.23 WiFi MAC address 5c:cf:7f:ef:4a:74 WiFi Vcc 3.31, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24512 WiFi IP address 10.10.0.95 WiFi signal strength -44dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
I did not have any of the pausing I saw previously on the more detailed mesh.
-
@Phaedrux Hmmm, seems like you still have LA Errors, though you didn't have any pausing. If you are using Cura, may I ask what your Maximum Resolution, Maximum Travel Resolution, and Maximum Deviation settings are? Mine are 0.833 mm, 0.7 mm, and 0.015 mm respectively. Do you think that this may be the cause of my issue? They may be too low.
-
No stutters this time, but the model was very low res by comparison. In the next couple days I'll be printing another bunch of high resolution curved models. I'll check again then.
Max res : 0.05
Max travel res 0.1094
Max deviation 0.05And this last print was with that custom cura build from just the other day. Maybe give that build a try.
-
@Charlie said in Print stuttering around curves, LaErrors:
@Phaedrux Hmmm, seems like you still have LA Errors, though you didn't have any pausing. If you are using Cura, may I ask what your Maximum Resolution, Maximum Travel Resolution, and Maximum Deviation settings are? Mine are 0.833 mm, 0.7 mm, and 0.015 mm respectively. Do you think that this may be the cause of my issue? They may be too low.
I also had this suspicion per this video
https://www.youtube.com/watch?v=Hvw3DrVAeTA
I changed my values to 1.133, 0,75 and 0.075 respectively. No change in the stuttering.
Also, it is weird because the duet being 32 bit should not really have this problem? -
I´ve now captured it on video so that it´s easy to see.
100mm circle, 2 perimeters, no infill, Z seam always at the front.
I dropped the Z axis steps back to x16 and 800 steps /mm. Yes i did use Z hop but i can´t imagine how that would affect a mid layer line.It is really weird because i used to be able to print at 250mm/sec no problem.
https://www.youtube.com/watch?v=o-Qg3nTha1AAfter that I didnt really change anything apart from some tpre, tfree and tpost files. But this is all single extrusion.
Here is another M122 after the circleM122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later
Board ID: 08DGM-917NK-F23T0-6J9DJ-3S86S-TWBWD
Used output buffers: 3 of 24 (16 max)
=== RTOS ===
Static ram: 25680
Dynamic ram: 94004 of which 0 recycled
Exception stack ram used: 476
Never used ram: 10912
Tasks: NETWORK(ready,648) HEAT(blocked,1172) MAIN(running,3748) IDLE(ready,160)
Owned mutexes:
=== Platform ===
Last reset 00:29:05 ago, cause: software
Last software reset at 2020-04-27 10:32, reason: User, spinning module GCodes, available RAM 11076 bytes (slot 3)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 36.7, current 38.2, max 40.0
Supply voltage: min 24.3, current 24.6, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: standstill, SG min/max 0/1023
Driver 1: standstill, SG min/max 0/1023
Driver 2: standstill, SG min/max 0/249
Driver 3: standstill, SG min/max 0/1023
Driver 4: standstill, SG min/max not available
Date/time: 2020-04-27 11:02:02
Cache data hit count 4294967295
Slowest loop: 43.29ms; fastest: 0.08ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Move ===
Hiccups: 1415, FreeDm: 169, MinFreeDm: 134, MaxWait: 32660ms
Bed compensation in use: none, comp offset 0.000
=== DDARing ===
Scheduled moves: 6, completed moves: 6, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
Heater 0 is on, I-accum = 0.3
Heater 1 is on, I-accum = 0.4
=== GCodes ===
Segments left: 0
Stack records: 1 allocated, 0 in use
Movement lock held by null
http is idle in state(s) 0
telnet is idle in state(s) 0
file is idle in state(s) 0
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 202.38ms; fastest: 0.08ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8- WiFi -
Network state is running
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 1
WiFi firmware version 1.23
WiFi MAC address b4:e6:2d:52:f6:45
WiFi Vcc 3.34, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 25032
WiFi IP address 192.168.0.93
WiFi signal strength -58dBm, reconnections 0, sleep mode modem
Socket states: 0 0 0 0 0 0 0 0
And here is my config.g
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Feb 03 2019 22:30:32 GMT+0100 (Central European Standard Time) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"ARPEG" ; Set machine name M552 S1 ; Enable network M587 S"KDG-4F519" P"ApbjYbr9nQu7" ; Configure access point. 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 (X1) M569 P1 S1 ; Drive 1 goes forwards (X2) M569 P2 S0 ; Drive 2 goes backwards (Z) M569 P3 S1 ; Drive 3 goes forwards extruder M569 P4 S1 ; Drive 4 goes backwards extruder 2 M569 P5 S0 T8:8:8:8 ; Drive 5 minimum step pulse timing 3 microseconds (JMC servo minimum 2.5 microseconds) M584 X0:1 Y5 Z2 E3:4 ; Apply custom drive mapping M350 Y1 Z16 ;E16:16I0 ; Configure microstepping without interpolation M350 X16:16 I1 E16:16 I1 ; Configure microstepping with interpolation M92 X88.89 Y360.00 Z800.00 E411:430 ; Set steps per mm, mk8 extruder 94.3 M566 X1000.00 Y1000.00 Z200.00 E1500.00:1500.00 ; Set maximum instantaneous speed changes (mm/min) M203 X24000.00 Y24000.00 Z2000.00 E4200.00:4200.00 ; Set maximum speeds (mm/min) M201 X5000.00 Y5000.00 Z700.00 E2000.00:1000.00 ; Set accelerations (mm/s^2) M906 X1600.00 Y800.00 Z1100.00 E1100.00:1200.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M593 F24.5 ; Dynamic Acceleration Adjustment at 24.5 Hertz M572 D0 S0.02 ; Pressure advance M84 S30 ; Set idle timeout ;M207 S0.2 F1800 Z0.8 ; Axis Limits M208 X5 Y5 Z0 S1 ; Set axis minima M208 X215 Y255 Z280 S0 ; Set axis maxima ; Endstops M574 X1 Y1 Z1 S1 ; Set active high endstops ; Z-Probe M558 P0 H5 F120 T6000 ; Disable Z probe but set dive height, probe speed and travel speed M557 X20:170 Y20:195 S20 ; Define mesh grid ; Heaters M307 H6 A-1 C-1 D-1 ; Disables heater 6 output as heater output and configures it as General I/O port M307 H7 A-1 C-1 D-1 ; Disables heater 7 output as heater output and configures it as General I/O port M570 H0 P10 T40 ; Lets the chamber deviate a max of 40C for max 10sec from its set temp (to not raise a fault when opening oven door) ;M140 H-1 ; Tell the firmware there is no bed heater M307 H0 B0 A188.1 C188.1 D3.5 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit (G=188.1, tc=275.7, td=-1.6) M305 P0 T100000 B4138 R4700 S"Chamber" ; Set thermistor + ADC parameters for heater 0 M143 H0 S240 ; Set temperature limit for heater 0 to 240C M305 P1 X200 S"Model" ; Configure thermocouple for heater 1 M143 H1 S430 ; Set temperature limit for heater 1 to 430C ;M305 P2 T100000 B4138 R4700 S"Support" ; Configure Thermistor + ADC parameters for heater 2 ;M143 H2 S320 ; Set temperature limit for heater 2 to 290°C M305 P2 X201 S"Support" ; Configure thermocouple for heater 2 M143 H2 S430 ; Set temperature limit for heater 2 to 430C M307 H1 A225.2 C128.7 D4.1 V24.5 S1.0 B0 ; Set PID parameters for Extruder Heater 1 model: gain 952.0, time constant 389.2, dead time 5.2, max PWM 0.30, calibration voltage 24.3, mode PID, inverted no, frequency default M307 H2 A225.2 C128.7 D4.1 V24.5 S1.0 B0 ; set preliminary PID for support extruder ; 12V Hotend autotune 390° while 212° chamber Heater 1 model: gain 495.4, time constant 164.7, dead time 2.9, max PWM 0.50, calibration voltage 23.1, ; 24V CTC Heater 1 model: gain 225.2, time constant 128.7, dead time 3.4, max PWM 1.00, calibration voltage 24.5 ;M307 H2 A468.7 C131.8 D4.3 V24.5 S0.3 B0 ; Heater 2 model: gain 468.7, time constant 131.8, dead time 4.3, max PWM 0.30, calibration voltage 24.5, (12v heizpatrone im alu block) ; 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 ; Tools M563 P0 S"Model" D0 H1 ; 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 M563 P1 S"Support" D1 H2 ; Define tool 1 G10 P1 X24.93 Y1.18 Z-1.2 ; Set tool 1 axis offsets G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured ; Miscellaneous T0 ; Select first tool
- WiFi -
-
I remember, when i did the 250mm/s test, that it started to judder and slow down randomly at around 280mm/s.
What can cause the processor to overload like that with just 60mm/s? -
@NitroFreak Your video is very reminiscent of problems I had when pressure advance was first introduced. Although, that was with multiple extruders feeding a mixing hot and with much higher PA values than you are using. Still, I wonder if it might be worth disabling PA just to see if it makes any difference or not?
-
@NitroFreak said in Print stuttering around curves, LaErrors:
I dropped the Z axis steps back to x16 and 800 steps /mm. Yes i did use Z hop but i can´t imagine how that would affect a mid layer line.
No I don't think that would cause mid layer issues, but skipping steps on a z hop is a recipe for inaccurate layer heights.