Friday, September 21, 2012

Drew's Rostock: Print bed and new power supply

After blowing up my old PC power supply, I ordered a 360W, 12V industrial supply off Ebay.  Two days later it arrived and went right into the printer.

It's got a larger footprint than the older one, but still fits in the printer base.

While waiting for the new supply to arrive I tool apart the old one and removed what usable parts from it I could.  I took the entire back plate, with the AC plug, switch, and fan, and mounted it on one side of the printer to give me a convenient power switch and plug.  I took the other fan and aimed it to cool the RAMPS board. Other than the power input, none of this is securely mounted yet - something I'll have to do eventually.

The new power supply doesn't have a secondary 5V output, and I didn't want to run the print head fans and LEDs off the RAMPS board's 5V line, so I threw together a deadbug 5V supply with a 7805 regulator and a few capacitors.  This is mounted to the underside of the upper structural plate, out of the way of the moving parts of the print head.  I'll eventually be installing some more LEDs up there as well to illuminate the entire print area.

The print surface is a standard 200mm heated bed from Lulzbot.  I'm mounting it on springs on each corner so it will have some give if the head crashes into the bed, and to give me a way to fine-adjust the bed level.  The bed is mounted to a plywood plate that is itself attached to the three motor mount blocks at the corners of the printer.  Not shown here is the borosilicate glass plate that goes on top of the bed.

Eventually I intend to put some insulation under and around the print bed to make it a bit easier to keep it at the target temperature, and some LEDs to indicate when the heater is operating.  What I'd really like to do is have a ring of red LEDs around the bed which are on whenever the bed is over a certain temperature, but I suspect that will require me to modify the printer firmware.

Now the print area of the Rostock design isn't actually a perfect match to the square print bed.  The actual physical area the head can move through is a sort of rounded hexagon shape, but it's fairly close to being a circle about nine and a half inches in diameter.  Ideally, the printer should have a circular print bed.  I haven't seen any circular print beds on sale yet, but if the Rostock design becomes popular they might appear.  I might also design and etch my own at some point.  I'll need to find a source for a circular glass print surface too.

The LEDs on the print head are adjusted to illuminate the area directly under the J-head nozzle.  This will help with aligning the head to the center of the print area (though admittedly this is much less of an issue with this design than it was with the Makerbot) and with testing the extruder function.

Everything has been hooked up and electrically tested.  I've run the print head and heated bed up to operating temperature and manually commanded the head to move through its entire operating volume.  The new power supply shows no signs of failure under full load.  It is getting to be a bit of a rat's nest in there, so at some point I'm going to have to work out better wire management and mounting.  At least none of the parts in the base move, so I won't need to make cable chains like I had to for the office Makerbot.

The next step will be to build the pinch-wheel filament drive.  For that, I'll need to print out a few more pieces on the office Makerbot.  Once that is done and my PLA reels arrive, I'll be able to start printing.

Sunday, September 16, 2012

Drew's Rostock: the print head

For my printer's hot end I chose a Mini J-head Mk II, custom-made by  The standard J-head is designed for 3mm filament.  I liked the simplicity and light weight of the J-head, but my printer is intended to use 1.75mm filament, so I custom-ordered a mini J-head instead.  I had been considering an hot end at first - liked the idea of an all-steel extruder - or possibly a Budaschnozzle, but the Rostock design really calls for a head that's as lightweigt as practical to make full use of the platform.  I won't be able to print the more challenging materials like teflon with this nozzle, but that's not really my aim anyway.

The J-head, like most hot ends, seems to be designed to mount into a slot in a wooden base plate.  Presumably the wood helps insulate the hot end from the plastic structure around it, and is itself sufficiently temperature-resistant to not be damaged by the hot end.  I used a bit of scrap leftover from the Makerbot, drilled and sanded into a mounting plate for the hot end.

Here you can also see the heater resistor held in place with fire putty and the thermistor taped into the other side of the block.

Here I've wrapped insulating wool and Kapton tape around the heater block.  This should make it a bit easier for the heater resistor to keep the hot end at the desired temperature.  I'm not completely sure this is necessary, but it seems to be good practice.

