Tuesday, April 8, 2014

Troubleshooting And Fixing Extruder Jams On The Printrbot SImple



I am in the process of printing off parts for a friend's Kossel. The lower frame mounts are the largest parts, and are near the limits of what a Simple can print. It proved rather challenging to print them reliably and without warping.

My printer lives in a basement that stays at about 58 degrees F. I am using Zen Toolworks PLA which seems to work best at around 210 C. To keep warps to a minimum I print inside a plastic enclosure, which raises the temps about 15 degrees, onto blue tape cleaned with alcohol, and I have to print SLOW. 10 mm per second is the travel rate for the perimeters and infill. Even with that, I have to print on a 8 layer raft to get large parts to print without appreciable curling at the edges.

God, I want a heated print bed. But that will be the subject of another post...

So anyway. With these settings, the lower vertex of a Kossel takes 11 hours to print. I was fine with that - I'm in no real hurry and want the best print I can make. However, printing that long introduces it's own issues. I experienced consistent filament stoppages at about 1.5-2 hours, after which the printer would continue to go through the motions and leave nothing behind.

So I tried the obvious stuff. I cleaned and adjusted the extruder. I levelled the bed. Twice. I tore down the extruder and cleaned up the internal edges to reduce friction. Still no go. Jammed at about the same point.

I then read about extruder motor temperature - that a hot motor can transfer enough heat to the filament to soften it before it goes into the extruder. My motor was indeed running hot to the touch. I dialed back the current on the Printrboard until it was just warm to the touch and wasn't skipping. I excitedly started a print and went to bed.

I woke up to another filament jam. There was some swearing, and a bunch of wasted plastic.

What finally fixed it was removing the 40 mm fan from it's normal place blowing on the extruder and tacking it with CA glue to the side of the extruder, blowing into the chamber that the filament passes through on it's way to the hot end. After all, I was not using the fan anyway, since my layers were so slow.

I turned on the fan 100% full blast in software, and started the print in the middle of the day. Five hours in, the extruder motor was cool to the touch, below body temperature, and no jams. I have since completed two back to back 11 hour prints. It's fixed.

If you have a Printrbot Simple that is regularly jamming the filament, I encourage you to put a cooling fan on the extruder. The difference was immediate and remarkable. If your extruder motor even feels a little warm, it can start to soften PLA on long prints.

After the Kossel parts are done, I intend to make this mount for a more dignified fix:

40mm Diameter Fan mount for Printrbot siple with a wooden extruder



Saturday, March 15, 2014

Reducing Warped Prints With The Printrbot Simple


I was recently pondering extending the X axis on my Simple, using the extensible X axis brackets. I decided to try printing a small, simple project enclosure first, since I had really only printed fairly tall things with small bases. The only previous print I had tried that was fairly wide was an 808 camera mount for a friend's drone and it had warped badly. I had been able to straighten it by softening it under some really hot water, but I wanted to understand how big a problem it was.



I printed a box, and it came out looking like this. Ouch. Off to do some research.

Warping is caused by uneven cooling of the part. Objects longer in one direction than the other tend to do it more, and it's worse as you add layers. ABS apparently does it a whole lot more than the PLA my Simple uses, but I wanted to figure out how to fix it. A very good Makerbot blog post describes some common solutions, and variations of them worked for me.

I print in my unheated basement, which runs a pretty constant 58 degrees F. I think this contributes greatly to the problem.

The Printrbot Simple is a very cool piece of machinery, but you do sacrifice some features to have a lower cost. One of the biggest ones is a heated print bed, which most people indicate solve the problem completely in PLA and is necessary in ABS. There is not yet a kit for the Printrbot Simple to add one.

Here's what worked well for me:

1) Clean your blue tape on the bed with rubbing alcohol after you apply it, and then don't touch it. This removes wax and oils that your skin leaves behind that prevent sticking.

2) Turn on "Brim" in Slic3r, maybe 5mm around. This increases the surface area adhering your part to the bed, reducing the odds it will curl off the bed.

These two things alone helped a lot, but I still had a small amount of curling.

3) Want it to really stick? Tell Slic3r to print a "raft" of perhaps 5-8 layers. This works very well but requires you to cut or sand the raft off your part. The raft is sacrificial support material that warps instead of your part. This worked, but would be a hassle, so I kept tinkering. Here's what the raft material looked like:



But hey, it's a lot flatter. I'll keep it in mind for parts I can't print flat any other way. A lot of guys on the forums sneer at rafts, saying the are obsolete, no one uses them, they are old school. Those guys have printed heat beds. My Simple does not. So if I need to print a raft occasionally, so be it.

4) Make a "slow" saved settings for Slic3r that you use when you want to minimize warps. I set it to print at 10 mm/sec, 1/3 the speed the Printrbot usually prints at. Sure, it takes a while. I value print quality over speed.

5) If your printer is in a chilly environment, you might consider enclosing it. I found that simply parking a large cardboard box over the printer, with a hole cut for the filament to enter, caused the air in the box to rise 20 degrees F to 80F. With that, my warping went away entirely with no raft. I did use a 5mm brim.



It stuck to the bed so well I had to use a putty knife to pry it off. Victory. I think that the box causes the print to stay at a more even temperature, reduces the temperature delta from the bottom of the print to the top layers, and causes the whole thing to cool more evenly.

Please consider the risk of fire if you choose to enclose your printer. I used the cardboard as an experiment only, and will be replacing it with something more fire resistant. Your safety is your own responsibility.


Monday, February 17, 2014

More fun with the Printrbot Simple, and an easy spool solution




I have spent some time calibrating my Printrbot Simple, and am having excellent results. It took some experimentation and a good set of calipers and about a dozen little test prints, but I think it's there. :-)

I found that though the X/Y/Z steps per mm were right on, I was overextruding by about 8%. This didn't show up when I measured the amount of filament being moved - in fact, with the stock settings, it appeared that I should be under-extruding. But the symptoms were consistent - my prints were about .3mm too big in all directions on the external dimensions, and holes and slots were printing too small. Dialing back my extrusion multiplier to .9250 did the trick - prints are smooth and fit together.

I also switched filaments to Zen Toolworks PLA in white, and I am very pleased. I found that in my cool basement I had to run it at 210C to get good layer adhesion, but once I figured out that, man, it's nice.




I found a simple way to hang a filament spool, which eliminates tangles on long prints. I had a wide hook designed for hanging things on garage walls that was the right size. I had binding until I removed the rubber coating, exposing the steel. Works great.




Sunday, February 2, 2014

Estimating Cost of 3D Prints in PLA



When I first decided to get a 3D printer, I had no real understanding of what it cost to operate. It's useful to be able to know what a part costs before you print it.

It turns out this is pretty easy. Repetier Host (and probably anything that uses Slic3r as the slicing tool) will output the length of filament, as well as the volume, that the print will consume. For example, the print below shows that it will need 3.5 cubic centimeters of PLA plastic to complete.



An internet search shows that the density of PLA plastic is 1.25 grams per cubic centimeter. A 2 kilogram (2000 gram) spool of PLA costs about $30.

Now we can set up a simple ratio:

1000 grams/$30.00 = 1.25 grams/ (dollars per cubic centimeter)

Dollars per cubic centimeter = 0.0375, or just shy of 4 cents. So the above sample print, at 3.5 cubic centimeters, would cost about (4 x 3.5) = 14 cents.

If your design does not require printed support scaffolding, you can also easily calculate what it will weigh. This is useful for robotics and RC models. 3.5 cubic centimeters x 1.25 grams per cubic centimeter is about 4.4 grams.




Sunday, January 26, 2014

Printrbot Simple Kit Review And Getting Started Hints



I received a Printrbot Simple V2 (pre-2014 model) with the large motors and endstop switches for Christmas. My goal is to print parts for hobby robotics and R/C vehicles, as well as make parts for friends, and just learn about the technology.

Before you begin building your PrintrBot Simple, make sure to have some super glue and some blue Loctite on hand in addition to the required tools. You need the superglue pretty early in the process. The Loctite comes later.

Executive summary

The Printrbot Simple is an awesome value. It requires some work on your part to build, tune, and learn to operate. The instructions are good, but lacking in some key areas at the time of writing. If you want to learn how 3D printers work, and be able to make small parts in PLA plastic, it is both functional and tremendous fun. If you want a turnkey experience to just make parts, without tinkering,  it may not be for you. You can buy it preassembled and save some time, but a bit of mechanical understanding is still required to debug issues and set it up.

I love to tinker, and I enjoy learning to use new tools. I am very happy with the Simple. It's really neat to see a part slowly appear on the print bed. The design is well engineered - it's as strong as it needs to be, reasonably precise, and affordable enough that a hobbyist can get one.

