Son of MegaMax Lives!

MegaMax was a great 3D printer, but it was time for some changes.  He was difficult to transport because the electronics were in a separate housing with many cables to disconnect and reconnect, barely fit through doorways, and required a positively gargantuan enclosure to keep the temperature up to control ABS delamination.  Though it hurt to do it, I tore him apart and did a complete redesign/build into a form that is more like what I would have done had I known anything at all about 3D printing when I started building MegaMax.

I reused what I could including a lot of the 8020 extrusions in the frame, the Z axis screw assemblies and drive belt, and the X and Z axis motors.

Changes include:

  • ball screw drive Y axis with high torque motor- precise but noisy
  • linear guides in X and Y axes instead of 1/2″ round guide rails and linear bearings
  • SmoothieBoard controller instead of Arduino/RAMPS
  • BullDog XL extruder and E3D v6 hot end
  • RepRapDiscount graphic LCD control panel
  • narrower frame design without giving up print volume- easier fit through doorways!
  • polycarbonate panels to enclose the print area yet provide a clear view of the print
  • electronics in a drawer for easy service and transport and neater appearance
  • DSP motor drivers and 32V power supplies for X and Y axes
  • Liberal use of screw terminals to make servicing easier
  • Modular X and Y axes that can be removed for service and replaced in minutes.

SoM will be making his public debut at the Milwaukee Makerspace very soon…

Son of MegaMax electronics drawer

Son of MegaMax electronics drawer

Side view of Son of MegaMax

Side view of Son of MegaMax

 

Further Adventures in 3D Printer Upgrades (upgrades?)

As previously promised, MegaMax’s Y-axis has been converted to screw drive along with the addition of a larger motor, DSP based driver, and 32V power supply.  The SmoothieBoard arrived and was quickly swapped in to replace the ATMega2560/RAMPS combo.  After studying and configuring the Smoothieboard I attempted a few test prints.  That’s when the problems started.

32V Power supply for Y axis motor.  No regulation necessary!

32V Power supply for Y axis motor. No regulation necessary!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Smoothieboard is supposed to read the config.txt file from its uSD card (conveniently accessible via USB) every time it boots.  That makes changing configuration very easy and fast – all you do is edit the config.txt file, save it , and reboot the board.  Firmware is updated the same way.  With the ATMega2560 you have to find the configuration variables by searching through multiple configuration files, make the necessary changes, recompile the firmware, then flash the controller.  I said the SmoothieBoard is supposed to read the file every time it boots, but it wasn’t doing it.  I’d make changes and they would not appear in the behavior of the printer.  Hmmmm.

Layers kept shifting in the X-axis- I expected Y-axis problems, but not X!

Layers kept shifting in the X-axis- I expected Y-axis problems, but not X!

 

 

 

 

 

 

 

 

 

 

 

I attempted some prints and managed to get two decent ones in about a week of screwing around with it.  I tried dozens of combinations of speed, acceleration, junction deviation (smoothie-speak for jerk) and even tried different slicers.  The machine went completely nuts on two occasions and ignored the Z-axis limit switch and slammed the extruder into the print bed, gouging through the Kapton tape and into the aluminum!  I decided I needed some professional help so I got on the #smoothieware IRC channel and discovered that the developers of the board/firmware hang out there quite a lot.  After a lot of back and forth Q and A and testing someone suggested it might be the uSD card causing the problem.  I picked up a new card at Walmart, put the firmware and config files on it , booted the machine, and attempted a print.  PERFECT!

The new uSD card worked!  The small round post is 4mm diameter.

The new uSD card worked! The small round post is 4mm diameter.

 

 

 

 

 

 

 

 

 

 

I have made several prints since last night and they have all come out fine.  I still have a little tweaking to do and to test the limits of the machine’s performance, but I think the problems are behind me.

Next up:  X-axis redesign/build.  I’m replacing the two guide rails with a single linear guide.  I have also ordered and received a BullDog XL extruder to replace the hacked up QUBD unit I’ve been using.  I’ll be adding a DSP driver and 32V power supply for the X-axis motor, too.

After that, I have some ideas for a filament respooling machine and ways to fix the retraction problem in the SnakeBite extruder.

It never ends!

 

Update on the Never-Ending Printer Project

I installed the Y-axis screw drive in MegaMax using the old NEMA-23 stepper motor.  A couple really good things came from this:

