Enough Making of the Make-A-Bot; Let’s Make the Make-a-Bot Make Stuff.

After a few days of Just Beasting It, I’m proud to announce that the Make-A-Bot is now making stuff. It’s kind of a change for me to build something useful for once, and it’s also very amusing to watch… I’m not sure why. I’m literally watching plastic melt and set again, but I’m finding myself entranced by the cyclic movements of the build surface. And then a thing just kind of appears at the end.

Am I in the future? What, with DIY Kinect-based virtual reality already here, I might as well be.

At the point which I left it previously, I still needed to finish the Z-axis mechanics and then wire the whole thing up. So after falling over for a while, I decided to just go back to MITERS and not leave until something came out of the extruder. The Z-axis leadscrew is really the only thing I had to machine for real on this build. So far, everything else had been stock components or waterjet/laser-cut flat parts. I think that’s the best I’ve done so far – not even the 2.007 bot could come close to that.

And here it is. The screw is a 3/8″-8 double-start Acme leadscrew (McMaster PN 99030A315) with matching nut. I was going to drill and tap a radial set screw, but decided once more in favor of the Ninja Coupling – drilling the appropriately sized smaller bore, slitting the end of the leadscrew all the way across, then applying a 3/8″ shaft collar around the slit and tightening it down around the motor shaft. Besides Fankart, this has also been my choice of attack against my Die Holder of Convenience and Überclocker’s original arm drive.

I like the Ninja Coupling. Perhaps too much.

The operation was completed on the venerable MITERS Bridgeport with my standard set of tools. Unfortunately, I neglected to take a picture of the actual machining process, but it was the exact same as pictured in the other projects anyway.

Here is the Z axis installed. The leadscrew nut has a threaded portion, so securing it to the “diving board” was done with a simple nut. There’s no outboard support for the Z axis leadscrew – all of the Z axis weight rests on the stepper motor’s bearings.

Probably not very sound design for endurance and robustness, but the Z doesn’t move very much anyway.

Turning my attention to the other side of the Z axis, I went and head and installed the small snap-action switches that will be the endstops. My “adjustable endstop” is also visible here. For the Z axis, I can move the endstop locations up and down about an inch on both the upper end and lower end of travel. It’s taken care of by the cap screw and nut sandwich.

On the Y axis carriage, the same adjustment is provided by the Neat Sliding Rod Clamp… or in this case, keystock clamp. I found that square keystock stayed in place much better than round 1/8″ rod.

These endstops were made adjustable because I didn’t really have an idea of how far I wanted the axis to go in each direction when I laid down the design, so it gives me some flexibility.

I had all the limit switches mounted, but decided to save wiring them up for later. In the mean time, I began plugging everything in and creating wiring harnesses. Wiring the bot was straightfoward, save for some guesswork as to which wires on my non-stock stepper motors went to the … umm… helpfully labeled “A B C D” connections. Come on, is “A+ A- B+ B-“‘ too descriptive?!

Fortunately, I found the correct combination for the Z axis right away and just copy-pasted it to the rest. It even went in the right direction the first time!

The space behind the ATX power supply turned out to be a great “apron pocket” to slip all the excess wire length into to keep them from just slumping around everywhere.

With all the boards connected, I was able to run some axis movement tests using ReplicatorG. At this point, I hadn’t defined the machine’s characteristics in my own XML configuration file yet, so all the distances were of course completely off. At least everything moved without incident. I had to reverse the X axis motion setting because my belt attachment on the carriage is opposite that of the Makerbot machines, but that’s inconsequential.

There was, of course, one more thing to try.


OMG! DOES THIS COUNT AS PRINTING SOMETHING?!!??!

Hitting FORWARD on the extruder control menu and seeing a little noodle of ABS plastic emerge from the head was satisfying.

setting up the make-a-bot

ReplicatorG allows the definition of custom machine settings such as axis travels, motor steps per millimeter of travel, tool characteristics, etc. in an XML file. These were settings which I had to change to cater specifically to MaB over the stock XML files for Reprap and Makerbot machines.  For instance, MaB’s Z-axis speed is on par with that of the Thing-o-Matic, and my X-Y axis stepper motors have 15 tooth pulleys instead of 17.

Here’s roughly what my haphazardly copied-and-pasted XML file looks like:

