Some more 3D printing shenanigans: The Up!

Scheduled plug: I’ve added a pile of new things to the Stuff for Sale page! Go check it out.

An exciting new thing came for me in the mail right after Maker Faire, and I think I’ve gotten finished playing with it enough to post.

Back in June, I wrote up the Democratic People’s Republic of Chibikart for Instructables and entered the Make It Real contest. It won one of the first prizes, which is an Up! Plus 3d printer, to add to my flock of 3D printers.

That was in July. I just got it a week ago, due to Instructable’s famed lack of shipping organization. That said, I was greeted with this in the shop last week:

Shiny. Let’s open it up!

I see the thing…

Very shiny (looks like glossy enamel) indeed. And orange, I guess because this was an Instructables-commissioned machine.

The Up is a pretty simple machine. It uses the ‘overhung arm’ architecture where the table is mounted on one moving axis and the head is mounted on another traveling, perpendicular axis. Now, I actually think this is the worst design for 3D printers because not only do you have issues stemming from workpiece acceleration (it’s moving), but the axis inertias are also mismatched.

Furthermore, the arm that sticks out is really flexible – it seems to be only mounted by one flap of sheet metal. It The X movement of the extruder is transmitted as vibration into the arm, and the end can resonate a fair amount – at least 3 or 4 mm of wobble at the end! Luckily the printing occurs very close to the arm’s support, so it seems to retain resolution accuracy. But still, it makes the machine design side of me cry a little. The new Up! Mini addresses this with a dual-rail axis design.

It also has a really really loud buzzer that makes it sound like an overly enthusiastic microwave oven whenever it starts, warms up, and begins/ends a print.

It also comes with a fairly extensive toolkit. Fairly typical 3d printer diddling tools like tweezers and a paint scraper are included, as are build platforms, mounting screws, and a nozzle wrench (but no replacement nozzle). I also got a pair of fabulously pink work gloves, but I’m not sure how they’re supposed to be used (are you supposed to grab the nozzle while hot?)

After I made a klein bottle as the printer’s first test, I let it run overnight on this compound of 5 cubes.

I’ll take a moment mention the UP! software. As far as I can tell, it’s closed source. It offers the usual array of tunable features – layer thickness, speed (just fast, medium, or fine), and infill (loose, dense, solid, hollow…), but only generates a square mesh (while Replicator can generate hexagonal meshes or just line scribble). It also slices way faster than ReplicatorG, but the user interface is a little strange with its button press sequence to do a common task like scaling or rotating, but that is a minor complaint.

What is REALLY nice about it, though, is how it generates the support lattice. This is the one place where I think it beats everything for intelligence, because alot of planning has to go into making a homogenous-material (i.e. not dissolvable or something) support that just falls away when done. If you’re a Stratasys printer, you can just puke support material everywhere because the intention is for said support to be dissolved away in the bubbling cauldron of lye. This is a very different, controlled kind of puking.

That entire cocoon for my cube thing came off in one piece, with absolutely no knifing or prying. Same deal with the “raft” layer. Contrast this with the amount of scraping and filing I have to do to the average Replicator(G) print and it seemed almost magical. I’m not sure how it is able to do this -it doesn’t seem to pause for a temperature change when moving between supports and part, so I think it must just be very careful extruder control to make sure the parts just barely come into contact.

It generates several different types of support – there’s the loose lattice that is used to build up the bulk of the support, then a very fine and nearly solid layer that is the one which makes contact with the part (which makes the near trivial breakaway even more amazing). There’s also a “cross hatch” like option which is used only for the loose layers.

Either way, seriously, what? I wouldn’t mind seeing a more robust support generation scheme for Replicator. Or, even better, maybe I should try hybridizing this guy with our Replicator 1 and make an Uplicator. I’d love to combine the high speed-capable gantry head of the Replicator with the Up’s slicing engine and controls.

There’s also one more thing I like, which isn’t Up-specific but I have not seen it until now: perfboard build plate. I am a definite fan of this. On that giant 4.25″ wide print, there was less than 1mm of lift on one corner of the hexagonal base. In ABS! As far as I can tell, the little holes in the perfboard cause the molten ABS to flow into them and hence achieve a mechanical interlock, way better than counting on the strong force interaction or something with a smooth tape. The Up came with 3 pieces of 2mm-space perfboard. I’m tempted to go buy a 6 x 8 panel from Radioshack and check out how it works with our Replicator.

I did a little more research into it and found that perfboard is now a common build surface, especially in conjunction with “ABS juice” that is made of ABS bits dissolved in acetone and painted on the platform.

The more you know…

After experimenting with the Up, I was determined to tune our Replicator to achieve similar qualities. Most of all, I was out to play with the support generation to see if I can achieve a less tenaciously integrated support lattice. I had been opposed to messing with before since technically it’s not “my” Replicator, but belongs to our research group, but I have literally not seen anyone else use it except me, so who’s gonna complain!?