1) I can now adjust the bed leveling screws from the underside of the bed using thumbwheels instead of a screw driver.  I know, I know, everyone else in the world has been able to do this from day 1…

Thumb screw for leveling print bed.   Screw is threaded into teflon block.

Thumb screw for leveling print bed. Screw is threaded into teflon block.

 

 

 

 

 

 

 

 

 

2) Unlike everyone else in the world, with fully supported linear guide rails, the print bed does not move in any direction but along the Y axis.  In the old scheme, with the end-supported round guide rails, the rails would flex and the bed would move up and down when applying pressure to it (sometimes even the screw driver pressure to adjust the bed leveling screws).  Now, if the bed moves at all in the vertical direction it’s because the bed plate (1/4″ aluminum) itself is flexing!

A couple bad things were also discovered:

1) The vibration and noise problem I was hoping to solve has not been solved.  It has been made worse, though the character of the noise is improved to musical tones instead of just harsh buzzing and rattling.

2) Several failed test prints at ever decreasing jerk, acceleration, and speed settings have demonstrated that the old motor simply doesn’t have enough torque to drive the screw reliably at reasonable printing speeds.

Shift occurred in Y-axis due to insufficient motor torque.

Shift occurred in Y-axis due to insufficient motor torque.

 

 

 

 

 

 

 

 

 

 

 

 

Further research into the first problem indicates that the vibration and noise are inherent in using steppers, and worse in MegaMax than in machines that use NEMA-17 motors because of the higher detent torque in the NEMA-23 size motors.  Detent torque is the little bump-bump you feel when you turn the motor shaft by hand.  The solution to the problem is to use a good driver for the motor and a higher voltage power supply.  The little A4988 chips in the Pololu drivers on the RAMPS board are very unintelligent- all they do is provide microstepping.  They work OK for NEMA-17 size motors because of the speeds and low detent torques in those motors.  When used with NEMA-23 motors the driver limitations become apparent – as they have in MegaMax- lots of noise and vibration.

Good stepper drivers are DSP based and automatically sense resonance and damp it electronically.  They use phase controlled sine wave currents to drive the motors smoothly.  Fortunately, DSP stepper drivers for NEMA-23 size motors are pretty cheap.   Here’s video of the DM542a driver pushing a NEMA-23 motor around.  I have ordered a DM542a driver.

The best power supply for stepper drivers is not a switcher, and running steppers from a switching supply will often result in a dead power supply.  I will be building a simple, unregulated transformer, rectifier, and filter cap supply to go with the new driver.

Next came the question of how to determine how much torque is needed to properly drive the Y-axis.  A bit of research took me here: Motor size calculator.  You just select the scheme for which you want to size the motor, enter the appropriate data, and it magically tells you how much torque you need to do the job.  When I ran the numbers on MegaMax, it told me that I need about 350 oz-in of torque (about double the torque of the motor I have).  I did a quick search and found a Chinese made (of course) 425 oz-in motor for $50.  Also on order…

The motor mount I am using is designed for a NEMA-34 size motor with which I use an adapter plate to allow the NEMA-23 motor to fit.  Since I’m buying a new motor anyway, why not just get a NEMA-34 motor?  It turns out that the best stepper for the job is generally the smallest motor that can provide the necessary torque.  A NEMA-34 motor could provide much more torque but the detent torque and rotor inertia would work against smooth and fast operation, and require a bigger power supply.

Back side of MegaMax showing motor mount, adapter plate, flexible coupler, and drive screw  in Y-axis.

Back side of MegaMax showing motor mount, adapter plate, flexible coupler, and drive screw in Y-axis.

 

 

 

 

 

 

 

 

 

 

 

The ATmega2560 and RAMPS boards will be replaced by a SmoothieBoard.  It has a much faster processor, much better connections for motors/external drivers, etc.  It currently lacks an easy way to add an LCD controller, so I may have to connect to a computer to start prints up (it has ethernet and a built in web server so it can be accessed from any computer on the network).  When a clean way to add an LCD controller becomes available, I’ll add it.  SmoothieBoard review

 

The never-ending 3D printer project