The calculations are included as comments in the file. I noticed the stock numbers for the Cupcake are very slightly different from what the raw geometric calculations would indicate – I’m not sure why. Probably manual calibration by measuring  a test print, which I might end up having to do anyway.

making stuff with the make-a-bot

After completing the all-systems test, it was time to actually lay the ABS down on a surface and pile it up scientifically (as opposed to the unscientific ABS noodle piles I was getting fond of making). Using the completely bone-stock Cupcake CNC settings in the G-code processor Skeinforge, I set Make-A-Bot off on its maiden print of a little hexagonal prism.

Again, I held off on wiring the endstops because they’re not really necessary yet.

And the first blooper occurs before I was even able to start.

I pitched together a build surface reeeeally quickly out of some scrap acrylic sheet and a piece of aluminum box channel, all double-sided taped together and slammed right onto the carriage.  Immediately after that, I proceeded to plant the at-temperature Z axis right into the surface of the acrylic… which prompt melted and left a huge divot.

Oops.

Here it is, though… the inaugural print!

…eeeww. What IS that?

It’s pretty clear to me that the stock feedrate settings were pretty far off from what they need to be. I elected to hold off on fine calibration work until after I had enough fun with the thing… which was going to take a long time at the rate I was downloading models from  Thingiverse.

The second blooper of the night comes from “filament traction loss” because I didn’t crank down the feed pressure screw enough. It air-printed a layer before I corrected the error, but unfortunately it was too late for this random triangular prism thingie.

Making a piece with long straight sides seemed to mitigate the feed and flow rate issue somewhat.

I elected to make a companion cube next because it was more interesting than a calibration cube. Overall impression: not bad. A bit goopy on some edges, and there was tons of “undamped drooling” on overhangs and layers with multiple closed cross sections like the top surface. The extruder drools alot. I believe this is a problem that is in the process of being tamed by the community through the use of stepper motor head drives and timed shutdowns and startups.


8 D

Alright, that’s enough for now. Next steps: fine tuning, calibration, and testing testing testing testing. Many things have yet to be optimized or verified. Feed rates, flow rates, layer thicknesses, all those 27,000 ratios and constants in Skeinforge, and even little things such as belt tension seemed to be impacting print quality substantially. I’m going to be reading Dave Durant’s guide like a lit major.

Here’s a compilation video of the first few prints!

More Making of the Make-A-Bot

