recycle, re-use, re-purpose – part ii

Continuing with the work to re-purpose a computer mouse as a filament movement detection device, I designed and printed some parts for this. The bottom part is perhaps 5mm in height from the spool itself and is reasonably a good distance to see changes.

I’ve edited the earlier Python script which originally detected the scroll wheel button; it’s now detecting movements of Y as if the mouse were being moved on a mousepad. It will only do this if I take the white assembly and move it around on a patterned surface, however.

To help the mouse detect movement better, I’ve tried using both grid paper and a polar version of same. I don’t love the feedback loop that’s going now. I’m sure there’s a better way to get this movement detected all the time, though.

IMG_0115

IMG_0116

IMG_0118

recycle, re-use, re-purpose

This week’s project involves dealing with filament-delivery problems on my 3D printer. Out of the box, the filament runout detection never worked. Frankly, it was a terrible design to begin with from the manufacturer and I’m convinced that someone at the factory just turned off that behavior anyway.

As a result of this, I’ve lost a few print jobs over the last year. In only two cases, I simply ran out of filament for large parts. In all the remaining cases, a number of problems contributed to the loss of filament delivery to the printed part:

  1. simple end-of-roll loss of filament
  2. spool sticking to manufacturer’s poorly-designed spool holder
  3. cross-threading of the filament on the roll
  4. hot-spooling the filament at the factory which resulted in filament which sticks together
  5. filament like carbon fiber—infused which likes to stick to itself
  6. old filament which is now brittle and breaks as a result
  7. overall poor design of the spool (boxy) shape itself, resulting in cross-threading
  8. overall poor design of the filament delivery path itself, resulting in too much force needed to extrude
  9. filament thickness quality issues as combined with PTFE feed tubing, resulting in stuck filament in the tube
  10. too-flexible filament as combined with any of the conditions above, resulting in filament notching at the bowden gear
  11. z-offset too close to the bed, resulting in hotend jamming
  12. poor first-layer adhesion, leading to a build-up of filament and ultimate hotend jamming

Now granted, the bowden drive for this printer is one of the beefiest NEMA 17 style of stepper motors I’ve seen. And yet the number of filament delivery—related problems is just too high to continue to ignore. So I’ve decided to finally deal with the issue rather than working around it.

Ideas & inventions

Remove the stock holder, add bearings to its replacement

I designed, printed and assembled a very good dual-spool filament delivery system which worked much better than the stock filament holder. I sometimes still use it.

DSC_0062

Dual runout switches

Perhaps six months ago, I designed, printed, sourced parts for and assembled a very good dual-spool filament runout detection block to replace the stock part. I have yet to install it since I’m not in love with the idea of the filament path beginning at the table level. Time has taught me that the spools need to be higher than the printer for this to be optimal. As designed, though, it works in principle to detect loss of filament from both spools.

DSC_0211

And yet, this entire concept does not directly address the problems associated with cross-linked filament. It only addresses the loss of filament as seen in a switch.

Parabolic spool guides and re-purposed monitor stand

Additionally, I designed, printed and assembled parabolic spool guides to better deliver filament (especially for hot-spooled or otherwise sticky filaments like carbon fiber). This I combined with a designed/re-purposed dual-monitor stand to move the spools above the printer rather than below.

SpoolHolderOverhead

SpoolHolderWithBracket

Remove the temperature gradient

First-layer adhesion was aided by adding a foam enclosure/door and a temperature-monitoring Raspberry Pi 3B to the inside (opposite the internal webcam). The latter helps to heat up the print volume area, keeping things from 90-100 degrees Fahrenheit.

foam

Remove the PTFE tubing

Filament diameter inconsistencies resulted in filament getting stuck in the PTFE tubing. I now rarely route the filament through the tubing, having removed the awkward bottom-to-top filament delivery path from earlier.

And finally, a filament movement detection mechanism

This weeks work then revolves around fixing the underlying problem. The solution isn’t filament runout detection. The more accurate problem and better solution is actually loss of filament movement and its detection.

When I began to think of solutions, in my head I was adding black/white encoder rings to the sides of the spools themselves. I would need to add those to all spools of course. I’d also need to design something which reads those as ones and zeroes.

I decided that a roller/follower which is turned by the spool is also a solution. I then envisioned writing drivers and creating a small circuit board for all this so that it could talk to Raspbian, the operating system which OctoPrint runs on.

Mouse to the rescue

Finally, it hit me that a standard computer mouse does this naturally. The older style of ball mouse has a follower which detects when the ball is moving. Even the newer style of mice still have a scroll wheel which is covered in rubber and would do nicely. In my imagination, the first iteration of this had the filament trapped against that rubber wheel. In today’s version, the wheel merely comes in contact with the side of the spool itself for the win.

As a bonus, the computer mouse already has the serial communication and Linux driver built-in. It was trivial to write a small Python script to detect scrolling events.

no mice will be harmed … in the making of this gadget.

The mouse should fit nicely and without any modifications to a 3D-printed holder. The serial connection goes to the Raspberry Pi and is then detected in an OctoPrint plugin. During a print job the scrolling events will be monitored; any loss of scrolling over the sampling period will then pause the job and alert the operator with a sound event.

rat on computer mouse

recycle, reuse, reinvent

