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.