Retro drilling

My interest in hand tools is generally rather limited.  While I admire (and am frequently awed by) the skill of artisans the likes of Roy Underhill (who is arguably the patron saint of human powered woodworking), I rarely find metalworking hand tools to be anything more than quaint when powered alternatives exist. There are exceptions, of course – I still don’t have a bandsaw in the garage, as my hacksaw is far more space efficient and far less expensive (plus, I can bring my bar stock to work and use one of our large cutoff saws). Hand files are almost always more useful than a powered filer, etc. Drills, however, are another matter – you would have to be daft to want to use a hand drill rather than an electric drill. Or so I had thought.

Many years ago I purchased The Machinist’s Bedside Reader series from Guy Lautard. The third volume had a fascinating description of a very old (though at the time, still in production), very simple hand cranked drill. What made the device so interesting was that it was able to drill holes through almost anything thrown at it – steel armor plate, bearing raceways, high speed steel, even plate glass. By hand. The secret to the Cole Drill was a threaded collar below the crank arm that applied massive downward pressure.  “Low speed, high feed” in machining parlance.  Not only that, but the drill was designed in a very modular fashion – the column is nothing more than a piece of pipe or solid rod, as the drill is generally intended to be bolted to whatever it is that you’re trying to make holes in.  Rather than taking your work to a drill press, you take the drill press to your work.  Granted, you can do the same with a portable electric drill, but the Cole has the advantages of rigidity, extreme feed pressure, no electricity needed, and won’t tear your arm off if the bit catches.

As mentioned, the Cole Drill was still being manufactured up until maybe 2005 or so by Cole Tool Mfg.  Despite being ‘old’ tech, they still commanded a rather hefty retail price (presumably limited demand led to the product being discontinued).  While the drills have been routinely available used on Ebay since that time, it seems that prices have been going up – I seem to recall the going price to be around $60 or so a few years back, but now it seems that getting one for under $100 is a bargain.  Admittedly, I have zero use for a Cole Drill.  However, given the ‘field expediency’ of such a tool (drilling holes in a truck frame miles away from a power source being a good example), it’s a tool that I’d really like to be able to put my hands on in a hurry should the need ever arise.

I finally found one on Ebay that wasn’t horribly expensive, owing to a fairly rusty look to it.  However, the seller said that the drill had been purchased new, had been barely used, and had been sitting in an Arizona workshop for the past 30 years or so.  There was a pretty good chance of it cleaning up very nicely, so I bought it.  When it arrived, I eagerly opened up the box to have a look.  ‘Stout’ would be the adjective at the top of the list when attempting to describe the unit.  It was a little larger than expected, and most certainly heavier.

I hosed it down with Gibbs spray (another product touted by Guy Lautard) and set it aside to soak in and and help remove some of the rust. After wiping it off, things looked a bit cleaner, and I took it along to metalworking class so that Frankie could make patterns from it and hopefully bang out a few castings.

Once I had the drill back in my hands, I printed out a few pieces of information from the web and gave them and the drill to my dad as a long-planned present.  Dad is one of the few people I know who has the mechanical ingenuity to use such a tool to its full potential, and will probably have far more opportunities to put it to good use than I ever will.  But at least I now know where I can borrow one in a hurry if I ever need it!

What a difference three thou makes

With the PP3DP filament having proven itself admirably in the Stratasys, I ran more parts with the material and set up a job consisting of a little box to hold ER-16 collets and a paintball gun trigger frame.  Since I don’t like to have the machine powered up and sitting idle at full temperature for long periods (thereby cooking the filament), I try to adjust the parameters so that the job will complete during the day, allowing me to immediately start up a new job, or power down the machine.  There’s a few methods that I use for this – I can add or remove parts from the job, I can adjust the infill density (turning on the crosshatch options for a faster ‘sparse’ infill), or I can change the layer thickness (thinner layers give more precise parts but take longer).  For this particular job, I wanted to use a sparse infill to conserve material, and wound up changing the layer thickness to 0.007″ down from the normal 0.010″.

This adjustment of the layer thickness also affects the base layers (‘raft’ in RepRap speak), and since the foam build base I currently have in the machine is getting a bit ratty, I increased the number of base layers from the normal 5 to 10 for a total base height of 0.070″ to traverse the increasingly rough terrain of the foam (I have a box full of new foam bases – I should just replace the darn thing).  While I had run 0.007″ layers with the PA-747 and MG47 materials, I had never done so with support material.  I watched the base layers progress to see how well they’d form with a smaller slice height.

Blurry photo - I have 'new camera syndrome' (also known as 'still trying to figure out what all these buttons do')

On the right side of the base, you can see a bit of waviness on some of the roads in the center.  As the nozzle would make a pass, the ‘wall’ that was being formed would flop slightly to the side – the long straight lines of the roads didn’t help the wall stiffness any.  As the freshly deposited topmost road cooled and contracted, the wall would return mostly to normal shape, but some waviness remained.  On the left side, the top layer of the base is being laid down, and the support material actually started ‘bunching up’ in spots, resulting in a raised, rough surface.  I knew this would probably cause the model to become too infused with the support to allow the two to separate easily, but I let it run anyhow.

Poor adhesion between the model and base

