99p filament monitor again
-
This is a follow-up on this post regarding a optical pulse filament monitor based on the LM393 IR sensor, but that one is locked so I can't add to it.
I now have an oscilloscope and can add a little more detail. Before my travels I removed the resistor David suggested in the earlier thread because I did not think that my crappy solder job on the chip did anything to help performance. I may try again depending on your comments.
Here are the rising and falling edges for the signal with the 0.01 uF cap (earlier post, easier to solder due to being on connector) still in place:
I concluded from these that noise wasn't a big problem and went back to the M591 settings. Eventually I got to this result:
M591 D0 Pulse-type filament monitor on endstop input 3, disabled, sensitivity 0.45mm/pulse, allowed movement 90% to 140%, check every 5.0mm, current position 0.0, measured sensitivity 0.433mm/pulse, measured minimum 90%, maximum 219% over 959.9mm
and used this configuration:
M591 D0 P7 C3 S1 L0.450 R80:240
This basically works for the goal of being able to detect filament out and filament jammed conditions, though once so far I got a 'too much movement' error and M591 reported a maximum of 460%. As the anticipated failure mode for printing triggers the minimum side of the window, this is still ok.
Clearly it would be nicer if the allowed movement window could be smaller. I think the issues are inaccuracies due to print quality of the encoder wheel and (probably biggest issue) the problems of a system that cannot detect which way the filament/wheel is moving.
N.B. I generally print PETG so have firmware retraction (M207) enabled, for the work here that's set at 2mm.
For completeness, here are traces for another LM393 board that looks identical but without the capacitor:
So yes the capacitor cleans up the trace at the cost of speed. Both with and without the cap the falling edge looks better, so may be better in this case to only count that.