EMCRepRap
If you have a CNC machine which you control using EMC2 on GNU/Linux, you can just mount the plastic extruder and start printing using EMC2. See here a video that shows EMC2 printing.
There are at least 2 users that already made an EMCRepStrap and documented and shared their code - brendanjerwin made his EMCRepStrap at 2008 and sam0737 at 2009.
Contents
How it works
When we have already a CNC machine and want to be able to use it as a 3D printer like RepRap, we just need to add the plastic extruder and his controller to the CNC. The 3 motor axes of the CNC will be controlled as normal by EMC2 and the same normal hardware controllers.
When we convert the STL files to GCODE files using skeinforge, skeinforge will produces some special GCODE like M100, M101 to control the extruder, along with the normal G1 movement code.
EMC2 allows you to specify any program/script to process the M100+ custom M-code. These apps are traditionally M-Apps. Each one of this M-App will talk with the plastic extruder controller board and make it working as expected.
Config EMC for working with plastic extruder
NOTE: This guide follows the work of sam0737 user.
- Download the necessary files from sam0737 account on github.
- In the repstrap-extruder.hal, changes the absolute path to the repstrap-extruder.py script
- In the EMC ini, under the [DISPLAY] section, add the PYVCP, like this:
[DISPLAY]
DISPLAY = axis
...
PYVCP = /absolute/path/to/repstrap-extruder.pyvcp
- In your EMC ini, there should be a POSTGUI_HALFILE in the [HAL] section. If not, create one :
[HAL]
...
HALUI = halui
POSTGUI_HALFILE = custom_postgui.hal
- In the customZpostgui.hal, include the repstrap-excluder.hal file, like this :
source /absolute/path/to/repstrap-extruder.hal
- Make a change in the input parameter of "steps_per_mm_cube" in that hal file.
The value is number of encoder steps representing 1mm cube
- Modify RepRapSerialComm.py, make sure the path to your serial device is correct.
- Soft link the mcode-inject.py to M101, M102, M103, say in the shell, you do:
ln -s mcode-inject.py M101
ln -s mcode-inject.py M102
...
ln -s mcode-inject.py M108
- Make sure all of them are marked as executable, say in the shell, you do:
chmod a+x *.py*
- Hook up your cable and such.
Hardware setup
- Hook up the Extruder Controller board to the COM port (through a Arduino compatible USB->TTL programer cable)
- Export the object as STL file from the 3D authoring software
- Use skeinforge to convert the STL to GCODE
- Print the GCODE with EMC2
Cheap CNC machines
It's important to find cheap CNC machines, Ebay is a good source for cheap CNC machines.
3 axis CNC - $225
There is one CNC on Ebay for $250. Here is the page from the seller with some pictures and information about his CNC($225).