Update: The 1/2 lb of filament that ships with the printer goes a surprisingly long way. It is plenty to get the machine calibrated and make a number of test parts.

Kit Assembly

The kit took me about 8 hours to assemble over two sessions, and then another 3-4 hours to test, tweak, and calibrate before my first print. The kit requires moderate mechanical skills to assemble - if you have ever built a balsa model airplane, the process is very similar. The laser cut ply parts are extremely clever in their design - they heavily interlock to make a very rigid structure. I found one hole that was cut in the wrong place - it took much longer to convince myself that I had not made an error than to actually fix the issue.

Follow the instructions carefully, compare each step to the pictures, and it's not difficult. The extruder assembly is not well documented, in my opinion, but the rest is fine. I can tell they put a lot of effort into the build document.

There are photos of the assembly process of my printer here.

Testing and Calibration

First, be aware that there are older versions of the Getting Started document that will show up very high in Google searches. They don't match the current version, and some of the settings in the control software are different. Make sure to grab the latest version from the Printrbot support page.

I found that the latest version of the control and slicing software, Repetier Host, did not run on my laptop with Win7. It failed with an OpenGL error. I stepped back one version and it works fine.

The Getting Started document is a tremendous help, but it is lacking some is in some key areas at the time of writing. I will attempt to supplement that here.

1) The current version references an older version of the Simple that did not have end stops. The process of setting the home position is very different than older versions, but they just left it out. If your Simple does have endstops, then you don't have to manually home it - but you DO need to make sure the endstops work first, and adjust the Z axis carefully before allowing Repetier Host to try to set the print head to the home position

To set the Z axis, I put a piece of paper on the print bed, run the Z axis down until the print head just touches the paper, and then adjust the 3 1/2" screw above the Z axis endstop switch until it just clicks the switch. That screw sets the Z home position - you want the switch to click when it is one paper's width above the print bed. Note that you probably want to do this with blue painter's tape on the bed, since most people print that way to make the part easier to remove.

Once that's accomplished, you can use the home button on the manual control tab to send the print head to the home position on each axis, one at a time. That minimizes the risk in case one of the switches is not hooked up correctly.

With the endstops adjusted, Repetier will automatically return to the home position at the beginning of each print.

2) The process of leveling the bed is not documented in the Getting Started document. This is a misnomer - you are not leveling the bed against gravity - you are making sure the print bed is an equal distance from the print head no matter where the print head is.

I put on blue tape, then manually moved the print head to the front left corner (home). These directions are relative to the printer facing you - the "front" of the bed is closest to you. Make sure the print head is just over the bed, so that you can slip a piece of paper between them, and encounter a small amount of resistance when you pull it out.

Then manually move the print head to each corner and check that the height is the same. If not, tighten or loosen the hex screw in that corner to remove the warp in the print bed. Repeat this for all four corners. This way, no matter where on the bed it is, the head will always be a paper thickness's height above the bed. This prevents the head from smacking the bed as it prints the first layer.

3) Loading filament is not hard to figure out, but it's not discussed much in the documentation. The assembly that the fan is attached to also houses a large ball bearing. This bearing pushes the filament up against the hob bolt. Once the extruder is up to temperature, unlock the fan assembly and pivot it towards the front of the printer. That will expose the plastic tube that the filament feeds through. Push the filament through the tube, perhaps 5 cm, until you encounter some resistance. Gentle pressure will result in a bit of filament squirting out the hot end. Rotate the fan assembly back into position and lock it - the bearing is now pressing the filament against the hobbed bolt.

4) The Getting Started guide gives excellent instructions on how to test the X, Y and Z axis, but nothing about how to test the extruder. On the manual control tab in Repetier, there are buttons to extrude and retract the filament. It may take 20-30 mm of extrusion before you get filament squirting out the print head. I put a piece of cardboard under the extruder to catch it. I found it useful to do this right before every print.

5) Very low ambient temperatures will cause the extruder and all control motors to shut down. I tried to test mine in a garage in January in Ohio. Temps below 5 degrees Celsius will trigger a MINTEMP log event, which is the controller board's way of protecting you from a broken thermistor on the print head. However, Repetier doesn't do anything but quietly log it, so it can easily convince you that your new toy is dead. :-) I brought inside to warm up and POOF, it came to life.

I have mine set up in the basement, and 195 deg C works well on my machine.

