Chocolate Printer Cooling System Test

This week I attempted the first test of the chocolate printer cooling system.  The cooling system is intended to solidify the chocolate just after it leaves the extruder nozzle so that by the time the next layer is started it will have a solid layer to sit on.  The cooling system consists of a centrifugal blower with a brushless DC motor blowing room air into a styrofoam cooler containing a block of dry ice.  The air passes over the dry ice and gets chilled as the dry ice sublimates directly into very cold CO2 gas.  The chilled air and CO2 mixture exit the box through a port with a hose that will ultimately blow the cold air on the chocolate.  At least, that’s how it is supposed to work.  It blows air at -12C as measured via a thermocouple, but unfortunately, the air exit port ices up in about 2 minutes and blocks the air flow.

There are many possible solutions.  I can add a heater to the exit port to prevent formation of ice, or dry the air going into the box using a dessicant cannister or maybe just use water ice instead of dry ice if the higher temperature will still cool the chocolate adequately.   Maybe using an old miniature freezer with an air hose coiled inside would do the job.  It would be really interesting if I could use the waste heat from a freezer to keep the chocolate liquified and flowing.  Back to the drawing board!

Chocolate Cooling System Almost Ready For Testing

Chocolate printer progress continues.  This week was devoted to the print cooling system.  The chocolate will come out the extruder nozzle in a semi-molten state.  It needs to solidify by the time the next layer of chocolate gets deposited on it, and I’d prefer it doesn’t drip or sag, so it needs to be chilled right after extrusion.  The current plan is to blow chilled air over the chocolate just after it leaves the extruder.   The chilled air will come from a foam insulated box containing a block of dry ice.  There will be a blower pushing air into the box and a hose delivering the chilled air/CO2 to the print.

A couple weeks ago I got a blower from American Science and Surplus and this week I got it running by using a model airplane ESC and servo tester to drive its brushless DC motor.  It appears to be capable of blowing much more air than I’ll need.  There are many unknowns yet to test.  How much chilled air/CO2 will it take to solidify the chocolate after it leaves the extruder?  How long will a block of dry ice last when used this way?  Will ice build-up inside the chiller box adversely affect its performance?

I designed and printed three parts for this system- a mount to attach the blower to a foam box up to 1.5″ thick, a hose coupler to allow delivery of the chilled air/CO2 to the print, and a hole saw to cut holes to fit the other two parts.   The printed parts fit as if they were designed for the job!

3D printed hole saw

3D printed hole saw

Hose connected to hose coupler

Hose connected to hose coupler

Hose coupler parts

Hose coupler parts

Blower mount for air chiller box

Blower mount for air chiller box

First Ever Test of the 3.5 Liter Syringe Extruder

My last post showed how I made a plunger for a 3.5 liter syringe.  Today’s post is the results of the first ever test of that syringe assembly including the plunger.  The goal of the test was to determine if the syringe pusher would be able to push very thick, viscous paste (sort of like melted chocolate) out of the 1/4″ syringe nozzle.  It was also a test of the ability of the previously made silicone plunger to maintain a seal even against whatever pressure develops inside the syringe as it is pushing.

I mixed about 1 liter of extra thick pancake batter to a consistency that I thought would be much thicker than molten chocolate (pancake batter is much cheaper than chocolate) and shoveled it into the syringe, then bolted on the pusher and hooked it up to a power supply:

Looking back, I probably should have loaded the syringe from the other end.

Syringe loaded with super thick pancake batter.

Syringe loaded with super thick pancake batter.












Here’s the actual test.  It gets especially interesting about 1 minute in:

The syringe continued drooling after power was removed due to air that was trapped inside the syringe.  As the plunger pushed, the air was compressed.  When the motor stopped the compressed air continued to push out the batter.  I will have to be careful to eliminate air bubbles in the material when it comes time to use this in a printer.

It only took a couple minutes to clean out the syringe after the test was done.

The pusher did its job much better than expected, and the plunger held up just fine, too.  I feel confident that this device will be able to extrude chocolate.   Now the real work begins…

Making a Plunger for a Chocolate Syringe

My latest project is a 3D printer that will produce chocolate objects.  Like many other chocolate printers, it will include a syringe to dispense the chocolate.  Unlike those other printers, the syringe in my printer will have 3.5 liter capacity to enable printing large objects.

