Blobs and zits - stuttering movement
-
Hi All,
I'm been debugging a new build, and I have a problem that I've allowed to hang around for a little while, but my current print is suffering more than others so I need it solved.
I suspect it's a slicer problem, so I've posted it one the Cura foums but I know there is plenty of knowledgeable users here who might be able to help.
So apologies for referring you to the Cura forums here:
https://community.ultimaker.com/topic/37053-blobs-and-zits-stuttering-movement/
Thanks and advance
-
Hi,
I think I ran in a similar issue, I started to look into it once here: link text
On my core xy straight lines are fine, as soon as a radius starts, the stuttering is happening.
Firmware does not make a difference currently using latest RC2. My assumption it is an interference with the 3D-touch seems to be wrong.
The issue seems to be there when I have start code configured in Cura. I have not tested in detail, but
- start code including M32 â> fail
- disabling M32 in start code or just commenting out in DWC (no other changes to guide) â> printing fine
*Starting M32 manually prior to print and starting print after M32 has finished â> fine
Do you have any start code active?
Best Regards
Marshal -
@Marshal - Its hard to say if your problem is the same. I blame my issue on the slicer. I only have very simple start code - no M32 commands.
M122 output below:
M122: === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05 running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DJM-9178L-L2MSD-6JKD6-3S86K-19D2N Used output buffers: 1 of 24 (14 max) === RTOS === Static ram: 25712 Dynamic ram: 94484 of which 0 recycled Exception stack ram used: 520 Never used ram: 10356 Tasks: NETWORK(ready,596) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,1664) IDLE(ready,160) Owned mutexes: === Platform === Last reset 78:43:40 ago, cause: power up Last software reset at 2021-05-20 18:12, reason: User, spinning module GCodes, available RAM 10404 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: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 211.0ms, max retries 0 MCU temperature: min 25.4, current 31.8, max 36.5 Supply voltage: min 11.4, current 11.7, max 12.4, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 0/664 Driver 1: ok, SG min/max 0/880 Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max 0/1023 Driver 5: standstill, SG min/max 0/418 Driver 6: standstill, SG min/max 0/500 Driver 7: standstill, SG min/max 0/387 Driver 8: standstill, SG min/max 0/494 Driver 9: standstill, SG min/max not available Date/time: 2021-05-24 19:55:28 Cache data hit count 4294967295 Slowest loop: 628.52ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 158, MinFreeDm: 97, MaxWait: 1487703ms Bed compensation in use: mesh, comp offset 0.000 === DDARing === Scheduled moves: 1909091, completed moves: 1909075, StepErrors: 0, LaErrors: 1454, Underruns: 0, 3 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.4 Heater 1 is on, I-accum = 0.3 === GCodes === Segments left: 1 Stack records: 2 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 doing "G1 F6000 X387.506 Y471.215 E1.89808" 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: 204.40ms; fastest: 0.00ms 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 0 WiFi firmware version 1.21 WiFi MAC address cc:50:e3:e3:b1:11 WiFi Vcc 3.28, reset reason Turned on by main processor WiFi flash size 4194304, free heap 16232 WiFi IP address 192.168.0.112 WiFi signal strength -55dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0 === Filament sensors === Extruder 0: pos 0.84, errs: frame 187 parity 4 ovrun 71 pol 348 ovdue 0
-
@gerrard maybe post your config files?
If its only on curved surfaces it's likely your jerk is set too low
-
@engikeneer - now that you mention it, I noticed that cura jerk is set to 12mm/s, but duet is 2000mm/min (33mm/s).
I had a problem a long time back where the extruder jerk or accel was too low, so the motion was fine, but occasionally it would have to wait for the extruder. From memory it was only on retracts though.
Sadly, this is a huge job - 100+ hrs, so I'll have to wait until it finishes before I can try anything else.
Here's the config.g file:
; Configuration file for Duet WiFi (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon Mar 30 2020 11:14:18 GMT+1000 (Australian Eastern Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Point Zero CoreXY" ; set printer name M667 S1 ; select CoreXY mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes backwards M569 P1 S1 ; physical drive 1 goes forwards M569 P5 S1 ; physical drive 5 goes backwards M569 P6 S1 M569 P7 S1 M569 P8 S1 M569 P4 S0 ; physical drive 3 goes backwards M569 P3 S1 M584 X1 Y0 Z5:6:7:8 E4:3 ; set drive mapping M671 X-60:-60:875:875 Y200:400:200:400 S5.0 ; Set location of z leadscrews for independant bed levelling. M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E412.0:412.0 ; set steps per mm M566 X2000.00 Y2000.00 Z20.00 E5000.00:5000.0 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z400.00 E5000:5000 ; set maximum speeds (mm/min) M201 X800.00 Y800.00 Z100.00 E2000.00:2000.00 ; set accelerations (mm/s^2) M204 P1200 T4000 ; print and travel acceleration M906 X1600 Y1600 Z1200 E1200:1200 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M593 F80 ; Set Dynamic Acceleration Adjustment M572 D0 S0.06 ; Set extruder pressure advance ;M915 P0:1 S5 F1 H200 R3 ; Set up stall detection ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X740 Y800 Z750 S0 ; set axis maxima Previous X860 ; Endstops M574 X1 Y1 S1 M574 Z0 S0 ; set active high endstops M591 D0 P5 C3 R5:120 E20.0 S1 ; Configure Laser filament sensor for extruder drive 0. ; Z-Probe M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-21.6 Y9.4 Z0.85 ; set Z probe trigger value, offset and trigger height - refer to: https://duet3d.dozuki.com/Wiki/Gcode#Section_M564_Limit_axes M557 X40:740 Y40:780 S78 ; define mesh grid - AS DESIGNED ;M557 X270:530 Y270:530 S52 ; define mesh grid - FOR TESTING ONLY M376 H10 ; Set bed compensation taper (layers to fade out bed compensation) ;G29 S1 ; Heaters M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4138 R4700 S"Bed" ; set thermistor + ADC parameters for heater 0 ;M140 H0 S75 R50 M143 H0 S120 ; set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 R4700 S"Extruder 1" ; set thermistor + ADC parameters for heater 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M305 P2 T100000 B4267 R4700 S"Extruder 2" ; set thermistor + ADC parameters for heater 2 M143 H2 S280 ; set temperature limit for heater 1 to 280C M305 P101 S"Duet 2" T100000 B4725 R4700 ; Duet 2 Drivers Over Temp Warning M305 P102 S"Duex 5" T100000 B4725 R4700 ; Duex 5 Drivers Over Temp Warning ; Fans M106 P0 S0 I1 F25000 H-1 X255 B0.001 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on ;M106 P1 S0 I1 F25000 H-1 X255 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P2 S1 I0 F500 H-1 ; Tools M563 P0 D0 H1 F0:1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets M563 P1 D1 H2 F0:1 ; define tool 1 G10 P1 X-20 Y00 Z0 ; set tool 1 axis offsets G10 P1 S190 R150 G10 P0 S190 R150 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined
-
@gerrard yep, I usually have the extruder setting set quite high so that it doesn't limit things. You can generally get away with high accel/jerk because the inertia it's moving is so low.
720mm/min jerk for X-Y sounds reasonable (unless you also have other modifiers that reduce it for perimeters, first layer etc). Might also depend on what acceleration settings Cura puts in and on how quickly you're trying to print too. On my corexy I have 500mm/min jerk, 800mm/s2 accel and typically print perimeters at ~60mm/s and don't typically have any problems. (My print head is quite heavy so I keep the accel low)
When you're able, I'd suggest disabling the accel/jerk control in Cura and running some test prints, adjusting the machine limits as you go so that you can find suitable values to put into Cura.
One other thing I spotted is your z jerk at 20mm/min. If you have mesh compensation enabled, this might cause some jerky motion as the z movement will limit the xy motion. Might be especially bad if the z direction has to change as the print head goes round a corner? That could also be your issue... I'd go a bit higher (and maybe on the accel too). You should be able update that on the fly whilst your current print is going (sending the commands by the console in DWC) and see if it helps?
-
@engikeneer - Thanks for the tips. Long story short, I've come to the settings I use now as a result of resolving earlier problems - for example, extruder and Z skipping because jerk was too high. Some of these problems have been resolved at the source, some haven't. Sounds like I need to go back to first principles and re-tune everything.
-
Upload a sample sliced gcode file so we can get an idea of your cura settings and start gcode.
-
So, a quick follow up on this.
Back story - the printer is a huge CoreXY built as a MVP (minimum viable product) - there have been a lot of short cuts taken, so I expect a bunch of problems.
The job I was printing when I posted this was for a casting pattern - it took almost 6 full days to print, and the quality was very average. The blobs and zits were the biggest problem, but there were several horizontal bands that were several layers thick - kind of like the magic numbers problem scaled up a few layers.
Anyway - I made the error of printing the whole job 2% too small :'(, so I'm now re-printing it. I took some feedback on board, tried a few test prints, and turned the settings up. I disabled the Accel and Jerk control in Cura, then tweaked the M5665 and M201 values on the duet while it was printing.
We're now printing at 150mm/s (max), Jerk is 750mm/s, Accel is 700mm/s^2, and layer height has been increased to 0.32mm. All with the intention of speeding the print up firstly - and hopefully to get some improvements in quality...Well... Here's a before and after shot of the print at roughly the same point in the print.
Before
After
It's not perfect, but it's a huge improvement.
-
@gerrard
It looks better, let's hope the print doesn't shrink too much this timeI saw a simple way to improve your printer: the tall idler bearings should be supported from both ends.