On the triangular black platform, which is normally connected to the six drive rods on the Rostock design, there are three mounting holes at the corner.  These were originally intended for adjustable screws which pressed the three lower end limit switches during the homing procedure.  The latest version of the Rostock software eliminates the need for the bottom end limit switches, so these holes aren't needed for anything.  On the Makerbot, it's hard to see the hot end nozzle when the print head is all the way down against the print bed, as the huge platform which supports the hot end blocks the light.  I'll be putting LEDs in these three holes to illuminate the hot end, to make it easier to align the head in the center of the print bed.

Here you can see the print head installed in the printer, with the three LEDs arranged around the hot end.  You can also see a piece of ducting I printed to go around the J-head.  The hot end is designed to have a continuous airflow across the midsection at all times.  Ideally you want the transition from ambient temperature to plastic-melting heat to be confined to a small area of the hot end barrel.  The transition region has cooling fins machined in it, and a constant airflow is recommended to keep the upper part of the hot end from getting too hot.  The original Rostock printer had a large fan placed next to the printer to blow air through the entire print volume.  I wanted this printer to be stand-alone, and ideally would like to eventually completely enclose it, so that wasn't an option.

There's not much room on the print head to mount a fan, and it's important to keep the weight of the print head as low as practical.  I used three miniature fans - 20mm square - and printed a structure to hold them on the upper part of the print head.  Channels inside the plastic support direct the air downwards, around the J-head, and out onto the print surface.

The fan support structure also holds the Bowden cable clamp and has channels for the hot end heater resistor and thermistor wires.  Power to the fans and LEDs is from the 5V supply lines on the PC power supply I was using for the printer.

Testing of the printer was going well up till now.  I could move the head around under command from Pronterface, and the temperature sensing of the print head seemed to work well.  I set the target temperature of the print head to 100C.  The heater came on, the temperature started to climb, and then my power supply blew up.

I was using an old 350W power supply recycled out of my wife's old PC (She has since moved onto a machine requiring a much larger power supply), using the 12V feed to power the RAMPS board (and through it the motors and heaters) and the 5V feed to power the LEDs and fans.  I knew that PC power supplies typically required a minimum load on the 5V line to be stable, which I thought the fans and LEDs would provide.  What I didn't realize was that cheaper supplies like the one I was using had some shared components in the 5V and 12V switching regulators.  The voltage regulator circuit was designed with the assumption that the load on the 5V and 12V lines would increase roughly proportional to each other, as would typically happen in a computer.  A massive imbalance between the 12V and 5V loads severely stresses the switching regulator.

I had some suspicion of the problem beforehand, though I thought the LEDs and fans would be enough of a load, but I wasn't expecting catastrophic failure.  This type of power supply is supposed to shut off when it detects an improper load.  Instead, something inside blew up and arced over for a few seconds, then the main fuse burned out.  I could probably repair the damage, but I've decided to do what I should have done in the first place, and buy a 12V 30A industrial supply designed specifically for this type of duty.  I'll have to add in a little 5V regulator for the fans and such, but that's no big deal.

Saturday, September 15, 2012

Makerbot Upgrades Part 5

After half a year of happily turning out parts, we started having problems with our Makerbot a few weeks ago.  Parts were refusing to stick properly to the print bed.  At first, it was only a few large prints that gave problems, as the corners of the part would curl up after a few hours of printing.  Printing with a raft, or manually designing tie-down pads on the part, helped and most of the parts were still usable.  Then abruptly the problem became much worse, with any attempt to print anything other than a very small part failing as the part broke completely free from the bed.

When watching a print to try and see what was going wrong, I noticed that the printer was struggling to keep the print bed at the proper temperature.  It took a lot longer than I remembered for it to reach working temperature when starting a print, and then the bed would sometimes drift below its target temperature while printing.

On closer inspection, I noticed massive discoloration on one of the pins of the print bed power cable.

The cable to the print bed is one of the first parts to fail on a Makerbot Thing-O-Matic.  The cable support chain I built earlier protected the cable from snagging or getting pinched in moving printer parts, but it didn't protect the cable from overheating.  The connector used on the print bed is not rated for the current that's being put through it.  Over time, the ground pin on the connector heated up hot enough for long enough and became oxidized and discolored.  Oxidization increases the connector resistance, which increases the heat generated at the connector, so it's a problem that only gets worse over time.

