Filament Jam detection on MK3S?  

  RSS
david.s87
(@david-s87)
Active Member

I have a MK3 with MMU2, but use the printer most often without the MMU2, the stock laser sensor senses filament jams when printing single filament as a MK3. However, when printing with the MMU2 there seems to be no jam detection, even though the filament sensor is on.  Why?

I have refused to upgrade to the MK3S because I like the laser sensor being able to sense movement when printing single filament. I did upgrade to a bearing between the filament and sensor, that has worked perfectly for a long time now, on any filament used.

Question: Does the MK3s use the stepper drive to sense jams when using MMU2 and give you the chance to correct it?  If so, that could give me reason to do the switch, although I think the laser sensor was a far better approach than the IR sensor.

Posted : 29/07/2019 10:57 am
Protoncek
(@protoncek)
Reputable Member

According to Prusa there has never been any jam detection on MK3. Threrefore you don't loose anything with upgrade.

I did have a couple of jams on MK3 (not MMU) before upgrade  to MK3S and my printer never reported any jam, it just kept printing with jammed filament.

Posted : 29/07/2019 11:03 am
david.s87
(@david-s87)
Active Member

https://blog.prusaprinters.org/original-prusa-i3-mk3-bloody-smart/

From that:

##################################################################

Filament sensor

Filament sensor is one of the technologies which will be and should be present on all new 3D printers. There are many ways how to detect a filament, for example, a mechanical switch or an optical switch, but we chose LASERS. Our optical filament encoder not only detects the presence of a filament, but also its movement. This means we can detect running out of the filament, pause the print and ask the user to insert a new spool. That is pretty basic. But we can also detect stuck filament and offer the user a cold pull to clean the nozzle and continue the print. We also have a second way to detect a jammed nozzle, but more on that later. Little added convenience is the filament auto loading. When the new filament is inserted, printer detects it, offers a preheat and then finally loads it into the hotend.

############################################################

Also: Note red highlighted.

###########################################################

Trinamic2130 drivers with absurd 256 microstepping, when properly tuned (Trinamic itself is working with us), are extremely quiet. So quiet we had to upgrade to Noctua fan not to introduce more noise 😀 At least in silent mode. In normal mode, which is still quieter than 99% of the available printers, they can also detect lost steps. This has big implications, the printer can detect shifted layers, rehome and continue the print without a problem! In this mode, faster print speed is also possible at 200+mm/s. MK2S topped at around 100mm/s before, still pretty fast but slower… The Extruder motor can detect a jammed extruder as I hinted before. X and Y axes can home without endstop switches, removing few parts which can fail or be poorly mounted with KIT assembly.

############################################################

I was printing single filament last week without MMU2, and it stopped twice and beeped for me to remove and replace filament.  I assumed it was a jam, but now think I did get an out of filament error.

What really pisses me off is that Prusa advertises something, I buy a printer, then later quietly and unceremoniously removes all inference of something that was supposed to be there.   We NEED jam detection!  I have had a couple long MMU2 prints ruined because the extruder was just clicking away and printing air.  They use the trinamic feedback to sense the end stops at slow speed, I do not understand why they cannot use the feature to sense a clicking extruder.  I do love my printer, but some things Prusa does (or does not do) just make me see red. 

This post was modified 1 year ago by david.s87
Posted : 29/07/2019 1:54 pm
Dooni liked
--
 -2
(@-2)
Illustrious Member

Well - Prusa never figured out how to make the laser sensor do what it was designed to do. So they dropped it. Sort of like selling Powder Coated spring steel sheets a year before they really knew how to produce them.  Similar story for the MMU which is now shipping at v2 and still not working for everyone who has sunk money into it.

Heck, I'd just be happy if mesh leveling actually worked as advertised. Sure it's closer than nothing, but still can't level a mottled bed within 0.05 mm.

 

It is always wise to get more than one opinion... as for trusting Prusa? No way man....
Posted : 30/07/2019 9:22 am
alexw
(@alexw)
Eminent Member

Just had my 2.5 nuke itself overnight with newly introduced bed adhesion problems in the newest firmware (leveling unreliable across temp).