void charles_builds_stuff( ) {

melon-scooter {

razer-revolution {

make-a-bot {

2.009 {

//todo: make a page for this

segfault {

//wtf slashdot?

}

}

…?!

This semester, I seem to have fallen into a habit of neglecting projects for long periods of time in order to work on other ones, and subsequent others still. It’s like opening multiple brackets when you’re programming in Arduino. Well, hopefully now it’s time to start closing some of the brackets. For starters,  Segfault now gets to join the rank of “random cool interactive things MITERS can put on display to recruit froshlings”. With it operational, but a little short on battery life- something that I will just randomly fix one day without thinking, it’s time to take a step back and see what I’ve left behind.









Hey, what’s this aluminum sculpture sitting in the corner here?


It’s still smiling after all these months.

Oh, that’s right… I was working on a 3d printer, wasn’t I?

I’ve been working on Make-A-Bot in the background a little, including ordering some of the final parts needed to complete it. I purchased the ABS extruder head from the Makerbot Industries, along with all the control electronics and the cute little automated build platform. Stock equipment, but it’s equipment which they’ve figured out and which would take me longer and cause me more pain to re-engineer again. Past that, though, the last month and a half has seen little physical progress because of my other obligations – mind you, both my 2.009 work (to be detailed) and Segfault were actually for class for once. Imagine that.

Make-A-Bot was left at a stage typical of my projects where I have built everything I designed already. That means without further design, I just have a Fancy Aluminum Sculpture. As lovely as sculpturework is at times, I’d rather have a 3d printer.

First, I put together the Plastruder 5 head for kicks. I must say, this thing is adorable and pretty intuitive to build. It is a bit bulky, though, on the motor end of things (Dear god, why such a GIGANTIC motor?). Maybe a possible direction to explore in the future. I was also a bit dissatisfied with the mounting surface, which doesn’t seem to actually have a solid mechanical connection to the rest of the head, but it could just be a consequence of me trying to adapt it to my own custom mounting configuration. A quick nylon through-bolting solved the issue anyway.

I have yet to try actually heating it to full temperature and shoving some of the ABS filament through.

Anyways, onto the designs:


How can you tell that I got a new widescreen monitor?

I jumped back into Inventor and started designing the support equipment cabinet that will house the feedstock filament, the power supply, and properly mount all the electronics. Without something to organize those components, MaB is just a rickety imitation of a small manual milling machine. The cabinet I designed (essentially all on-the-fly with little forethought) is actually more of a pedestal for the machine proper. Designwise, it looks like the rest of the bot with all of its edge-stitching and interspersed T-nuts. I discovered that designing panel footprints in increments of 1/2 inch made the t-nutting and edge-stitching process very fast, since the layout is always symmetric about a center line. This beats my previous tactic of calculating precise widths for the slots and tabs such that they end up symmetric. Forget that – just beasting it solves the issue, as usual. I’m fine with that.

All the important electronics – three axis controllers, the motherboard, the extruder controller, and the auxilary relay board, get a home on the “backrest”. I even OCD’d enough to model (blockily, anyway) the protruding components on the boards. I lined up the important connections to face each other or be close to each other, so the wiring should end up clean.  The electronics backpack also has slots and holes to pass wire through cleanly.

Make-A-Bot looks cute sitting on its couch-like pedestal until you realize how huge the whole thing is. That base is a full 22 by 12 inches and the top of the wooden backrest thing is 14 inches tall. Add MaB’s own height to it and this whole thing is already over 2 feet tall.

Man, this whole widescreen thing really makes my CAD screenshot proportions weird. Anyway, having purchased like 10 miles of ABS filament (which came in a massive donut-shaped coil), I decided I needed a method of keeping it all in line so I don’t have to constantly feed the filament. Makerbot does sell a spindle kit for such an occasion, but this was one part I decided to just tackle myself.

Above is the filament spindle design. There’s a truss piece under the top triangle shaped plate which holds the vertical spars together. The top plate can come completely off for filament changing, but otherwise has provisions for a detent-lock effect supplied by the vertical spars and a few degrees of rotation. It will all become clear after the fabricated pieces are assembled.

People prone to vertigo should avert their eyes:


Come on into THE VOID.

What’s THAT?

Over the course of a few days of on and off thought, I decided that I’m not going to run the automatic build surface. I’ve come to dislike the bed-type design I settled on for MaB 1.0 (Yeah – I’m already thinking about what 2.0 will be like!). Such a design is great for applications where the machine is many orders of magnitude heavier than the workpiece usually is – like most milling machines. When this is not the case, a changing workpiece weight can affect the dynamics of the machine greatly. A moving work surface also puts force on the workpiece when it accelerates. The axis inertia is much greater and also mismatched because one axis must be installed on the other (i.e. in my case, the X platform is mounted on the Y carriage). Therefore, MaB 2.0 will be an overhead gantry type machine with an fixed work surface that only changes in Z height to print layers.

What on earth does that have to do with the trippy-ass PCB up there? Well, that PCB is just my take on the Makerbot Heated Build Platform. For now, I’ll just keep the surroundings of the workpiece nice and warm. I really don’t mind limiting myself to one thing at a time. It’s just a little bigger than the stock part. And by a little I mean it’s 7 inches square and designed for 50 watts of heating power. It took a while and even more OCD to get those trace lengths correct. There will be a thin aluminum plate thermal-transfer-epoxy mounted to the center heating coil section (not bolted down, but legitimately adhered with silver-bearing epoxy).

This piece is reusable in any future MaB versions since it’s already pretty substantial in terms of square inchage.

making the makings of the make-a-bot

After designing, the next step is of course for me to build have expensive computer controlled machinery build it all. Spoiled so much I am…

Here’s the spindle laser-cut from 6mm white acrylic that I had on standby, holding the Giant ABS Donut. You can see the click-lock fingers easier in this picture. To unlock, rotate a few degrees counter-clockwise and then lift up. To lock again, drop the top plate over the 3 prongs and twist clockwise. This system turned out great. I can actually add a few thousandths more “click” to the prongs, since the laser cutter kerf removed most of my designed interference.

And now, for something completely different:

Hey, what kind of wood is that?

Long story short, I thought there were large stocks of 1/4″ hardwood ply hanging out around the Media Lab – our group usually has a pile for making quick prototypes and displays – but alas, it had been run out and not yet replenished. Not knowing where we got the wood from, I just went ahead and plucked some acrylic panels from McMaster. Acrylic, wood, same thing, right?

I elected to get tinted panels this time to try out the looks, along with plain clear panels.

The next step was to pitch it all on the laser cutter wake up in time to run to the shop before it closes and laser-cut everything. This actually took a long time, as in several days of preparation and missed (and actively suppressed) alarms; as soon as term ended, I immediately restabilized to my 9-to-5 sleep schedule. Yes, my day job is sleeping. Take that, industry. It does make interacting with a shop that is open from roughly 9 to 5 difficult.

I am, however, very glad I went with acrylic:

Let the case mod begin. My favorite part of building things is always the case mod – what can I make unnecessarily shiny, backlit, glowy, and translucent?

I made the base out of clear acrylic and the sides (and everything else) from the tinted stock. It created some unexpected contrast that I enjoy alot.

The L-shaped side plates were split in two for more convenient cutting. Since the “electronics backpack” is not supposed to bear structural loads, I just joined the two legs of the L with a ninja-tail (not quite a dovetail). The “backpack” portion drops down from above after being pre-assembled and is secured by requisite t-nuts.

The completed pedestal. Hey, if nothing else, MaB can be turned into a absolutely beastly PC. There’s even a cutout for an ATX power supply already.


Oh, so that’s what the A in Course II-A stands for.

And the moment of truth – does it actually support the machine weight?! Curse me for building a contactless tool out of heavy \m/etal.

Make-a-Bot itself sits on four little rubber shock mounts. They weren’t necessary, but I figured they were worth including anyway.

I think the design looks gorgeous. The glossy tinted sides complement the raw metal components well, and should look even better once I have some internal mood lighting.

Previously unknown fact: The spindle sits on a large 9″ diameter turntable bearing. This allows the extruder head to tug on the filament at its leisure. The bottom of the turntable bearing is not fixed to the machine. It just kind of sits there – this is not exactly a heavily loaded or high speed application here.

Oh, another detail: Check out the spring-loaded front lid that drops down for easy filament removal. When the lid is opened, its own weight keeps the hinges down, but when it’s vertical, there’s enough force to keep the whole thing closed.

As many random features as I’m putting on this thing you’d think I’m intending on making a production version or something. Not really, but I hope designers of commercial kit machines find some of these aspects helpful.

srs metal

With the pedestal completed, I turned my attention to back to the machine itself. It still didn’t have the steppers installed or the axis belts mounted yet. I decided to tackle that problem first.

The pulleys came with a 5/16″ machined brass bore that by itself is an okay bearing surface for low speeds. I would have just put it on a 5/16″ smooth precision shoulder screw, but could not find one around that was long enough.

Solution? Mock one up from a 1/4″ bore, 5/16″ OD bronze oil bushing and a 1/4″-20 cap screw. The cap screw uses the bushing as a standoff of sorts and a nut keeps the whole thing rigid.

With a few drops of teflon-infused oil at the interface, the glide is almost as smooth as greased ball bearings. Being a millimeter or two longer than the pulley bore, the bronze bushing allows for smooth pulley rotation without much regard to how hard the screw is tightened.

The steppers I ordered came with 15 tooth 2mm GT pulleys already installed on their shafts. So why bother changing them out to the stock 17 tooth ones? The smaller pulley gets me more force anyway.

I should be able to adjust the machine travel-per-step in software.

Every elegant engineering solution has a complementary ugly hack. Remember my Awesome Adjustable X-Axis Endstops?

When I become ambivalent and lazy, they become Dude, You Just Bent The Existing Contact Arm On The Switch A Little X-Axis Endstops.

Hey, it works.

The ATX power supply has its own cubby at the back of the pedestal. The bright polished brass between the dark acrylic makes the whole thing look classy.

And everything as of now. I’ve attached the axes to their respective belts, and they feel alright. No obvious jamming or tight spots, though I still don’t like the X-axis ceramic-coated rods. Important mechanics left include the attachment of the other limit switches and attaching the Z-axis leadscrew to the stepper motor. After that, I should be able to run an all-axes motion test!