Magnetic monitor inconsistency
45 minutes into my magnetic filament monitor journey. I seem to have a functioning preassembled unit as I'm not getting any errors or anything. Following the instructions carefully and checking the m code after a few minutes I had something like 25.78mm per rotation but was getting pauses constantly for not enough filament. I set the threshold to 1-300% to stop the pausing and get a more accurate read. My print is mostly looking fine, to the extent my extruder is skipping or slipping, it'd have to be very minimal. Now, I wait until 5000mm or so is extruded and now my m code returns like 39rev per rotation (!) But with the low to high of 12%-102% or so.
Worth noting that I'm using a .8mm nozzle with a volcano and generally pushing the limits of speed (which for the volcano is only maybe 65mms).
Is something wrong with my sensor? My config? Any thoughts?
@clearlynotstef Hard to say with the limited information! Please post your current config.g, and send M115 to the Duet and post the response (shows firmware version and Duet type). If you can send the console output from sending M591 D[extruder drive number], that would be useful too.
This post is deleted!
My config is a mess but is below
; Delta July 2019 Revisions ; Communication and general M111 S0 ; Debug off M550 Pbot ; Machine name and Netbios name (can be anything you like) M551 Pnome ; Machine password (used for FTP) M540 P0xBE:... ; MAC Address ;*** Adjust the IP address and gateway in the following 2 lines to suit your network M552 P0.0.0.0 ; IP address (0 = use DHCP) M554 P192.168.1.1 ; Gateway M553 P255.255.255.0 ; Netmask M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Comms parameters for PanelDue M552 S1 ; turns on wifi by default G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S0 ; Drive 4 goes forwards M574 X2 Y2 Z2 S0 ; set endstop configuration (all endstops at high end, active high) ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration M665 R212.309 L360.26 B150 H541.026 ; set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ;M92 X100 Y100 Z100 E95 ; Set axis steps/mm ;M906 X1800 Y1800 Z1800 E1400 I60 ; Set motor currents (mA) and increase idle current to 60% ;M201 X2000 Y2000 Z2000 E1000 ; Accelerations (mm/s^2) ;M203 X20000 Y20000 Z20000 E10000 ; Maximum speeds (mm/min) ;M566 X1800 Y1800 Z1800 E300 ; Maximum instant speed changes mm/minute ;M350 X16 Y16 Z16 E16 I1 ;small motor below, regular above M92 X100 Y100 Z100 E816 ; Set axis steps/mm M906 X1800 Y1800 Z1800 E1200 I60 ; Set motor currents (mA) and increase idle current to 60% M201 X3000 Y3000 Z3000 E7000 ; Accelerations (mm/s^2) M203 X26000 Y26000 Z26000 E7000 ; Maximum speeds (mm/min) M566 X2400 Y2400 Z2400 E1000 ; Maximum instant speed changes mm/minute M350 X16 Y16 Z16 E16 I1 ; Thermistors ;*** If you have a Duet board stickered "4.7K", change R1000 to R4700 to the following M305 commands M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction M305 P1 T100000 B4388 R4700 H30 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds ; ;Heater 0 model: gain 254.9, time constant 950.0, dead time 16.3, max PWM 1.00, mode: PID ;Setpoint change: P40.8, I0.043, D465.7 ;Load change: P40.8, I0.796, D465.7 M307 H0 A254.9 C950 D16.3 B0 ;Heater Faults: Hnnn Heater number Pnnn Time in seconds for which a temperature anomaly must persist Tnnn Permitted temperature excursion from the setpoint Snnn Time in seconds after a heater fault is raised after which the print will be abandoned M570 H1 P10 T15 ; Tool definitions M563 P0 D H1 ; Define tool 0 G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ;*** If you have a dual-nozzle build, un-comment the next 2 lines ;M563 P1 D1 H2 ; Define tool 1 ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures ;------------------------------------ PROBES ;*** If you are using axis compensation, put the figures in the following command ;M556 S78 X0 Y0 Z0 ; Axis compensation here ; SMART EFFECTOR M558 P5 R0.4 F700 H15 G31 P100 X0 Y0 Z-0.55 ;----------------------------------------------------------------------------- M208 S1 Z-0.2 ; set minimum Z T0 ; select first hot end M557 R120 S20 ; SETUP BED LEVEL ;------------------------------------------------------------------------------------ ;Pressure Advance M572 D0 S.05 ;--RETRACTION ;M207 S6.0 F2400 Z ;retraction ;Snnn positive length to retract, in mm ;Rnnn positive or negative additional length to un-retract, in mm (RepRapFirmware only) ;Fnnn retraction feedrate, in mm/min ;Tnnn feedrate for un-retraction if different from retraction, mm/min (RepRapFirmware 1.16 and later only) ;Znnn additional zlift/hop ;---------------- ;Chamber Heater M141 H2 ; heater 3 is the chamber heater M305 P2 R4700 T100000 B3950 ; heater 3 is monitored by a 100K thermistor with B=3950 and a 4.7K series resistor M301 H2 P-1 ; use bang-bang control for the chamber heater ;------------------ ;Filament Monitor M591 D0 P3 C3 S1 R01:300 L25.78 E5.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E0 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length ;-------------- ;Call config override file ;M501
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.05.1 ELECTRONICS: Duet WiFi 1.0 or 1.01 FIRMWARE_DATE: 2020-02-09b1
Duet3D magnetic filament monitor on input 3, enabled, sensitivity 25.78mm/rev, allow 0% to 300%, check every 5.0mm, version 3, mag 129 agc 110, measured sensitivity 26.63mm/rev, min 70% max 103% over 301.6mm
But in 5 seconds it'll pause again. Yes I'm currently set to 0% and it still pauses, no difference at 1% either. Initially I started at 70 per recommendation but still same behavior so tried 1 and 0 to get through the print I need!
@clearlynotstef Thanks for the information. As this is a Delta, is the extruder mounted remotely, so you have a long Bowden? Or do you have a flying extruder? And how far between the extruder and the magnetic sensor?
What I'm guessing is that there's a bit of hysteresis, perhaps coupled with longer retractions, that mean you may need to increase the sampling distance from 5mm to, say, 10mm.
The other thing is the agc value, which measures how close the magnet is to the sensor. If the magnet is too far from the sensor, it may miss some movement. From this post https://forum.duet3d.com/topic/15079/correct-acg-value-for-magnetic-filament-sensor/, @dc42 recommends:
Up to 110 is OK, however normal values are below 100. It looks as though the distance between the magnet and the sensor is a little too high (target is 0.25mm). Check that the screws holding the PCB down are not loose (caution: they are screwed into the plastic, so don't over-tighten them). If they are already tight, you could remove the 2 long screws to separate the two plastic parts and very slightly sand down the bottom surface of the top one (the one with the PCB attached).
Let me know if that helps.
In response to your question, it's a delta indeed, with a flying extruder and a maybe 150mm bowden tube, maybe half of which is in the heat sink of the hotend itself. Bondtech extruder suspended tightly from elastic basically just tilts without bouncing around much. Very short length of Bowden sticking out of the top of the extruder into the mag sensor, short length of Bowden out of the top of the sensor into which the filament is inserted from the spool atop the printer. Figured it makes more sense to put the sensor on top of the extruder so when it pauses the print at the end of the roll it'd do so before the filament is passed the extruders hobbed bolts, if I put it after the extruder it'd sense the error at the moment the end of the spool reaches past the hobbed bolt which means the retraction move in pause.g wouldn't work and it'd sit there oozing on larger prints until I got home, plus I'd have to fiddle with the hotend tubing to get the last of the filament out. If it would help to move it below the extruder I'm happy to try it though.
I can try upping the polling length to 10 and see how that works, even that would be pretty often because at .8mm nozzle and 60mms the roll of filament is spinning several rpm!
Sounds like moving the magnet closer might be the solution too, I haven't messed with the assembly at all, given I understand it was tested before being sold, but I guess I can tinker and see how it goes.
So I just did another print that turned out nicely (with 1-300% tolerance so I'm not pausing constantly) and ran a 591 after it finished
Duet3D magnetic filament monitor on input 3, enabled, sensitivity 25.78mm/rev, allow 1% to 300%, check every 5.0mm, version 3, mag 129 agc 114, measured sensitivity 25.92mm/rev, min 64% max 105% over 11571.1mm
Are we thinking the magnet is too far?