came here trying to see if I could just spend a bunch of money and still get what I want out of a printer that works - pretty depressing way to find I’m SOL. 

Posted : 20/01/2020 12:56 pm
Dooni
(@dooni)
New Member

@david-s87 

That‘s what I think, too. Should be possible to sense Jam (clicking extruder) by motor feedback.

Or if it can‘t be done like this, there should be another option available to detect jam. 

Posted : 07/09/2020 5:19 pm
bobstro
(@bobstro)
Illustrious Member
Posted by: @alex-w6

Just had my 2.5 nuke itself overnight with newly introduced bed adhesion problems in the newest firmware (leveling unreliable across temp).

This thread is discussing the operation of the filament sensor. You seem to be describing leveling issues. Are you starting a new topic?

The early Mk3 had an older PINDA probe design that was susceptible to temperature variations. I believe this is similar to the design on the Mk2 series. Approaches to dealing with this issue are described in the owner's wiki. I resolved this with my early Mk3 by using a 2 step warmup procedure in my startup gcode that waits for the PINDA probe to hit a consistent 35C temperature before MBL. This is likely not necessary with the newer PINDA v2 and later, but I still find waiting for everything to warm up is helpful, particularly on cold winter days. Have you tried something similar?

Of course, you still want to make sure the PEI is thoroughly cleaned and Live-Z adjusted. This helps with MBL inconsistencies. Interestingly, a similar approach is being suggested for the Mini as well which has similar issues with the MINDA probe.

 

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 07/09/2020 5:39 pm
jsw
 jsw
(@jsw)
Noble Member

I'm curious now, as there seems to be a question as to whether the current I3 does or does not have some form of active jam detection, with or without the MMU(2S).

A while ago, as kind of a spare-time project, I made a combined text file of the relevant source code files (.cpp, .c, .hpp, .h, .py) all concatenated so I could peruse them and study at my leisure.  So far I've only skimmed a bit.

A quick grep through this shows only one occurrence of the string 'jam' and a couple of thousand occurrences of the string 'sensor', so if I have some spare time soon I'll look and try to figure out what exactly happens in the filament sensor code and possibly in the extruder stepper current code, if any.

If someone else has the desire to peruse the firmware source, I think that's the best way to tell for sure if there's any active jam detection in the current firmware.

Posted : 07/09/2020 6:56 pm
bobstro
(@bobstro)
Illustrious Member
Posted by: @jsw

I'm curious now, as there seems to be a question as to whether the current I3 does or does not have some form of active jam detection, with or without the MMU(2S).

I don't think the Mk3 ever had jam detection, only break detection. However, I think the original announcements for the Mk3 anticipated that jam detection would be implemented. I vaguely recall discussion at the time (early 2018) that it was more difficult to implemented than expected due to variability in filaments and high false positive rates.

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 07/09/2020 7:01 pm
bobstro
(@bobstro)
Illustrious Member

Here's the part of the announcement I recall:

This post was modified 5 months ago by bobstro
My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 07/09/2020 7:12 pm
jsw
 jsw
(@jsw)
Noble Member

Back last winter when I was considering which printer to get, I do not remember anything about filament jam detection, and I'm very sure I would remember it if I did.

I went back to the 'eshop' pages for a sanity check, and here's what they are saying about the sensor, which, IIRC, is similar to what I remember reading ca. January and February.  This description certainly implies that they are not trying to do any filament motion detection, at least with the filament sensor.

"With MK3S we are introducing a completely reworked extruder with a new filament sensor. The new sensor is using the optical sensor which is triggered by a simple mechanical lever. This sensor doesn’t care about the optical properties of the filament (it can be completely invisible) and cannot die because of mechanical wear."

I was certainly not sold any filament jam detection.

This post was modified 5 months ago by jsw
Posted : 07/09/2020 7:19 pm
bobstro
(@bobstro)
Illustrious Member

There's an old open issue on GitHub on the topic. Reading through it, it seems it was planned for the Mk3, but that the Mk3s redesign (which I really saw no need for) eliminated the possibility of using jam detection. I'm still happily using my old Mk3 extruder, just being careful to clean out the filament sensor on occasion and disabling it for shiny stuff.

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 07/09/2020 7:22 pm
jsw
 jsw
