Automated error state checking. Help me think this through?
-
Hi
I've been having similar fun with the filament monitor as some of the most recent posters. Occasional sensor errors, spurious high readings and some low filament movement pauses that don't seem to match up in the actual print. I'll work through those a bit more before bothering anyone with a support request. Mag 131 agc 89, measured sensitivity 26.35mm/rev, min 98% max 103% over 23583.2mm is pretty typical. No sign of the magnet rubbing the chip.
Anyway, the low filament movement alarms got me thinking... In every case, it's not been a jam, clog or other malfunction and I can't find the MFM to be at fault either really, though it's likely a mechanical fault I can't replicate no matter how hard I try. If the print gets paused, I end up extruding some filament to check for actual clogs and clear any overcooked PLA out of the nozzle and resuming the print. It struck me that I could get the MFM to do this job for me:- if there's a problem, pause the print, move the nozzle clear of the print, extrude some filament and check that it's extruding correctly and the sensor reads. If not, obviously stay paused and wait for help. If the fault appears to have cleared, continue the print.
For every single instance I've had the MFM pause the print thus far, this would have resulted in the print continuing just fine automatically. My thinking is something along these lines:
;filament-error.g M591 D0 ;useful in debugging. Might be a better way. M25 ;pause. I think this is the correct gcode command to use here? if ;Im stuck here trying to figure out how to parse the M591 output into something a boolean will work on ( G1 E20 F1600 ;extrude 20mm of filament if ;Im still stuck ( G1 E-4 F3600 ; retract 4mm of filament quickly M24 ;resume and run resume.g ) ) ;if not successful, Ill do nothing and remain paused.
There's obviously much room for refinement...
My biggest hiccup is trying to get a simple "is the filament movement within spec?" out of M591 and I've not stumbled across an alternative in my research. I'm sure I'm missing something!Thanks for reading. Thoughts and comments very welcome
-
@lo-fi which firmware version are you running? You may find 3.4.0rc1 less likely to report a spurious alert than 3.3.
-
@dc42 thanks for the heads up!
I'm running 3.3. Hadn't been brave enough to take the plunge on the 3.4RC, was waiting until it got released stable. I'll have a nose through the release notes, sounds like it's worth testing. At very least I should be able to give some feedback!
-
First impressions are that it's much better! 100m of filament in and it's been rock solid so far.
-
@dc42 Quick update:
I redesigned the housing and re-printed, paying particular attention to having the filament only in contact with the PTFE, having the PTFE securely mounted closest to the hob and passing the filament over the hob such that the idler has very little work to do. I believe RC2 fixed the "sensor error" issue and the housing update seems to have cleared the frequent spurious movement readings I was still getting.
I'm now consistently getting:
Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 26.67mm/rev, allow 70% to 130%, check printing moves every 6.0mm, version 3, mag 131 agc 69, measured sensitivity 26.69mm/rev, min 98% max 102% over 13106.6mm
Not had an unwelcome print pause in days now.
I could probably refine the design a little more. I think a full case with strain relief for the cable(s) would be a definite plus.
-