When complete, I had significant warping and lifting on the corners of the trigger frame part, though support for holes and overhangs worked beautifully.  The poor adhesion to the base could be due to the concave surface on that face of the part – rather than having a solid face, the support layers under the trigger frame are an open crosshatch, so there’s not as much contact area.  The box halves fared better, though I had highly variable adhesion to the base layer (rotten at corners, yet fused together where I had roughness on the base layer).

Although I hadn’t run the MG47 with support, I wondered if the lower die swell of the MG47 helped provide such good results when running at a 0.007″ slice height.  I realized that I had never checked the die swell of the P400S support material, so I finally checked it – a whopping 0.020″!  It makes sense that the support material wouldn’t act as kindly with such a small layer height – it wants to swell up, as it’s being ‘smeared’ to a road width much greater than the road thickness.

At this point I wondered if newer algorithms and flow curves present in Insight might make 7 thou base layers behave a little better.  Unfortunately, Insight never had support for the 1600 (and official support for the entire FDM thousand series machines was dropped at the end of the version 6 lifespan), though it can generate output for the 1650.  Given that there are a number of 1650s still in use, yet I’m the only one I know of with a 1600, it was possible that differences between the two are minimal.  In looking through generated output from QuickSlice for the two models, it looked like parameters were very similar (though the 1650 is run a little faster).  I crossed my fingers, set up Insight to send to a 1650 and let it rip on a Mendel test part at a 0.010″ slice height.  Wonder of wonders, it ran without a hitch – a part that would take an hour in Quickslice would take only about 45 minutes through Insight!  I set up a whole plate of Mendel parts, and it ran equally well.  I then tried a small part at a 0.007″ slice height in Insight – it ran fine, so perhaps having a large surface area for the base is an issue.  Insight also has several support styles available, so I’ll need to play with those settings as well.

A challenger appears!

With some other projects having consumed my attentions for the past few weeks, I was eager to return to more Stratasys experiments.  Having acquired enough breakaway support material to last me for the foreseeable future, I could once again be running with both extruders operational.  One material that I’ve wanted to try for quite a while is the 0.070″ ABS filament used on the PP3DP UP! printer, as people had mentioned that it was a bit different from the Chi Mei PA-747 ABS filament sold by Makerbot, New Image Plastics, Village Plastics and most other US suppliers. The problem is that overseas ordering is rather a pain – while PP3DP does now take Paypal, they still need a minimum order of over $100 (and stick the buyer with the paypal fees as well).

Fortunately, UP! user Enrique Muyshondt set up desktopFab to act as a US dealer for PP3DP printers and supplies. I ordered a 700 gram spool (1.54 lbs.) for $35 plus $12.34 shipping. Unfortunately, Enrique has since had to increase the price to $40 per spool – it seems PP3DP really doesn’t have any sort of dealer margin built into their price structure.

A Stratasys 2lb. spool on the bottom, a Bolson 2lb. spool in the middle, and a PP3DP 1.5lb. spool on top.

The spools are pretty small, but then again, the UP! printer that they’re intended for use with is a small desktop printer.  Happily, they have a 2″ mounting hole, so FDM users don’t have to re-spool onto empty Stratasys reels.  I threaded the material through the FDM 1600 and after waiting for the head to come up to temperature, I loaded it through the T12 modeling tip.  The extruded material looked and acted just like Stratasys P400, so I grabbed a micrometer and checked the die swell – 0.0175″!  Time to get the support material loaded and try making some parts – this was very promising.  Despite being honest-to-goodness Stratasys breakaway support material, I had trouble with it kinking between the feed wheels and the liquifier inlet.  I had almost resigned myself to tracking down some Vespel rod (horrifically expensive) to machine a new inlet that would reduce the distance to the drive wheels when I figured I’d try drilling out the nozzle again with a 0.011″ bit.  There must have been some buildup in the tip, as I had no more jamming after running the drill bit through.

I thought I'd give Adrian's cute little mini-extruder a try.

I could post lots of pictures of all the results, but I’ll keep it brief and simply say that the PP3DP filament runs great.  If I didn’t know any better, I’d swear that it was Stratasys P400 – it has the same matte finish, die swell, adhesion to support material, etc. that the OEM filament has.  It does seem to have a substantial amount of ooze, though it has been rather humid lately and I didn’t bother trying to dry the filament (it came in a sealed bag with desiccant).  While I’ll certainly continue with investigating alternate materials (the MG94 should be extruded soon), the PP3DP filament is easily the best bang-for-the-buck model material for Stratasys owners at this time.  However, one possible caveat is quality control – several months back, a number of UP! users noted that a batch of filament put out noxious fumes when run. While this isn’t much of a concern with a closed oven type of machine like a Stratasys, it may indicate that batch-to-batch consistency has yet to be perfected by PP3DP’s filament source.  Still, this is nitpicking about second-hand information – when I run out of the PP3DP filament, I’ll have no qualms about ordering more.

More build surfaces that don't work

Since I’m pretty much out of support material for the Stratasys (well, not really, but I hate to break open my very last reel of OEM P400 support), and my extruder hasn’t yet run the HIPS that I hope will be a suitable substitute, I’ve been playing with alternative bases for building.

When I first started making the build platform, one of the surface materials I ordered was a very fine stainless wire mesh. My thinking was that it would provide enough surface roughness to mechanically bond with the ABS, but could be peeled off after cooling. I placed the wire mesh over the silicone sheet I had originally tried using and clipped it to the Garolite platform.

The mesh didn’t lay perfectly flat, but it seemed like it should be okay.

