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 […]

[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 […]

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 […]

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 […]

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 […]

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 […]

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.

More material madness

First and foremost, a shout out for John Branlund’s new blog: My FDM 1650. John had a broken Stratasys FDM 1650 (as well as an FDM 2000) sitting around and managed to resurrect the 1650 into a working machine (hopefully to be followed by the 2000 at some point). If you’re the owner of an […]

First and foremost, a shout out for John Branlund’s new blog: My FDM 1650. John had a broken Stratasys FDM 1650 (as well as an FDM 2000) sitting around and managed to resurrect the 1650 into a working machine (hopefully to be followed by the 2000 at some point). If you’re the owner of an old FDM, his blog is an invaluable dive into the inner guts of these machines at a level far deeper than I myself have been brave enough to consider, much less attempt.

After running low on ‘real’ Stratasys ABS for the FDM 1600 not terribly long after acquiring the machine, I started looking around for alternate suppliers – surely there must be alternatives to paying around $125/lb. for modeling material?  I even went so far as to look overseas, and came across Beijing Yinhua Technology Co., Ltd., which has not only FDM feedstock, but also stereolithography resins. I eagerly sent them an email asking for pricing and material specifications, but got no answer.  Assuming a language barrier, I enlisted the help of a coworker who speaks Chinese natively, and he helped me compose an email to them in a tongue devoid of a latin character set.  This actually yielded a response:

ABS S301, ABS B601 and ABS B203 comparise mainly of pure ABS and other supplementary ingredient. ABS B601 and ABS B203 have melting point at temp. 245℃. ABS S301 has melting point at temp. 235 ℃

FOB Price if ABS S301, ABS B601 and ABS B203 are same: 160 USD/KG
Each cartridge include 2KGs materials

So, about $73/lb. of material.  Still way too high in my book (recall that I’m using $10/lb. for Chi Mei PA-747 ABS in 0.070″ filament as a baseline), especially figuring in the potential shipping costs.  There were also two names that I came across for Stratasys feedstock and other consumables – Sibco and Bolson. Somehow I also was referred to Argyle Materials as a source, which I contacted. The normal price for a spool of material was $325, but as they were discontinuing the standard ABS material in favor of the ABSmax (said to be equivalent to the Stratasys ABSplus), they’d give me a deal of only $100 each for the last two spools of standard ABS that they had as a closeout price. I pondered this for a week or two, and then finally decided to go for it. I called them up, gave them my credit card information, and then waited. Every day afterward, I expected to see a brown cardboard box on my doorstep when coming home. I kept this up for 2 months, figuring that it must be tied up in customs. Eventually, I realized it just wasn’t coming, so I called up Argyle and Kyla was able to provide me with a USPS tracking number that eventually resolved to saying that the package had indeed been delivered, only 3 days after it had been shipped. I brought the tracking number to the post office, asking if there was any manner that they could check into it, but it wasn’t hopeful. They gave me the phone number of the main office that I could contact in order to seek ‘restitution’, but they told me that I was SOL.

Then, when I came home on Tuesday, there was one of those salmon colored 3×5 cards in my mailbox that the postal carrier leaves when a package needs a signature or somesuch.  On the card was the very tracking number I had inquired about, and a rather excited note saying “this is the one you’re looking for!”  Sure enough, I stopped by the post office on my way to work the next day, gave them the card, and they were able to present me with the prodigal package.  Major kudos to Kyla @ Argyle for providing me with tracking info, and to my local postal workers who somehow managed to find the missing package.

On opening up the box, I saw that it is actually Bolson material - I guess Argyle is simply a distributor

Before giving the new material a try, though, I had 2 more platform materials to test out with the NIP ABS.  Home Depot has both acrylic and styrene sheet available, so I bought a piece of each.  I’ve seen acrylic mentioned in RepRap heated build platform discussions (and some UP! users are now simply spraying clear acrylic on their platforms rather than using the green brush-on paint), so it was worth a shot.  Since high impact polystyrene is what the Stratasys breakaway support material consists of, there was a possibility that plain polystyrene would adhere nicely to the hot ABS.

First up was the acrylic:

A bit of edge lifting and filament on the first and second layer outlines not tracking correctly
Yeah, I'd say that's good adhesion. Too good.

Adhesion is really good between the ABS and acrylic, but precise Z axis deposition is required.  Were I running a single small piece at a time, this would probably be just fine, but trying to maintain the build base level to within a few thousandths of an inch across a 10″x10″ area requires a bit more attention, and I’m not about to go planing down the Garolite sheet when thermal stress might ruin all such work anyhow.

Well, let’s see how the polystyrene sheet fares:

Bah, not as good.

You can just barely see the faintest hint of the first layer of the part on the styrene surface to the left of the part itself.  It apparently adhered well enough to complete perhaps half the part, and then broke loose.  This was the ‘anti-glare’ side of the styrene sheet, which I figured I’d try first, as the protective plastic film stuck to this side much more than on the glossy side (potentially an indicator of molecular attraction, I thought).  Admittedly, I have not yet tried depositing the NIP ABS onto the glossy side, but I’m not expecting much after this.

So much for Chi Mei PA-747 – I was ready to load on some of the Bolson material and see how it extrudes onto the styrene.  After loading it into the machine, I extruded a few feet out of the nozzle and checked the die swell.  It measured to be around 0.0155″ – not quite the 0.017″ of the Stratasys P400 material, but certainly closer to it than the 0.013″ of the PA-747 ABS from NIP.  I was also getting a persistent ‘FILAMENT OUT’ error on the keypad, which meant that the photoeye wasn’t seeing the filament anymore, and the machine assumed that it had run out.  Opening up the dry box, I had a look at the photoeye arrangement for the first time, as I hadn’t needed to mess with them previously:

A pair of Omron reflective photoeyes are used to monitor when the filament finally runs out

Happily, they turned out to be Omron SPY series photoeyes, which I had experience with years ago when I retrofitted various paintball guns with them.  Just as in the past when they had difficulty sensing dark shelled paintballs (the photoeye emits IR light and looks for this light reflected from the target object), the black ABS reflects little in that wavelength.  Loosening the mounting screws and bringing the photoeye just a little closer to the filament fixed everything (you can see a little bit of red glow from the indicating LED on the nearest photoeye, showing that the photoeye is detecting something).

I made sure to run the nozzle tip right down to the surface of the styrene and ran a 0.007″ slice height part halfway through so I could have a good look at the infill:

No corner lifting or warping here!

Nifty – so how would the Bolson material run on blue painters tape?  Even more, is the die swell sufficient to keep the infill from drooping when using a 0.0201″ road width?

The 0.007" slice height part is on the left (you can see the ghost of its first layer in the styrene) and the 0.010" layer part is on the right, still attached to the blue painters tape.

Just as with the NIP ABS, the Bolson ABS had good adhesion to the tape, but was readily removed.  I’m very happy with the results – for my needs, the Bolson material is as good as the OEM P400 ABS.  However, should anyone be considering using the Bolson material in a commercial capacity, consider the decision carefully.  I spoke to a Stratasys Dimension user who is part of the RepRap project, and they were less-than-thrilled with the Bolson materials (given that Bolson regards their material to be equal in every way to the OEM material).  He noted that IR spectroscopy found that the Bolson material was not identical to Stratasys P400 or P430, had poorer layer-to-layer bonding, did not adhere to the support material as well on larger parts, and simply did not provide full part strength.  Given that the Bolson material is still darned expensive (depending where you get it from, it’s probably 80% of the price of the OEM ABS), it certainly is not worth using in a professional capacity (especially since use of third party materials is an instant warranty voider).  But if you’re a crazy hobbyist with an old FDM, have no fear – this stuff is far beyond the plastic welding rod ABS that most RepRappers are using.  If you can nab a spool on the cheap, you should have no regrets.

As good a deal as it was, $100 for 2 lbs. of Bolson material is a little more than the price for UP! filament, and five times the price of PA-747 from NIP.  There must be a better source.  I finally bit the bullet and gave Ashland Distribution a call, as they are a major distributor of not only SABIC ABS, but many other companies and polymer types. After bouncing through various customer service reps, I finally was contacted by a local salesperson who was extremely helpful.  Of the 5 grades of SABIC ABS that I was interested in (MG94, MG34LGHF, MG34LG, MG8000SR, and MG47), it turns out that MG94 and MG47 are common ‘workhorse’ grades of ABS for injection molding, and getting them should be no problem.  I’ll have to pester him about the other 3, but since MG94 was my primary interest, I’m good for now.

Even better, he was able to get me sample quantity pricing for MG94 and MG47 – a 55lb. sack at the 550lb. price!  And to top it all off, he gave me contact information for two different local plastics extruders who would probably be able to run the raw resin into 0.070″ filament for me.  I visited both of them on Friday, and after having a look at the material specifications, both said they could handle it.  They differ a little in terms of setup and die charges (which will run me a good bit more than the sample resin itself), but at least it’s possible.  There’s one or two other extruders that I need to check with for pricing, I need to see what Ashland has in the way of injection molding grade HIPS, and I need to find a source for wire welding spools (the 2″ hole diameter is just what’s needed for the Stratasys).

Adding a build platform to the Stratasys

With the support nozzle on the Stratasys still acting up (it likes to stick in the ‘down’ position once the head gets up to temperature), I thought I’d try running without support material for a time so I can at least be back to making parts. While I could technically deposit ABS right onto the […]

With the support nozzle on the Stratasys still acting up (it likes to stick in the ‘down’ position once the head gets up to temperature), I thought I’d try running without support material for a time so I can at least be back to making parts. While I could technically deposit ABS right onto the foam base (as I did with one of my very early prints when I first struggled with feeding support filament), this doesn’t make for nice part bottoms, as the ABS fuses vigorously to the glass foam, embedding the foam into the base of the part. Starts making a mess of the foam itself, too. So, I needed to make a regular build platform just like all modern FDM machines use, RepRap included (Stratasys stopped using foam bases years ago and now uses plastic build platforms instead – I should really find out what polymer they’re now using).

I decided to make a modular platform that I could swap into one of the carriers in place of a piece of foam. A piece of 10.125″x10.125″x0.5″ polycarbonate sheet serves as the ‘base’, into which I drilled holes to accept the pins that normally secure the foam. I drilled and tapped the 4 corners of the polycarbonate for 10-32 screws, and then drilled and counterbored matching holes in a 12″x12″ plate of Garolite from McMaster-Carr. Using plastic tubing as standoffs, 4 button head screws then secured the Garolite plate to the polycarbonate base plate. I wanted a good solid platform, as I knew that the Garolite itself would probably be a poor surface to print onto, and my intent was to clamp other surfaces to the plate with binder clips just as nophead does with his heated build platform.

The cap screw heads stick past the upper surface of the Garolite by just a tiny amount - I sure hope the nozzles will always clear. I still need to make some clearance cutouts in the Garolite so that the platform won't hit the nozzles during the Z homing portion of the cycle.

After trying to level the platform as best I could by tightening down the screws for adjustment (using a feeler gauge between the platform and ABS nozzle), I found that the Garolite is bowed downward slightly in the center. Hopefully this shouldn’t cause any major issues, though – I haven’t measured the amount, but I’m sure it’s less than 10 thou, which is the default layer thickness. This does raise a commonly overlooked use of support material, which is that the support raft helps to ensure that the bottom of the part is flat. Without a support layer, you’re at the mercy of the platform flatness itself. When a raft can be laid down, the first few raft layers can droop or smear to conform to the platform, as the flatness improves with each subsequent layer. Of course, this flatness can be destroyed by part warping, but that’s a separate issue.

With the platform reasonably level, I thought I’d heat up the machine and see if the generic ABS would adhere to it in some manner. I used an alcohol wipe to clean off the platform, knowing that my fingerprints and other gunk would make adhesion much harder. I let the chamber get up to around 55° C before I got too anxious and started extruding (I don’t think the extra 15° C to hit normal temperature would have done much). The generic ABS appeared to have zero affinity for the surface of the Garolite when dropped from perhaps 2mm above, so I brought the nozzle down far enough that it would extrude right onto the surface. With the filament feeding through the nozzle at a 20% feedrate, I jogged the head around. The ABS actually appeared to stick to the surface, but when I opened the door to see how much adhesion there was, I found that there was hardly any. Note that I’m using the Garolite surface as it came – I wonder if sanding/blasting/grinding the gloss layer would improve adhesion any.

For the next test, I placed a silicone sheet (McMaster-Carr part number 8632K62) on the platform to see if that would have any adhesion. None at all, it turns out – the ABS practically bounces off the sheet (which made a lot of sense in hindsight, as silicone sprays are commonly used for release agents). A pity, as the high heat resistance and flexibility would have made for a great surface.

Finally, I thought I’d try what has become quite popular among RepRap users and even UP! printer users – masking tape (specifically blue 3M painter’s tape). I thought this was an entirely ridiculous idea when I first read about it some time ago, but so many people were using it that it wasn’t likely to be a running joke. I applied a few strips of tape to the platform, let the chamber heat up once more, and gave a small Mendel part a shot. I was amazed at the results – the ABS sticks to the tape beautifully, yet separates cleanly once cooled. I still had significant corner lifting, however.

First layer of a Mendel x-vert-drive-nut-trap_4off

With a decent platform, I thought I’d try my luck once more with running a plate of parts over the Thanksgiving break.  I dialed the extruder temperature down to 245° C and let the machine hammer away.  I stuck around for a layer and a half, and things were looking okay, so I figured I’d check back in 50 hours when the print should be done.  Unfortunately, the print started failing at some point within the next 24 hours, as a coworker who had stopped in at the office noticed that the machine “appeared to be dispensing low-grade dental floss” rather than doing anything productive.  Sure enough, I had another chamber full of ABS vomit.  The post-mortem points towards massive warping and corner lifting as a likely culprit – one of the parts looked like the hot nozzle had rammed into a lifted side, halting further movement of the head (and causing lost steps as a result).  There were also various small tears in the blue tape, so obviously a struggle had ensued.

Annoyingly, this sight is becoming increasingly common.

During all of this, I also thought I’d check to see what sort of die swell I’m getting with the NIP ABS versus the Stratasys ABS.  Quite surprisingly, the NIP ABS only swells to 0.013″ (out of a 0.012″ nozzle), while the Stratasys ABS swells up to a whopping 0.017″.  The significance of this finally dawned on me a week later – no wonder I was seeing drooping filaments on crosshatch infill, and a ‘bunched up’ looking filament on the first layer.  The same volume applied to a smaller diameter filament means that the filament will have to have a longer length!  It wasn’t a matter of too much temperature after all (though the generic ABS remains much more finicky than the OEM ABS).

The only way to make the generic ABS work in any tolerable manner will be to modify parameters in Quickslice to account for the significantly reduced die swell when compared to the OEM ABS.  However, since properties of the OEM material are very tightly controlled, there is no way in the software to adjust such settings – the only thing that can be modified is the ‘road width’, which may not help me much.  Tinkering with the definition file may be the ultimate method of customization. Unfortunately, the file’s format (though sprinkled with some comments) isn’t documented anywhere that I’ve found.  This definition file is for a specific machine (FDM 1600), running a specific material (P400 ABS), with a specific nozzle (T12, which has a 0.012″ orifice), at a specific slice height (0.010″).  In all, Quickslice 6.4 has has 24 different definition files just for the FDM 1600:

  • ICW6 material (an investment casting wax) with a T16 nozzle at slice heights of 0.007″, 0.010″ and 0.014″
  • ICW6 material with a T25 nozzle at slice heights of 0.010″ and 0.014″
  • ICW6R support material (for the ICW6 build material) with a T16 nozzle at slice heights of 0.007″, 0.010″ and 0.014″
  • ICW6R support material with a T25 nozzle at slice heights of 0.010″ and 0.014″
  • P301 material (a Nylon formulation) with a T12 nozzle at a slice height of 0.010″
  • P301 material with a T25 nozzle at slice heights of 0.010″ and 0.014″
  • P301R support material (for the P301 build material) with a T12 nozzle at a slice height of 0.010″
  • P301R support material with a T25 nozzle at slice heights of 0.010″ and 0.014″
  • P400 material (ABS) with a T12 nozzle at slice heights of 0.007″ and 0.010″
  • P400 material with a T25 nozzle at slice heights of 0.010″ and 0.014″
  • P400R support material (for the P400 build material) with a T12 nozzle at slice heights of 0.007″ and 0.010″
  • P400R support material with a T25 nozzle at slice heights of 0.010″ and 0.014″

The largest portion of the definition file is the flow curves, which is a table comprising a list of entries as follows:

# PDMM START ————————————————————–#

#—— CURVES ————————————————————#
# Flow  D   Pre   Pre  Start Start Shut Roll
# Area  O   Delay Flow Flow  Dis.  Off  Back Speed
# xxxx  xxx .xxx  xxx  xxx   xxx   xxx  xxx  xxxxx
PDMM
30     2  .026   79    7    60    41   143   800
31     4  .028   79    9    60    42   143   800
32     6  .030   79    9    60    43   145   800
33     8  .032   79    9    60    44   145   800
34    10  .034   79   11    60    45   147   800
35    12  .036   79   11    60    46   147   800
36    14  .038   79   11    60    47   149   800
37    16  .040   79   11    60    48   149   800
38    18  .042   79   11    60    49   149   800
40    20  .044   79   11    60    50   149   800
41    22  .046   79   13    60    51   149   800
42    24  .048   79   13    60    51   149   800
44    26  .050   79   13    60    51   151   800
45    28  .052   79   13    60    52   151   800
46    30  .054   79   13    60    52   151   800
48    32  .056   79   15    60    52   153   800
49    34  .058   79   15    60    53   153   800
51    36  .060   79   15    60    53   155   800
53    38  .062   79   15    60    53   155   800
54    40  .064   79   15    60    54   155   800
56    42  .066   79   15    60    54   157   800
58    44  .068   79   15    60    54   157   800
60    46  .070   79   15    60    55   157   800
62    48  .072   79   17    60    55   159   800
64    50  .072   79   17    60    56   159   800
66    52  .073   79   17    60    57   159   800
68    54  .074   79   17    60    57   159   800
70    56  .075   79   17    60    58   161   800
72    58  .076   79   17    60    58   161   800
74    60  .077   79   17    60    58   161   800
77    62  .078   79   17    60    59   161   800
79    64  .079   79   17    60    59   163   800
82    66  .080   79   17    60    60   163   800
85    68  .081   79   17    60    60   163   800
87    70  .082   79   17    60    60   163   800
90    72  .083   79   17    60    61   163   800
93    74  .084   79   17    60    61   165   800
96    76  .086   79   17    60    62   165   800
99    78  .087   79   17    60    62   165   800
102    80  .088   79   17    60    62   165   800
106    82  .089   79   19    60    63   165   800
109    84  .091   79   19    60    63   167   800
113    86  .092   79   19    60    64   167   800
116    88  .093   79   19    60    64   167   800
120    90  .094   79   19    60    64   167   800
124    92  .096   79   19    60    64   169   800
128    94  .097   79   19    60    64   169   800
132    96  .098   79   19    60    64   169   800
136    98  .100   79   21    60    65   169   800
141   100  .101   79   21    60    65   171   800
146   102  .102   79   21    60    66   171   800
150   104  .104   79   21    60    67   171   800
155   106  .106   79   21    60    67   171   800
160   108  .107   79   21    60    67   171   800
166   110  .109   79   23    60    68   173   800
171   112  .111   79   23    60    68   173   800
177   114  .112   79   23    60    69   173   800
182   116  .114   79   23    60    69   175   800
188   118  .115   79   25    60    70   175   800
195   120  .117   79   25    60    70   175   800
201   122  .118   79   25    60    70   175   800
208   124  .120   79   25    60    71   175   800
214   126  .122   79   27    60    71   177   800
221   128  .124   79   27    60    72   177   800
229   130  .125   79   27    60    72   177   800
236   132  .127   79   29    60    73   179   800
244   134  .129   79   29    60    73   179   800
252   136  .130   79   29    60    74   179   800
260   138  .132   79   29    60    74   179   800
269   140  .134   79   31    60    75   179   800
277   142  .136   79   31    60    75   181   800
287   144  .138   79   31    60    76   181   800
296   146  .140   79   33    60    77   181   800
306   148  .142   79   33    60    78   181   800
316   150  .144   79   33    60    78   183   800
326   152  .146   79   35    60    79   183   800
337   154  .148   79   35    60    80   183   800
348   156  .150   79   35    60    81   185   800
359   158  .152   79   35    60    81   185   800
371   160  .154   79   37    60    82   185   800
383   162  .156   79   37    60    83   185   800
396   164  .158   79   39    60    84   187   800
409   166  .160   79   39    60    85   187   800
422   168  .162   79   41    60    86   187   800
436   170  .165   79   41    60    87   189   800
450   172  .167   79   41    60    88   189   800
465   174  .169   79   43    60    89   189   800
481   176  .171   79   43    60    90   189   800
496   178  .174   79   45    60    92   191   800
513   180  .176   79   45    60    93   191   800
530   182  .178   79   47    60    94   191   800
547   184  .181   79   47    60    96   193   800
565   186  .184   79   47    60    96   193   800
584   188  .187   79   49    60    97   193   800
603   190  .190   79   49    60    97   195   800
623   192  .192   79   49    60    98   195   800
643   194  .194   79   51    60    98   195   800
664   196  .196   79   51    60    99   197   800
686   198  .199   79   51    60    99   197   800
709   200  .201   79   53    60   100   197   800
732   202  .203   79   53    60   100   199   800
756   204  .205   79   55    60   102   199   800
781   206  .207   79   57    60   104   199   800
807   208  .210   79   59    60   105   201   800
833   210  .213   79   61    60   107   201   800
861   212  .216   79   61    60   108   201   800
889   214  .219   79   63    60   109   201   800
918   216  .222   79   63    60   110   203   800
949   218  .225   79   65    60   111   203   800
980   220  .228   79   67    60   112   205   800
1012  222  .231   79   67    60   113   205   800
1046  224  .234   79   69    60   114   205   800
1080  226  .237   79   69    60   115   207   800
1116  228  .240   79   71    60   116   207   800
1153  230  .242   79   71    60   117   207   800
1191  232  .245   79   73    60   119   209   800
1230  234  .248   79   75    60   120   209   800
1270  236  .251   79   75    60   121   209   800
1312  238  .254   79   75    60   122   211   800
1356  240  .257   79   77    60   123   211   800
1400  242  .260   79   77    60   124   211   800
1446  244  .263   79   79    60   125   213   800
1494  246  .266   79   79    60   126   213   800
1543  248  .269   79   81    60   127   213   800
1594  250  .272   79   81    60   129   215   800
1647  252  .275   79   83    60   130   215   800
1701  254  .278   79   83    60   131   215   800
END PDMM

# PDMM END —————————————————————-#

After poking at the definition file with a text editor for a very long while, I realized two things:

  1. I have spent waaay too much time on researching Stratasys machines, styrenic polymers, and all points of intersection.
  2. The second column of the flow curves chart is comprised entirely of binary values from 2 to 254.

It seemed a reasonable guess that ‘DO’ means ‘digital output’, and looking through generated .SML files, I saw various PD and MM commands (hence the ‘PDMM’ block of data).  The significance of the table only having even values from 2-254 hit me when I saw that bit 0 of the Asymtek’s 8-bit digital output is toggled when switching between the model and support nozzles – bits 1-7 must then be dedicated to controlling the motor speed.  This made even more sense when I consulted the Asymtek ACL programming reference and found that PD allows for a Pre-Delay between the digital outputs being set and the start of motion (allowing the filament to start extruding before the head starts moving) and MM allows for the digital outputs to be changed while the system is in the Middle of a Move (so that the feed rollers can be turned off just before the head comes to the end of extruding a path, allowing the ‘post-flow’ to extrude the tail end of the plastic).

The best way to see if modifying the definition file would have an effect was to try generating a test .SML file.  I created a .STL file consisting of a block measuring 0.25″x0.25″x0.1″ and generated a test SML file with the default settings and no supports.  Here’s a snippet from the file, where the machine lays down the outline for the first layer (note the MA lines – these are Move Absolute commands to X,Y locations, and you’ll see that the moves do indeed make a square).

# Z = 0.0090 S = 0.00900 T = 00:00:00 ### BEGIN FIRST SLICE ###
MA342,342;
XD209;VS100,1;#FC IDX1
MZ-52;
# obj:0 set:Part type:Perim matl:main width:0.0200 Z:0.0090 S:0.0090 (skipfill)
SR800;
PD.115,79;MM;MM0,25;MM60,118;MM-70,175;
AS1;VM4;BC;
MA342,342;
MA111,342;
MA111,111;
MA342,111;
MA342,342;
EC;VM3;MA241,342;# Exit

I knew that the SR800 was a speed setting (Step Rate) – the last column in the flow curve table.  Hmmm, I wonder if any of those values in the next line match up with a line of table values…

188   118  .115   79   25    60    70   175   800

Yep, that line looks like a dead ringer.  What happens if we change the 800 speed on that line to 801 in the machine definition and generate a new .SML file?

# Z = 0.0090 S = 0.00900 T = 00:00:00  ### BEGIN FIRST SLICE ###
MA342,342;
XD209;VS100,1;#FC IDX1
MZ-52;
# obj:0 set:Part type:Perim matl:main width:0.0201 Z:0.0090 S:0.0090 (skipfill)
SR801;
PD.115,79;MM;MM0,25;MM60,118;MM-70,175;
AS1;VM4;BC;
MA342,342;
MA111,342;
MA111,111;
MA342,111;
MA342,342;
EC;VM3;MA241,342;# Exit

Eureka!  Unsure of what I should actually try next (other than pestering Rick @ MakerGear to hurry up with getting the Experimental Filament Club underway), I thought trying to run parts using much smaller road widths (and not yet actually modifying the definition file) might be a good place to start.  I noticed that using 0.007″ slice heights in Quickslice defaults to using very narrow road widths (0.0137″), so I thought I’d give it a try.  In theory, making up for the reduced die swell by means of a smaller road width should result in not having drooping filaments on crosshatch infill…

Photo adjusted for improved contrast

And indeed, it worked like a champ, even with an extruder temperature of 270° C. and a 70° C chamber.  The crosshatch infill (though still not quite as good as with OEM material, but the best yet with generic material) showed minimal distortion – had I let the part complete (would have taken 2 hours – the FDM 1600 sets no speed records), I’m sure I would have not seen any sign of sagging on the top surface.  I still had significant curling on the part (and the curling that started on the left end of the part appeared to creep along as the build progressed), so the search for better ABS continues.

Another CNC machine?

My Taig CNC mill has served me well for many years, and continues to perform admirably. Perhaps too well, as I always have it fixtured up for one thing or other, and as such I no longer have a CNC machine that I can just hack/play/tinker on.  The foundry class got me thinking about CNC […]

My Taig CNC mill has served me well for many years, and continues to perform admirably. Perhaps too well, as I always have it fixtured up for one thing or other, and as such I no longer have a CNC machine that I can just hack/play/tinker on.  The foundry class got me thinking about CNC milling foam cores, or perhaps patterns and matchplates out of wood or plastic.  This led me to think that perhaps I should build a CNC router for such work.  I say build rather than buy – gantry type routers are quite simple in construction and building a machine is half the fun anyhow.  There’s many free designs available for CNC routers, so I went looking for one that I liked.  I knew I wanted something based on T-slot extrusion for ease of assembly and straightness (some warping would be almost inevitable if I were to try welding a frame out of square tubing).  After a brief search, I found a promising looking design done by cncrouterparts.com and Fine Line Automation. A 24″ x 36″ working area sounded big and roomy, and I was most impressed by the use of cold rolled steel and skate bearings for linear motion (in a similar fashion to a RepRap) rather than much more expensive linear bearings. The last time I looked at building my own CNC, I realized that the least expensive route would be to buy surplus linear bearings and rails from Ebay in whatever sizes I could manage, and then design the machine around those components. But in this case, I could follow the plans more-or-less as published – a good thing, as once I start redesigning something, I never really stop the design process, and whatever I was working on winds up with a severe case of kitchen sink syndrome.

While Fine Line Automation has kits available, I knew it would be much less expensive for me to simply get the raw materials myself and do the requisite cutting on my own. I did look around for cheaper alternatives to the 80/20 T-slot extrusion that the plans called for (many companies offer ‘aluminum structural framing’), but eventually found that 80/20’s garage sale Ebay store had the best prices, and they actually had all the components that the bill of material called out.

Rough bandsawed extrusion awaiting cleanup on the mill

I chopped the pieces to rough length on the big horizontal bandsaw at work, and then took them home to machine the ends to the final precise lengths.  After tapping the holes in the ends to 5/16″-18 and drilling access holes in strategic locations (all detailed in the prints contained in the set of plans available on Fine Line’s site), the extrusion pieces were complete. A trip to Speedy Metals netted me the cold rolled steel, which I also drilled out on the mill. With stepper motors on the way from Keling, bearings from VXB, ballnuts and ballscrews from McMaster-Carr and couplers from Enco, it seemed like a good time to at least start assembling the base.

Definitely larger than I had envisioned - I'll need to build a special cart for it

Many of the builds that I’ve seen of this design include additional bracing in corners.  The framing itself is quite stout and I don’t intend to do any metal cutting with the machine, but more rigidity never hurts on a machine tool, so I used some aluminum angle on the inside corners.  I ran out of screws, so the base isn’t yet quite fully assembled, but at least I have a sign of progress.

Categories: CNC

Smells like foundry

I had been eager to pick up a class again this semester at MATC, and when browsing through the classes this past summer, I figured I’d give the foundry class a try.  We did a little bit of foundry work way back in high school shop class (I’m sure those days are long gone thanks […]

I had been eager to pick up a class again this semester at MATC, and when browsing through the classes this past summer, I figured I’d give the foundry class a try.  We did a little bit of foundry work way back in high school shop class (I’m sure those days are long gone thanks to a lawsuit-happy society), and I’ve seen a number of Rick Chownyk’s backyard metal casting demos during past CNC Workshops.

As it turned out, the class isn’t so much a class as it is an open workshop – most of the students have been taking the class for years (two of them started taking it 28 years ago) as a way to easily make parts for their own projects (one of the fellows is a live steam locomotive enthusiast, and always has something interesting that he’s molding).  Just the sort of environment I was eventually hoping to find!  I quickly found that as with so many opportunities, I really didn’t have a clue as to what I wanted to make – I had signed up with the intent to learn, not to do. Sure, there was a bit of learning, but weeks later, I’ve only been able to figure out a single thing that I’d actually like to cast (a fixture block for machining an upcoming project). As such, every class has started with me pawing through the cabinet of patterns, wondering what to try this week. Not that this hasn’t been helpful – I managed to screw up 2 weeks in a row by focusing so much on forming a good parting line around a complex pattern that I forgot to actually remove the pattern from the mold before the aluminum was poured in. Fortunately, the temperature difference is enough between the aluminum pattern and the molten incoming aluminum that the two didn’t fuse (my tendency to create very narrow runners also helped in this regard).  Here’s a brief photo collection of some of my successes and failures.

For those of us new to the class, we started out with flat patterns - items flat on one side that were easy to make molds of. I grabbed a sunflower and horsehead from the cabinet of patterns. Rubbing the patterns down with graphite helps them to release nicely from the mold.
After ramming the sand in the cope and pulling it off the base, the cope is then flipped upside-down. The other half of the flask is placed on top and parting compound is dusted over the surface so that the mold halves will separate cleanly.
The drag is then rammed on top of the cope. After this, I used a brass tube to cut gates (holes for the incoming metal to flow down), a spoon to cut runners (channels that connect the gates to the mold cavity itself), and a piece of coathanger wire to poke vents (to allow air to escape ahead of the incoming metal) in the drag (which is the top half of the mold assembly).
This is the actual crucible of molten aluminum in the induction furnace. Due to the IR sensitivity of the camera, it really doesn't look this pink to the human eye. When the crucible is full of aluminum and the furnace is on high power, there is a very pronounced meniscus of molten metal writhing around due to the induction - it's actually quite reminiscent of the T-1000 from Terminator 2.
The mold, freshly poured. The casting sand is bonded together with oil, so flames are quite often seen lazily burning away as the mold cools. Steel plates or other heavy objects are sometimes placed on top of a mold so that the top half of the mold doesn't actually float up on the molten metal, ruining the cast.
Once the mold halves are pulled apart I get to examine my handiwork.
The horse head came out great, but the sunflower didn't fare so well. Since I tried putting the gate (the hole in the sand through which the molten metal enters) right behind the part itself, I had pushed the sand out around the gate just enough to keep the cavity from filling properly.
A few classes later, I thought I'd try doing a matchplate mold. A matchplate is simply an insert plate between the cope and drag halves of the mold that consists of the both the part cavity as well as the runners to the parts. You can ram both sides of the mold without having to remove the pattern, as the matchplate makes its own parting line. When making a matchplate mold, you only have to worry about cutting the gates and risers, so moldmaking can be done much more quickly.
I had been wanting to try doing a lost foam casting, and I realized that the fixture block I needed for an upcoming project would be a great item to make with this technique (I wasn't finding any scrap pieces of aluminum large enough at work, anyway). I hacked a piece of pink styrofoam insulation into the rough shape, superglued a thin piece of foam onto the end to act as a sprue, and then went to work covering it in a mixture of thinned drywall compound and playground sand.
After sticking the foam core into a bucket filled with sand (with the sprue sticking out the top), I placed an empty can over the end of the sprue for the metal pour.
After letting the metal cool for about 10 minutes, I started pouring off excess sand.
Once fully cooled with the drywall compund chipped away, it didn't look too bad. Not great (lots of sand inclusions), but it should be just fine for fixturing.
Hitting all the sides on a belt sander removed some of the harder and more abrasive deposits prior to near-shape milling.
I used a crummy cheap endmill to clean up all 6 faces of the block, not wanting to subject a good endmill to the abrasiveness of sand inclusions. I'll fully true it up once I get my fly cutter in. The black line is where I'll make a bandsaw cut later on - the fixture block will wind up just being a wedge, but I wanted to leave a 'tail' on it so that I could hold it in the vise more easily. The part still has a gritty feel at this state, so maybe I'll need to remove a bit more of the surface in order to hit better quality metal. When milling the faces, I noticed that the metal wasn't forming into normal chips, but was crumbling (much like machining cast iron). A low quality casting to be sure, but for a first attempt at lost foam, I'll run with it.