FilamentMonitor Short and fast errors
-
Pounding my head against the wall trying to speed up some prints.
I find that the filament senor is triggering during a lot of successive short and fast movements. (Too little movement).
I can slow the print down by 20% and usually get by with the filament monitor not exceeding the set boundaryM591 D0 P3 C"e0_stop" S1 L25.62 R50:120 A1
Usually occurring during infill or small parts with a decent amount of retractions.
M591 D0 Duet3D magnetic filament monitor v4 on pin e0stop, enabled when SD printing, 25.62mm/rev, allow 50% to 120%, check all extruding moves every 3.0mm, mag 129 agc 56, measured 25.58mm/rev, min 95% max 104% over 3955.1mm
I don't believe the monitor is the issue here but rather catching an issue which I can't explain.
I don't hear any audible noises that would indicate the extruder skipping. During these events the threshold drops considerably which to me indicates an issue.
M591 D0 Duet3D magnetic filament monitor v4 on pin e0stop, enabled when SD printing, 25.51mm/rev, allow 50% to 120%, check all extruding moves every 3.0mm, mag 130 agc 56, measured 25.52mm/rev, min 45% max 105% over 4289.0mm
within ~300mm we see a tolerance of +-5% and it jumps to over 50% error. With this drastic of an error it makes me believe there is an issue that I can't put my finger on and I don't believe it's the sensor itself. I would like to run my prints a little faster. Any help would be appreciated.
Config below.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Jan 17 2020 15:59:54 GMT-0700 (Mountain Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Predator" ; set printer name M665 L425.400:425.420:425.405 R223.741 H431.495 B186.0 X0.110 Y0.113 Z0.000 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 A0.00 B0.00 ; put your endstop adjustments here, or let auto calibration find them ;---------------------------------------------------------------------------------------------------------------------- ; Network ;---------------------------------------------------------------------------------------------------------------------- M552 S1 ; configure WiFi adapter M586 P0 S1 ; configure HTTP M586 P2 S1 ; configure Telnet ;---------------------------------------------------------------------------------------------------------------------- ; Drives ;---------------------------------------------------------------------------------------------------------------------- M569 P0 S0 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M569 P4 S0 M584 X0 Y1 Z2 E3:4 ; set drive mapping M350 X32 Y32 Z32 I1 ; configure microstepping without interpolation M350 E16:16 I1 ; configure microstepping with interpolation M92 X320 Y320 Z320 E822.34:830.52 ;From 1.8 deg steppersM92 X320 Y320 Z320 E848.6:823.88 ; set steps per mm ;M566 X3000.00 Y3000.00 Z3000.00 E1500.00:1500.00 ; set maximum instantaneous speed changes (mm/min) M566 X1000.00 Y1000.00 Z1000.00 E1000:1000 ; set maximum instantaneous speed changes (mm/min) ;M203 X18000.00 Y18000.00 Z18000.00 E3700.00:3700.00 ; set maximum speeds (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E6000.00:6000.00 ; set maximum speeds (mm/min) ;M201 X9000.00 Y9000.00 Z9000.00 E8000.00:8000.00 ; set accelerations (mm/s^2) M201 X3000.00 Y3000.00 Z3000.00 E3000.00:3000.00 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z1500 E1500:1500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ;---------------------------------------------------------------------------------------------------------------------- ; XYZ Axis Calibration ;---------------------------------------------------------------------------------------------------------------------- M579 X1.003610388 Y1.003610388 Z1.000001 ;---------------------------------------------------------------------------------------------------------------------- ; Firmware retraction ;---------------------------------------------------------------------------------------------------------------------- M207 S1.85 F7000 R0 T2500 Z5 ;---------------------------------------------------------------------------------------------------------------------- ; Axis Limits ;---------------------------------------------------------------------------------------------------------------------- M208 Z0 S1 ; set minimum Z ;---------------------------------------------------------------------------------------------------------------------- ; Endstops ;---------------------------------------------------------------------------------------------------------------------- M574 X2 S1 P"xstop" M574 Y2 S1 P"ystop" M574 Z2 S1 P"zstop" ;---------------------------------------------------------------------------------------------------------------------- ; Z-Probe ;---------------------------------------------------------------------------------------------------------------------- M558 P8 R0.4 F1200 C"zprobe.in+zprobe.mod" H5 A3 S0.15 T10000 ; G31 P100 X0 Y0 Z0;G31 P100 X0 Y0 Z-.0194;-.127; M557 R180 S18 G29 S1 ;---------------------------------------------------------------------------------------------------------------------- ; 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 M143 H0 S120 ; set temperature limit for heater 0 to 120C M140 H0 ; map heated bed to heater 0 M308 S1 P"e0temp" Y"pt1000" 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 M143 H1 S295 ; set temperature limit for heater 1 to 280C ;E3dV6 M307 H1 A383.9 C128.9 D5.1 V24.1 ;---------------------------------------------------------------------------------------------------------------------- ; Fans ;---------------------------------------------------------------------------------------------------------------------- M950 F0 C"fan0" Q100 ; create fan 0 on pin fan0 and set its frequency M106 P0 C"Part Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 C"HF" H1 T45 L255 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"fan2" Q500 M106 P2 C"Duet Fan" S127 H-1 ;---------------------------------------------------------------------------------------------------------------------- ; Tools #0 ;---------------------------------------------------------------------------------------------------------------------- M563 P0 S"HotEnd" 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 ;---------------------------------------------------------------------------------------------------------------------- ; Tools #1 ;---------------------------------------------------------------------------------------------------------------------- M563 P1 S"HotEnd" D1 H1 F0 ; define tool 0 G10 P1 X0 Y0 Z0 ; set tool 0 axis offsets G10 P1 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ;---------------------------------------------------------------------------------------------------------------------- ; Filament runout Switches ;---------------------------------------------------------------------------------------------------------------------- ;M591 D0 C"e1_stop" P2 S1 ; extruder 1 filament runout sensor ;M591 D1 C"e0_stop" P2 S1 ; extruder 2 filament ronout sensor M591 D0 P3 C"e0_stop" S1 L25.62 R50:120 A1 ; filament monitor connected to E0_stop m591 d1 P3 C"e1_stop" S1 L25.74 R20:120 A1 E3 ;---------------------------------------------------------------------------------------------------------------------- ;Accelerometer ;---------------------------------------------------------------------------------------------------------------------- M955 P0 C"spi.cs4+spi.cs3" ;---------------------------------------------------------------------------------------------------------------------- ;Input Shaping ;---------------------------------------------------------------------------------------------------------------------- M593 P"ZVDDD" F55 S0.1 ; Use AVDD input shaping to cancel rining at 50 Hz ;---------------------------------------------------------------------------------------------------------------------- ; Miscellaneous ;---------------------------------------------------------------------------------------------------------------------- M572 D0 S0.2 ; Pressure advance M572 D1 S0.2 M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M950 P3 C"exp.heater3" Q500 ; Set LED to GPIO pin 3 bank M404 N1.75 M592 D0 A0.011806 B0.0026876 ;---------------------------------------------------------------------------------------------------------------------- ; LOAD CONFIG_OVERRIDE.G NOTHING GOES AFTER HERE BUT M501 ;---------------------------------------------------------------------------------------------------------------------- M501
-
@starworts You're using A1 in the M591 command, which measures all filament movement; it may be helpful to change this to A0, which checks printing moves only (moves with both movement and forward extrusion).
How far is the MFM from the extruder inlet and how well constrained is the filament between them? Make sure PTFE tubes are fully in the connectors, and can't move in or out at all. It could also be the filament monitor slipping on the filament at the faster speed. Check if the magnet is rotating freely, and the spring tensioner is free to tension. Check the bearings are smooth running; filament dust can get into them and cause binding.
Ian
-
Pounding my head against the wall
don’t.
I find that the filament senor is triggering during a lot of successive short and fast movements.
Usually occurring during infill or small parts with a decent amount of retractions.The MFM is set to check extruding moves every 3.0 mm. Shorter moves, combined with retractions, may not be properly registered. In your
M591
command, you can either try to set the E parameter to a higher value (in order to not report minor ”hiccups”), or you can lower the Raa parameter (in order to ignore false ”under-extrusion” events). @droftarts recommends a third alternative: try that first.Please tell us which firmware version you are running and which Duet board you use.
To your config.g:
- Do you really use the HTTP and Telnet protocols?
- You define the MFM twice: once for ”e0_stop”, then for ”e1_stop”.
-
@infiniteloop said in FilamentMonitor Short and fast errors:
You define the MFM twice: once for ”e0_stop”, then for ”e1_stop”.
I don't think that's an error; he's got two extruders, and the MFMs are defined for each drive (M591 D0 and M591 D1), so I guess he's got two MFMs.
Do you really use the HTTP and Telnet protocols?
HTTP tends to be required! Telnet... not so much.
Ian
-
@droftarts said in FilamentMonitor Short and fast errors:
I don't think that's an error
Well yes, but on my part. Thanks for putting it right.
HTTP tends to be required!
Does the OP run a SBC configuration? Was not aware of that.
-
@infiniteloop said in FilamentMonitor Short and fast errors:
Does the OP run a SBC configuration? Was not aware of that.
HTTP is enabled by default for standalone, according to https://docs.duet3d.com/User_manual/Reference/Gcodes#m586-configure-network-protocols, though 'M586 P0 S1' is usually added in anyway by the configuration tool. I didn't get the sense from the config.g that this is an SBC setup, or there wouldn't be any network codes.
Ian