MegaMax has been and continues to be my main project for the last 2+ years.  I am currently working on some upgrades that will make him more Mega and even more Max.  The Y axis is being converted from belt drive to screw drive and the round guide rails are being replaced with linear guides and bearing blocks.  The X-axis will also get converted to linear guide and bearing block and change from 5mm pitch belt to 2 mm pitch belt drive.  I feel confident saying that once these modifications are complete the flaws/errors in prints will be due primarily to the nature of liquid plastic squirting through a nozzle, not positioning system errors.

I recently updated my web site with a sort of historical look at the project, including all the mistakes I’ve made along the way and the often failed attempts at correcting them.  Here is the page that shows how it all started, how it has ended up, and where it is going.  http://mark.rehorst.com/MegaMax_3D_Printer/index.html

Don’t ask me why I do this-  I have no choice.

MegaMax beginning

From this…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MegaMax present state...

To this…

MegaMax is Too Noisy

As part of my effort to reduce the noise and vibration in the Y axis, I am going to try using a screw drive instead of the 5mm pitch belt.  I rescued a screw drive assembly from a big XY table but it uses a 200W servomotor for which I have neither power supply nor drive electronics.  Never fear!  The motor was a NEMA-34 size, so I designed an adapter to mount the NEMA-23 stepper that MegaMax uses in the NEMA-34 motor mount.  Next I needed a shaft coupler- the screw has a 9mm diameter attachment and the NEMA-23 motor has a 1/4″ shaft.

Adapter plate on NEMA-23 motor

Adapter plate on NEMA-23 motor

 

 

 

 

 

 

 

 

 

 

 

 

 

