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?
-
@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_InformationIan
-
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...
-
@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