# MRRF: Innovating Extruders and Dissolvable Filament

Think laying down molten plastic on a 3D printer is as easy as squeezing plastic filament out of a hot tube? It’s not, and anyone who had a 3D printer in 2009 would tell you as such. There were hobbed bolts that stripped the plastic into a gooey paste, extremely large x carriages that made everything wobbly, and nothing worked as well as it does today.

Technology marches on, and this year’s Midwest RepRap Festival had people showing off the latest advances in pushing plastic, and something that hasn’t seen much use yet – dissolvable filament.

# Filament Thickness Sensors, What Are They and What Are They Good For?

I keep up with the trends in 3D printing reasonably well. The other day my friend mentioned that filament thickness sensing had been added to the latest version of the Marlin firmware. I had no idea what it was, but it certainly sounded cool. I had to find out more.

In industrial settings, filament is made by pulling extruding molten plastic at a certain speed into a cooling bath. The nozzle for 2.85mm filament and 1.75 mm filament is actually the same size, but the filament is stretched more or less as it leaves the nozzle. By balancing these three variables the extrusion machine can produce any size filament desired. Like any mechanical system, it needs constant adjustment to maintain that balance. This is usually done by measuring the filament with a laser after it has cooled, and then feeding this information back into the system. The better filament manufacturers have multiple lasers and very fast feedback loops. Some of the best offer +-0.04mm or less variation in thickness between any two points on the filament. Some of the worst have larger errors such as +-.10mm. Because the plastic is fed into the extruder at a fixed linear speed, this makes a variation in the volume of the plastic coming out of the nozzle per second. With the best we see a 4.41% variation in the volume of plastic extruded. With the worst we start to see 10.51% or more.

A printer is dumb. It works under the assumption that it is getting absolutely perfect filament. So when it gets 10.51% more plastic, it simply pushes it out and continues with its life. However, if the filament is off enough, this can actually show up as a visible defect on the print. Or in worse cases, cause the print to fail by over or under extrusion of plastic.

So, what does a filament thickness sensor do to correct this issue? To start to understand, we need to look at how the filament is dealt with by the software. When the slicer is compiling the G-code for a 3D print, it calculates the volume of plastic it needs in order to deposit a bead of plastic of a certain width and of a certain height per mm of movement. That was a mouthful. For example, when a printer printing 0.2mm layers moves 1mm it wants to put down a volume that’s 1.0mm long x 0.4mm wide x 0.2mm high. The filament being pushed into the nozzle has a volume per mm determined by the diameter of the filament.

$(\pi (radius_{filament})^{2}*length_{filament extruded})=volume$

The volume out per mm of filament in.

$(layer_{height}*layer_{width}*length_{move}) = volume$

The equation we are trying to balance.

Our goal is to integrate the thickness sensor into these functions to see what the thickness sensor is doing. This is a linear equation, so there’s nothing fancy here. Now, the layer height, layer width, and length of the move are determined by settings and model geometry respectively. These are fixed numbers so we don’t care about them. That leaves us the diameter of the filament and the length of filament extruded. As we mentioned before, typically the filament is assumed to be a fixed diameter. So all the software has to calculate is the length of filament that needs to be extruded per mm of combined movement in the x and y so that our volumes match.

But, we know that one of these variables is actually changing per millimeter as well. The filament diameter! So now we have a problem. If the filament diameter is changing all the time, our equation will never balance! In order to fix this we can add a multiplier to our equation. Since we have no control over the width of the filament we can’t modify that value. However, if we know the width of the filament, and we know the value its supposed to be, we can change the length of the filament extruded. This is because unlike the filament, we have control over the stepper motor that drives the extruder. This value is called the extrusion multiplier, and its determination is what the thickness sensor is all about.

So all the filament sensor does is measure the filament’s current diameter. It takes expected diameter and divides it by the value it just measured to get a simple percentage. It feeds that number back into our system as the extruder multiplier and slows or speeds up the stepper motor as needed. Pretty simple.