I used DesignSpark Mechanical to design the motor mount adapter and  flexible shaft coupler.  I uploaded the motor adapter to Thingiverse (http://www.thingiverse.com/thing:526424) and it proved surprisingly popular so I designed another that adapts a NEMA-23 mount for a NEMA-17 motor (http://www.thingiverse.com/thing:526443).  I had to make two attempts at the flexible shaft coupler- the first design proved a little too springy and flexible, so I tried again with a more beefy design.  It turns out it is pretty easy to design this sort of thing in DSM.  I probably spent 30 minutes on the first one and about 10 minutes on the second one.

I sliced in Cura because Slic3r was having some problems.  The prints look a little rough because of all the support material required to print the springs, but they work fine.

Flexible shaft couplers

Flexible shaft couplers- not-so-springy and super-springy.

 

 

 

 

 

 

 

 

 

 

 

 

Adapter and shaft coupler on motor

Adapter and shaft coupler on motor

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Motor mounted on screw assembly

Motor mounted on screw assembly

 

 

 

 

 

 

 

 

 

 

 

 

I’ll post an update when I get the screw mounted on the machine.

 

 

The Stratasys lives!

Last spring, I brought in a Stratasys FDM 2000 3D printer for the Makerspace to use for a few months before delivering it to our good friend Frankie Flood for use in UWM’s Digital Craft Research Lab.  Many people had items printed on it and wished we could keep it at the space, so I promised that the next Stratasys I acquired would indeed have a home here.  Fortunately, that didn’t take long, but unfortunately, the machine wasn’t fully working and needed a new support nozzle solenoid and had persistent jamming in the support extruder.  It functioned well enough with just the model material that we were able to run it successfully at Makerfest, but it needed much more work to run properly.

fdm2000 better wiki image

Thanks to another FDM owner, the solenoid was quickly replaced, but the jamming remained.  I assumed that it was something in the extruder tube itself, and set about a long process of clearing it of all obstruction.  Unfortunately, this provided no benefit whatsoever (but I at least got the satisfaction of a successful head teardown/rebuild and understand the internals better than before).

scumbag nozzle

Even after carefully drilling out all traces of plastic from the nozzle with tiny drills and a pin vise, it would still clog and jam.  Replacing it with another 0.012″ nozzle cured all jamming issues.

2000 first chess set print

As proof, here is a grainy, Loch Ness Monster-esque photo of a print done with support material.  Since printing Duchamp chess sets are all the rage, this seemed like a perfect inaugural print.  Much more tweaking remains – the XYZ offset of the support nozzle needs to be dialed in, there’s a bit of slack in the cable drive system that I think may be causing ripples in the part surfaces, and I’m not convinced that the ‘moonstone gray’ model material is running as well as other colors.  Regardless, full operation is within grasp – ladies and gentlemen, prepare your STL files!

SnakeBite Extruder Works!

I repaired the Budaschnozzle hot-end over the weekend and bolted the SnakeBite extruder to it and then to MegaMax and tested it last night.  There’s plenty of tuning to do, but the first print looks promising:

 

Start of SnakeBite’s first print

 

More of SnakeBite’s first print

 

Not too pretty but it shows promise.

Not too pretty but it shows promise.

3D Printable Thermal Enclosure For 3D Printer

Well, OK, not the whole enclosure, just the parts that hold it together.

MegaMax can print big stuff but he’s had problems with large prints delaminating.  The answer seems to be enclosing the printer to keep the prints warm while printing.  I designed this box and 3D printable parts to hold it together so that I can take the box apart easily to work on MegaMax or move him to other locations and put it back together when I’m done.  The box is 38″ D x 28″ H x 32″ W.

box door open

 

 

 

 

 

 

 

 

 

 

box door closed

 

 

 

 

 

 

 

 

 

 

 

 

 

The box is made of 1″ PIR foam with corners suitably notched to accommodate the printed parts.  MegaMax has a 450 Watt heater in the printbed so the box gets super-toasty inside.  I suspect it gets a little too toasty but haven’t made any measurements yet.  I’ll soon be moving the electronics out of the box.  I didn’t do anything to seal the seams in the box because it doesn’t seem to be necessary.  I did tape the edges of some of the foam boards with clear packing tape to prevent damage.

Design and stl files are available at http://www.thingiverse.com/thing:269586

Snakebite Extruder Testing

rev7 extruder with hot-end

 

 

 

 

 

 

 

 

 

 

 

 

One of the biggest problems with FDM 3D printing is hot-end jamming.  There seem to be a lot of causes, most of which are not readily identifiable when a jam occurs.  One thing I have found is that after a hot-end jam I can usually grab the filament and manually push it and get it flowing through the hot-end again, though it is too late to save the failed print.  The most common means of driving the filament into the hot-end is to pinch the filament between a gear and a bearing and have a motor drive the gear, either directly (with 1.75mm filament) or via a gear reduction/torque multiplier arrangement (3mm filament).  When the hot end jams, the large force applied by the gear over the small area of the filament that is pinched between the gear and bearing usually chews a divot in the filament thus destroying the grip.

A couple weeks ago I started designing a 3mm filament extruder for 3D printing.  My hope is that this extruder will provide sufficient force on the filament to prevent hot-end jamming from ruining prints.  My design uses two counter-rotating 6-32 nuts twisting on the filament (like the way your hands twist in opposite directions when you give a “snakebite” to your friend) to drive it into the hot-end.  One is a normal, right-hand threaded nut, the other is left-hand threaded.  When the nuts turn in opposite directions, the torque that would try to twist the filament is cancelled while moving the filament forward and reverse without twisting.

The motor has to turn about 1.26 times to move 1mm of filament so there is a huge torque to axial force conversion.   The gear diameter is about 30mm.  That 1.26 rev moves the gear about 119mm at its perimeter.  That means there is about a 119:1 increase (ignoring losses in the gears, bearings, and nuts) in the force at the filament compared to the force at the gear.  That force is applied over a larger area of the filament than the usual pinch arrangement, so it is less likely (I hope!) to carve the filament and lose grip.  I tried stopping the filament by grabbing it with my fingers and holding as tightly as I could but it didn’t even slow down.

The firmware in the printer has to be tweaked so that it knows exactly how many steps of the motor are required to drive 1mm of filament.  The formula is:

32 rev/ 1 inch  X     1 inch /25.4 mm   X    200 steps/1 rev    X  16 microsteps/1 step   =  4031.496 microsteps/mm

For initial tests I just input 4031.5 using the rotary encoder on the LCD interface to the RAMPS board in MegaMax.

Here are the parts that I used:

Left hand threaded tap:  http://www.amazon.com/gp/product/B006YITGY8

5mm brass tubing:  http://www.ebay.com/itm/360828686174

5x16x5mm (625Z) bearings:  http://www.ebay.com/itm/321062568303

Plastic gears:  http://www.sciplus.com/p/PLASTIC-GEAR-SET-WITH-BUSHINGS_40234

I also used a NEMA-17 motor from a QU-BD extruder.

You can DL the STL files for the printed parts here:  http://www.thingiverse.com/thing:261037

Test printing will start in the next day or so and I will post another video showing success or failure.

Fingers crossed!