Indirect (bearing) laser filament monitor concept
-
You could try connecting the filament monitor to one of the endstop inputs on CONN_LCD, which have no filter capacitors. That would be easier than removing the filter capacitor from a regular endstop input on the Duet. But if the problem is interference from a stepper motor cable, it may make matters worse.
Keep the cable to the filament monitor away from the extruder motor cable; or if they must run together, try using shielded cable for the filament monitor.
-
@dc42 Excellent advice. I have connected to stop 10 on conn_lcd using shielded cable (a repurposed USB cable that also has a ferrite ring), and the errors are now zero. I have got up to 3mm/second filament (0.5 width, 0.3 height at 60mm/sec) and the max/min were 107%/95% of the average. Wow.
-
@crash69 Thank you for this; I really like your design (it printed like a charm)! Also, your .scad file is straightforward to tweak. I have changed the following:
- Added a bracket to attach to my Ender 3 with a SeeMeCNC EZR Struder;
- Increased the sensor distance to 19mm (thanks @Adrian52 for the analysis);
- Made the split on the bearing mounts longer, to make it easier to slide the bearings in;
- Adapted the bearing size to some bearing I had lying around (16x8x5).
I did a quick test with a shorter sensor distance; the results were much better than with direct reading, but I still got a wide range. In the next few days, I will print another one with all the changes listed above. If anybody is interested, I can publish the remix.
Thank you all for this very informative thread.
-
@taglia Please do publish!
-
@brunofporto Apologies for the long silence, it took me a while to get to some good results. I have now managed to print for a couple of days with consistent results and no sudden pauses. The sensor also saved a big part that I was printing (no more filament).
The cause of my problems was the filament sliding on the bearing, and this caused negative reads. I have found this product at a local shop, sprayed two layers on my bearings, and the sensor seems now stable, even at high speed. I have also increased the pressure a bit and reprinted the mount with black eSun PLA+, which appears to be stronger than regular PLA.
This is the model that I am currently using. I was too lazy to remodel the attachment to the extruder, which I had already designed in Fusion 360: this is the STL imported by the OpenSCAD file.
These are the bearings.
-
Anybody determine the optimized number for "E" with an indirect bearing setup? I see someone using E5, but I get no data with E5. E4 seems to work.
Duet3D laser filament monitor v1 on input 3, disabled, allow 10% to 75%, check every 4.0mm, version 1, measured min 17% avg 30% max 47% over 246.5mm
Duet3D laser filament monitor v1 on input 3, enabled, allow 10% to 70%, check every 4.0mm, version 1, measured min 14% avg 29% max 54% over 2218.6mm
BTW, what is different about the version 2 sensor? Or is it a firmware difference?
-
@Crash69 said in Indirect (bearing) laser filament monitor concept:
5x10x4 (mr105)
Hi everyone, I just published my interpretation for a Duet3D laser filament monitor enclosure. Use a rubber band and have moving parts.
https://www.thingiverse.com/thing:4147811
-
Thank you very much for your idea. I do little improvement on bearings I put there black heat shrink tube. Between bearings and heat shrink tube I put chemoprene glue and everythink works fine. Surface is black and scanning is stable:
Duet3D laser filament monitor v1 on input 4, enabled, allow 15% to 250%, check every 6.0mm, version 1, measured min 154% avg 166% max 174% over 6397.2mm
This values are stable for all materials which I tested yet.
-
@brunofporto said in Indirect (bearing) laser filament monitor concept:
F623ZZ
Love this design, did you redesign for F623ZZ or will the present config work?
-
An interesting remix is out there as well.
https://www.thingiverse.com/thing:4341389I found most of the parts on amazon but it can get a bit spendy. I would like to see the roller pulley as a micro switch so it could be used as a static filament sensor for startup and filament change macros.
Carbon Fiber Rod 5mm
https://amzn.to/3agj6McU604 Bearing
https://amzn.to/2PE3Wa4MR95ZZ Bearing x 2
https://amzn.to/3fJYTPMEmbedded Bowden Coupling for Metal for E3D heatsink x 1
https://amzn.to/3akDv2NBelt Tensioner Spring
https://amzn.to/3ijLIqDExtruder PUlly 36T
https://amzn.to/31N5rsfM3 Insert Brass Nut
https://amzn.to/3kqOkEO -
@Adrian52 said in Indirect (bearing) laser filament monitor concept:
@dc42 Excellent advice. I have connected to stop 10 on conn_lcd using shielded cable (a repurposed USB cable that also has a ferrite ring), and the errors are now zero. I have got up to 3mm/second filament (0.5 width, 0.3 height at 60mm/sec) and the max/min were 107%/95% of the average. Wow.
@Adrian52 , Are you saying that by using the direct filament (stock so to speak) enclosure you are getting zero errors now that you have a shielded cable running from your sensor to the board? I am debating on attempting your indirect enclosure concept but if you had success by making a wiring modification perhaps that is a better way to fix this.
Also, Any chance you would want to factor in a roller micro switch into your mod so that the sensor can be used as a static filament present sensor as well?
-
This is a really good design. Have you built one and tested it yet? Thanks
-
I am attempting to print the enclosure for it now. I could prob build a few because I will have a few left over parts. Parts are still on order. I am curious if a carbon tube would work instead of the rod. The design seems to show some notches cut so I went with the solid rod.
-
@mitch sorry for the late reply - been away. I have an early duet wifi, which apparently doesn't have optimal filtering capacitors on endstop inputs for the filament monitor. I have had no errors at all since using a conn_lcd input with a shielded cable.
I have not tried a static switch - I only have one printer, so the runout function of the monitor is fine for me.
I have found the indirect monitor arrangement excellent- the monitored total extrusion is usually spookily accurate. -
@Adrian52 When you connect to the laser to the CONN_LCD header I assume you are using pins 9 (STP 10), Pin 1 (+3.3V) and Pin 2 (GND). Is that correct? If not can you be more specific on how you connected or better yet provide a picture? Thanks
-
@JADoglio Here is how I am connected to the conn_lcd input:
, with the connection at the monitor:
This is the snippet from config.g:
;****rrf2****** ;M591 D0 P5 C10 R200:400 E10 S0 A1 ;extruder 0, laser w/o switch, e0 endstop, 40-160% range, 10mm, inactive (S1 active), check all motion ;****rrf3****** M591 D0 P5 C"connlcd.encb" R40:360 E10 S0 A1 ;version for reprap3
As you can see I currently use the rrf3 version. Hope this helps.
-
@Adrian52 It helps very much. Thanks
-
@Adrian52 One other question. I have not found a good explanation for when to use the "S" parameter. When it is active does that mean the sensor will detect jams in addition to run outs? I assume when it is inactive it will still detect runouts. Any clarification on this parameter would be helpful. I am also not using the "A" parameter. Should I add that as well and what is its function. Thanks again.
-
@JADoglio my understanding is that with S1, the monitor pauses the print if the extrusion falls outside the specified range. So it will pause on blockages if the extrusion is sufficiently affected. I didn't think you got a pause with S0, even with runout - not sure if this applies with a microswitch added. I have only used A1 so far - will investigate A0 sometime. You do get a pause with S0 if you have a wiring fault - I had some irritating pauses until I fixed a dodgy crimp.
-
@Adrian52 Thanks. You are right even on run out when S is set to 0 it will not stop the extruder. I did that experiment a few days ago and just forgot about it.