More Tiny Things

This week has been filled with tiny things.

tinytroller

First, tinytroller testing on a tinykart.

But unfortunately it didn’t last too long. As in, all of like 20 feet or something.

I’m not sure why this trace ended up blowing out. The controller was behaving normally during wheels-up testing and under low speed driving with or without heavy acceleration command. However, as the speed picked up under sustained heavy throttle, something must have hiccuped, causing a very high current pulse to flow and detonate the trace.

Nothing was damaged – the gate drive and both FETs on that channel still function, the Arduino still works (and lights up!), and I patched that trace with a copper braid afterwards. Tinytroller’s current limit was set at 60 amps using the same software from before with no Serial writes, I swear, so I can’t imagine it was running substantially overcurrent for a long period of time. But then again, I haven’t ever seen trace failures that weren’t associated with total malfunction before.

Time to lob it on another vehicle and see if it does this again.

update!

Oh yeah, I forgot about this:

Those are the phase voltage readings from Tinytroller while slowly commutating a Kitmotter. This was sampled once every slow loop just to test the phase sensors, so the values really do not reflect what’s going on in the motor (those would be updated 7800 times a second otherwise). If you squint at it, it looks vaguely trapezoidal.

That’s good. That means once I muster up the software balls to try it, Tinytroller can be SENSORLESS!!!… and maybe one day I’ll even have ArduSensorlessFOC or something…. SensorlessFOC-duino?

…and now for the more interesting thing.

tinystruder

I mentioned before I was playing with a native, integrated twin-head extruder design for the Next Sensation 3D Printer. Over the past few days, I’ve refined the idea a little and created a design which I will build and test to see if it’s valid. It mounts two NEMA 14 (not 17) motors side by side with a symmetric filament path and adjustable roller-based feed tension, which is something I wanted over the solid plunger of MaB’s current extruder.

I’m fairly positive the NEMA 14 steppers will have enough torque to push the filament, but to be even more certain, that’s why I’m going to build one.

Oh right, I’m doing this in SOLIDWORKS! I’ve always been a Child of Autodesk Inventor since they were the first to indoctrinate me in 2005 by sponsoring FIRST teams (and because they give out free 3 year student licenses with nary more than a .edu email address), but the chief solid modeling program around here is Solidworks. When approached with Solidworks questions, I’ve always tried to figure them out and give directions in terms of Inventor equivalent functions. Not all of these map 1 to 1, and SW still has several user interface tics I’m not used to, so in my capacity as future mother duck of engineering students I’ve decided to force myself to use SW and become acclimated to it. SW still seems a little rigid and less liable to letting me fudge everything, but that’s most likely because I haven’t discovered all the shortcuts and tricks yet.

Anyways, it took the longest time to get to this stage in the solid geometry modeling since I thought of several ways to keep the filament properly compressed between idler and drive rollers, as well as different ways of arranging the motors (face to face versus side by side, etc.).  I tend to mentally visualize a design completely before actually CADing it – since mistakes in creating geometry in CAD still implies starting over and wasting time, so this stage was accompanied by several cumulative hours of staring at the ceiling intently while rolling through maybe 3 or 4 unique designs.

I’m going to use teflon tubing (and quick fittings) as filament guides, so the two fittings are shown. They might not be the final ones, since McMaster doesn’t have many CAD files for its fittings. I ordered a bunch of candidates for measuring, so that part might change.  The “stalks” that the hot ends will be mounted to (3d printer speak: “thermal barriers”) are modified 1/4″-20 vented cap screws, their center vents drilled out to 2mm. While 5/16-18 screws have a native 0.08″ center vent (which is like 2mm anyway), I determined they were excessively large. The 1/4″-20 cap screw will be machined down such that its head is 6mm in diameter to clear the future filament tensioner.

