The Frostruder is a much different beast from a Plastruder. While both are 'printheads' for your MakerBot, the Frostruder is a much more hands-on type of extruder. The Frostruder is a very new technology to the open 3D printing community and as such you should be prepared to put your science hat on and do some experimentation in order to get the best results.
For example, the Frostruder is capable of working with hundreds of different materials; essentially anything that can be extruded under pressure from a syringe. The proper settings and configurations will be different for each material. They will also vary according to things such as temperature, air pressure, humidity, nozzle size, etc. Therefore, we have attempted to give you the tools you need to determine the proper settings yourself.
As this is one of the frontiers of open 3D printing, there are many areas and techniques to be improved. We welcome your feedback and if you come up with better scripts, tips, and tricks please share them back with the community.
We have created quite a few programs to make using your Frostruder much easier. Pardon our terrible humor, because we've gone a bit pun crazy. The software is called the Frostruder Tool Sweet as it is a set of tools to help you better use your Frostruder. You can download the Frostruder Tool Sweet 0001 from Google Code.
The 'sweet' consists of a bunch of different python scripts:
- frosterize.py - convert an image (gif, png, jpeg, etc.) into a frostrudable gcode file.
- lunchlines.py - convert a DXF file into a frostrudable gcode file.
- frostforge.py - allow frostruding of 3D files by modifying the output of skeinforge.
- taste-delay.py - test various delay times for optimium frostrusion.
- taste-ooze.py - test various ooze times for optimum frostrusion.
- taste-tester.py - test various printing speeds for optimum frostrusion.
It also includes some sample gcode and configuration data.
apt-get install python python-imaging
Filling your Syringes
Filling the syringe can be one of the trickier (and possibly messier) parts of the entire process. We have tried many different techniques for filling syringes and we present you with the one that has worked best for us. This is definitely an area where there is room for improvement.
One of the things that did not work well for us was filling the syringe through negative pressure (ie: sticking it into the desired medium and pulling on the plunger.)
The easiest and quickest way we found was to spoon (or knife) the material into the syringe and then shake it in an attempt to get the air bubbles out. This is something that could definitely benefit from a centrifuge, but unfortunately these are not easily available to most people.
Our technique is pretty simple:
Gather your materials
You will need:
- Your syringe and clamp kit
- A knife or other utensil that can fit in the syringe
- Your print media (if is less viscous than frosting, you may want to consider another technique)
Mix your Media
Mixing the media is a good idea so that you have the same consistency (and viscosity) throughout your print.
Deposit Media in Syringe
This is the tricky and potentially messy part of the process. Using a knife or similar implement, fill the syringe with your material. Load it in small portions that will fit inside the syringe and then wipe it on the sides. Most will stick and you simply repeat the process.
You will probably want to remove the air bubbles halfway through to get a good fill. Also, only fill the syringe about 75% of the way because you need a place for the plug. If you fill it too much, stuff will go everywhere when you clamp the plug in.
Remove Air Bubbles
Removing air bubbles is and important part of the process. If you have a centrifuge, simply put the syringe in that and spin them out. If you don't you can do a fine job by hand. The process is very much like getting the ketchup (or other condiment) in a half-full bottle to the top for pouring. Hold the syringe in the air with the nozzle end pointing downwards. Let your arm fall. DO NOT 'THROW' IT FORWARD. Let gravity do the work. At the bottom of the fall, jerk your arm back. Momentum will carry the frosting forward, displace the air and settle the whole thing. Repeat this a few times and you will get most of the big air bubbles out. You may need to use this technique a few times during filling to fill the syringe all the way to the top.
This is a somewhat tricky thing to get right. You may end up getting frosting everywhere. Be careful and try not to make a mess.
Clean the Seal
Clean the top 15mm of the syringe with your finger (if edible) or a wipe of some sort if non-edible. This is so you get a good seal and so you don't make a mess.
Bolt the Clamps On
Once you're done filling the syringe insert the stopper. It should already have its hose sticking out of it before you insert it into the syringe. After you insert it into the syringe, bolt it down into place. No need to bolt it too tightly. The stopper will bulge to make a good seal once the pressure is applied.
You must use ReplicatorG 0015 or later and the latest firmware version for the Frostruder to function properly.
Note: Support will be added for Thingomatic+Frostruder in ReplicatorG25. Or, you can start using it with ReplicatorG24 now by downloading the updated thingomatic.xml file and adding it to the folder called 'machines' in your ReplicatorG installation.
Select the proper machine
Now, start ReplicatorG and select Machine -> Driver -> CupCake CNC w/ Frostruder MK2. Once it has connected, you will be ready to use the Frostruder. First you'll want to test that the valves and electronics are functioning properly.
Test your solenoids
First, disconnect your air pressure if you have it on!
Open the control panel in ReplicatorG and you should see two checkboxes labeled 'Pressure Valve' and 'Relief Valve'. These two checkboxes control the state of the two solenoids on your extruder.
When Pressure Valve is open, the pressure solenoid will be activated and the pressure tank will be connected to the syringe. When it is off, it will close and the syringe will not be connected to the tank.
When Relief Valve is open, the relief solenoid will be activated and the syringe will be connected to the outside atmosphere. This will cause the syringe pressure to rapidly drop and the extruder to stop extruding.
Do not open both valves when the pressure is on. This will result in just directly venting your air to the outside world. It won't damage anything, but it will make lots of noise and scare your pets/children/co-workers/friends.
With no pressure applied, click the boxes a few times. Make sure the appropriate solenoid is clicking on and off. These are electro-mechanical parts, so when they active and de-activate they will make noise. A simple way to check they are functioning.
Once you've verified they are working, turn them both off. Then attach your air pressure to the pressure input. Position something disposable under your syringe (such as a napkin) and then turn the Pressure Valve on. Check to see if it is extruding. Wait a few seconds and then turn the Pressure Valve off. Turn the Relief Valve on to vent built-up pressure and then turn it off as well. Do not forget to turn them off, as they may overheat and become damaged.
Testing your Frostruder is very important. Since the printing properties of the machine will vary depending on local conditions such as materials and temperature, you will need to become very familiar with the testing process in order to get the best results.
The frostruder-tool-sweet software is a bundle of python scripts to make working with your Frostruder easier. Of particular interest to us now are the taste-* scripts which generate test patters for printing. These scripts allow you to test a variety of different settings in one run and use a simple process of trial and error in order to find the optimum settings.
You'll need some sort of python environment to run the scripts. They are command-line and accept a few parameters. The normal process is to run the script with some default values, pick the line that gave the best results and optionally run the script again with values that bracket your chosen line. Using this technique you can home in on the optimum values in a few minutes.
Its very important that you read the instructions at the beginning of the .gcode file before running it. They will typically contain some instructions for proper running of the GCode script as well as a table that allows you to simply count the lines and determine the configuration value that generated that line.
When you are happy with the values, remember to record them locally, and if you're feeling like a good open source citizen, record them on the Frostruder Materials List. There are a few critical parameters listed below that you can test:
|xy-feedrate||Feedrate for printing. Determines line size and thickness. Units are mm/minute.||taste-tester.py|
|line-width||The thickness of your line. Based on XY feedrate and is measured by you. Units are mm.||taste-tester.py|
|stop-distance||Distance before end of line to stop extrusion. Units are mm.||taste-ooze.py|
|start-delay||Delay after syringe is pressurized before starting move. Units are in milliseconds (ms)||taste-delay.py|
|dot-delay||Delay after syringe is pressurized to wait when printing a single dot.||taste-delay.py|
1. Determine your speed and width
You can use the taste-tester.py script to test various printing speeds.
Simply run the script and choose the line that looks best to you. This parameter is important for 2D and 3D printing.
#get a list of the available options python taste-tester.py --help #test the default speeds python taste-tester.py > tester.gcode #test the speeds from 2000 to 3000 mm/minute python taste-tester.py --feedrate-min=2000 --feedrate-max=3000 > tester.gcode
2. Determine your stop distance
You can use the taste-ooze.py script to test the stop distance.
The stop distance is the distance before the end of a line to stop extruding. As it takes a small amount of time to de-pressurize the syringe, your material will continue to ooze out. Therefore, we like to depressureize before the end of a line and then continue printing to give a perfect start and stop to your lines. This is important to avoid blobs at the end of your lines.
#get a list of the available options python taste-ooze.py --help #test the default stop distances with an xy feedrate of 3500 python taste-ooze.py --xy-feedrate=3500 > ooze-tester.gcode #test the stop distances of 2 to 6 mm before the end of the line python taste-ooze.py --min-distance=1 --max-distance=3 > ooze-tester.gcode
3. Determine your delays
You can use the taste-delay.py script to test the various delays.
Another important factor in good print quality from a Frostruder is the start delay. After the pressure solenoid opens, it takes a small amount of time for the syringe to pressurize. We call this the start delay, and we wait for this time to pass before moving the print head. If this is too small, you will not have a proper start to your line. If this value is too large, you will have a blob at the beginning of your lines. Getting this value right is an important calibration step.
The second delay is the stop delay. After the pressure is turned off and vented, the extruder will wait for a bit before moving on. This is to prevent stringing and such. This value is less important as once the valve is completely depressurized it will simply stop extruding. If the value is too low, you will get a small amount of stringing. If the value is too high, you will simply waste time.
Additionally, using the frosterize.py script, it will use single 'pixel' deposits when printing single pixels. You can either use the default start delay or pass in a special 'dot delay' which will be a custom delay only for printing dots. In order to test the dot delay portion, pass in a line-length of zero.
#get a list of the available options python taste-delay.py --help #test the standard delays python taste-delay.py > delay.gcode #test the dot delay with defaults python taste-delay.py --line-length=0 > delay.gcode
Usage / Toolchains
There are a many different ways that you can use to create toolpaths for printing. There are 3 main formats for creating art, and there are tools for using each one.
2D Bitmap -> GCode
We have created a script called frosterize.py. This script will take your 2D bitmap, convert it to a black and white image and then generate a printable gcode file that will replicate your image using a Frostruder. The end result will be a 2D image.
Jump to the frosterize.py page for detailed info on how to use the script.
2D Vectors -> GCode
We have created a script called lunchlines.py. This script will take your 2D vector image (DXF or SVG) and will draw the lines using the Frostruder.
Jump to the lunchlines.py page for detailed info on how to use the script.
3D model -> GCode
It is also possible to use the venerable Skeinforge to generate a 3D print of your design using the Frostruder. There are a couple additional steps, but its pretty easy to use. We have created a helper script called frostforge.py to make this process simpler.
Jump to the frostforge.py page for detailed info on how to use the script.