Jump to content
Ultimaker Community of 3D Printing Experts
Oj00

Filament monitor for UM3/UM3E

Recommended Posts

Having recently had our printer run out of filament I was wondering if there was a way to easily integrate a filament monitor? It would also reduce our wastage with small amounts of filament left on reels.

I know solutions have been found for the UM2 etc but I cant find anything for the new printers?

A simple solutions would just be a micro switch that the filament is pressed against before it enters the feeder, when there is no filament the switch opens or closes and activates an actuator to hit the pause button.

This is slightly messy however, is there any way of feeding this to a pin on the board?

Thanks in advance.

  • Like 1

Share this post


Link to post
Share on other sites

Hi @Oj00, during the development of the Ultimaker 3 we considered and tested to install a filament sensor in the Ultimaker 3. If you have ever taken the feeder apart you may have seen some space reserved for this.

Unfortunately, during testing the filament sensor triggered too many error messages and even though it helped detecting when the filament ran out, it generated too many false error messages which stopped the print when it shouldn't have.

For that reason we did not launch it.

I think it would be very interesting to see if you could implement it, there are a lot of people here who would probably be interested as well, and may even help with choosing the best approach.

In a few days now, we'll release the files of the Ultimaker 3. Perhaps that would give you some more useful information too.

Edited by Guest
  • Like 3

Share this post


Link to post
Share on other sites

Hi @Oj00,

I got some more information for you:

We used a mechanical way of measuring, and a sensor measured if there was contact between the measuring wheel and the filament.

The wire still runs from the feeder to the mainboard, it should be connected to the I2C connector on the board. Hopefully, this helps!

Edited by Guest
  • Like 1

Share this post


Link to post
Share on other sites

In all spools that I have used, the beginning of the filament was fixed in a hole in the spool, and bent around the corner. So, even when running out of filament, that end can not come off the spool, and the "empty-sensor" would never trigger. The feeder would just start grinding on the stuck filament.

Even if it would come off the spool, the sharp corner would cause that end to get stuck in the feeder anyway.

To detect this, you would need an intelligent optical solution that watches the remaining amount of windings on the spool also. But then, that would not work well for people who put the spools on the floor, or in a box with disseccant, or people who use loose unspooled filaments. And it would not detect if the filament somewhere gets mangled. I had that once: it sort of flipped 180° and there became a kink in it, which of course got stuck in the feeder. I did not see it happen, so I don't know how it occured exactly.

I think the best way is to put a high-res webcam, and maybe a LED-spotlight, on the feeding traject, and monitor that from wherever you are? The most intelligent solution is the human mind. :)

Share this post


Link to post
Share on other sites

I have honestly never had the filament refuse to come off the spool. I have been woke up with the loud pop of that thing busting loose from either the feeding through the hole as you say or pulling off tape secured ends.

But, it may be the difference in brands or maybe evolving as I am seeing less of the bent end in the bottom holes.

But, also totally agree that the best tool is the human mind.

wait for it.......

wait for it.............

I know this because I have been called a tool before :p Bam!!!

  • Like 1

Share this post


Link to post
Share on other sites

I think the best way is to put a high-res webcam

We also tried optical sensors. Didn't work with PVA (as it's transparent)

From what i understood the filament sensor that prusa did on the mark3 is an optical sensor and works with petg transparent filament (so it should work also with pva no?)

Not sure exactly how he does it but if i understood correctly the sensor is similar to a mouse sensor, i think it's only detecting filament presence (not grinding or clogging)

Share this post


Link to post
Share on other sites

Yes, the Prusa sensor works with a laser diode. The same principle is used in laser mice. So if a mouse can detect movement on a glass plate it should be possible to detect the movement of transparent filament unless the curvature of the filament (scattered light) is a problem (which might be overcome by reflecting/light collecting surfaces).

Edited by Guest

Share this post


Link to post
Share on other sites

I too am interested in this. Our Z18's (take it easy on me not my call) uses a idler wheel pressed up against the filament entering the feeder. That wheel has a striped silver and black sticker on the outside face (the face perpendicular to the axis.) This rotation is detected by an optical sensor. There is also a mechanical switch that is pushed back when filament is present and extends when filament is not there. I assume the wheel is used to detect clogs and the switch is used to detect running out of filament.

I know the 5th gen makerbots had a lot of issues (we got one a month after release so trust me I know all about the issues) and a lot of them were from this filament detection system. But overall it is a really smart system and once they tuned it through firmware updates it actually works really well.

Share this post


Link to post
Share on other sites

Out of curiosity, I just tried the "optical sensor approach" with my mouse (standard Logitech mouse, with a red light), and moving short pieces of filament in front of the sensor. Then the movement of the cursor on-screen - or the lack of it - clearly indicates whether the mouse sensor sees the filament or not.

Results:

- colorFabb white and red PLA/PHA, opaque: detected very well, cursor moves smooth. These filaments have a rather rough surface.

- Ultimaker pearl PLA: detected well. This filament has a smooth surface, but sort of internal glitter particles for the pearl effect.

- ICE PET (or PETG, not sure), transparant yellow, smooth filament surface: detected very poorly: cursor jerks occasionally, but often no movement.

- same ICE PET, but with indents from the feeder wheel: detected very well. Big difference compared to "undented" filament.

- Ultimaker nylon, transparant clear (no indents): not detected at all, could not get the cursor to move, even not jerk. This seems too transparant to reflect any differences in light during movements.