I began by turning down the support flow rate ratio in Skeinforge way down. I had noticed before that the support material was almost as thick as my part lines, which seemed unnecessary. Next, I increased the density of the interface layers (which seems to drive the density of the support layers) so there was more ‘support resolution’. This did involve figuring out a better system so I could get the raft off the part easier (the denser interface layers appeared to want to stick to the part more than anything else). One more parameter I messed with was turning up the “support gap” ratio, which caused the lattice to be spaced further away – this was increased from its native 0.005 (meaning pretty much touching) to as far as 0.1.

I tested these settings by printing a few overhang dongles using full support and rafts, then when I thought I was at a good location, by test printing a difficult object which required full supports: this figurine on Thingiverse.

I think it turned out pretty damn great. Full disclosure: I tried this on the Up! and it got about 3/4 of the way up before the wiggling of the build plate caused the nozzle to bump the whole print off the machine. Oops. That’s what you get for being non-gantry, I guess.

Chunking off the support was pretty easy, but there were definitely lots of areas where I had to knife pretty hard. It looks like I’m the first person on Thingiverse to even try this print, too.

Additionally, one thing I noticed was that the long runs of very thin support lattice (seen in the first picture of the print) tended to warp and buckle much easier than a thin walled part would, probably because the flow rate is modified so much. On smaller prints it was okay, but I’ve definitely had support detatch from itself and curl up before. Once that happens (it seemed to happen at the base of the model), it is generally very hard for it to pick itself up again.

So I decided to try turning on the “crosshatch” option, which normally in RepG makes a pretty damn solid lattice that is utterly impossible to do anything with, but turning the flow rate down even further. The result is what I will call “point cloud” support. The string of plastic breaks between intersections (or leaves very very fine threads) and basically forms a coarse-, open cell, layer-by-layer deposited foam:

 

The “point cloud” is supported by the interaction of all those fine drool threads  and is remarkably solid if you push on it, but it falls away in huge chunks and the remainder is easier to scrape off. Still not Up! class, but a pretty awesome departure away from having to chisel your part out of its own pupa.

 

I next tried this method on the ultimate test: something I 3d scanned, so is not going to be remotely clean or easy anywhere.

 

The model in question is a Hatsune Miku mini-Nendoroid figure that I own. Now, if you know me, you know that just about the only thing I can be considered a ‘fan’ of is Miku and the Vocaloid media franchise and user community. It’s difficult to explain what it is without sounding like an internet startup guy, hipster and open-source advocate at the same time. In short it’s crowdsourced user-supported synthesized music you’ve never heard of.

Hey, when did I get a 3D scanner?!

It’s not mine, per se, but the IDC lab space has been getting some new toys since the last semester, partially in support of MAS.863, the renowned MIT Media Lab class that teaches fabrication and design skills (which Mechanical Engineering doesn’t have an equal to, by the way). This NextEngine triangulating laser scanner is one of them.

Since this was pretty much my first stab at 3D scanning, I neglected to take more than a few orientation scans (which meant the model had a ton of uncloseable holes in it) and then tried to save it at full resolution into an STL. The result was a 130 megabyte STL file that nothing could open or slice. I had to go back and greatly simplify the polygon count in order for ReplicatorG to even think about working with it.

While the STL just had too many gaps and errors for Replicator to generate a successful tool path (there’s some places that are just totally missing or filled with garbage), the “point cloud” support worked as intended. It looks really messy and disgusting on the outside, but the interior is a regular grid of very fine blobs and lines.

Since the whole point of this exercise is really just to get me a Miku figure clone, I tried it on the venerable Up. It handled the errorful STL wonderfully, though it pointed out to me where each and every one of the missing faces was. This was once again an overnight job…

Miku ended up being 4 discrete solids because of the holes in my model – the scanner couldn’t really capture the detail of the hair joint in the orientations I had it, so the point/mesh cleanup routine chopped them off. And no matter how removable the Up support is, it was still made out of the same ABS and so I had to cut part of her loop antenna structure off to remove the internal support, then reglue it back on.

Her legs are also… uhh, detachable?

But some hot glue fixes both problems.

I’m going to sacrifice this figure by supergluing the joints together so it can stay in one pose, long enough for me to scan it from every orientation. Then maybe I can get a higher resolution and fully one-shot printable model up on Thingiverse.

