Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
jeremie

Optical filament detector and alarm ?

Recommended Posts

I am thinking about sticking a mouse-salvaged optical sensor to the transparent bowden tube... It would raise an alarm whenever the filament stalls. It would cover the "no more filament" and the "nut grinding filament" issues at once. I have checked that a dumb low cost optical mouse already "reads" through the tube.

What I really want is to insert a predefined live GCODE paragraph in the stream, so as to move the head away from the object and pause the print and not ruin hours of printing while something could be done... The firmware would be upgraded to wait for a "live" user-triggered button to resume the print. By the way, this "resume" button would also prove useful to me to pause a print at any time.

Some people may have tried it, but I found nothing yet. What's your point of view?

Nb: the sensor could optionally double-check against the drive gear to avoid false alarms, but the basic mode would anyway warn the user of the end of the print.

Share this post


Link to post
Share on other sites

Oh wait! You have an optical mouse? I was thinking about one of the ball ones....

Although I can appreciate your feelings about this, I think it is better to have the mechanics just work. Just don't try to extrude too much plastic and make sure your bowden tube stays put.

Share this post


Link to post
Share on other sites

Yes, I have no more mechanical mouses (I just kept the ball of my Atari mouse as a souvenir) ;)

The optical mouse sensor usually already outputs serial data, which is fine for the arduino.

And sure, I know I should better tune my printer (really!)... but:

 


  • [*:1pza7fca]the filament diameter may change significantly on a same roll
    [*:1pza7fca]killing a print because of a filament stall after 2 hours sucks anyway :D
    [*:1pza7fca]it gives room to improve filament calibration...

 

The latter also is interesting to me: I think feedback could be sent to the firmware to achieve auto (adaptative) filament speed: just increase filament speed until the filaments stalls (boolean). Better, we may be able to detect that the filament speed no more matches what is expected (difference between stalling vs. slipping/grinding...).

Now, filament feed ratio adaptation could be done at runtime: eg. the firmware detects a contiguous extrusion of 2 cm to come: it then accelerates until the nut starts to grind the filament, which it can detect, and use this "max speed" to compute and correct the extrusion rate. Hence, the design would cope with any filament diameter during runtime :)

Share this post


Link to post
Share on other sites

I think this is looking at it from the wrong side. By the time you see the filament stall you've already ground out the filament and the damage is done.

The mechanics really need to be right for the electronics and control system to handle any failures gracefully.

From sensing I think it would wise to start by sensing the filament diameter indirectly, many of the pinch-roller upgrades with spring loading would be easily adapted. From the drive perspective, it would be useful to slip the drive mechanism via a controlled limiter (e.g. variable motor current) rather than relying solely on the greatly variable filament as a fuse.

Share this post


Link to post
Share on other sites

I see your point, but I think we could detect grinding at the very beginning, ie. before it really damages the filament.

More important to me is that it could detect the failure so as to pause asap. This is the only chance we have to fix the issue manually and not just ruin the whole print. We all had one day some bad failure because of stalled feeding, don't we? ;)

For a well-tuned setup (=that never stalls), I agree that the issue is more about non-constant filament diameter. Relying on the motor speed only is somehow less reliable than reading the actual filament speed and even more, filament flow rate. Filament diameter, especially indirectly is a partial answer imo, but this is another story

Share this post


Link to post
Share on other sites

It's more along the lines of putting a complicated patch on a simple issue. You will also have to consider that surface homogenity also plays a role in the tracking speed of the optical mouse's sensor, so in all you really haven't gained as much reliability as you might have imagined.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!