So, to have a reliable detection, the sensor should sit behind the feeder wheel and shine on the indents caused by that wheel. At least for this sort of optical mouse sensor (I don't know if and how a "laser mouse" differs from a standard optical mouse?). But when sitting after the feeder wheel, it would not detect out-of-filament conditions, since the filament is not advanced anymore once the feeder wheel is empty, so the sensor would always see filament, except after unloading. The sensor would detect a non-movement condition, but it would not know the cause: out of filament, clog, filament stuck on spool (due to kinks, or end not coming loose), or stuck elsewhere?

If I had to design it, I would probably go for a mechanical microswitch, with a little roller wheel and rather large travel. Similar to those used in compressed air cylinders to detect when they reach end-stops. This for the out-of-filament conditions. Maybe combined with an optical sensor shining on the indents (behind feeder wheel) to detect no-movement conditions (clogs, stuck).

Share this post


Link to post
Share on other sites

Out of curiosity, I just tried the "optical sensor approach" with my mouse (standard Logitech mouse, with a red light), and moving short pieces of filament in front of the sensor. Then the movement of the cursor on-screen - or the lack of it - clearly indicates whether the mouse sensor sees the filament or not.

Results:

- colorFabb white and red PLA/PHA, opaque: detected very well, cursor moves smooth. These filaments have a rather rough surface.

- Ultimaker pearl PLA: detected well. This filament has a smooth surface, but sort of internal glitter particles for the pearl effect.

- ICE PET (or PETG, not sure), transparant yellow, smooth filament surface: detected very poorly: cursor jerks occasionally, but often no movement.

- same ICE PET, but with indents from the feeder wheel: detected very well. Big difference compared to "undented" filament.

- Ultimaker nylon, transparant clear (no indents): not detected at all, could not get the cursor to move, even not jerk. This seems too transparant to reflect any differences in light during movements.

I conducted the same test with my Logitech Performance MX mouse using their Darkfield Laser Sensor.

I tested the filaments I had on hand, both with and without feeder wheel imprints, which were Hatchbox PLA orange and black, Taulman BluPrint Nylon, and 3DXtech HT PETG.

All of the filaments were detected by the sensor and resulted in nice smooth cursor movement.

  • Like 1

Share this post


Link to post
Share on other sites

Thats interesting, thanks for trying it.

Since one machine ran out again last night :angry: I've just ordered up a micro-switch and we'll see how it comes together.

Just got to find some time when the machines not running to find the pin on the board and wire it in.

Share this post


Link to post
Share on other sites

So do you have "just" an optical mouse or a laser mouse? The difference is that laser mice are capable of tracking movements on transparent materials, normal optical mice are not. It does have to be a laser sensor for the filament.

Probably it is just an optical mouse, as it has a red lamp illuminating the surface. A simple Logitech M 100, price 10 euro. I can't imagine this thing having a laser, beam splitters and all that stuff, for just 10 euro. I looked it up, but the official specs on the Logitech website don't tell:

- Tracking technology: Optical (no more details specified)

- Sensor Resolution: 1000 (no units specified)

Share this post


Link to post
Share on other sites

If i remember correctly, the not-breaking of the filament was not the biggest problem, even though I think the sensor was before the feederwheel. Iow, the material would remain infront of the sensor, the wheel would grind the material and that would be that.

However, since it was not a 'filament is there/not there' sensor, but an actual rotation sensor, we could in fact detect this. E.g. the wheel is moving/not moving and thus the filament is either stuck our out. Either case, a problem :)

As Sander said, the sensor was a magnetic rotation sensor, and we had a wheel with a magnet on it that was being turned by the filament. If I am not mistaken, it was an Allegro A1332 part that we used.

The false errors mostly came from the material not properly moving the wheel due to various reasons.

  • Like 1

Share this post


Link to post
Share on other sites

If i remember correctly, the not-breaking of the filament was not the biggest problem, even though I think the sensor was before the feederwheel. Iow, the material would remain infront of the sensor, the wheel would grind the material and that would be that.

However, since it was not a 'filament is there/not there' sensor, but an actual rotation sensor, we could in fact detect this. E.g. the wheel is moving/not moving and thus the filament is either stuck our out. Either case, a problem :)

As Sander said, the sensor was a magnetic rotation sensor, and we had a wheel with a magnet on it that was being turned by the filament. If I am not mistaken, it was an Allegro A1332 part that we used.

The false errors mostly came from the material not properly moving the wheel due to various reasons.

If your filament was grinding to the point of stopping, would you not want to have it pause the printer anyway instead of air printing and cooking the filament?

Share this post


Link to post
Share on other sites

If your filament was grinding to the point of stopping, would you not want to have it pause the printer anyway instead of air printing and cooking the filament?

I'm sure that was the intent, but I suspect the issue was that the filament would slip on the wheel causing the sensor to detect that the wheel is not rotating smoothly or as much as it should. This would then pause the printer thinking the filament jammed when in reality there is no problem other than the filament slipping on the wheel.

Our z18's had this issue. We resolved it by adding and o-ring to the groove on the wheel that the filament rode in. This added much more grip onto the filament and prevented these false filament jam errors.

Share this post


Link to post
Share on other sites

If your filament was grinding to the point of stopping, would you not want to have it pause the printer anyway instead of air printing and cooking the filament?

I'm sure that was the intent, but I suspect the issue was that the filament would slip on the wheel causing the sensor to detect that the wheel is not rotating smoothly or as much as it should. This would then pause the printer thinking the filament jammed when in reality there is no problem other than the filament slipping on the wheel.

Our z18's had this issue. We resolved it by adding and o-ring to the groove on the wheel that the filament rode in. This added much more grip onto the filament and prevented these false filament jam errors.

That makes sense. But I also notice that my filament does not always move since I do a lot of dual printing.

So, there would have to be cross talk between the two systems to know when to monitor movement as well as 'time periods' of active monitoring when the filament takes too long, i.e. grinding and not just backing up during retraction or waiting for heat up or some other op that causes it to sit idle for a short time..

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

×

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!