While I would rather do the modern worldly hipster engineer thing and use 100% metric parts, McMaster doesn’t sell metric vented cap screws – the nearest source I found was Small Parts, and they cost $26 for 10. This, along with the fact that it is much easier for me to buy 1/8″ and 1/4″ aluminum instead of 3mm and 6mm, and there are no such things as miniature U.S. unit bearings, means the whole thing is an ugly mashup of metric and U.S. units. I might start totally over with U.S. unit components as much as possible to save having to do the ugly dual unit thing for the entire design – but we’ll see.

I already bought a ton of metric screws <:(

I yoinked the MK7 drive roller and cartridge heater models from the Stepstruder MK7 CAD files to fill in for placement. Since I think the Makerbot drive roller is the most nifty thing ever, I’ll definitely end up keeping that.

The filament tensioner is a cage-like assembly that slides over the drive roller and is pulled towards and away from it by an external thumbscrew. I had previously thought of using a cam-like assembly in the center, such that twisting a knob releases both filaments, but this method is more straightforward if not tightly integrated and cute. A 693 type miniature metric bearing (because they do not make miniature US bearings) is the compression element.

The cage is guided by the 6mm machined head of the cap screw and axially fixed by the threaded portion of the knob. The cage edges are also just wide enough to fit between the four motor mounting screws, constraining it (kind of) further. These three not-really-contraints would make MechE professors cry, but I think they’re enough.

Now with both cages in place!

I rarely insert screw models into parts unless I really need to test clearances, like in this case. This is where I’m glad McMaster-Carr has digitized something like all of their common screws. The modeling is almost excessively detailed. I mean, the screws have actual helical threads of the proper geometry. If I made an equivalently real-helically-threaded hole and turned on Collision Detection, Solidworks would let me Real-Screwdriver it in.

This is why I want a multitouch Minority Report interface for CADing. Right now.

The box has been closed off and some of the slotting work has been started. Tinystruder is too small to use a 40mm fan per motor – instead, I’m using just one. I might consider a high speed 20mm tall type rather than the conventional low speed, 10mm profile fans in popular use.

Now with more t-nuts. There aren’t many places to t-nut extensively on this, unlike my larger creations, so I partially depend on extending the fan mounting bracket towards the back using 50mm long M3 bolts to supplement the attachment at the edges. The crossing M3 bolts restrain the box at the points of highest bending stress – where the filament is being pushed downwards – and also keep the top and bottom together in the center.

I borrowed the MK7 hot end model for visual representation. You can’t get the heater blocks separately (grr), but they seem easy enough to duplicate with my own block of aluminum. I wouldn’t have been able to use the MK7 stock hot end anyway – my block needs to be half-threaded 1/4″-20 and half-threaded M6 x 1. Otherwise, the hot end is about as small as it can get – I briefly played with making the thing even narrower so the two heaters can sit in the middle between the stalks, but I began running into sub millimeter wall thicknesses on the parts.

So what is the fan blowing into? It’s just pressurizing a plenum in the above image and not really contributing to keeping the motors cool (as cool as 60-75C can be) or preventing 250+C extruder heat from seeping into the extruder body.

At least to address the second problem, the fan exhaust will blow through these vents on the bottom. The vent geometry is mostly for representation at the moment, and they might be widened or shrunk later. The idea is to have the center set act primarily as heatsink fins for the cap screw thermal barrier, which I will also turn down in diameter in the middle to minimize heat leakage. The exhaust also blows directly downwards and so can “hot chill” the part being printed to chamber temperature quickly. Certainly another argument in favor of a fan with some extra push to it.

If I were a better graduate student, I would actually heat-flow simulate this whole thing to validate the vent design.

I haven’t really thought about how to keep the motor temperature acceptable yet. In the final mounting scheme, there might be another set of fans at the back just to direct chamber air over the motors. They are very close together, however, so I lose two entire sides of convection area. Thus, Tinystruder might grow a little.

Up until now, I didn’t even think about how the thing would be mounted. Ideally, tinystruder will be hung under the head gantry, so I focused my attention on the top plate for mounting purposes. I didn’t want to directly thread into 1/8″ thick aluminum – it just seemed like a bad idea, nor could I reasonably mount a loose nut on the other side for a nut and bolt connection.

The answer came in the form of press-in nut inserts for sheet metal. These things have a splined section you hammer/press into an appropriately sized hole, and it acts as a hardpoint in your sheet metal assembly.

Final assembly, with virtual transparent faceplate so the action inside is visible. For some reason, my fan model suddenly became white. Hmm, weird Solidworks behavior…

The two thumbscrews will be the mounting interface to the not-CADed-yet gantry interface, which will have two little ears to accept the thumb screws. Otherwise, the top surface is flush on either side so the mounting ears have a seating location. For ultimate MechE trollage, I might try making this interface a kinematic coupling (as if the rest of the machine is precise enough to warrant it).

Tinystruder is 3.3″ (84mm) wide, 2.34″ (60mm) deep, and 2.84″ (72mm) tall from top plate surface to the tip of the nozzle, and the nozzles are space 24mm apart. According to SW, it should weigh about 17 ounces (480 grams).

I’ve already ordered all of the hardware and screws as well as nozzles and the drive rollers from Makerbot. I’ll need to locate 1.75mm filament somewhere else, since they seemed to be out of stock at the time. The frame parts will be waterjet-cut from stock I already have, so I’m hoping this can be built by the end of the week. However, more problematic is that the cartridge heaters were out of stock too – should have gotten them a week ago when I figured I’d needed them. I suppose I have no qualms about sticking a ceramic resistor in place of it or zip tying a soldering iron to the thing.

The big test for tinystruder is actually running inside a 60-75C ambient environment, which I will probably supply with a space heater in close proximity. If it can reliably push plastic for extended periods of time in such a test, then I’ll be satisfied.

By the way, mad props ducted fans to whoever pitched in 20 bucks the other day in the tips jar.  It’s well appreciated (and in fact it was absorbed into an order for stepper motors)!

Ruminations About the Next 3D Printer

Poor Make-a-Bot.

(I’m just going to start every post from now on with how terrible shape my projects are in, eh?)

For about a year now, it’s been faithfully producing ABS plastic parts for almost all of my current lineup. Parts that it printed can be found on Landbearshark (chain tensioners), on both Razers (entire front forks and cover plates), very prominently on Deathcopter where ABS joiners are the majority of the structure, all of Pop Quiz 2r2, and like 16 different Chuckranoplan models. It’s also printed off countless random sculptures and weird things I found on Thingiverse.

I liked the fact that the (overly) rigid metal frame meant it could move faster and hold tighter tolerances despite being built like a truck. It had a larger build envelope than most at the time, and so I could do things like make single 8″ wide parts, though not always reliably. But I never installed the mechanical endstops on it, so it was a very manually calibrated machine, and at the time, stepper extruders were still new and experimental – I switched to a hacked version of one after the DC motor extruder died, and it never really showed any of the advantages of a stepper head because of the hardware and software were hacked to be compatible.

MaB was designed in about a week and built over the course of a month or so, and it was a crude copy-paste of Everyone Elses 3D Printer just because I wanted one quickly.  It was a decently front-of-the-pack machine when I built it last fall, but it’s definitely showing its age. The open source kit-class 3d printers have progressed significantly since last year, and there are more designs and implementation forks. Fast stepper extruders are now the norm and now twin heads are beginning to enter the mainstream. Interface software like RepG has progressed to being more user-friendly and less full of random bugs.  With commercial and open-source control electronics and software as developed as they are, the most I can really do is design and implement better hardware. That should be what I’m good at, and I think it was decently reflected in MaB’s operation. But at the end of the day, MaB essentially amounted to a Thing-o-(Semi-Auto)matic with more metal.

A few days ago, after finishing some structural elements for the quadrotor, my platform heater finally ditched yet again, but this time the damage was more extensive:

The short ended up blowing up the relay board and melted the terminal block. Along with increasingly frequent nozzle blockages, the head stepper seemingly becoming weaker and weaker, and me having finally run out of 3mm ABS filament, I think this was what told me that it’s time to move on.

Time to start a new page in my somewhat underused notebook and throwing down some sketches. I know it’s going to look like a box of some kind, but there’s some things which I’m still thinking about.

RAMPS system vs. MakerBot

I can design all the MechE hardware I want, but it’s going to be useless without the controllers to run it. Recently, I’ve been rummaging through the RepRap Wiki to check on the status of the electronics, from which many designs are ultimately derived.

I’ve come to like the RAMPS system – the RAMPS 1.4 combo shield can be had for about $200 fully assembled with 5 stepper axes on it (!), and it seems to do just about everything I would want it to do, and there is an active user and developer base. However, it definitely smells like an open source project: There are tons of firmware versions and concurrent developmentsfor it, most of which are maintained by a single guy, and all of which you have to obtain and compile yourself, then edit the Arduino sketch to define your machine configurations…. which isn’t necessarily worse than having to edit machines.xml, I guess. But I’m not a linux hacker, and not in a long time will you find me “using” git clone https://github.com/kliment/Sprinter  or using Github at all (sorry Nancy), and with instructions as terse as “5. make 6. make program 7. ./sender.sh“, which are meaningless to me, it’s no wonder the barrier to entry for true RepRap machines is higher.

On the other hand, the Makerbot Gen4 setup is more of a finished product that is plug-and-play with minimum fuss. MaB is in fact a Gen3 machine. The downside? It costs $400. Damn, that’s rough. But again, it also does everything I would need, it’s designed to work with other MakerBot devices, and it seems to work well. Plus, they have the sweet ass-LCD interface board (which RAMPS seems to support at the cost of even more Linux kernel recompiling)

So the real question is what do I value more – $200 on top, or my time spent doing potentially more software configuration and putting up with Linux hacking headaches (i love software, after all). Right now, I’m actually leaning towards RAMPS, since with that $200 I can buy just about all of the mechanical parts I need, and there are enough Linux hackers around MIT since we invented that shit and Reprap operators, to slap me around if needed. The RAMPS board is also way smaller than the Gen4’s individual modules. I don’t anticipate packaging being a concern, but small and centralized is nice.

gantry extruder

I’m sick of the bed-style design.

I’ve definitely ranted about this before – the moving bed design is inherently less rigid due to the need for long unsupported shafts. It has mismatched and non-constant inertia because one axis rides on top of the other, and your workpiece grows on top of it all. If you’re Make-a-Bot, you also have way more inertia to deal with because of the sheer amount of solid aluminum involved. The more inertia in the system, the slower it can speed up and slow down, and the more vibration and overshoot on hard direction changes there is (visible as wavy patterns on the outside of the piece) – I make up for this by having massive stepper motors and very high belt tension.

All of the high-end personal printers like the 3DTOUCH (and other machines from BFB/3dsystems) and every commercial 3d printer ever have the head on a traveling gantry and the workpiece remaining stationary. I didn’t go directly to this design at the beginning because I wanted something up and running quickly and the bed design was what I saw first and the most of at Maker Faire NY 2010.  But the writing is now printed in ABS on the wall.

There’s two main architectures of Cartesian gantry that are out there – the conventional series style and the parallel style. The series gantry is essentially the moving bed but turned upside down – one axis is a long bridge that can move back and forth, and the other perpendicular axis runs back and forth across the bridge. While it’s the most common, it does still suffer from the drawback that the mass of each axis is different. If the machine is sufficiently rigid otherwise, this is not really a problem.

The parallel gantry is a little weirder, and I’m going to link to Ilan Moyer, the only guy I know locally who pimps this design like it should be, and who is way more awesome than me. Here’s a good picture of one of his projects. In this type of design, there are 2 parallel X and 2 parallel Y rods, forming a box. The rods are linked using a belt, and transmit rotational power between them. But, they are also linear load bearing rails – the head has perpendicular support rods (non-rotating) that are mounted on linear bearings on the X and Y rods. This design has balanced inertia, and the combination of rotation and linear motion is no problem with a good set of bushings or linear ball bearings. The head is also fully constrained by the crossing of two rods.

In the 3dp universe, the parallel gantry is also known as Ultimaker style because the Ultimaker is the first popularly marketed machine to use it. I’ll be honest: I’m biased in favor of it, because Erik de Bruijn himself visited MITERS last year with an embryonic Ultimaker. I even got him to ride Segfault:

I got to see the design firsthand and pretty much continuously facepalmed the whole time about why I didn’t go directly to it.

The parallel gantry is actually simpler than a series one in terms of part count, but is less intuitive for most people to think about. But it’s definitely making it into the next design. Whatever I end up mounting to it will surely be better than MaB’s giant Y axis carriage which weighs somewhere in the neighborhood of 3 pounds.

chamber heating

This is the big hardware advancement I’m trying to pursue. I’m not sure why it hasn’t happened yet, besides Stratasys being patent hawks about it. Everyone has heated build plates, but the heat from that only really helps for the first few layers. Past that, your part is still being waved around in cold (relative to the extruder) air. This is the number one reason why personal printers can’t achieve large build sizes, because the plastic builds up too much thermal stress. Every once in a while, a layer splits off to relieve it.

I couldn’t even get RazEr’s fork to work until all of MaB was covered in a 55 gallon trash bag and a space heater was pointed into it. That got the bag internal temperature to something like 40C, and even that helped immensely. I know from studying commercial printers that they seem to hold the inside at 75 deg. C or so – in fact, actively fan “cool” the plastic from extruder temps down to 75C. I’m not sure if I want to build a thermally insulated box with internals rated for that kind of temperature (more on that soon), but even walling it off from outside breezes is a plus.

If the build surface is going to be inside a heated box anyway, I’m also planning on ditching the separate PCB heater which I keep having shorting problems with and moving to an indirectly heated surface. Essentially the idea is to blow hot air at the underside of the build surface (which would be some thin aluminum so it doesn’t take forever to heat up), and having the same hot air keep the cabinet at temperature. I got this idea from when I had to pull out one last piece for the quadrotor after the heater exploded – I manually warmed the platform up with a heat gun, which to my surprise took far less time than the heater trace itself and even got it past 100C.

So I think a large surface area of slow moving hot air would be a very effective surface heater.  Indirect heating also allowed me to swap out build plates. Basically, just look at my chicken scratch:

 

The “RGRID” is an anticipated circular arrangement of 25W power resistors. I have found that there is no cheaper option for prototyping and one-off heaters that are easy to assemble than a rail of cheap power resistors. Winding my own nichrome heater grid is difficult (I would need to find and machine high temperature wire support material like mica or ceramics), and stealing one off a toaster or something is not optimal since they’d be wound for 120 volts. So I currently have spec’d out 8 25W 1.5 ohm resistors radially disposed on an aluminum plate with heat sink like fins cut into it. At 12 volts, this should net me a maximum 100 watts of heating power. While using power resistors as high temperature heating elements isn’t really good for them, I can’t imagine this application (100-150C) being any worse than them being run at 200+C for the old extruder designs.

Hopefully the fan will be stationed far enough away from the resistor grid to not simply melt. If I design the RGRID properly, the heat should stay mostly within the region of resistor mounting.

I’m aiming for a 200mm square build surface for now – it won’t be too excessively large until I discover if the idea is scalable or not. The little things marked “height trim washers” are to compensate for the inevitable sag of a huge overhung platform. I might actually try mathing this out and designing the platform arms with a few thousandths of an inch of upward slant at the end such that by the time I mount a fan, a pile of resistors, wiring, hardware, and the build plate to it, it will naturally sag to be flat. But it’s a little easier and adjustable to make the final surface compliant instead.

native dual heads

I really like the new MK7 head from MakerBot – it’s way simpler and smaller than the previous acrylic-based designs. In fact, I like it so much that I’m just going to drop 2 of them on my parallelogantry and call it a day. Experimental dual head extrusion has already been done on Makerbot machines and now they even sell dissolvable PVA plastic to go with it.

Playing around with the MK7 Solidworks models  (damn, when did Makerbot get so classy?), I sketched out several ways to integrate two separate extuders into one package, and one way of making a very compact quad head arrangement. It involved machining my own mounts and re-engineering the way the fan cooling worked. This led me to I think briefly about trying to design my own extruder. Not only is the MK7 rather pricy ($200 per unit) and I’d just be using 50% of the parts from it, but it still uses a pretty beefy and heavy NEMA 17 motor. I played around with some numbers to see if I could possibly use a NEMA 14 or 11 – smaller motor, less mass. But I would really only save a few ounces at most, and the MK7 weighs less than a pound. Let me reiterate: anything is better than my giant Y axis carriage.

The sticking point is still the fact that I’d have to dump a very classy $400 on two heads only to re-engineer it anyway. Most of the parts are not available separately, which kind of sucks, but it’s simple enough that I can rig it all myself if needed. During this back and forth design process, I discovered that 5/16″ vented cap screws have a center vent that happens to be a few thousandths larger than 1 .75mm plastic filament, so that’s a potential starting point for the heater mount. In the worst case, I’ll have to replicate the motor mounting/filament guiding block thing separately.

Right now, the plan is still to buy some MK7s, but that could change.

…but where do they go?

The question is actually not as simple as I make it out to be. While dumping some stock extruders on a gantry is easy, the fact is that with chamber heating, anything and everything inside will have to stand continuous operation temperatures possibly up to 60-75C. Most stepper motors seem to be rated up to 50C only, and I’m sure custom high temperature steppers will be way more expensive than I want to deal with.

It is easy to mount the axis steppers “outside” the heated zone, but the head is difficult. With a heated box, the filament has to run all inside the machine – there can’t be a 12″x12″ hole at the top like most current printers. So I’d either have to build facilities for active extruder motor cooling (Peltier devices come to mind) or somehow locate the head motors elsewhere.

One plan I thought up involved making perpdicular, slotted bellows which surrounded the head but allowed freedom of movement in XY. Bellows are relatively inexpensive on McMaster and come in useful widths like 12″ and 24″. This is a mechanically complicated solution, but it makes enough sense in my head and does not seem difficult to implement, but will require a custom extruder design. It keeps the motors on the outside and the bellows trap the internal heat (mostly – the seal isn’t supposed to be perfect)

The other solution is a Bowden Cable feed, which is used on the Ultimaker and a few experimental Reprap builds. This in principle allows me to locate the motor anywhere I want, such as right next to the feedstock reels, wherever they end up.

But while the Ultimaker can let the guide sleeve curve gracefully over from its side-mounted extruder, I might not have that luxury if I have to keep the entire thing internal. I would imagine traveling up the side of the machine and then curving sharply over and downwards to enter the head is quite alot of length (and bending). While the Bowden feed seems to work well at the Ultimaker scale if the extruder can quickly change directions on command, I might have alot more (possibly up to 2 feet) of plastic noodles to deal with. The potential for elastic compression of the plastic in the guide sleeve is much greater, especially if it’s warm.

The ultimate hack-up solution is to use the Bowden feed with the crossed bellows. It might be the case that I find 75 degrees is not necessary to get good prints – or somehow, stepper motors work just fine in that environment.

My favorite plan at the moment is to just mount the motors to the head and have it pull filament as needed, which is the system in popular use, and possibly try and route external air cooling (or dare I say liquid cooling?) to them.

summary

I’m going to buy an Ultimaker kit, wall it off, and stick a heat gun into it.

The bottom line is, if I were to start CADing immediately, it would be a parallel-gantry, dual Conjoined MK7 direct-on-gantry extruder, indirectly-heated bed and chamber machine that runs on RAMPS 1.4. And will probably be mostly black acrylic with 1/4″ and 1/8″ aluminum rigid machine structure inside. I’m not going to start designing right now, however – I want to get some of the parts in hand to measure up and confirm before moving on, and I also need to think of a snappier name that won’t make Bre Pettis go wtf bro.

What does the 3d printing universe think?

Also, at 3050 words, this is my longest post on the site ever…and I didn’t even build anything o_O