Friday, December 18, 2009

I Trust My Makerbot / Making Model Buildings

Makerbot's much more fun when you trust it enough to leave it alone for 30 minutes.

Last weekend's experimentation made a huge difference; with the cable to the extruder replaced, I'm having every print work fine. The Brio train track was one of the first things I tried, and I was amazed that the first print went perfectly. The Brio track's also interesting because it uses a lattice structure on the lower layers to minimize warping. When there aren't lots of uninterrupted threads of plastic, shrinkage won't cause the part to curl.

With such good luck, I moved on to one of the projects I'd bought the Makerbot for: could I use it to build model buildings for my model railroad? Specifically, I wanted to print out Spanish Revival style building facades. The curves and layers would be difficult to do by hand, and much harder to do repeatedly, but easy to do with the Makerbot.

Here's a quick look at my first print. The print is 90mm (3.5 inches) across and 70 mm (2.75 inches) deep, and was intended to be around 3 mm thick. It's getting close to the maximum width for the Makerbot; the stock build platform is 100 mm square, but the raft for this print - the crosshatched layers of plastic put down first to hold the model to the surface - is 102 mm. I found my machine could move 110 mm, so I cut a new build platform out of Plexiglas to do larger objects. My first two prints for the building facade failed quickly; the pieces warped horribly within a few layers, and usually bumped the nozzle as they moved around. Bad.

But the Brio track hadn't warped. I wondered if I could break up the long side pieces so that the top layer couldn't pull across the piece to cause the warp. Back in SketchUp, I made the piece twice as deep, and cut some wedges out of the thickened back side perpendicular to the warping.

The new design printed perfectly - no warping, and very little problem with the print. I even managed to print four more over the next couple days. Each print took around 35 minutes, and used 10cc of plastic (or about 20c worth). Best of all, these were the first prints I'd done on the Makerbot where I felt like I could walk away for several minutes without worrying if the printer had stalled and was spewing out hot plastic at one spot.

Warping parts is a big deal in the Makerbot community. The warping occurs because the styrene plastic shrinks about 2% as it cools, pulling at the lower levels and causing the part to cup and pull away from the build surface and first "raft" of plastic laid down. In the best case, the parts end up with a rounded base; the lower levels warp, but later levels get affected less by the warping and build up new flat surfaces. In the worst case, the part curls enough to foul the machine. There have been lots of potential solutions. Some think that changing the plastic used will help. Others are experimenting with heating the build platforms to 60 degrees Celsius so less shrinkage and warping occur. My experiences make me wonder if some simple tweaks to the design might be enough.

My printed building fronts are for a 1920's drive-in market. These weren't the drive-your-car-in markets of the fifties, but the predecessors of modern strip malls - inexpensive buildings put up on corner lots along the new roads leading out to the suburbs. The markets had a pretty standard format: one market, one greengrocer, one butcher, a baker. Each was an independent business with an individual space, but together they were just the place to stop for groceries on the way home. Like many 1920's and 1930's buildings, they often used some extra architectural detail to draw in drivers, and Spanish Revival was a popular style back then. Longstreth's book shows pictures of drive-in markets around Los Angeles, but they appeared elsewhere in the U.S., and were certainly seen in the San Francisco and San Jose area that I model. (The old photo, in fact, is of a drive-in market on Telegraph Ave. in Berkeley, CA. It's long-gone, or at least remodeled.)

I'm planning to glue the building fronts together to make an "L" shape to fit the lot space, and my usual model building supplies for the back walls. The Makerbot surfaces are still pretty rough, so I'm planning on using spackle to fill in the rough spots and simular plaster. Some of the detail, such as the sawtooth row above the arch, will stay to simulate some of the details found on the actual buildings.

Sunday, December 13, 2009

Better Luck

I spent the day trying to figure out what might be causing my hangs during printing. I started by trying to print a simple object - a leg for the Makerbot. Like the maker of these legs, my power supply had a fan pointing down, so I needed to raise the Makerbot up a bit to get air to the power supply. My legs are shorter than pattywac's; I didn't want the Makerbot raised up so high.