Someone had a dual-monitor desk stand for sale (something like $10) and I bought it without much in mind for it. I liked the sturdiness of it and it’s been in my foyer for several weeks.

Yesterday, I designed a VESA mount in PLA and printed it over the span of fourteen hours and it turned out to be perfect. It now accommodates the first of two filament spools for the 3D printer.

SpoolHolderOverview

SpoolHolderWithBracket

SpoolHolderOverhead

hot-crossed filament

The dirty little secret in the world of 3D printing is that things go wrong (a lot). This week’s problem to solve is the frequent cross-threading of the rolls of filament itself.  Filament manufacturers don’t seem to understand the requirements necessary for doing this right so it’s up to the rest of us to fix the problem ourselves.

Each time cross-threading occurs during a print job, you lose the entire print since the feeding of that filament just stops. In this photo, the printer has actually lifted the entire holder assembly off the workbench:

IMG_0503

Spool Guide

To deal with this problem, I decided to re-invent the spool holder itself by changing the inner topology from a rectangular shape to parabolic. It now delivers filament in a straighter path to the filament sensor block on the printer, minimizing cross-threading.

The reusable spool guide design incorporates eight individual parts which attach together using standard aluminum hex head bolts.

IMG_0509

Repository

words are loaded pistols

That title quote is by Jean-Paul Sartre but I was torn between that one and the following for this post:

One great use of words is to hide our thoughts.

~ Voltaire

Scrabble tiles

Was thinking it would be fun to design/print a Scrabble set this morning. And while it was printing I thought it would be even cooler to print extra letters and use them for signage, say, on your desk at work or something. Pretty awesome toy if you think about it; you could have a mugful of letters on your desk and say how you feel on any given day.

I had to tweak Cura’s (slicing software) printer profile to get the holder to print within the print volume since it’s pushing the limits. And I used the new GetToDahChoppa program I wrote for the multi-color printing.

DSC_0227DSC_0214DSC_0225

dual-spool coolness, etc

Anticipating a dual-extruder upgrade soon for the Robo C2 printer—imagine printing in two colors for the same part—I’ve designed and printed a dual-spool holder for those two filaments. It’s an upgrade for the printer and works much better than the original holder.

SideView-C2andHolder

The original spool holder stuck out of that rectangular hole in the back of the printer, sometimes falling out during the middle of a print job. Aesthetically-pleasing but impractical, I’ve now replaced the original.

DSC_0062

I’ve created step-by-step instructions for creating two versions: one for the full kilogram rolls and one for the half-kilogram variety.

Repository

Stability

Another design challenge with the Robo C2 printer is the way that the print bed is cantilevered from the back of the printer. It’s a bit like a diving board and similarly wobbles at its front-most extremity as you’d expect. This isn’t really optimal for 3D printing because it results in poor quality with taller parts and especially those which are oriented toward the front of the printer.

robo

CantileverStabilityPlate

I’ve therefore designed a cantilevered stability plate to afix to the bottom of the print bed itself which should provide some firmness in this dimension. Eight M3 type aluminum bolts are the only thing needed other than this part.

Repository

wizarding money

Apologies for the lull in blogging but I’ve been fussing with Autodesk Fusion 360 lately. The current design in 3D printing would be an authentic-looking Knut from the Harry Potter film series.

coins

So for the first coin, I thought I’d try the copper/bronze-looking one since I have some copper-infused PLA filament, some copper-infused artist liquid-stuff and plenty of pennies for electolysis at the end.

I managed to do the front side with a convincing Tratello font for the text and a complete rendering of the details. I will attempt to do a photos->mesh conversion for a better face, however.

Rafting

A raft on the part’s bottom is often necessary so that the part will adhere nicely to the workspace. Unfortunately, that tends to mar up one side of a coin so that approach doesn’t work here. I’ll then want to slice the coin into front/reverse and print both halves.

Weighting

The standard weight of a plastic coin wouldn’t feel right in your hand so the strategy would be to put something inside of two halves to make it seem realistic.

Post-processing

After the actual print, everything you do to make it nice is called post-processing. In this case, this might include assembling the two halves of the coin with glue of some kind, sanding, tumbling in a magnetic rock tumbler device with copper-plated media for a few days, brushed-in application of a copper-infused liquid for touch-ups and finally, wiring and dropping each into an electrolysis chamber so that ionic copper may bind to the outer surface.

Progress

So far, I’ve got one half of the Knut designed and made two test prints. The inside space perfectly matches a penny (which adds weight to the coin and helps to speed up the print time). The filament produces a metallic matte finish and doesn’t appear to have the tell-tale lines you normally might see in a printed part.

The bad news is that my 0.4mm extruder nozzle is too big for this job. I need a tiny opening to print at a higher resolution. So I’ll be ordering some smaller nozzles like this 0.15mm version.

pointOneFive

I have a spare power supply from a computer as well as a recycled hard disk. I’ll remove the top from the disk and then glue some very strong magnets around the top perimeter in alternating orientations every 60°. I’ll need to use my existing rubber drum from a rock tumbler kit for the media and parts.

As for the media, this will be a combination of penny-magnet-penny glued sandwiches plus a collection of copper-clad screws (over steel). This then makes everything inside want to give up copper in the millions of collisions with the copper-infused plastic parts, as influenced by the external rotating magnetic field. After a couple of days, the coins should have a healthy amount of superficial copper added plus a polishing of the printed detail.