6) The current version of the Getting Started guide tells you to disable the cooling fan option in Repetier, since the Simple does not have a fan. This is no longer the case - enabling the fan with the default options worked well for me.

First prints!

After leveling the bed, testing the motors, and configuring the software, I loaded up the 5mm Calibration Cube Steps, sliced it with the default settings, crossed my fingers, and hit Run. I was expecting a mess on the first run - a glob of spaghetti vaguely distributed in the shape that I was intending to print. I figured it would take days to get it adjusted to print accurately.

I was wrong. It worked perfectly the very first time. I consider that a testament to Brook Drumm's design, and the quality of the support documentation.


It was absolutely mesmerizing.

The second print, I ran into an issue. My extruder stopped feeding. It took a while to notice - there is little visual indication when that happens. I finally figured it out by marking the filament with a dot from a Sharpie marker. It it stops moving into the extruder, it's pretty obvious, and I recommend that for your first couple prints.

A little digging showed that the filament had slipped off the roller bearing and jammed against the side of the slot. A forum post indicated that this can be caused by a loose motor mount screw, the one on the lower right if you are facing the motor shaft. I tightened that, and it got better, but still jammed after a few minutes of printing if I didn't guide the filament by hand. Another forum post pointed me at this cool filament guide and I printed it out.

It solved the problem - I have had no feed problems since. I intend to make a spool to feed the filament from for longer prints.




There is something seriously neat about using a tool to make a part to upgrade itself. It is officially my first useful print.

To confirm that the feed issue was truly fixed, I wanted to print something a bit bigger. A good friend has an ARDrone and was looking for a good camera mount for it. This 808 camera mount for the ARDrone uses rubber bands to isolate the camera on a suspended platform.


Both prints were completely uneventful. And that's awesome. It just worked. Testing the mount will need to wait until warmer weather.

So there it is. I am thrilled with it. I am working on getting better in Sketchup and learning some OpenSCAD so that I can design my own parts.

Oh yeah: if you put a square of thin carpet under the printer, it has less tendency to vibrate and move around, and is also quieter.






PrintrBot Simple Calibration Print from Jason Bowling on Vimeo.

Saturday, January 11, 2014

Innovative Uses Of 3D Printing

There is a whole lot of really cool stuff being done with desktop 3D printing. I'd like to highlight a list of the ones I find particularly neat here.

1) People are collaborating on the Internet to build prosthetic limbs. These are produced so inexpensively that as a user grows they can easily be replaced.

Project Daniel



RoboHand



2) Robotics - Hobby and education robotics are a great way to interest kids in science, engineering, and programming. Desktop 3D printers pair nicely with the recently available small computers designed for hobby use, like the Raspberry Pi and Arduino. The robots that can be built by hobbyists and schools are improving greatly.





Jimmy

3) Education: Telescopes and other instruments can be collaboratively designed and then produced by anyone with access to a 3D printer. So can visual reproductions of terrain, or architectural models, or biology models.



4) Combined with CT scans, 3D printing can produce components specifically tailored to an individual patient. 


Sunday, December 29, 2013

Stellaris Launchpad First Steps


I've got my LM4F120 Launchpad up and running. Here are some initial notes someone might find useful.

The install process takes a while, but is not difficult if you follow the instructions on the TI Wiki. I used the combined StellarisWare and Code Composer Studio download labelled EK-LM4F120XL-CCS on this page. You will need both Code Composer Studio (CCS) and StellarisWare. CCS is apparently used by a wide variety of development boards in addition to the Launchpad. StellarisWare gets you the sample projects and Launchpad-specific drivers and libraries.

Instructions for installing the software and loading the sample projects are here.

The "Hello" example blinks the outrageously bright onboard RGB LED and outputs "Hello, world!" to the serial port. As part of the Launchpad ICDI drivers, you get a serial port driver that the Launchpad can print debug information to.

It was not immediately obvious that Code Composer Studio does not display this output. It's a serial port, so you can use a program like Tera Term or Putty to see it. The Hello app is configured to use 115200,N,8,1.

You'll see some references to a terminal plugin for CCS. I tried this, and wrestled with it for a while before finding a reference to a known bug that prevents it from working at greater than 9600 baud. I removed it and switched to Tera Term. It works great.

I am very excited to have the board up and running, along with the dev environment. I look forward to writing some code for it - I intend to use it for my sonar project.