I ended up trying to print 13 legs, and 8 were usable. My first four prints went great, then things went downhill from there. The two conditions I tested were (1) turning off the fluorescent lights above the workbench, and (2) using a real Ethernet cable for the motherboard-to-extruder cable, rather then the home-crimped cable I had been using. I also routed the extruder cable away from the USB line and the Z stepper motor wires.

Results: with the lights off and the cable replaced, I had three of four prints go fine, with the fourth hanging at the 13 minute mark just as the piece finished printing. When I switched back to the old extruder cable, I got an immediate failure, then two successes. Turning on the fluorescent lights caused a couple of immediate failures, but things didn't improve after the cable and light were replaced. I wondered if something was overheating after several prints, but couldn't find any unusually hot pieces.

Still, I had pretty good luck today. Here's pictures of my Makerbot legs, sitting on their own. I modeled these in SketchUp Pro, then used Blender and skeinforge to convert them to a printable form.

I also tried printing building fronts as a model railroad project. The Makerbot did a great job with the curved lines of a Spanish Revival building, but the piece warped pretty quickly and eventually jammed the extruder nozzle. I even tried printing on a piece of 0.060 inch sheet styrene, but the extruded plastic only stuck a bit better than on the acrylic.

Saturday, December 12, 2009

Makerbot Hiccups

It's interesting reading the Makerbot list at Google Groups, because you find out that some people seem to be having no problems at all with their Makerbot, and others seem to be having no end of problems. My particular problem has been builds hanging while the extruder keeps extruding. I've seen different guesses at the cause:

  • #1: The USB/serial cable can't send data quickly enough (supposedly solved by printing to the SD card on the Makerbot motherboard).
  • #2: The ReplicatorG control panel is up, so it's constantly polling the extruder for the current temperature (or the "monitor temperature" setting in ReplicatorG's preferences is set); closing the panel or un-checking the setting supposedly solves that. I've also guessed at a few.
  • #3: The computer sleeps or slows down, and loses contact, solved by turning off sleep.
  • #4: Electrical noise on the USB or extruder cable causes the Makerbot motherboard and extruder to lose contact.
  • #5 Noise on the USB cable causes problems. (In both cases, move the cables away from the higher current stepper motor wires.)
  • #6 Too close to fluorescent lights. (This might actually be an issue. My first few prints worked fine, and most of my problems have been with the Makerbot on my workbench underneath a fluorescent lamp.)

None of these has made much of a difference for me. My first print usually goes well, and then I'm fiddling around trying to get another good print. Tonight's adventure was printing these legs for the Makerbot. Each is about a 12 minute print; to get four good ones, I did around twelve total prints tonight, some failing late in the print, others hanging within a minute or two. I still don't have a handle on what's going on, but I'm going to keep looking.

I did have one bit of good news. I'd had problems in the past because a well-adhering part could actually bend the 1/8" plexiglas build surface and cause the part to warp. I hold the plexiglass to the wooden build platform with double-stick tape, but several pieces of tape weren't enough to keep the plexiglass from bending.

Luckily, I found a scrap of 1/2" clear plexiglass at our local plastic shop, cut it down to 110 mm square (or 10 mm bigger than the default build surface!), and started printing. The leg models I was using didn't have rafts, but I found they still stuck wonderfully to the new plexiglass and gave me some nice, unwarped parts. Woohoo!