However, after coming up to temperature, the silicone sheet under the mesh expanded and buckled.

I tried running a part outline anyway, but the flex of the mesh prevented a good bond between it and the ABS in most places.  Some spots did have decent adhesion, but given the flexibility of the mesh, warping and curling would undoubtedly remain a problem even if I had decent adhesion all around.

The next idea came to me after seeing that Makerbot started offering PVA 3mm filament. Given that PVA has such a low melting point (and that the material is highly hygroscopic), I’m skeptical that it would be a good support material for ABS, but it did give me an idea. I recalled that PVA is commonly used as a water-soluble release agent when molding fiberglass. What would happen if I put down a base of MG47 ABS, brushed on PVA as a release, let it dry, and continue building the ABS part?

I used a Mendel part and modified the Quickslice parameters so that it would create the base layers using model material rather than support material.  Annoyingly, there appears to be a bug in Quickslice 6.4 that results in a single layer of support material being laid down regardless of if you tell it to use the other tip!  Thankfully I still had enough adhesion between the second layer (first deposit of ABS) and the foam base to keep it stuck down reasonably well.

I added a ;PS command to the generated .SML file so that the machine would halt after creating the base, and then used a sponge brush to brush on a few coats of PVA.  I noticed some crackling sounds from the ABS/foam bond when brushing, but didn’t think much of it at the time.

I put the PVA coated base back in the machine, let it dry for about 15 minutes, and hit the pause button to let it continue with the build.  I noticed that the model tip seemed to be trenching through the PVA layer, but let it continue onward.

D’oh!  When I checked back later, I realized I hadn’t seated the tray carrier fully to the rear during the base build, and the model was hanging off the front edge.  This was far enough into the build to see if the PVA would serve as a good release, so I halted operation and pulled out the tray.

I was able to peel up the two ‘tabs’ on the base a little to separate them from the part, but the rest of it (as indicated by the green area where there is still PVA) wasn’t going anywhere.  Time to let the piece soak in water overnight to remove the PVA.

Well, the results were not as good as hoped.  Despite the PVA layer, the model ABS bonded quite well to the base ABS, and clean separation of the two wasn’t really possible.  Well, what if I tried increasing the distance between the base and model?  Between each layer in the .SML file, there is a relative move upwards in the Z-axis, followed by a relative move downwards in Z.  I modified the move between the base and model in the .SML file to provide 0.002″ of gap in addition to the pause needed for me to brush on the PVA.

I went through multiple iterations of this, with warp/lifting of the model layers always happening, even as I decreased the gap between the base and model and reduced the amount of PVA applied.  Finally, I was running with no gap and realized that thermal stress during the first run must have raised up the base slightly causing the model roads to plow through the PVA and bond to the top base layer.

As it turned out, I later found that Dr. Adrian Bowyer (founder of the RepRap project) had investigated this concept nearly 6 years ago.  Instead of PVA, he had used plain old kitchen pantry corn oil, with reasonable success.  Of course, his build size was not as large as what I was attempting.  The idea probably still has merit (I’m curious about using acrylic spray paint as a release layer), but there’s plenty of other things to investigate…

I finally got around to opening up the bag of 4043D PLA from MakerGear to see if it might serve as a good support material. iFeel Beta has had promising results with this, so hopefully it would run on the Stratasys.  The material is certainly the most brittle filament I’ve tested so far, and I had a number of breaks when trying to wind it on a spool.  As such, I decided it was best to try feeding it through the rollers alone to see if it would break.

Fortunately, it fed fine through the rollers with no breakage, so I put the drive block back onto the head and tried pushing the filament through the liquifier.

This resulted in the highest feed torque values I had yet seen – this was not an easy feeding material.

Sure enough, the material eventually jammed as the toothed drive roller stripped into the filament, losing traction.

Still, running the material through a Stratasys is indeed possible – another user with a Prodigy Plus has done so successfully, and sent me this photo of the drive assembly.  The idler wheel is solid metal, unlike the one on my 1600, which has a urethane center section.  Machining such an idler may be a future project, but for now I’ll abandon the work with 4043D PLA.

I decided to try using ABS as a base material and simply saw the parts off the base as needed.  As such, I manually added a base in Solidworks rather than adding a base (and faking the material) in QuickSlice.  I dotted the base with holes to make Quickslice generate perimeter roads to provide a little additional support, and then ran the part.

After the base was mostly complete, I halted the build, as there was a lot of sinking on the surface since the crosshatch infill had too large of a road width for the limited die swell of the MG47.  I recreated the base on the part, as the big 3/8″ thickness was definitely overkill, and it extended much further outward than needed.  With a reduced crosshatch road width of 0.0132″, I tried the part again.

The carpet-like top of the base layer reminded me that I had neglected to adjust the road width for the other layer types as well, but as the crosshatch infill was looking great, I let the build run until completion.  I also dropped the nozzle temperature down to only 240° C, as the feed torque wasn’t very high, and lower temperatures would droop less.

At the end, I had prototype paintball hopper halves and a pump for my Phantom paintball gun.  As noted, I had drooping filaments due to not having adjusted all of the road widths.

I expected a bit of drooping on the overhangs, as I wasn’t using any supports.

Rather than having to cut and sand the parts off of the base, they were able to be peeled away without too much fuss.  The crosshatch infill came out great, with no drooping all the way through the part.  I had intended to just tear out this infill, leaving the hollow shell, but the filament is a lot tougher than I had expected.