The bigger lesson here, though, is that I really like the “point cloud” support method. I’ve made so many changes to my Skeinforge settings that it’s not really worth trying to narrate them all here. So I’m just going to upload my slicing settings here (stuff the whole folder into your .replicatorg/sf_50_profiles directory and it should automatically recognize from within Skeinforge.

I’m actually kind of serious about trying an Uplicator hybrid. Pretty much all 3D printers are just a few steppers and a heater or two, so I don’t see much difficulty. They even sell the control board for the Up, but sell the CPU separately…for one hell of a sum. I wonder if that’s just an ATMega chip on a breakout board.

The only issue I see right now is that the Up homes differently than the Replicator – the former homes at “Z maximum” and the latter at Z minimum, necessitating different limit switch placement. In the mean time, Up!

but there’s a catch

With two competent hobby-class 3D printers sitting next to me, there’s something that has been a little forgotten which I will now finally decommission.

Poor Make-a-Bot.

The last time I turned this thing on was in late March some time. Ever since then, it’s been sitting quietly on a table, gathering MITERS grunge. The hardware, Makerbot’s Gen3 boards, and the extruder (a stepper chopped MK5), are generations behind. It was really never meant to be a 3D printer – too beefy and solid, but with my extra-stiff axes and much larger stepper motors I could still hold good resolution even at moderate (50-60mm/s) speeds. It’s really better off as a PCB router or very small mill.

Make-a-Bot isn’t being dismantled. Instead,

I’ve sold it to a hopefully loving new home that will turn it into something else awesome. Bye Make-a-Bot :(

Kitmotter 0002 Design Files

Now that I’ve put a few miles on Kitmotter 0002 in the form of Johnscooter, I’m more confident in releasing the design so people can build their own versions or modify it.

Ride testing has let me measure Johnscooter’s propulsion efficiency at about 29 Wh/mi. This is a little worse than RazEr’s 25 Wh/mi, but besides having the World’s Trashiest Bearings, the fact that Johnscooter is operating almost entirely in 25A constant-current mode (due to the current-limiting nature of the motor controllers) means I’m basically full-throttling it everywhere. RazEr and RazEr Rev had a more “open loop” voltage drive which let me draw brief bursts of current to get over obstacles at a higher speed where Johnscooter would slowly crawl through the same.

The motor itself has been holding up fairly well for being made of particleboard (more properly, hardboard, which I suppose is rather plastic-y as wood goes). The new stator hub has been holding up with no issues so far, and it was the most worrisome part of the current design.

It has a few dings on it from actual use on sidewalks and bike lanes, and I never did drill those through-holes for the wheel mounting flange. So the wheel is loose on the motor a little, but when rider weigh is pressing on everything there’s nothing that feels strange.

The trashy 5/8″ bearings have loosened up substantially over time – both in seal drag and in…. radial runout tolerances. I can now grab the motor and wiggle it very slightly, and the greatest contributor to the noise spectrum when riding is those bearings. If anyone else builds this, remember that even though I have the Trashy McMaster Bearings listed in the Bill of Materials, real precision flanged 5/8″ bearings should still be seeked out if possible.

Speaking of BOMs, the files are located here and this is what the ZIP file contains:

  • Original design files in Autodesk Inventor 2012 format. Unfortunately I’m not quite so motivated as to provide generic/open source models for everything.
  • Premade DXFs of all motor mechanical parts ready to cut on your favorite 2D Rapid Proto gadget. The materials (e.g. “0250_al” meaning .25″ aluminum) are recommendations, but the rotor rings MUST BE STEEL. Otherwise, feel free to cut the 1/8″ spacer rings and 1/4″ endcaps from polycarbonate for that clear case-mod motor effect or aluminum for extra strength.
  • Basic bill of materials with most hardware and mechanical parts. The tools I used to carve out the wheel center are also included in the BOM. There’s things that are missing from the BOM because they are variable with each design, including the magnet wire, output leads/termination methods, and optional Hall Effect sensors.

There’s some fab considerations which I’d like to share for this particular design, as they might make the motor more durable:

  • Please, please make the endcaps from something which is not wood. Pleeeeeease. (There’s nothing that wrong with it mechancially, I suppose, but just don’t ride through rain).
  • The two 1/4″ discs can be made from four 1/8″ discs – this is in fact what my endcaps above are – if it would make it easier and cheaper to fabricate. For instance, I ordered a single panel of 4 discs plus the “0125” parts from Big Blue Saw.
  • The stator hub is designed to be a loose fit with a standard non-kerf-compensating laser cutter. Waterjet cutters and BBS’ laser services all offset the kerf such that parts come out “true” to dimension. Parts made using this method will be tighter-fitting into the stator and shaft as a result and might need filing or sanding.
  • My final winding is 30 turns (+/- 2) of 9-strand-parallel 28 gauge magnet wire. This is equivalent in area of copper to a single 18.5 gauge wire. Dual stranded 22 gauge wire is also workable and 22ga is probably easier to find. This results in an intrinsic Kt (V/rad/s, or volts generated per rad/s of rotational speed & Nm/A, torque per ampere of phase current) of 0.18 – the Kt will vary a little depending on exactly what drive profile is used (trapezoidal, sinusoidal, sensored vs. sensorless, poor vs. well-timed sensors…). The final line-to-line resistance was 0.31 ohms.
  • Magnet wire is cheaper on Amazon and eBay, but here’s a McMaster roll of 22 gauge.
  • Drilling the wheel flange holes through the tire is probably a good idea. Wood/sheet metal screws, with coarse threads, should be used to fasten wheel to the flange.
  • Really, really crank down the #2-56 axial tie rods (but don’t strip the threads!). #2 hardware will pretty much fail in shear instantly if they’re loose and your weight is on them, which is why I tried to use so many tie rods to compensate. The more these are tightened, the more static friction exists between the layers of the motor, so the more weight they can take from the wheel without shearing the screws.

I expect to see more examples of this construction in the near future. Remember, buildable without big machine tools!