Making the new build surface was easy. I cut the new piece to rough size with a hack saw, then filed and sandpapered the edges smooth. The official Makerbot build surface has a grid of lines scratched in it, so I scratched some similar lines in my piece - a few for adhesion (which didn't seem to matter), and a pair of lines in the center of the piece so I could position the build platform at the start of the build.

Regardless of the headaches, I've got four legs for my Makerbot. I'll still need to file them down to equal height (one's a bit shorter), but they're almost done.

Sunday, November 1, 2009

How to Print Your Own Model

Whew, that was a pain.

The whole fun of the Makerbot is in making your own drawings of some 3D object, then making a print from that model. For Makerbot, this requires using a 3D drawing program, then feeding the result into a program called Skeinforge that decides where plastic needs to be squirted out. It's not the most straightforward process, and the tools are a bit cryptic, but I can at least say I've now done it.

The model I chose was pretty simple - a two foot high glazed pot - that I'd drawn when we were playing around with ideas for landscape work in our backyard. It seemed simple enough to make a decent model. I exported it as a DS3 file from SketchUp Pro, read it into Blender, exported it from there as an STL file, and went into Skeinforge.

Skeinforge is an open-source program intended mostly for scripting; if you run it, you get a window with twenty buttons, but most of those buttons are either settings or only run one particular pass on your file. I finally figured out to press "Carve" to convert the STL file into an SVG file that broke up each layer of the drawing, then pressed Export to save out the GCode file that the Makerbot will actually print. I also figured out I could do this from the command line:

# This takes in the stl file, and generates a SVG file with the same name,
# but with _carve appended and
python skeinforge_tools/ myFile.stl
# This command takes in the _carve file, and generates the GCode.
python skeinforge_tools/ myFile_carve.svg

I made two versions of the model - an inch-tall pot, and a three-inch tall pot. This picture shows how the one-inch pot looks. Both pots are going to my mother-in-law for her half-inch-scale dollhouse.

This picture shows a couple of the aborted attempts to do a three inch tall pot. In one case, I stopped the print job because it was late, and in the other two, the Makerbot hung about 20 minutes into the print. These do nicely show the interior structure that Skeinforge uses to fill interior areas. Skeinforge allows both a grid fill (20% solid), and a hexagon fill (here 10% solid).

Friday, October 23, 2009

Second Print: A Raft of Chain Links

Second print - this time the drag chain (for supporting and protecting the cable to the extruder.) Thingiverse has a Gcode version of this that prints six on the same raft. The raft didn't stick well, but things appear to have worked. The big flat sections did start cupping a little from the heat, but not enough to affect the final pieces. The cupped-in link points weren't thick enough, and so they're sort of half-bonded together.

The other interesting thing is I learned how much filament it takes to print objects like these. These links took 45 minutes, and used a bit less than 6 feet of ABS filament. I know because I'd only cut 6 feet, and I was starting to fear I'd have to stop the print job before the end got lost inside the plastruder...

Tuesday, October 20, 2009

First prints!

My makerbot's printing! First print jobs were the engagement ring and the whistle. Thingverse has G-code for both, so I could print them directly without having to run Skeinforge to turn the 3D shapes into extruder lines.

My biggest problem was figuring out the starting setup before printing each. The startup code is in the G-code, not in the ReplicatorG program, so each has a different expectation of where the extruder tip should be. The whistle expected the extruder to be at 0,0,0, barely touching the build platform, while the ring expected the extruder to be 10 mm above the platform (I think). I crashed the extruder into the build platform a couple times trying to get this right.

I also found that the raft won't stick to the build platform unless it's really close, so as soon as the raft started printing, I adjusted its height by turning the Z axis pulleys.

The whistle came out beautifully (and it works!) The ring missed a few layers, and my model wasn't solid so it wasn't quite ring-like enough for me. Still, that's two successful prints!

Monday, October 19, 2009

First real extrusion!

I picked up a spare insulator spacer from the MakerBot store, and replaced the plastic insulator in the extruder nozzle with the new piece. This time, I again had problems getting the extruder started. After a couple jams, I tried using a tiny drill to unclog the nozzle with no luck. What did work was removing the old plastic filament, cutting it flush, putting in a new one, and trying again. After a couple rounds of this, the extruder started working perfectly! You can see the two piles of extruded plastic. The left one got formed by raising the Z platform as the plastic pile got larger. The second was made by moving the X and Y table as the plastic extruded.

My suspicion is that I had some debris clogging the nozzle. Backing out the plastic rod and cutting off the stretched end eventually got rid of the debris.

I was having good luck extruding at 215 degrees C. Heating it higher didn't appear to change how things worked.

It's too late to try running a noisy print job - guess it'll be tomorrow or the next night.

Monday, October 12, 2009

Plastruder done!

The plastruder's done, so I set it up and gave it a try.

Good news: I actually got my first plastic out of the nozzle!

Bad news: at some point, the plastic clogged up and pushed the heater barrel right out of the PTFE plastic.

I'm waiting for things to cool down enough so I can figure out what happened. My guess is that I had the feed speed too high, or maybe the plastic was melting too high up, or maybe the plastic rod kinked.

This oughta be a fun repair...

Sunday, October 11, 2009

Progress: Makerbot done, plastruder in progress

The Makerbot's done. It went together quickly and without any problems. I've been able to connect it up to my Mac and move the various axes to test things, but I'll have to finish the plastruder before I can actually print anything.

Using Watco stain didn't work as well as I hoped. I got a decent stain color on the wood, but the birch plywood doesn't have a strong enough grain to stain well. (It also didn't hurt that the weather's cooling down, so I had to put an extra coat on, and still didn't get a semi-gloss finish. I suspect I might have gotten a better finish with warmer weather or if I hadn't been so eager to finish. The panels are also cut with the grain going sideways; I suspect vertical grain might look better. All said, maybe just spray-painting with a bright enamel would have been better.

My other big problem was with the software. My Mac laptop (MacBook Pro running Mac OS X 10.6) just kept having problems running ReplicatorG. At first, I was getting error like:
java.lang.ClassCastException: cannot be cast to thrown while loading

I'm not surprised that I'm having problems with serial devices; I've run other serial devices (such as programming model railroad locomotive decoder's with the JMRI project's DecoderPro software, and a Cricut scrapbooking cutter via Sure Cuts a Lot. I suspect I have warring Java serial drivers on that machine. Building my own copy of librxtx from sources by following these instructions and copying the resulting .jar and .jnilib file into /Library/Java/
Extensions manually as mentioned in librxtx's README. Unfortunately, then I just got errors that every serial device was in use. Switching to my desktop machine with Mac OS X 10.5 and fewer serial devices made everything run fine.

(Interesting trivia: my laptop had the RXTX code loaded in three places: /usr/lib/java, /Library/Java/Extensions, and somewhere deep in /System/Library/Frameworks. The Mac Mini running 10.5 that ran ReplicatorG with no problems didn't have RXTX installed anywhere. The RXTX code usually comes as two files: RXTXcomm.jar (the Java code for running serial ports) and librxtxSerial.jnilib (the Mac OS X native code that actually talks with the serial device.)

My one hitch during construction was that the small pulley for the X stage mechanism was a little too small to hold a bearing. Rather than try to widen it, I pulled out my hobby lathe and turned a new one from some delrin rod I had handy. I'd been eager to do this because the printed pulleys always look a bit rough, and I knew I could do a better job. Forty five minutes of careful work later, I had a decent pulley... but I'd spent an awful long time just to make one. I'd have to measure dimensions, cut the outside of the rod to appropriate dimensions, bore out the center deep and wide enough to hold the pulley, then carefully cut the space for the belt. I was doing a lot of double-checking with my caliper to make sure I got the right size. Maybe the printed pulleys aren't so bad!

Final helpful hint for other Makernauts: I'd bought the basic kit, and assumed I could buy a power supply at Fry's for cheaper than Makerbot was charging. It turns out that was a silly choice; Fry's has tons of power supplies, but all were in sealed boxes so I couldn't see the wires they provided and where the fan was. I ended up buying a 400W power supply for $28.99 that had all the power connectors I needed, but it has a fan on top that keeps it from being inserted in the Makerbot case. None of the cheaper power supplies had the 20 pin connector (as far as I could tell.) Moral: buy the Makerbot power supply.

Thursday, October 8, 2009

Arrival of the Makerbot

Readers of my other blog about progress on my 1930's-era model railroad have heard about my experiences using CNC machines to try to build models. (Well, maybe not real CNC machines, but a scrapbook paper cutter from the fabric store.) I'm trying 3d printing, too, and ordered a Makerbot 3D printer.

Makerbot 216 just arrived at my house. Within an hour, the plywood pieces were being varnished. I'm a little impatient.

I'm using Watco Danish Oil, a combination varnish/stain. I've used this before for staining our 1960's house's paneling. It's easy to apply, and produces a smooth, shiny finish that seeps into the wood. You can also fix scratches by rubbing on more stain. I used Watco's "Natural" color with some extra tinting intended to match our house's paneling. Danish Oil is pretty easy to apply - you brush on the stain, put on a second coat 30 minutes later, and wipe any extra that hasn't soaked in. I'm coating all the pieces - not just the exterior panels, but all the small pieces as well. We'll see how it goes.