The base did lift from the foam base on one side, unfortunately, which let the hopper halves warp a bit.  With this build complete, I went back to QuickSlice to adjust the road widths for the other layers and tried running a small test part that used aligned roads as the top of the base.

While the dome on the part didn’t come out perfect, I didn’t have the same sagging as before.  The stubs on each side were John Branlund’s idea as a way to check for backlash. Fortunately, I had no discernible backlash in the system.

The part separated quite nicely from the base – only minimal sanding would be needed to remove the traces of support from the bottom of the part.

I ran 2 more parts at increasingly higher temperatures (left was 240° C, center was 255° C, right was 270° C) to see what the results would be.  Sagging on the top aligned roads of the base increased as the temperature went up.

Separating the part from the base also became more difficult with the increase in temperature, as the layer bonding became stronger.

Fortunately, more OEM support material has now arrived, so I can finally be back to proper operation shortly.

And now for a bit of EEPROM hacking

[3MAR2016 Note: A much newer, better method has been developed and is documented in this post.]

A common question among commenters to this blog when I write about my Stratasys FDM 1600 is “how did you hack the cartridge?”  Newer Stratasys machines such as the Dimension series (P-Class machines – I assume named after the Prodigy, which I think was the first Stratasys machine to use cartridges) don’t have plain old wire welding type spools like the old FDM series – instead, they have the filament stored in a large cassette.  This is nice as it keeps the filament dry without having to keep it in a dry box and it makes loading in new material (or swapping colors) a breeze.  On the down side (as many Stratasys owners have apparently discovered), Stratasys went the route of inkjet printer manufacturers and have ‘chipped’ their cartridges so that you can’t simply refill the cartridge with material and continue on.  While this isn’t a hindrance to me and my old machine, I’ve still been curious to know if there’s a way around this (if I ever come across a Dimension for cheap, I’ll need a way to feed it as well).  Note: I understand the big T-class machines (named after the Titan model, I assume) still use large spools, though I believe the spools also have a chip module (but hey, if you can afford to buy a T-class, the consumables cost probably isn’t a big concern).

Inside each Stratasys cartridge is a Maxim DS2433 one-wire EEPROM (in a SO-8 package) that the machine communicates with. This is a simple 4kb (that’s kilobits – only 512 bytes of storage) device, and reading/writing them is reasonably straightforward – a library most likely exists for 1-wire communication no matter what your microcontroller of choice is (Arduino enthusiasts, look here). Dumping the contents of one yields hexadecimal gibberish, unfortunately. What’s more, you can’t simply clone one of them, as each has a unique 48-bit serial number lasered onto the die at the time of production, and this serial (presumably) is used as the seed to encrypt/obfuscate the EEPROM data. This has been enough to dissuade most tinkerers from playing further with the system, though Bolson Materials may very well have cracked the code, as they are able to provide new EEPROMs with their cartridge refill spools.

Thanks to some hacking by the shadowy figure known as ‘Dervish’, it’s been found that only a small portion (12 bytes) of the EEPROM is dedicated to storing how much material is left on the spool.  As a cartridge was used, the EEPROM was read out at various points and only bytes 0x58-0x63 changed over the life of a cartridge.  Specifically, here’s the layout of data on the EEPROM as known thus far as a result of reading EEPROMs from several brand new cartridges:

0x00-0x41: scrambled data (commenter lgg2 noted that 0x28-0x2F is identical to 0x30-0x37, highlighted in purple)
0x42-0x45: 0x00000000
0x46-0x47: scrambled data
0x48-0x4A: 0x55AA55 (highlighted in green)
0x4B-0x4D: scrambled data
0x4E-0x4F: 0x71BE, 0x72BE, 0x73BE, 0x74BE, or 0x75BE
0x50-0x51: scrambled data
0x52-0x57: 0x000000000000
0x58-0x63: filament remaining (scrambled data, highlighted in yellow) – on an unused spool, 0x62-0x63 is always 0x4BB9, but this gets modified (along with 0x58-0x61) as the cartridge is used.  Perhaps 0x62-0x63 is an unencrypted checksum?
0x64-0x67: 0x00000000
0x68-0x70: 0x535452415441535953 (‘STRATASYS’ in ASCII, highlighted in dark blue)
0x71-0x1FF: scrambled data

Simple enough, right?  Just read in the EEPROM at 100% full, respool it with generic material when empty and write the 100% full data back to the EEPROM…  Well, not quite.  You can certainly use this respooled cartridge in a different machine, but not in the same one, as they remember what cartridges they’ve already used (that serial number on the EEPROM).  This is where Dervish tore into the guts of the machine and began the really clever hacking.  When you open up the side panel of a Dimension, here’s what you see (image taken from Brad Rigdon’s Print To 3D gallery):

Brad also has a nice video on youtube that shows the full workings of the machine. The electronics appear to be composed of 3 boards – the large PDB (Power Distribution Board) on the left, the SBC (Single Board Computer, just a PC) in the center right above the hard drive, and what appears to be a motion controller board (in the upper right, connected to the SBC via a 16-bit PC/104 header). As per the troubleshooting section of the Dimension/SST Service Guide, the motion controller board in the upper right is known as the ‘186 board’.  The SBC pictured appears to be an Ampro P5v, though some Dimensions use a Nova-600.  After connecting a keyboard and monitor to the SBC, Dervish found that the computer is running Linux (Red Hat 8, specifically – not Fedora 8, but the circa 2002 version with a 2.4.x kernel).