(@jsw)
Noble Member

I don't remember seeing that particular video.  It looks like it's ca. fall of 2017, back when I was doing my printing mostly on the Taz at the lab and long before I was thinking of getting my own printer.

From viewing that, it does appear that they intended to include jam detection with the non-S MK3, but probably abandoned it as impractical.

From reading between the lines that I quoted, it appears that the original MK3-non-S had some difficulty detecting the presence/absence of filament, let alone motion or lack of same.

This post was modified 5 months ago by jsw
Posted : 07/09/2020 7:30 pm
bobstro
(@bobstro)
Illustrious Member
Posted by: @jsw

[...] From reading between the lines that I quoted, it appears that the original MK3-non-S had some difficulty detecting the presence/absence of filament, let alone motion or lack of same.

Oh, the Mk3 definitely had those issues, but once it was apparent that cleaning the sensor and giving it a blast with compressed air now and then, mine's been "mostly reliable" for the last couple of years. Here again, I've still got the original part mounted even though I have a newer, apparently improved version in my box of parts.

 

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 07/09/2020 7:42 pm
alexw
(@alexw)
Eminent Member

@bobstro

I recall the same, probably from that same video, that the Mk3 would detect BOTH runouts AND jams.

Here's where (I think) that went/fell down:

The original Mk3 uses an optical flow sensor from a mouse, sensitive to infrared. It detects motion, specifically linear speed. When the filament runs out, there's no moving filament to see anymore, and optical speed drops to "zero" even when the extruder is turning. This is a runout.

A jam looks quite the same: The filament is still present, but optical speed drops to zero, because it's not moving, even though the extruder motor is. So, in fact, the sensor DOES detect both runouts AND jams, by default, always. Probably why there's no specific mention of jams in firmware - it's not a separate algorithm/condition/feature.

Here's the rub: the thing I said about jams isn't actually always true. Frequently, when you've got a jam, the filament in the extruder still bounces back and forth as the motor grinds. This is enough to cause false negatives - an undetected jam.

And in fact, false positives are also a problem. Many filaments, depending on plastic and pigment, are transparent in infrared. I think most actually are, but some more than others as far as the optical sensor goes. Some don't provide sufficient signal strength to reliably measure motion, and lead to false positive runouts. This is what all the algorithm tweaking was about.

Then, enter the mk3s: the optical algorithm was still pretty unstable and filament-dependent, so they scrapped that entirely and implemented a mechanical filament presence sensor. It doesn't detect movement, only filament presence, so runout is detected more reliably at the complete expense of jam detection.

If you've got a mk2.5 or Mk3.0, you can try this yourself - clamp vise grips on your filament to intentionally jam it, and see if you get a runout detected. Your results may vary (but it should work at least once to convince you its a thing).

Posted : 08/09/2020 8:02 am
dimprov
(@dimprov)
Prominent Member

@alex-w6

Well, if it can't tell the difference, why would it ask to me *unload* the filament when it detects a problem?  If it only detected a runout, then there would be nothing to unload.  Right?

Posted : 03/12/2020 8:08 am
alexw
(@alexw)
Eminent Member

@dimprov

The filament sensor is before the drive gear, so at the moment it detects a runout, the extruder still has filament in it. Since filament is still in the drive gear, you can't just chase a new filament in after it - it won't be grabbed. If you DID run the extruder until filament was through it, you could just chase a new filament in. but you'd probably run the risk of the new filament jamming while forcing its way into the old one, unless both the two surfaces were nice and flat. 

Long story short, the cleanest and safest thing to do in a filament change is to eject the stub of the previous filament and load the new filament into a clean pathway, so that's what the strategy is for automatic runout as well.

Posted : 03/12/2020 3:53 pm
dimprov liked
dimprov
(@dimprov)
Prominent Member

@alexw

That makes sense.  I think you're right.  😀 

Posted : 03/12/2020 8:37 pm
Share:

Please Login or Register