M591 Magnetic Sensor Reporting No Data
Just hooked up a magnetic filament sensor to the E0 input, my M591 command in the config file is:
M591 D0 P3 C3 S1 R70:130 L28.4 E3.0 A0
I get a red solid LED on the Duet board but the filament sensor LED flashes red 7 times.
M591 D0 reports:
Duet3D magnetic filament monitor on input 3, enabled, sensitivity 28.40mm/rev, allow 70% to 130%, check every 3.0mm, no data received
I've triple checked that I am actually connected to the E0 input on the duet. I have two filament sensors and both perform identically.
alankilian last edited by
HERE is the web page for troubleshooting.
7 flashes: Magnet too weak
What does M591 D0 report?
The rotating magnetic sensor should be mounted as close as possible to the extruder, to minimise filament hysteresis between them. If a large distance between the sensor and extruder is unavoidable, you may need to increase the M591 'E' parameter (minimum extrusion length before a commanded/measured comparison is done) to something much larger than the default 3mm, perhaps 10 to 20 mm, to account for filament hysteresis. If you get sudden drops in the sensitivity, check that sensor is solidly mounted, and that any PTFE tubes between the sensor and extruder are firmly held, with no movement. To make sure the sensor is measuring correctly, check the 'mag' and 'agc' values in the M591 report for the magnetic sensor. 'agc' is automatic gain control, used to bring the signal magnitude from the Hall sensor in range. The maximum value available is 128. 'mag' is the magnitude of the signal from the Hall sensor element, after applying agc. Under normal conditions, 'agc' should be in the range 85 to 105 and 'mag' won't change much. So 'mag' is less useful than 'agc'. For example, sending M591 D0 (assuming magnetic sensor is connected to your first extruder) might report: M591 D0 Duet3D magnetic filament monitor on input 3, enabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, version 3, mag 126 agc 128, measured sensitivity 24.78mm/rev, min 97% max 102% over 109.0mm If your sensor does not report mag and agc, check that you are running RepRapFirmware 2.05.1 or RepRapFirmware 3 on the Duet. If the sensor reports error 6 or 7 that has the same meaning as the red flashes documented above. Values for 'agc' of 85 to 105 are considered normal. If the value is higher, up to 128, the distance between the magnet and the sensor is likely to be too large (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) to move the sensor closer to the magnet.
M591 reports no data received. The duet 2 is not talking to the filament sensor and I'm trying to figure out why.
alankilian last edited by
OK, there are only three wires and if you're getting LED flashing on the sensor, you've got power and ground hooked up right.
So just check very carefully that the third wire is connected well, and is connected to the E0_stop input.
I was misunderstanding the meaning of "Reporting No Data" to mean that I was having a bad connection on the signal output. I sanded down my housing and things seem to be working now.
I guess the tolerance for the magnet distance is really tight!
My agc is reading 128, is it worth sanding down the housing to get this value to the 80-105 range?
@iff7378 yes aim to get your agc <100
Got the sensor working but I'm getting a lot of reporting too little movement errors. The sensor is located immediately above a Titan Aero extruder so theres maybe 25 mm of filament between the sensor and the extruder drive. All is contained in ptfe tubing.
My current M591 output is:
Duet3D magnetic filament monitor on input 3, enabled, sensitivity 25.14mm/rev, allow 90% to 110%, check every 15.0mm, version 3, mag 131 agc 92, measured sensitivity 25.67mm/rev, min 91% max 104% over 45.1mm
I'm confused on why it paused at 91% when my threshold is set for 90%?
Regardless, I'm still getting instances where the percentage is down to 20% or so but no issues in filament movement.
Any suggestions would be greatly appreciated!