By rebooting the system he was able to enter single user mode (at the LILO prompt, enter ‘linux single’) and could change the root password to whatever was desired (type ‘passwd’ at the prompt, enter a new password, then enter again to confirm). After rebooting once more into standard mode as root with his newly minted password, he modified /etc/sysconfig/iptables to open up port 22 so that he could ssh into the system and hack remotely without having to be at the console itself (the sshd daemon does not run by default, so adding the line ‘/etc/init.d/sshd start’ to /etc/rc.local is also required).   While he had been able to modify temperatures on the machine by using Stratasys’s ‘Maraca’ software (the CatalystEX software offers no ability to tweak the system), direct access to the SBC allows much greater control over process parameters such as adjusting rollback.  All the configurations are stored within the /mariner/config tree (the hard drive image covers multiple models), and it can be tricky to determine which ‘gender’ (kona, lanai, spinnaker, oahu etc.) corresponds to a given machine, but noting which directory has the most recent modification date is a dead giveaway.

The holy grail turned out to be the discovery of an innocuous sounding file named ‘system.dat’ located in the root directory.  This is where the Dimension apparently stores a list (in binary) of all the cartridge EEPROM serial numbers that it has seen before.  Delete this file and the machine gets amnesia, allowing respooled cartridges (with the EEPROM rewritten to show 100% full) to be used again.  I assume creating a cron job to delete this file periodically (or using rc.local to delete it on startup) would also work.

As far as I know, this constitutes the cutting edge of Stratasys hacking – I’ve heard rumors before of people having bypassed the cartridge EEPROMs, but this is the first concrete information I’ve seen on how to accomplish it.  If anyone has further information, please leave a comment!

Putting MG47 to the test

John Branlund has been starting to try out the MG47 ABS filament, and I finally was able to do my first proper test on Tuesday. Last week I had tried running ten feet or so of the filament through the machine, but had mixed results – there was zero die swell (0.012″ filament out of a 0.012″ orifice), and running the first few layers of a Mendel z-bar-top-clamp_4off showed the same sort of warping and lifting that I was getting with the Chi Mei Polylac PA-747 material. Meanwhile, however, John’s first test with MG47 didn’t look too bad. I figured that the difference must be in the fact that John had actually dried his filament, whereas I was running it just as it had come from extrusion. Though the reels had been packed with a desiccant packet, the filament had still been fresh out of the cooling water bath – although it was technically dry, it had probably absorbed a great deal of moisture between the exit of the extrusion die and the start of the air drying rack.

I tossed my 3 lb. reel into the kitchen oven for an extended period in an attempt to remove as much moisture as possible.  In retrospect, I should have also put in a proper thermometer, as the knob on my oven is not exactly calibrated to an established standard (even when cooking the very simplest of frozen pizzas, I have to set the knob a good 25 degrees under the recommended temperature to keep from turning crust into carbon).  As such, my spool took on a slight set – while it it looks a little wavy if you gaze down a length of it, it should prove entirely usable.

With the dried filament spooled onto a reel, I loaded it into the machine and ran a foot or so through the 0.012″ nozzle.  Given how liquid the material seemed during my brief initial test, I dropped the temperature down to 250°C rather than the 270°C that Stratasys P400 ABS runs at.  Checking the torque load on the motors showed values in the low 60s, which I think was even less than what P400 at 270°C was running.  I checked the die swell again, and it was improved – about 0.0145″ (still 0.0025″ short of what P400 swells to, but certainly better than what the wet material was).  Checking for ooze (turn off the feed, wipe tip, wait 10 minutes and see how much material has leaked out) showed minimal seepage – this was certainly the driest filament I’ve yet run, and I need to start drying all my material under the Z-stage in the machine just like John craftily does.

I flipped around the polystyrene sheet on my build platform (it was getting warped a bit in one area) and brought the model tip down so that it was actually slightly buried into the styrene sheet (I should really start using feeler gauges for this, as it’s nearly impossible to eyeball correctly – I miss building on foam).  I started feeding the machine the Mendel z-bar-top-clamp_4off part sliced at 0.007″ layers (the smaller road width had helped when trying to run the PA-747 material, as it also had less die swell than the P400).  The first layer was a bit spotty – the tip was so low that the material couldn’t even exit the nozzle in a few areas, but things appeared to be running pretty well regardless, so I let it continue on.

The crosshatch infill was nice and straight with minimal filament droop.

Once done, I was amazed at the surface quality – this was one of the nicest parts I’ve gotten from the machine (the 0.007″ slice height certainly helps).

The bottom of the part turned out to be straight as can be thanks to superb (perhaps too good) adhesion to the polystyrene sheet.

The next test was to try running the MG47 on blue painters tape.  Unfortunately, the platform doesn’t come up far enough to let the tip come right down to the tape surface, so this run had the filament dropping about 1/32″ from the tip to the tape.  Notice the zig-zag of the outlines as this run used 0.010″ slice heights and hence wider road widths – without the die swell of the P400 material, the extruded filament is longer and has to bunch up.  I let this run for about 3 layers, but there just wasn’t enough adhesion between the tape and the ABS, and corners started to lift.