The syringe is made from PVC pipe using mostly standard fittings.  One piece that wasn’t standard was the plunger that fits inside the syringe tube and pushes on the chocolate contained therein.  I had to design and fabricate the plunger.  PVC pipe isn’t perfectly smooth or perfectly round inside, so I needed something compliant enough to ride out the pipe’s bumps and constrictions while maintaining a seal.  The seal needed to be tough, yet safe for use with food because it will be in contact with the chocolate inside the syringe.  I found some food-grade silicone casting material and ordered it.

While waiting for the silicone to arrive, I designed a 3D printable core for the plunger and a mold and jig.  The core fits on the end of a linear actuator that will provide the push.  The jig centered the core a few mm above the bottom of the mold.  The mold was tapered and the widest part -the bottom- was a few mm larger diameter than the pipe, and several mm larger diameter than the core.  The silicone envelops the core and is locked in place by holes that connect top and bottom side of the core.  The plunger squeeze-fits into the pipe to maintain the seal against the uneven inner surface of the pipe.

Mold, jig, and core for syringe plunger

Mold, jig, and core for syringe plunger

Mold, jig, and core for syringe showing core inserted into jig.

Mold, jig, and core for syringe showing core inserted into jig.










Mold, jig, and core assembled for silicone over-molding.

Mold, jig, and core assembled for silicone over-molding.

I measured and mixed the silicone, coated the core with it and then set the core and jig in/on the mold and let it cure for 24 hours.  Then I removed the jig and broke the now silicone covered core out of the mold.  Result: a perfect, tight fit inside the syringe tube.

Core in mold with silicone.

Core in mold with silicone.











Finished plunger removed from the mold.

Finished plunger removed from the mold.  The mold had to be broken off by design.












Plunger mounted on linear actuator.

Plunger mounted on linear actuator.













The assembled syringe.

The assembled syringe.

Experiments in optics and image processing

After successfully mating a web cam with my microscopes ( and telescope (, I decided to design and print adapters to mount my Droid Turbo phone on the same scopes ( and so I could shoot higher resolution stills (21 Mp) and 1080p (and even 4k) video.   The telescope adapter fits over a Meade 32mm focal length Super Plössl eyepiece and provides about 47X magnification with the telescope.  I printed a similar adapter for my surgical microscope.














The telescope adapter firmly grips the phone and the eyepiece.















Initial tests were a little disappointing.  The combination of the phone’s camera and the telescope’s optics has significant pincushion distortion.  The image has only been mirrored L-R and scaled down (original is 21 Mp).  Note the lack of contrast (looking through 1/2 mile of humid air) and the curves in the power line and pole, and even the grass line:

pinch test original










A quick search found that the Gimp has built in transform tools to correct (or create) lens distortion.











It only took a couple minutes of messing around to get acceptable results.  Here’s the same image with the pincushion distortion corrected (whole image), contrast stretched and white balance corrected (rectangular area).  The pole, power line, and even the grass line now look straight.

pinch test corrected










And here’s the final image with all corrections and cropping applied:












Next step: photograph known square grids through the microscope and telescope and then create and save some preset corrections to apply with Gimp.

I wonder if something like this exists for video.  Hmmmmm…






Son of MegaMax Enters Instructables 3D Printing Contest

Many 3D printers being given away as prizes!  If I win one I’ll be donating it to my son’s school or other school or library that would like a machine and doesn’t already have one.  To do that I need your votes!

Son of MegaMax

Son of MegaMax

Please see my Instructable here: vote for me by clicking the little red “vote” ribbon in the upper right corner of the start page.


Scrap Yard Success

Yesterday some of us went on a little field trip to a couple local scrap yards.  We met the people there and learned the ropes of how to do things right and not get hurt while digging for treasure in the piles of stuff they have laying around.  Wear gloves, old clothes, safety glasses, and sturdy shoes!  Stay away from moving cranes!

Here’s one of the discoveries from yesterday’s trip- explosion proof mercury vapor light fixtures:

A pallet full of explosion proof lamps at the scrap yard.

A pallet full of explosion proof lamps at the scrap yard.

And here’s what can be done with about an hour to figure out how to get it apart to remove the mercury vapor lamp and ballast and  clean it up a little.  Another 10 minutes went into installing the hardware, wiring, and a 6W LED bulb.  I wouldn’t call it finished yet- the base is crying out for installation of pipes to act as feet, a little more cleanup, and maybe a dimmer switch.  Total invested: $18 to get the fixture from the scrap yard, and another $12 for the hardware and LED bulb.

Explosion proof industrial lamp turned into table lamp.

Explosion proof industrial lamp turned into table lamp.

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.

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

MegaMax beginning

From this…






















MegaMax present state...

To this…