Problem with Laser filament monitor



  • I'm having weird readings with the filament monitor.

    I get readings in the negative (up to -28%) on some filaments (even on regular black PLA!)

    I cannot leave it on, it will stop the print all the time. It completely cancels the purpose of the monitor. And that is no matter what filament I use.

    The case is a black simple case from the wiki page. I modified 1 of them to have a bracket holder on it, but the sensor location is untouched. The other 2 are regular rectangular cases in black PLA.

    Right now, here's my setting:

    M591 D0 R1:600 E3.0 S1

    • Same thing happens on 3 machines.
    • All on Duet 3 6HC
    • All on 3.1.1 firmware

    Any ideas?


  • Moderator

    @Thalios How is the monitor mounted (ie close to a direct drive extruder, or on a Bowden)? Can you post your config.g? Are you using pressure advance, or have large retractions? Can you post some sample outputs while printing, by sending M591 D0? It is possible it is having trouble seeing the filament. Compare the output values for quality, brightness and shutter with those here: https://duet3d.dozuki.com/Wiki/Duet3dFilamentMonitor_LaserVersion#Section_Reported_Information

    Ian



  • One is semi close (about 8cm). One is very far (25cm) and one is about 85cm.

    Config.g should be irrelevant but see below.

    Pressure advance, yes. 0.06 on the railcore, 0.04 on the Ender 3 Pro with microswiss direct drive, 0.07 on the Tronxy.

    All small retractions. 0.8 on the railcore, 1.0 on the ender and 0.8 on the tronxy.

    I'll check the sample outputs when I run it next time. why whould it have trouble seeing the filament? on 3 different machines, does it on most of my filaments (some, it doesn't see at all like translucent red and others).

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Mon Jul 06 2020 18:01:42 GMT-0400 (EDT)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"Railcore SCR"                               ; set printer name
    M669 K1                                            ; select CoreXY mode
    M918 P1 E4 F2000000                                ; configure direct-connect display
    
    ; Network
    M552 P0.0.0.0 S1                                   ; enable network and acquire dynamic address via DHCP
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    
    ; Drives
    M569 P0.0 S0                                       ; physical drive 0.0 goes backwards
    M569 P0.1 S1                                       ; physical drive 0.1 goes backwards
    M569 P0.2 S1                                       ; physical drive 0.2 goes forwards
    M569 P0.3 S1									   ; physical drive 0.3 goes forwards
    M569 P0.4 S1									   ; physical drive 0.4 goes forwards
    M569 P0.5 S1                                       ; physical drive 0.5 goes forwards
    M584 X0.1 Y0.0 Z0.2:0.3:0.4 E0.5                   ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X200.00 Y200.00 Z1600.00 E849                  ; set steps per mm
    M566 X1000 Y1000 Z100 E1500                        ; set maximum instantaneous speed changes (mm/min)
    M203 X24000.00 Y24000.00 Z900.00 E3600.00          ; set maximum speeds (mm/min)
    M201 X3000.00 Y3000.00 Z100.00 E1500.00            ; set accelerations (mm/s^2)
    M906 X1400 Y1400 Z1000 E800 I60                    ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    
    ;Leadscrew locations
    M671 X-10:-10:333  Y22.5:277.5:150 S15  ;Front left, Rear Left, Right  S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X300 Y290 Z300 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"io1.in"                               ; configure active-high endstop for low end on X via pin io1.in
    M574 Y1 S1 P"io2.in"                               ; configure active-high endstop for low end on Y via pin io2.in
    
    ; Z-Probe
    M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1     ; set Z probe type to bltouch and the dive height + speeds
    M950 S0 C"io7.out"                                 ; create servo pin 0 for BLTouch
    G31 X2 Y42 Z1 P25 							   	   ; Probe position and offset
    
    ; Mesh Grid
    M557 X5:270 Y5:295 S20                             ; define mesh grid
    
    ; Paneldue 5i config
    M575 P1 B57600 S1 								   ; Set auxiliary serial port baud rate and require checksum (for PanelDue)
    
    ; Filament monitor
    M591 D0 P5 C"io3.in" R1:600 E3.0 S1
    
    ; Heaters
    M308 S0 P"temp1" Y"thermistor" T100000 B4092       ; configure sensor 0 as thermistor on pin temp1
    M950 H0 C"out0" T0                                 ; create bed heater output on out0 and map it to sensor 0
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    M308 S1 P"temp0" Y"thermistor" T100000 B4092       ; configure sensor 1 as thermistor on pin temp0
    M950 H1 C"out1" T1                                 ; create nozzle heater output on out1 and map it to sensor 1
    
    M307 H0 A310.4 C721.8 D7.9 V23.9 B0                ; Bed Heaters
    M307 H1 A519.9 C172.7 D4.8 V23.9 B0	               ; Heater 1 model
    M570 S360				                           ; Hot end may be a little slow to heat up so allow it 180 seconds
    M143 S285
    
    ; Fans
    M950 F0 C"out7" Q500                               ; create fan 0 on pin out7 and set its frequency
    M106 P0 S1 H1:1 T45                                ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"out8" Q500                               ; create fan 1 on pin out8 and set its frequency
    M106 P1 S1 H-1                                     ; set fan 1 value. Thermostatic control is turned off
    
    ; Tools
    M563 P0 D0 H1 F1                                   ; define tool 0
    G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
    
    
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    M106 P1 S0										   ; Turn off parts fan on boot
    
    


  • This is with silk gold filament on the Railcore:

    Duet3D laser filament monitor v2 on pin io3.in, disabled, allow 1% to 500%, check every 3.0mm, version 2, quality 222, brightness 15, shutter 131, measured min -2% avg 1% max 33% over 20597.0mm
    


  • another m591 d0 with silk gold filament, with pressure advance at 0.04

    Duet3D laser filament monitor v2 on pin io3.in, disabled, allow 1% to 500%, check every 3.0mm, version 2, quality 223, brightness 18, shutter 135, measured min -1% avg 0% max 6% over 4322.1mm
    


  • I was getting erratic readings with my laser filament monitor. Eventually ordered the mag rotating version. The mag version is still back ordered so I started to experiment with these indirect laser concepts.

    https://forum.duet3d.com/topic/18497/indirect-laser-monitor-remix-ii-working

    At this point i am really pleased with it to the extent that I am not sure I need the mag version.

    It consumes a little time to put it together but in the end I felt I had a monitor that was accurate regardless of the filament I loaded.

    Mine was mounted right above a direct drive. I have never seen negative values but the range varied a great deal.



  • Big thanks.

    I've been looking at indirect use for these sensors for a while but all reviews i've found were inconsistent.

    I'll give yours a try.



  • A few tips I have picked up using it.

    Having the sensor ridged mounted to the hot end mount helps reduce variability. In the past I just let the sensor flop around on some PTFE tube and depending on the angle from the filament to the head at the time of printing it was possible for the hob to potentially slip.

    In the version I pasted above the filament path is more controlled when mounted this way so it passes over the gears the same way regardless of the location of the print head from the filament spool.

    The little orange knob was really intended for feeding but it feeds smoothly trough without it. However, the knob has become invaluable for monitoring filament movement since it is very easy to see the knob move versus the black cylindrical carbon fiber axle.

    If you build it, please add some pics to this post or thingaverse. I would like to see how it comes out and how you end up mounting it (assuming you have a different setup than mine).



  • @mitch Thanks. I'll get the parts on sunday, so it'll be a monday project probably. I'll document everything.



  • Doesn't work, even with that indirect thing.

    Reading I get:

    Duet3D laser filament monitor v2 with switch on pin io3.in, disabled, allow 200% to 3000%, check every 3.0mm, version 2, quality 223, brightness 255, shutter 91, measured min -2% avg 152% max 273% over 466.5mm
    

    I will try with a different rod (I have stainless steel coming which i'll sand to make non shiny)

    But so far, i'm lost...


  • administrators

    @Thalios said in Problem with Laser filament monitor:

    One is semi close (about 8cm). One is very far (25cm) and one is about 85cm.

    Those are all too far away, because during retraction the filament will bunch up in the tube between the extruder drive and the filament monitor.

    The only way you are likely to get anything approaching sensible readings is by increasing the sense distance (M591 E parameter) from 3mm to a much larger value.

    Also, there are some filaments that the laser sensor just doesn't work well with.



  • @Thalios Can you take a pic to show how your monitor is mounted near the extruder?



  • @Thalios said in Problem with Laser filament monitor:

    Doesn't work, even with that indirect thing.

    Reading I get:

    Duet3D laser filament monitor v2 with switch on pin io3.in, disabled, allow 200% to 3000%, check every 3.0mm, version 2, quality 223, brightness 255, shutter 91, measured min -2% avg 152% max 273% over 466.5mm
    

    I will try with a different rod (I have stainless steel coming which i'll sand to make non shiny)

    But so far, i'm lost...

    This is what I was getting with the indirect monitor using MK3 hob and a rigid mount right above my direct drive extruder:

    9/12/2020, 9:03:10 PM   M591 D0
    Duet3D laser filament monitor v2 with switch on pin e0stop, 
    enabled, allow 200% to 260%, 
    check every 3.0mm, version 2, 
    quality 221, brightness 255, 
    shutter 84, 
    measured min 225% avg 240% max 257% over 13515.3mm
    

Log in to reply