This led me to wonder how the Bolson ABS would work in the same setup – since the Z height would be identical (stage raised as far as it can go), I could get a suitable comparison regarding warp.  I loaded in the Bolson ABS, flushed the MG47 out of the liquifier, and let the same part file run once again.

The Bolson ABS still had corner lifting after the same number of MG47 layers, though not as bad as on the MG47.

The Bolson ABS also had better adhesion to the blue painters tape (perhaps the reason for less warp).  A good bond between model and support is absolutely essential, it appears – no wonder heated beds on RepRaps and Makerbots are all the rage.

Overall, I’m very happy with the MG47 thus far, as it beats the Chi Mei Polylac PA-747 in every way when it comes to use on a Stratasys:

  • More die swell (though to be fair, I should try fully drying the PA-747 for a proper comparison)
  • No visible vapor of volatiles coming from the tip when extruding at 270°C
  • Filament doesn’t cling to the hot nozzle for dear life – the brush wipe actually wipes the filament off instead of smearing it on more
  • No spiderweb thin ‘hot glue gun’ filaments coming off the part at path exits

No, the MG47 isn’t quite a match for the Stratasys P400 ABS (or even the Bolson ABS), but it appears that I’m on the right track.

From extrusion to injection molding

Charles is working on a tabletop plastic injection molder based on the Gingery design, but the machining needed for the heater chamber is a bit more than what his Sherline mill can handle, so I ran it on the big Keiyo Seiki (which also gave me an excellent excuse to finally get a big Rohm drill chuck for the tailstock). I figured he’d probably want to see the steps needed to do the machining, so I took some photos of the process (which simply reminded me of why I need a better camera, as the autofocus on mine in abysmal).

After taking off the 5C collet chuck and installing the standard 3-jaw chuck on the lathe, I chucked up the piece of 1.5″ steel rod, powered up the RPC and lathe, and got to making chips.

The bar was cut quite nicely as it was, so rather than face the end first (and have to fiddle with getting the tool bit exactly on center) I center drilled it.

Then I faced the end with a beater carbide tipped bit that had come with the lathe.

I started drilling with a screw machine length 1/4″ drill bit (I love the screw machine length bits as they’re short, strong, and don’t wander as much) and then switched to the much longer 1/4″ bit shown here.  One big advantage to drilling on the lathe rather than on a drill press or mill is that long holes are much straighter.  On a drill press, the workpiece is stationary, and the drill bit is allowed to wander off of its axis a bit.  However, on lathe, the workpiece spins, and the path of least resistance for the drill bit is to seek the rotational axis of the workpiece, ensuring that the hole stays straight.  From what I’ve read, the most accurate hole drilling is done by rotating both the workpiece and the drill bit simultaneously (in opposite directions, of course).

Once I had the 1/4″ hole drilled all the way through, I moved up to a 15/32″ bit to bring the hole nearly to size.

Then came the 0.501″ reamer.  I put the lathe into a very low gear, as high speed will kill a reamer quick.  Lots of Tap Magic and backing out frequently to clear chips made the procedure go without a hitch.

Finally, I flipped the part around, faced the other end and topped it off with a a slight chamfer where the piston will actually enter.

And then the moment of truth – the 0.500″ ground rod that will serve as the piston slid through cleanly with zero wobble.  I also machined the end of the piston where the linkage rod will connect.  Unfortunately, my camera refused to focus for any of those shots.  Fortunately, this means that no photographic record of my ‘oops’ exists (the endmill caught the workpiece and slapped it back through the 5C block I used for workholding).  It was a good reminder that steel is not as forgiving to machine as aluminum, so I removed the 4 flute endmill I had been using and switched to a flycutter and took nice small cuts to create the flats needed.

2011: An Extrusion Odyssey

When I had a look at the innards of the extrusion head for my FDM 1600, rebuilding the head (should I ever require it) looked doable, if daunting. It now looks even less daunting, thanks to Rob Falkenhayn over at Incredilution. Rob had a leaky liquifier on his FDM 2000, caused by a cracked liquifier inlet. With Stratasys wanting $5000 for a new head, Rob did what any sane person would do – he machined a new inlet and repaired it himself. His blog post is a great read for anyone who might have to face head repairs on an old FDM.

Since the previous post on my rapid prototyping journey, I’ve churned through all the paperwork needed to become a customer of Ashland Distribution, ordered my plastic, and lined up Chuck Hamley at Advanced Extrusions to turn the raw granules into the 0.070″ filament that my machine uses. The cost has not been cheap, but the whole experience has been invaluable – today I got to see my filament actually being made.

For small quantities, the raw plastic resin comes in a plain 50 lb. box, though I’ve also seen it in sacks.

The granules are just stubby little cylinders.  As this video shows, plastic strands come out of a multi-orifice extruder at the plastic production plant, and then get chopped into very short segments for storage and eventual shipping. So even though the raw ‘virgin’ resin is new, it’s actually already been extruded once already.  Before the resin can be extruded into filament, it first has to be dried to drive off any absorbed moisture (ABS is hygroscopic).

The hopper and funnel sit at the rear end of the extruder.  The dryer itself (the black unit to the right, with hot air supply and return hoses running up to the hopper) is a Conair (curiously unrelated to the hairdryer company, it appears) model D-75 and can dry 75 lbs. of resin per hour.