There are a few thickness sensors being toyed with right now. The first, as far as I can tell; let me know if I am wrong in the comments, was by [flipper] on thingiverse. He is in his third version now. The sensor works by casting a shadow of the filament as it passes by onto an optical sensor. The firmware then counts the pixels and works backwards to get the diameter. This value is sent to the Marlin firmware on the printer which does the rest. As is usual and wonderful in the open source community, it wasn’t long before others started working on the problem too. [inoranate] improved on the idea by casting more shadows on the sensor. The technique is still brand new, but it will be interesting to see what benefits it reaps.

Now comes the next question,”Is it worth upgrading my printer with a thickness sensor?” If you typically run poor filament, or if you extrude your own, yes. The current sensors can only measure +- .02mm. So for the best filament, you won’t really see a difference, but for worse stuff, you might. The latest firmware of the Lyman filament extruder, for making your own filament, also supports these sensors, letting you feed back into your production system like the industrial machines. All in all a very interesting development in the world of 3D printers.

# 3D Printer Tool: Set Your Extruder Steps With Ease

I have an old Prusa i2 that, like an old car, has been getting some major part replacements lately after many many hours of service. Recently both the extruder and the extruder motor died. The extruder died of brass fill filament sintering to the inside of the nozzle (always flush your extruder of exotic filaments). The motor died at the wires of constant flexing. Regardless, I replaced the motors and found myself with an issue; the new motor and hotend (junk motor from the junk bin, and an E3D v6, which is fantastic) worked way better and was pushing out too much filament.

The hotend, driver gear, extruder mechanics, back pressure, motor, and plastic type all work together to set how much plastic you can push through the nozzle at once. Even the speed at which the plastic is going through the nozzle can change how much friction that plastic experiences. Most of these effects are somewhat negligible. The printer does, however, have a sort of baseline steps per mm of plastic you can set.

The goal is to have a steps per mm that is exactly matched to how much plastic the printer pushes out. If you say 10mm, 10mm of filament should be eaten by the extruder. This setting is the “steps per mm” in the firmware configuration. This number should be close to perfect. Once it is, you can tune it by setting the “extrusion multiplier” setting in most slicers when you switch materials, or have environmental differences to compensate for.

The problem comes in measuring the filament that is extruded. Filament comes off a spool and is pulled through an imprecisely held nozzle in an imprecisely made extruder assembly. On top of all that, the filament twists and curves. This makes it difficult to hold against a ruler or caliper and get a trustworthy measurement.

I have come up with a little measuring device you can make with some brass tubing, sandpaper, a saw (or pipe cutter), a pencil torch, solder, and some calipers. To start with, find two pieces of tubing. The first’s ID must fit closely with the filament size you use. The second tube must allow the inside tubing to slide inside of it closely. A close fit is essential.

# Hacking Chipped 3D Printer Filament On The Da Vinci Printer

XYZ Printing has been selling 3D printers for years now with one very special feature not found in more mainstream printers. They’re using a chipped filament cartridge with a small chip inside each of their proprietary filament cartridges, meaning you can only use their filament. It’s the Gillette and ink jet model – sell the printer cheap, and make their money back on filament cartridges.

# Converting a 3D Printer from 3mm to 1.75mm

A few weeks ago, I published a post discussing the filament diameters common in 3d printing. For no reason whatsoever, consumer 3D printers have settled on two different sizes of filament. Yes, there are differences, but those differences are just a function of engineering tradeoffs and historical choices. [Thomas], YouTube’s 3D printing guru, took this post as a challenge: what does it take to convert a printer to accept different sizes of filament? Not much, actually.

The printer [Thomas] is changing out to accept 1.75mm is the Lulzbot Mini, one of the most popular printers that would ever need this modification. The only required materials is a new hot end suitable for 1.75mm filament, a 4mm drill, and a few wrenches and allen keys. It would be a smart idea to get a hot end that uses the same thermistor as the old one, but that’s not a deal-breaker as the problem can be fixed in the firmware.

Disassembly was easy enough, and after mounting the PTFE tubing, cutting the old wires, soldering in the new hot end, thermistor, and fan, [Thomas] had everything set up and ready to go.

It should be noted that changing a 3mm hot end to 1.75mm doesn’t really do anything. Just about every filament is available in both sizes, although it may not be convenient to buy 3mm filament locally. It would be a good idea to change out the hot end so can standardize your workshop or hackerspace on a single diameter of filament.