The connector and cable assembly carries both power to the bed heater (and print bed conveyor motor, which I never installed) and the signal from the bed temperature sensor.  The temperature sense lines seemed fine, so I initially set out to replace only the high-power pins and leave the sense lines as they were.  I carefully cut the connectors on both the cable and the bed apart, discarding the oxidized power pins, and then installed a 2 pin power connector we had at the office in its place.

This didn't work quite as well as I hoped - the stress on the remaining pins of the original connector cracked the epoxy holding their pads to the print bed.  Not wanting to risk damaging the bed, I desoldered the remaining half of the connector, soldered on a smaller 3 pin terminal strip from the junk bin, and then epoxied both connectors in place securely.

Wired up everything, powered the printer back up, and tested the ability of the head to hold temperature.

Everything looked OK, so I started a simple print.

It still didn't work right.  The first test print failed, peeling right off the print bed.

On closer inspection I noticed that as the bed moved around, the temperature reading on the GUI would occasionally read '1024'.  A temperature reading of 1024 indicates an open connection somewhere in the temperature sense lines.  I spent some time checking over the cable, trying to determine where the loose connection was.

The control electronics for the Makerbot Thingomatic are located inside the base, such that you have to turn the printer onto its side, unscrew and remove the base plate to get at them.  This was enough of a hassle when trying to trouble-shoot an intermittent electrical connection that I spent an afternoon moving all of the electronics onto the outside side and back of the printer where I could perform continuity checks mid-print.  I managed to do this without having to lengthen any of the cables.

After doing this, I managed to pin down the fault in the temperature sense circuit to the cable itself. Flexing back and forth repeatedly during every print had broken one of the wires in such at way that they still made contact most of the time, but during prints would sometimes open and cause the temperature reading of 1024.  The Makerbot software isn't smart enough to stop printing when it sees this obvious error indication, but simply continues attempting to print as the bed cools off and the printed object breaks free from the bed.

We didn't have any sufficiently flexible three-wire shielded cables on hand, so I simply braided together three pieces of fine wire to make up a new temperature cable assembly.

With the new cable assembly, I find that the printer still has trouble with large objects warping during the print, but smaller objects print fine, especially if printed on rafts.  I think that's as good as this printer is going to get for now.

Drew's Rostock: Overall structural assembly.

The original plan for the printer frame was to use the Makerslide rail itself as the structure for the printer, with wooden plates for the top and bottom only.  As I was building up the drive axis as described in the previous post, I decided to go with a more robust frame that could support itself without the rail.  I didn't trust that I would be able to clamp to the ends of the Makerslide rails securely enough to build a frame that would be solid enough to not shake or deform during printing.

After remodeling our master bedroom closet, I had a pile of 3/4" wooden laminate boards left over.  These became the top and bottom frame plates.  Side of 1/4" plywood and 1" square wooden dowels connect the top and bottom plates and form the structural trays where the Makerslide rails will mount.

There's a 1/4" wooden plate attached to the motor mounts that supports the print bed.  The drive motors, RAMPS board, power supply, and other wiring and parts are all hidden beneath that and the lower structural plate.  Eventually I intend to enclose the sides of the lower compartment to hide all the wiring and other parts.

The printed structural blocks at the top ends of the Makerslide rails hold the idler pulley, and also anchor the top ends of the rails to the upper wooden plate.  These holes were carefully drilled to locate the three rails exactly 120 degrees opposed around the print volume.  The lower end of the rails are secured to the wooden corner plates with 5mm bolts.

At the moment I'm using printed connecting rods.  The Makerbot I'm using to print the parts doesn't have a print area large enough to print an entire rod in one piece, so I printed them in halves joined by a threaded rod in the center.  I may eventually replace these with carbon fiber rods with epoxied-on rod ends.

The still to be built filament drive mechanism will go in the top center of the upper plate.  I'm still not sure if it'll go on the top side or bottom side of the plate - I need to see how much space the Bowden tube needs to coil and uncoil cleanly as the head moves.  The filament reel will be mounted on top of the upper plate.  I'll also probably be mounting LEDs to the underside of the upper plate to illuminate the print area.

Preliminary electrical tests, with everything hooked up and powered.  Still a bit of a mess at the moment, nothing is mounted permanently in the electrical compartment and the upper endstop wires are just sort of draped over the outside of the frame.  It's still enough for me to be able to do the first test of moving the print head.

Looking good so far!  Next step, building up the print head.