Here’s the extruder itself – it has 4 heat zones (zone 1 next to the input by the funnel, zone 4 at the output end) with the temperature increasing as the plastic is moved through the screw (located under the black housing).  In this case, zones 1-4 were set at 355, 387, 397, and 401° F respectively.  As Chuck Hamley explained to me, the resin datasheets will list processing temperatures, but these are either a very wide range or will be a temperature that worked for the manufacturer on their particular equipment.  No matter what, the extruder or injection molder will have to tweak these settings to get the best results.  Also, note the knob on the lower left of the control panel – this is the potentiomer that controls the screw speed itself.  The extruder needed to be dialed way down to nearly its slowest speed for extruding 0.070″ diameter filament.  Advanced Extrusions has a smaller extruder that might work better should I decide on additional runs in the future.

As an example of what temperature will do, at the bottom is how the MG47 was coming out of the extruder at the very start of the run.  The lumpiness is actually somewhat regular (more apparent if you look at a long length of it) and is an indication of the screw ‘pulsing’ the plastic out rather than smoothly feeding it.  By increasing the extruder temperature (and making adjustments to the puller speed), the lumps were smoothed out and resulted in the correctly shaped (though oversized) filament in the middle.  Further tweaks to the system yielded the filament at the top, well within the required tolerances.  As you might guess, this takes a few pounds of material to get the final product to size – after each adjustment, the system is allowed to settle down to a steady state and the resulting size is checked again.

This is the actual business end of the extruder, and you can see the white plastic filament exiting the die and proceeding into the water bath tank.  Note the rectangular band heater clamped around the die itself for heating the exit nozzle.  The pressure gauge displays the actual extrusion pressure – 2500 psi.

Here’s a little better view of the filament entering the long water tank.  It’s not easily visible (and even in person, you have to look at it for a bit to make sure you’re not seeing an optical illusion), but the filament is tapering slightly to a smaller diameter between the die and the water tank, as it is actually being pulled further down the line.  Since the plastic will be nearly ‘frozen’ to its final size as soon as it hits the water, adjusting the distance between the water tank and the die exit is critical.  With this in mind, note the handwheel at the lower left – this will move the entire water tank left or right, allowing very precise tweaks to be made to the resulting filament diameter.  Super clever.

Here’s a look down the length of the water tank.

After exiting the water tank, the filament passes over a long rack in the open air and is allowed to dry off. The big upright rectangular unit is a chiller for the water tank, but for such a small extrusion, cooling the tank wasn’t needed.

At the end of the rack is the puller, which true to its name, is what actually pulls the extruded filament through the production line.  For this particular run, it wound up running at a speed of 50 ft/min (do the math – extruding 5 lbs. of ABS takes nearly an hour).

The puller has two big orange rubber belts that drive the extruded material through.  There’s a rotary encoder on a swingarm at the top that actually measures out how many feet have been run.  The unit to the left is a flywheel cutter, and the filament is running through the cutter die.  The cutter was set to chop the filament into 18″ lengths or so during the setup phase so that the diameter could be easily measured without having to deal with a giant birdsnest of filament piling up.  Once the diameter was dialed in, the cutter was turned off, and the filament was directed into an empty gaylord where it was allowed to accumulate.  At the end of the extrusion run, the fresh free end of the filament in the box was pulled off and wound onto spools with an electric spool winder.

And here’s the very first result of all this work – 3 lbs. of filament (will be 5lbs. on the rest) on a cardboard spool, ready to be tested on my Stratasys, a 1.75mm RepRap, or an UP! printer.  The remaining MG94 ABS and 5308M HIPS will be run in a similar fashion in the next week or so.

CNC router build – now with wheels

As of the previous post on the project, I had loosely test assembled the router base. Since then, I got more fasteners and did the final assembly of the base frame. I initially was fine with the idea of having the router live on the floor in the basement, but after considering the size and weight of the unit, it seemed that some measure of mobility was in order. Plus, having the router up a bit higher would be nice for accessibility. So with another order of 80/20 extrusion, and the scrap left over from my initial cutting, I had just enough material to make a very nice mobile cart. I’m becoming addicted to 80/20 – it’s expensive, but makes building such assemblies a breeze.

I grabbed some cheap locking casters at Harbor Freight, and they were perfect for the project, as the mounting holes were just right for the 5/16″ carriage bolts used to assemble the rest of the frame.  A piece of MDF makes for a nice lower shelf where the controlling computer may live once I get that far.  I can even add in another shelf easily thanks to the T-slots.

One thing that I wanted to address with adding the cart base was to increase the (already substantial) rigidity of the table and allow any twist to be adjusted out.  I tapped the bottoms of the original stubby 8″ legs for 5/16″ screws, and then turned points onto some hex head screws to center them into the holes of the adjoining extrusion.  A piece of angle extrusion on the inside corner of each leg then clamps the two pieces together once the screws have been adjusted to level out the table.  I haven’t gotten the leveling to be perfect, but it is most definitely ‘good enough’, especially for the expected accuracy of such a machine.

Finally, I completed the two carriages for the main axis. Fine Line Automation and CNC Router Parts carry these for $33.50 each, which I thought to be a bit high. After machining a pair of them myself, I’ve rethought that assessment, and now they seem like a pretty good deal. I used bearings from VXB for the rollers, and everything went together quite nicely (though I did have to machine down the heads on the machine screws for clearance). I’ll have to readjust the torque on the fasteners, though – the nylon washers I used between the bearings and the blocks crush and deform enough to let the washer wear against the red seal on the bearings, causing drag. With a bit of red Loc-Tite to keep things in place, I should be able to back off the pressure to allow the carriages to slide more freely.

