So, I was discussing the firmware requirements with ScribbleJ who is a firmware developer for RAMPS. His firmware (sjfw) has support for a second (ok, third) serial port which will happily accept GCODE.
So, I'm going to be building a daughterboard for RAMPS, prop based with ethernet to try and ethernet enable these things.
Any news on the main prop project? Any source code repository we can collaborate on?
I do have more changes locally to calculate the movement for the motors, but htey are not yet complete and not tested yet, still have not gotten the motors and drivers
This thread is over 8 month old now, thanks to all the folks that provided input. As original poster, I thought I'd report status.
I finally pulled the trigger and bought something!
Found a kit of the printed and laser cut parts from Sacha at Pumping Station 1, Chicago's hackerspace. http://pumpingstationone.org/
Sacha and his pals have built Mendel PRUSA units and are using them to print more printers, with improvements.
The kits of parts cost $150 US, and a set of linear bearings an additional $20.
I got a box of non-printed parts from a local industrial surplus http://www.jordanindustrial.com/ all the metric nuts and bolts for $11. They don't include all their surplus on the website, but if you call Mr. Jordan will do his best to find what you want or at least something you can use. He gave me SAE 5/16 washers instead of M8 washers, these might work and were cheap.
So far the only parts missing are the M8 Threaded rod and the M8 smooth rod. I have not found them locally yet, but I have a couple calls out.
I have been slowly working towards my mini-mendel. I have pcbs done for the prop, stepper motherboard for 4 stepper boards, stepper board (equiv to pololu). I still have to do the pcb to control the heating/sensing of the extruder and optional heated bed. My test frame is still where it was many months ago, and I have not yet purchased the stepper motors. The Prusa has lots of nice features although I still think there can be further improvements.
I have to complete my QuadCopter project using the Prop first. It is getting close... I have it lifting off the ground a few inches, so I am waiting for counter-rotating propellers now.
I've built my prusa frame. I was able to use the regular mendel prusa on-line instructions, and I was able to figure out the mods Sacha incorporated into the build. These are, the X belt rollers are pairs of printed parts instead of stack of washers, and there are linear bearing for the bed instead of the printed bearing. The bed is attached to the bearing with hot glue instead of screws.
I've discovered that the NEMA 23 motors in my junk box are too big I'm going to have to break down and buy four NEMA 17's. Word is that the NEMA 14 is just as expensive and harder to find, so it looks like I'll just get another NEMA 17 for the extruder.
I'm considering the Sparkfun ROB-09238.
I haven't found motor drivers yet. Idbruce's geko-drive suggestion looks cool, but one of those costs more than the rest of the project.
Cluso99, are you using pololu motor drivers, and designing board to carry them and provide power? How's that coming? If you have a good solution I'd like to follow that.
I'm also having trouble finding the drive belts around here. I'm a software guy, how do I know from belts? Sheesh!
Prof_braino: I have my pcbs back for the 4 motor drivers and the driver pcbs. I haven't built either, but the motor driver pcb is pretty straight forward. My driver pcb is compatible with the pololu pcb so you can use them (make sure you get the A4988 version because it has better protection than the A49823). I will be using the A4982 or A4984 which come in TSSOP packages. I have pcb photos on my website (see link in signature).
I must say I like the use of the linear bearings and they are not that expensive on eBay.
You require reasonable torque motors. From the online converter the 2.3kg/cm is ~30oz/in. I have seen some here in Oz that are 62oz/in for $20. The recommendation was for a minimum of ~20oz/in for the RepRap. A CNC will require a lot more holding torque, should you want to use you motors again later. There is quite a bit of info on the RepRap forums for motors. There is also info about the belts. I don't have either yet.
Use the same motor for the extruder and then all 4 are interchangeable.
$123 with shipping, this has almost doubled the cost of the build. The four new NEMA 17 motors were necessary as my kit does not accept NEMA 24 which I had laying around the shop. I don't want to modify the design before I am familiar with the current configuration, so I will save the old motors for a later phase.
Total Cost so far
$150 Printed parts kit
$ 20 fancy linear bearings
$ 11 metric nuts and screws
$ 78 M8 Threaded rods (6m) M8 smooth rods (3m) McMaster-Carr
$123 stepper motors and drivers
====
$382
Modifications:
print bed has three linear bearing in printed brackets, eye-balled and affixed with hot glue
belt rollers are printed instead of fender washers; must be heated before insertion of skate board bearings, one of mine got too hot and is slightly mooshed.
Prog_braino: Just realised. You are building a Prusa and it requires 5 stepper motors because they use 2 for the Z axis. You do not need an extra driver because they parallel the 2 Z steppers.
Your assembly looks good. Keep us posted, pics and all
Braino: Too late now, but for your next one or someone else reading the thread we can get that cost down for you.
lulzbot plastic parts: $65- NOTE: some of these parts are cast instead of printed, that's why they are more cost effective.
Replace the M8 threaded rods and smooth rods with 5/16". (5/16" = 7.9375mm) - close enough to 8mm it makes no odds.
You can then pick up the threaded rod from home depot (7 x $2.63) and drill rod from fastenal et al (3 x $4.67ish) = 18.41 + 14.01 = $32.42.
M8 threads are different to 5/16 thread so they have different nuts.
You also need a fifth stepper (but not a fifth pololu).
1 x X
1 x Y
2 x Z
1 x E
Braino: Too late now, but for your next one or someone else reading the thread we can get that cost down for you.
lulzbot plastic parts: $65- NOTE: some of these parts are cast instead of printed, that's why they are more cost effective.
Replace the M8 threaded rods and smooth rods with 5/16". (5/16" = 7.9375mm) - close enough to 8mm it makes no odds.
You can then pick up the threaded rod from home depot (7 x $2.63) and drill rod from fastenal et al (3 x $4.67ish) = 18.41 + 14.01 = $32.42.
M8 threads are different to 5/16 thread so they have different nuts.
You also need a fifth stepper (but not a fifth pololu).
1 x X
1 x Y
2 x Z
1 x E
I will set up the four pololu motors on three of the pololu driver boards, and see if I can get the fourth driver board to run a small stepper that's in the spares drawer.
I think it would increase stability but I'm not sure it will permit milling of anything serious.
Milling needs to be slow (lest you snap a bit) but with high torque. 3D printing needs to be fast and torque doesn't matter. You really need a screw-drive on the X and Y axis to mill but that isn't going to be fast enough to 3D print with.
I think it would increase stability but I'm not sure it will permit milling of anything serious.
Milling needs to be slow (lest you snap a bit) but with high torque. 3D printing needs to be fast and torque doesn't matter. You really need a screw-drive on the X and Y axis to mill but that isn't going to be fast enough to 3D print with.
There are plenty of routers that use belt drives and can machine aluminium. The feed rate depends a lot on the speed of the spindle and the depth of cut. For small machines a good way to machine metal is to use a really fast spindle and take really light cuts and then you can move quite quickly. There will be no "hogging out"!
3D printers are not all that fast when extruding but if you move at that speed for the "rapids" then the overall print times will be very long. Of course the rate of extrusion can be reduced so I guess you can print slowly.
I'm new to this forum and by chance came across this thread.
I work as a research academic in a university based in the United Kingdom and among one of my research interests is to develop a setup that will integrate additive manufacture with subtractive manufacture.
Simply put, to integrate a 3D printer with a CNC router and better still on a moving / rotating bed.
The ultimate dream would be to also incorporate a real time external 3D scanner that will act as a 3D capture device and to use the above 3DP-CNC set up as a replicating device.
3D scanning technology is still developing with issues in terms of accuracy and data processing / post processing; whereas the aspect of 3DP and CNC can be better worked out.
If you're keen to work on this, please get in touch.
and your Idea is fantastic. While I really have not got much time to contribute to it, one thing I can offer is the amount of power you would need for a device of this caliber just screams Prop II. A huge draw of processing power would be where the program would automatically differentiate between when it should add, then subtract from the material in question for finer details, or is that something you would include in the part file?
I would think the first step would be to get an example of each of the three device, (scanner, cutter printer) and see how they overlap.
I think you could use three separate machines if you determine a way to maintain registration between machine, for example a keyed platform base that is calibrated to all three machines, and just move the whole platform. From there move on to a common base that does all three functions.
How about a tetrahedron machine, with scanner, extruder and cutters each run from a different face, and base does rotaion? It would be a little bigger maybe, but might have possibilities.
For my part, I'm working on getting a standard printer running, then try looking are replacing electronics with prop parts, then moving on to cutting etc.
Checkpoint: the investigation is into making a prop based CNC. There are maybe ten participants that have some kind of CNC. The current investigation is more or less getting a non-prop solution and converting it to a prop solution.
This thread has touched on a wide range requirements for a wide range of machines, from large, specialized professional CNC to small hobbyiest desktop printer. It seems the least expensive, least complex is the desktop 3D printer, most of these seem to be Arduino based.
To build towards our goal, we have the following:
cluso99 is working on hardware to change Arduino to prop
rosco-pc is working on firmware for the prop to control the motion
StephanL38 is working on a G-code interpreter
lonesock has some slicing software; to convert STL to G-code
neoteric shows us the popular workstaion software http://replicat.org/ which takes STL files and generates G-code
and https://github.com/zignig/blender-gcode-reader which does a virtual print simulation of the g-code
What are the popular CAD packages to create part drawings? Do these directly generate STL or G-code?
Ultimately, we might want a checklist that says, "get this set of hardware and software and you can have this set of CNC capability". I would like to start this by filling in the options for a complete 3D printing process. Can we come up with a list of software to install on workstation to take us from from a blank drawing to a printed part?
I have been very keen to get a prop based CNC going for some time, but work has been so busy this year that I havn't managed to get anywhere.
I have available a gcode compiler to run on a pc (windows), it is a hack of the EMC compiler. It handle nearly all of EMC's gcodes and mcodes, and breaks them down into 1ms movement blocks (up to 6 axis), all the ramping, cutter compensation, backlash etc is handled within the compiler on a pc, it basically produces a text file of 1ms movement blocks. The tricky part is then going to be to read this file into the prop, originally I was going to read the whole file onto an sd card and then the prop reads it from there, but this file has the possibility to be huge, ie if you have a gcode program that takes 1/2 hour to run, this broken down into 1ms blocks results in a very large text file. The other possibility is to stream this file from the pc in largish chunks ie 10sec worth of motion into a buffer on the prop.
I think there are pros and cons for precomiling the gcode on a pc, but at the end of the day I feel the pc is the best place to do this, it takes a lot of the heat off the micro. A bit of work would need to be done to allow for overriding the feedrate, but I don't think this will be a major issue.
If anyone would like this compiler let me know and I would be happy to attach it somehow.
All CAD packages I've used generate STL, though not all equally well. STL files with overlapping or non-manifold surfaces are nasty to slice ("do I believe triangle A, stating that this point in space is inside the mesh? Or triangle B, equally emphatic that it's outside?") The new 123D from autodesk seems geared to fabrication, so might do well, but I haven't done much past installing it. I use Alibre at work and quite like it.
Andrew, you could combine paths that are linear, with a 1ms minimum step. I have some pretty simple code for simplifying paths into linear segments within a tolerance of X. If you want, I could do a quick mini-writeup. It's quite a bit simpler than the standard Ramer–Douglas–Peucker algorithm (split-and-merge), is O(n), and has many fewer special cases.
I have attached a couple of files (I think), the first is a simple gcode file, the second is the precompiled 1ms motion moves generated from the gcode file. These are linear segments, even if there were arcs or helical moves it will still output these linear movement segments. I am not sure if this is what you were suggesting.
@lonesock - Jonathan, could you recommend a CAD package, or list the ones you have had success with? I'm looking to make a list so we can install the proper set software on a workstation and get our printers to print (or any other CNC to move). Please assume participants have the full gamute of experience (from none to expert) when you make you recommendations, I'm sure we have examples of each. In my case, I have no CAD experience for decades (I'm not really so old, but it was a primative system).
I would like to first pursue driving the print operation from the PC. Once that works, we can look into moving more processing to the prop, one small step at a time. My opinion is succuess is easiest achived and verified with a big series of tiny steps, rather then a short series of giant steps.
@babinda01 - Andrew, which G-code reference do you use? Previous posts have mentioned references, and other sites talk about "subsets" of G-code for specific drivers, etc. I would like to name one specific source we could yuse as a common reference, to get us all on the same page.
It will not tolerate a lot of the ambiguous surface problems, and will give out error messages about them.
It's text-based input, with variables, flow-control, includes... It's possible to create 'parameterised' objects.
Need a cogwheel?
Load the file, change the axle-diameter, outer diameter, number of cogs, then generate the .stl-file.
G-code generators...
One popular is SFACT(Command-line, written in Python) which is used for creating G-code for 3D-printers.
(I use PronterFace, a windows-based program that works as a front-end for SFACT, and also does a bit of monitoring and the sending of code to the Printer)
Comments
As usual shipping may be an issue.
Actually, I'm working on it. My first pic is here: http://twitter.com/#!/wjsteele/status/110870032287928320/photo/1
I'll have the next few soon... still putting it all together.
Bill
So, I'm going to be building a daughterboard for RAMPS, prop based with ethernet to try and ethernet enable these things.
Any news on the main prop project? Any source code repository we can collaborate on?
I do have more changes locally to calculate the movement for the motors, but htey are not yet complete and not tested yet, still have not gotten the motors and drivers
I finally pulled the trigger and bought something!
Found a kit of the printed and laser cut parts from Sacha at Pumping Station 1, Chicago's hackerspace. http://pumpingstationone.org/
Sacha and his pals have built Mendel PRUSA units and are using them to print more printers, with improvements.
The kits of parts cost $150 US, and a set of linear bearings an additional $20.
I got a box of non-printed parts from a local industrial surplus http://www.jordanindustrial.com/ all the metric nuts and bolts for $11. They don't include all their surplus on the website, but if you call Mr. Jordan will do his best to find what you want or at least something you can use. He gave me SAE 5/16 washers instead of M8 washers, these might work and were cheap.
So far the only parts missing are the M8 Threaded rod and the M8 smooth rod. I have not found them locally yet, but I have a couple calls out.
There have been some discussions over on the Build forum here http://forums.parallax.com/showthread.php?133002-MakerBot-Build-Log-Prop-Control-Discussion
I have to complete my QuadCopter project using the Prop first. It is getting close... I have it lifting off the ground a few inches, so I am waiting for counter-rotating propellers now.
I've discovered that the NEMA 23 motors in my junk box are too big I'm going to have to break down and buy four NEMA 17's. Word is that the NEMA 14 is just as expensive and harder to find, so it looks like I'll just get another NEMA 17 for the extruder.
I'm considering the Sparkfun ROB-09238.
I haven't found motor drivers yet. Idbruce's geko-drive suggestion looks cool, but one of those costs more than the rest of the project.
Cluso99, are you using pololu motor drivers, and designing board to carry them and provide power? How's that coming? If you have a good solution I'd like to follow that.
I'm also having trouble finding the drive belts around here. I'm a software guy, how do I know from belts? Sheesh!
I must say I like the use of the linear bearings and they are not that expensive on eBay.
You require reasonable torque motors. From the online converter the 2.3kg/cm is ~30oz/in. I have seen some here in Oz that are 62oz/in for $20. The recommendation was for a minimum of ~20oz/in for the RepRap. A CNC will require a lot more holding torque, should you want to use you motors again later. There is quite a bit of info on the RepRap forums for motors. There is also info about the belts. I don't have either yet.
Use the same motor for the extruder and then all 4 are interchangeable.
four of the Pololu item #: 1182 A4988 motor drivers, A4988 Stepper Motor Driver Carrier http://www.pololu.com/catalog/product/1182
four of the Pololu item #: 1200 Stepper Motor: Unipolar/Bipolar, 200 Steps/Rev, 42x48mm, 4V, 1200mA http://www.pololu.com/catalog/product/1200
$123 with shipping, this has almost doubled the cost of the build. The four new NEMA 17 motors were necessary as my kit does not accept NEMA 24 which I had laying around the shop. I don't want to modify the design before I am familiar with the current configuration, so I will save the old motors for a later phase.
Total Cost so far
$150 Printed parts kit
$ 20 fancy linear bearings
$ 11 metric nuts and screws
$ 78 M8 Threaded rods (6m) M8 smooth rods (3m) McMaster-Carr
$123 stepper motors and drivers
====
$382
I still need to find belts and extruder.
Modifications:
print bed has three linear bearing in printed brackets, eye-balled and affixed with hot glue
belt rollers are printed instead of fender washers; must be heated before insertion of skate board bearings, one of mine got too hot and is slightly mooshed.
Your assembly looks good. Keep us posted, pics and all
Every prusa that I've seen runs two stepper motors from one polulu - including my own and the other 11 we're currently constructing.
lulzbot plastic parts: $65- NOTE: some of these parts are cast instead of printed, that's why they are more cost effective.
Replace the M8 threaded rods and smooth rods with 5/16". (5/16" = 7.9375mm) - close enough to 8mm it makes no odds.
You can then pick up the threaded rod from home depot (7 x $2.63) and drill rod from fastenal et al (3 x $4.67ish) = 18.41 + 14.01 = $32.42.
M8 threads are different to 5/16 thread so they have different nuts.
You also need a fifth stepper (but not a fifth pololu).
1 x X
1 x Y
2 x Z
1 x E
Doh! All this careful research and waiting, and I STILL purchase before all the information is in. I guess that's "curve" part of "learning curve".
I'm guessing the site is http://www.lulzbot.com/en/ and the specific parts are at this link: http://www.lulzbot.com/en/plastic-parts/59-reprap-plastic-parts.html
These will be on my list for 3D Printer #2
I will set up the four pololu motors on three of the pololu driver boards, and see if I can get the fourth driver board to run a small stepper that's in the spares drawer.
http://mendelmax.com/tikiwiki/tiki-index.php?page=MendelMax
Milling needs to be slow (lest you snap a bit) but with high torque. 3D printing needs to be fast and torque doesn't matter. You really need a screw-drive on the X and Y axis to mill but that isn't going to be fast enough to 3D print with.
The orginal intent of the thread was to find a CNC motion that could be used for 3D printing and for subtractive methods as well.
At least a working printer is a good milestone, I'll finsh that first. Milling considerations can wait till a later build.
There are plenty of routers that use belt drives and can machine aluminium. The feed rate depends a lot on the speed of the spindle and the depth of cut. For small machines a good way to machine metal is to use a really fast spindle and take really light cuts and then you can move quite quickly. There will be no "hogging out"!
3D printers are not all that fast when extruding but if you move at that speed for the "rapids" then the overall print times will be very long. Of course the rate of extrusion can be reduced so I guess you can print slowly.
Graham
Any insights on making versus buying a Hot End for the extruder? Cost versus hassle, etc?
I'm new to this forum and by chance came across this thread.
I work as a research academic in a university based in the United Kingdom and among one of my research interests is to develop a setup that will integrate additive manufacture with subtractive manufacture.
Simply put, to integrate a 3D printer with a CNC router and better still on a moving / rotating bed.
The ultimate dream would be to also incorporate a real time external 3D scanner that will act as a 3D capture device and to use the above 3DP-CNC set up as a replicating device.
3D scanning technology is still developing with issues in terms of accuracy and data processing / post processing; whereas the aspect of 3DP and CNC can be better worked out.
If you're keen to work on this, please get in touch.
Thanks.
Epei
First of all, welcome to the forum!
and your Idea is fantastic. While I really have not got much time to contribute to it, one thing I can offer is the amount of power you would need for a device of this caliber just screams Prop II. A huge draw of processing power would be where the program would automatically differentiate between when it should add, then subtract from the material in question for finer details, or is that something you would include in the part file?
I think you could use three separate machines if you determine a way to maintain registration between machine, for example a keyed platform base that is calibrated to all three machines, and just move the whole platform. From there move on to a common base that does all three functions.
How about a tetrahedron machine, with scanner, extruder and cutters each run from a different face, and base does rotaion? It would be a little bigger maybe, but might have possibilities.
For my part, I'm working on getting a standard printer running, then try looking are replacing electronics with prop parts, then moving on to cutting etc.
This thread has touched on a wide range requirements for a wide range of machines, from large, specialized professional CNC to small hobbyiest desktop printer. It seems the least expensive, least complex is the desktop 3D printer, most of these seem to be Arduino based.
To build towards our goal, we have the following:
cluso99 is working on hardware to change Arduino to prop
rosco-pc is working on firmware for the prop to control the motion
StephanL38 is working on a G-code interpreter
lonesock has some slicing software; to convert STL to G-code
neoteric shows us the popular workstaion software http://replicat.org/ which takes STL files and generates G-code
and https://github.com/zignig/blender-gcode-reader which does a virtual print simulation of the g-code
What are the popular CAD packages to create part drawings? Do these directly generate STL or G-code?
Ultimately, we might want a checklist that says, "get this set of hardware and software and you can have this set of CNC capability". I would like to start this by filling in the options for a complete 3D printing process. Can we come up with a list of software to install on workstation to take us from from a blank drawing to a printed part?
Your input?
I have been very keen to get a prop based CNC going for some time, but work has been so busy this year that I havn't managed to get anywhere.
I have available a gcode compiler to run on a pc (windows), it is a hack of the EMC compiler. It handle nearly all of EMC's gcodes and mcodes, and breaks them down into 1ms movement blocks (up to 6 axis), all the ramping, cutter compensation, backlash etc is handled within the compiler on a pc, it basically produces a text file of 1ms movement blocks. The tricky part is then going to be to read this file into the prop, originally I was going to read the whole file onto an sd card and then the prop reads it from there, but this file has the possibility to be huge, ie if you have a gcode program that takes 1/2 hour to run, this broken down into 1ms blocks results in a very large text file. The other possibility is to stream this file from the pc in largish chunks ie 10sec worth of motion into a buffer on the prop.
I think there are pros and cons for precomiling the gcode on a pc, but at the end of the day I feel the pc is the best place to do this, it takes a lot of the heat off the micro. A bit of work would need to be done to allow for overriding the feedrate, but I don't think this will be a major issue.
If anyone would like this compiler let me know and I would be happy to attach it somehow.
Keep up the good work.
Regards
Andrew
http://dl.dropbox.com/u/29510996/slicer%2001.htm
All CAD packages I've used generate STL, though not all equally well. STL files with overlapping or non-manifold surfaces are nasty to slice ("do I believe triangle A, stating that this point in space is inside the mesh? Or triangle B, equally emphatic that it's outside?") The new 123D from autodesk seems geared to fabrication, so might do well, but I haven't done much past installing it. I use Alibre at work and quite like it.
Andrew, you could combine paths that are linear, with a 1ms minimum step. I have some pretty simple code for simplifying paths into linear segments within a tolerance of X. If you want, I could do a quick mini-writeup. It's quite a bit simpler than the standard Ramer–Douglas–Peucker algorithm (split-and-merge), is O(n), and has many fewer special cases.
Jonathan
I have attached a couple of files (I think), the first is a simple gcode file, the second is the precompiled 1ms motion moves generated from the gcode file. These are linear segments, even if there were arcs or helical moves it will still output these linear movement segments. I am not sure if this is what you were suggesting.
Regards
Andrew
I would like to first pursue driving the print operation from the PC. Once that works, we can look into moving more processing to the prop, one small step at a time. My opinion is succuess is easiest achived and verified with a big series of tiny steps, rather then a short series of giant steps.
@babinda01 - Andrew, which G-code reference do you use? Previous posts have mentioned references, and other sites talk about "subsets" of G-code for specific drivers, etc. I would like to name one specific source we could yuse as a common reference, to get us all on the same page.
It will not tolerate a lot of the ambiguous surface problems, and will give out error messages about them.
It's text-based input, with variables, flow-control, includes... It's possible to create 'parameterised' objects.
Need a cogwheel?
Load the file, change the axle-diameter, outer diameter, number of cogs, then generate the .stl-file.
G-code generators...
One popular is SFACT(Command-line, written in Python) which is used for creating G-code for 3D-printers.
(I use PronterFace, a windows-based program that works as a front-end for SFACT, and also does a bit of monitoring and the sending of code to the Printer)