As much of a pain as they were, I’ll still machine the remaining 4 carriages myself, seeing as how I have the bar stock already rough sawed (and all the bearings purchased).  But before that, I’ll start work on the main leadscrew and associated hardware so that I can have an axis of motion to be proud of.

PS – James Jones directed me to an intriguing project he’s heading called CubeSpawn. It’s a flexible manufacturing system based on T-slot extrusion – once I realized that it’s not just another T-slot machine, but a modular system, I began to ponder the sorts of automated assembly line things it could make possible on a small scale.

Categories: CNC

Rotary Phase Converter – Part 2

I’ve sadly used the big Keiyo Seiki lathe only a handful of times since getting it, as what passed for my rotary phase converter (pull cord, 10HP idler and a big disconnect switch) left a great deal to be desired.  Not just in terms of ease-of-use, but also in terms of voltage balancing, and exposed wires just waiting for errant chips to come into contact.  Getting the rotary phase converter past the pull cord stage has taken a good deal of time because it’s somewhat of a pain, and I’m not entirely certain of what I’m doing (which is probably why it’s somewhat of a pain).  Given that 240VAC will provide some impressive sparks and smoke (not to mention affecting one’s nervous system in a negative manner should the conductance of Homo sapiens come into play), I’ve approached further development of the unit with a good deal of caution.

My primary guide has been Jim Hanrahan’s tutorial, which I’ve referred to continually while adding indicator lamps and pushbuttons to the system.  At this point, I still only have the 10HP idler in use, with the 7.5HP idler still to be added.  With the two idler motors on the bottom shelf, I’ve been adding the various controls to the second shelf (the top shelf of the cart will be a good spot to keep the dividing head and tilting vises for the mill).  Here’s a breakdown of what the system looks like right now:

A) The unfinished control panel is a rather flimsy piece of sheet metal – I’ll need to stiffen it up before I mount it permanently.  On the left of the panel (top of the photo) are two indicator lamps – one for the incoming 240VAC and one for the 120VAC from the transformer (I know, I could have run a neutral line from the breaker panel and gotten my 120VAC that way, but this is how I decided to run things).  The center modules consist of a start button (which has two contact sets – one connects to the motor starter, the other connects to the starter capacitors.  Ideally, I’d use another contactor for the starter caps, but the pushbutton contacts are rated for 10 Amps, and they should last a good long while), a stop button, and an indicator lamp.  The empty holes will contain the start and stop buttons and indicator lamp for the 7.5HP idler once I get it wired in.  The pushbuttons and lamps are from Surplus Center.

B) Motor starter for the 10HP idler, purchased from Igor Chudov.

C) 200mF 370VAC run capacitors from Surplus Center.  Note that one lead on each is disconnected – more on this later.

D) Bank of ten 64mF 220VAC start capacitors, also from Surplus Center.

E) Step-up/Step-Down Autotransformer from Jameco.

F) Power distribution board, consisting of a few terminal bars from the hardware store mounted on a piece of polycarbonate.

G) Motor starter for the 7.5HP idler (currently unused, and it seems to smoke a bit when I power the coil).

I’ve needed to get the lathe going in order to kick out some custom paintball gun parts for my friend Blue Fish, so recently I fired up the RPC for some actual use.  Jim Hanrahan’s guide seemed to indicate that there’s simply no substitute for measuring volts/amps of an RPC setup to dial in the system with regards to capacitance (the 200uF run caps were simply a guess as to the needed value – that, and large run caps aren’t easy to come by, so I thought I’d start on the high end).  With the beefy run caps in place, I fired up the system to see what voltage and amperage I had on the 10HP idler without it powering any equipment:

Unloaded Amps:

Red 0.2 – Blk 22.3 – Wht 16.5

Unloaded Volts:

Red/Blk 280 – Red/Wht 315 – Blk/Wht 233

Wow, the voltage differences are pretty severe – how do the values change when I’m actually using the lathe?

Loaded (lathe running at 600 RPM) Amps

Red 7.6 – Blk 21.3 – Wht 12.8

Loaded (lathe running at 600 RPM) Volts

Red/Blk 261 – Red/Wht 297 – Blk/Wht 234

Things look a little better when the system is actually in use rather than standing by, idling.  Still, the noise from the idler is excessive – rather than the quiet purr I recall, it growls continuously and vibrates the whole cart.  Even more, the housing of the motor was HOT after use.  Something was certainly not right, so I disconnected the run capacitors and tried again.

Unloaded Amps

Red 0.2 – Blk 13.1 – Wht 12.1

Unloaded Volts

Red/Blk 212 – Red/Wht 209 – Blk/Wht 233

Loaded (lathe running at 600 RPM) Amps

Red 3.3 – Blk 12.4 – Wht 14

Loaded (lathe running at 600 RPM) Volts

Red/Blk 203 – Red/Wht 211 – Blk/Wht 211

Wow, what a difference!  Running with no run capacitors whatsoever seems to result in a much better voltage distribution.  What’s more, the idler is much quieter and stayed cool while running.  This is a pretty clear indication that I should just leave the run caps out of the circuit, and the voltage and current may even out even more once I add the 7.5HP idler in.