Prop-based CNC/3D printer
prof_braino
Posts: 4,313
Anyone interested in a collaborative effort to create a CNC/3D printer object (or collection of objects)?
I'm interested in exploring an open source CNC/3D printer.
Background - the thread: http://forums.parallax.com/showthread.php?129260-Your-opinion-about-Propeller-s-future
contains suggestions about a COMMERCIAL PRODUCT using the prop as a way of increasing demand for the prop, and bringing the cost of the prop chip down for all of us.
One of the suggestions was for a parallax CNC machine. I am of the opinion that home/small-business CNC/3D printing could be the next game-changer, and I WANT ONE. I bet you do too.
The hardware for a CNC machine and for 3D printer could be very similar (up to the choice of cutting head versus print head). Make Magazine has done several articles on CNC machines and 3D printers using various controllers. A prop-based design could have several advantages, including potentially eliminate the need for a separate PC for various functions. There are a couple folks on this forum and on the web that have built similar machines. While Parallax may or may not have the inclination/resources to develop such a project, they may appreciate the option of productizing and carrying such unit if the design and development are done by the community. Best case is Parallax sells a lot of them and the price of props comes down for us, worst case is we get a 3D printer.
Does this sound reasonable? Your input, please.
[EDIT] Build log of a standard 3D-printer to be used as a baseline for this project
http://reprap.org/wiki/PrusaBuildNotesBraino
Based on this build, focus is a swap in replacement for Sanguino v1.3 electronics for a Mendel Prusa. This will allow an apples to apples comparison of cost, complexity, accuracy, functionality, etc between a prop solution and the stock solution. This investigation will use the same connectors and Pololu stepper motor drivers from the Sanguino. The Prop board and prop firmware will be the only change. The result is to be compatible with the PC side of the 3D printing tool chain:
PRINTRUN/PRONTERFACE python gui on the PC
SFACT/Skeinforge on the PC
OpenSCAD will be used to crreate model on the PC, and export these as STL files. The STL files will be processed on the PC to generate G-code. The G-code will be processed on the Prop to control the device motion.
[Edited to collect references from throughout the thread, updated as available]
CNC
Roy's eMaker Huxley http://forums.parallax.com/showthread.php?135354-Building-my-eMaker-Huxley-%283d-printer%29/page2&highlight=phil+huxley
Phil's Thing-O-Matic Makerbot http://forums.parallax.com/showthread.php?133002-MakerBot-Build-Log-Prop-Control-Discussion
wjsteels's aluminum MakerBot Thing-o-matic http://twitpic.com/78xr7i
Ray's G-code interpreter thread http://forums.parallax.com/showthread.php?129853-Propeller-gcode-interpreter-for-CNC-and-3D-Printer
Firmware:
wjsteele: (suggested prop G-code interpreter)
Workstation and Tool Chain:
wjsteele: PC - SketchUp (STL) -> ReplicatorG (G-code) http://replicat.org/ -> (s3g) -> MakerBots
W9FGO: PC - SketchUp (STL) -> .... -> MakerBot Thing-o-matic
babinda01: PC - ... GRBL -> Arduino UNO (...)
lonesock:
Gadgetman: PC-(windows) OpenSCAD -> PronterFace front-end for SFACT -> SFACT (G-code) -> ...
neotic : blender https://github.com/zignig/blender-gcode-reader
References:
http://linuxcnc.org/docs/html/gcode.html
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?CoordinateSystems
Related Thread
I'm interested in exploring an open source CNC/3D printer.
Background - the thread: http://forums.parallax.com/showthread.php?129260-Your-opinion-about-Propeller-s-future
contains suggestions about a COMMERCIAL PRODUCT using the prop as a way of increasing demand for the prop, and bringing the cost of the prop chip down for all of us.
One of the suggestions was for a parallax CNC machine. I am of the opinion that home/small-business CNC/3D printing could be the next game-changer, and I WANT ONE. I bet you do too.
The hardware for a CNC machine and for 3D printer could be very similar (up to the choice of cutting head versus print head). Make Magazine has done several articles on CNC machines and 3D printers using various controllers. A prop-based design could have several advantages, including potentially eliminate the need for a separate PC for various functions. There are a couple folks on this forum and on the web that have built similar machines. While Parallax may or may not have the inclination/resources to develop such a project, they may appreciate the option of productizing and carrying such unit if the design and development are done by the community. Best case is Parallax sells a lot of them and the price of props comes down for us, worst case is we get a 3D printer.
Does this sound reasonable? Your input, please.
[EDIT] Build log of a standard 3D-printer to be used as a baseline for this project
http://reprap.org/wiki/PrusaBuildNotesBraino
Based on this build, focus is a swap in replacement for Sanguino v1.3 electronics for a Mendel Prusa. This will allow an apples to apples comparison of cost, complexity, accuracy, functionality, etc between a prop solution and the stock solution. This investigation will use the same connectors and Pololu stepper motor drivers from the Sanguino. The Prop board and prop firmware will be the only change. The result is to be compatible with the PC side of the 3D printing tool chain:
PRINTRUN/PRONTERFACE python gui on the PC
SFACT/Skeinforge on the PC
OpenSCAD will be used to crreate model on the PC, and export these as STL files. The STL files will be processed on the PC to generate G-code. The G-code will be processed on the Prop to control the device motion.
[Edited to collect references from throughout the thread, updated as available]
CNC
Roy's eMaker Huxley http://forums.parallax.com/showthread.php?135354-Building-my-eMaker-Huxley-%283d-printer%29/page2&highlight=phil+huxley
Phil's Thing-O-Matic Makerbot http://forums.parallax.com/showthread.php?133002-MakerBot-Build-Log-Prop-Control-Discussion
wjsteels's aluminum MakerBot Thing-o-matic http://twitpic.com/78xr7i
Ray's G-code interpreter thread http://forums.parallax.com/showthread.php?129853-Propeller-gcode-interpreter-for-CNC-and-3D-Printer
Firmware:
wjsteele: (suggested prop G-code interpreter)
Workstation and Tool Chain:
wjsteele: PC - SketchUp (STL) -> ReplicatorG (G-code) http://replicat.org/ -> (s3g) -> MakerBots
W9FGO: PC - SketchUp (STL) -> .... -> MakerBot Thing-o-matic
babinda01: PC - ... GRBL -> Arduino UNO (...)
lonesock:
Gadgetman: PC-(windows) OpenSCAD -> PronterFace front-end for SFACT -> SFACT (G-code) -> ...
neotic : blender https://github.com/zignig/blender-gcode-reader
References:
http://linuxcnc.org/docs/html/gcode.html
http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?CoordinateSystems
Related Thread
Comments
for me personally the price is low enough.
I don't think that a CNC or 3D-printer sells in numbers of several thousands per month to increase the propeller-production reasonably.
For that a smaller application like the webradio or a autonomiuos robot that can do funny things AND work as an effective vacuum cleaner
has a better chance to sell in somehow bigger numbers.
I guess parallax will not expand into a more mechanical direction as CNC is.
My opinion is: If you want to sell a CNC-Kit it has to be much better than a DIY-machine.
Not in precision but in easyness of building it together, security-aspects and support.
If you can buy it for a few hundred dollars people that only THINK they know enough about it will buy
it and as they in fact don't know enough but don't see it this way will be unsatisfied with it.
Anyway I'm in a slow progress of building up a small CNC-mill. But it is not my main-project
so it will take minimum several month until I can do a first test.
Another project that is in my pipeline is the eggbot. A first version will use the original EiBot-board to control
the stepper-motors. But I'm thinking about a propeller-based version that emulats the commands of the original EiBot-board.
This machine is a lot easier to build up than a CNC. Therefore it could be a first step into the direction CNC.
A CNC-machine has to be a lot of stiffer than a 3D-printer because the forces are much bigger than extruding melted plastic.
The RepRap-3D printer is about $400. The makerbot about $1000.
As far as did come on researching this a really small CNC-mill-Kit starts at $1500. ready-to use CNC-mills start at $2000.
If somebody has found a CNC-mill-kit with a still good precision (0,05mm) that is much cheaper than that let me know.
best regards
Stefan
Here in germany the electronics magazine elektor introduced a cnc milling machine as a DIY set. Costs around $2300, but it's a bestseller.
Latest product they offer is a special CNC for milling PCBs. Double the price of the former one.
I would also like to build a CNC by my own. In another forum there was a post of a guy that attached a 200mW UV laser-pointer to it and now he can produce his own photo-positive etched PCBs.
http://www.youtube.com/user/littlestworkshop
I've got a few CNC machines already based on Proxxon mechanics, other forum members have machines too.
As far as the 3D printers that are available already at low cost, well I probably would not bother personally. In my lab we have the commercial versions of these FDM machines, a uprint. Quite a good machine but the parts are far from perfect, the reprap and the makerbot produce parts that look much worse and I also don't think they print a support material which limits what you can print. I think these are great fun machines, a great thing to do as a hobby but for me the parts are not good enough.
I would much prefer to make something that could print in wax, preferably in two different melting points, there is great potential then for casting, you can print a part and make a copy of it in any material. The commercial machines are amazingly precise, I can do the mechanics but the print head has beaten me as yet. I did watch a video of a guy who had managed to print wax with an epson head so it might be worth looking at again.
Graham
You hit the nail on the head!
In my limited experience and knowledge, I have come across many CNC packages for the Homebrew CNC. Most of them are limited to 3 or 4 stepper motors, and are given their instructions through the serial port of a PC. Of course there are pros and cons to this situation. The main benefit to utilizing the serial port of a PC, is that you can use common OS CNC software to accomplish your machining. The downside is cost, limited number of drives, tying up a PC, ETC....
By utilizing several Propellers instead, you can have a display, keyboard, mouse, numerous sensor inputs, and an endless array of motors. And by joining machines together through serial communication, your possibilities become limitless. The only downside that I can see or have realized, is that you must write your own machining code or G-code parser.
That being said, the 3D printer concept has intrigued me for quite some time, however, I do not have the time to start a new project. But if I can provide any assistance or guidance for you, please do not hesitate to ask.
Bruce
So, go for it! I will produce a stepper driver pcb shortly, similar to the Polu board but based on a better version of the chip which has better protection.
Regarding the OPs original thoughts though, I am not sure if there really is enough of a market for a standalone controller like this. The hobby CNC industry is pretty big, but the control market is pretty well locked with the MACH and EMC software and a few others. For me, making the controller was a personal challenge to see how far I could push the performance levels of a micro based CNC control. Turning the product commercial is a whole-nuther issue though, it becomes work rather than fun. I would say some serious market research needs to be done to determine if there is enough market for such a commercial product.
As for the control logic for CNC motion versus 3D printer motion, certainly the 3D printer would be much easier to control at the machine level. You only need 1 axis moving at a time and there is no need for interpolated motions or even accurate velocity control. The real complexity would come from the interpretation of the 3D CAD files and converting that into something useable for the printing motions. That part of the project would probably be best handled by PC based software.
For the CNC motion, (as in a conventional CNC machine control), the motion control becomes a bit more complex. The most obvious aspects being interpolated motions and precise velocity control - both at the same time. A CNC control can certainly handle the simple task of 3D printing, however, the inverse is not true.
The mechanicals would be the next major concern, 3D printers are generally very flimsy compared to CNC machines, this is due to the additive versus subtractive processes. The mechanicals for a 3D printer could be made much more cost effectively than that of a CNC machine.
In the end, a commercial product always comes down to dollars and cents. If there is a demand and you can fill the need, money can be made. Competing against MACH software which costs less than $200.00 is tough, competing against EMC for free is even tougher. Just a suggestion, but perhaps a low-cost PLC might be a better place to start.
Some videos of a propeller based CNC controller....
Control overview
http://www.youtube.com/watch?v=PSuObtH2Tng
Machine overview
http://www.youtube.com/watch?v=ybEraG8FeP8
Isolation milling
http://www.youtube.com/watch?v=HF1Z9evXor0
Machine running using the MACH software
http://www.youtube.com/watch?v=Meibht6i0iw
Chris
Chris_D makes a valid point here:
However, I would say not to be discouraged. As I said earlier, the 3D printer concept has intrigued me for some time. I truly believe there is a lot of money that can and will be made with this concept. I think 3D printers will be the wave of the future for many modeling projects and prototypes, which will be a prerequisite for many business ventures.
I have not mentioned this anywhere else, but I have devised a very inexpensive and yet very sturdy mechanical system that could be utilized for 3D printing. It is a 3-axis CNC assembly, that will probably revolutionize many homebrew CNC systems. If this were to become a serious endeavor, I might be persuaded to share my design and participate.
Bruce
P.S. Additionally, I am only about 30 miles from Chicago
Und noch gleich auf Deutsch: Also, ich habe mich entschieden, ein solches Projekt anzugehen und bestelle einiges by Parallax. Das ist die Gelegenheit zu einer Sammelbestellung, die Versandkosten sind dann nur hier in Deutschland f
Another file format that many cad programs export is SLC, this is layer based and contains contours describing the layers. Less processing for some things like SLS but still horrid.
I've generated STL and SLC from CT data with my own PC sofware and I would not dream of trying to process them on a propeller. But why bother, the CAD was on a PC so why not the "CAM". You can transfer the paths by SD/USB or wifi to the machine.
Quite a claim!
Graham
I stand behind that claim! I would be willing to bet that I can create a sturdy and accurate 3-Axis CNC system at 1/10 of the current market price. How is that for revolutionary?
You will know just how serious I am when I start posting photos and video
Apparently you have done some serious investigation into this subject. Do you have a sample of some G-Code for 3D printing? If so, I would be interested in taking a gander at it.
Bruce
Perhaps you might merge those replies in to one for compactness, else we shoot off into multiple pages for no reason.
I look forward to the videos, I've an interest in novel machine design myself, on my youtube channel you will find a simple 2-axis parallel kinematic machine that I (re!)invented.
I don't have any g-code that applies to 3Dprinting as our machine sends the tool paths directly to the printer and saves as a horrific binary file, it is probably not g-code. My work with the file formats was at the other end of the game, generation of the CAD from CT data.
But if the toolpaths are what floats your boat then I can help there in as much as I can take some screen shots from the software. I'm working at home today but back in the lab tomorrow. In the mean time this is probably as good as I will do:
http://www.stanford.edu/group/prl/documents/html/fdm.htm
The process is generally:
1. Import
2. Orientate (decide which way is up, it makes a difference to part quality)
3. "slice" It creates contours around the model, internally and externally.
4. Generate support tool paths, it is a dual material machine, one material is soluble, it builds it as a scaffolding to reduce material use. Bear in mind not all overhands need support so it works all this out too.
5. Generate material tool paths, roughly an outline and then a zig zag fill. But you can also do a honeycomb type fill for light stiff parts.
Of course Reprap and maker bot have also done this, I think less the supports.
Graham
Yea the G-Code is the important stuff.
In a different thread, I discussed using a PC and software to create the G-Code, and the just upload the G-Code or have an sd containing the G-Code, then all you need is the parser, which would be much more feasible for the Propeller.
Bruce
Their software sections the STL file, after orientation, then builds motion paths for the extruder. Two axis move at a time for the in plane motion of the print head, with a Z axis for the table. The table motion vertically doesn't need to happen in tandem with the print head motion.
That particular software is very robust. I've ran a number of tests against it, models with holes, internal surfaces, etc... and it's printed them with good results. Detail parts can be absolutely HUGE. I've had some models take the better part of a day to build completely. That software path is where a lot of innovation is for extruders. The geometry of the model must be filled in sequence, but there are also many difficult boundary conditions surrounding smaller detail parts and or thin models that require variations in that path to prevent changes in the model size while printing.
Model deformities are the primary limitation of open air printers. Overall model size is very limited without building in a heated environment. That heated environment is about 300 degrees or so.
A while back, I had a lot of experience with a wax type printer. It is phenomenal for castings. Shame it's not done more. Most people appear to want functional models.
Materials are the other innovation as new polymers are always being introduced with intriguing properties! The next round of materials will perform very well after being extruded. One nice artifact of the extruders is the pattern fill type structures inside most thicker models add a lot of strength to the model, with the trade-off being the model has a very non-linear (will break rather than bend) response to strain. All in all, it's possible to make "snap" type enclosures and simple machines with extruders.
I expect the existing players to get these things into the $500 range in a few years.
Absolutely, it is how our laser cutter works (except using a USB stick).
I needed more I/O than a single Propeller for an industrial system, so I built a small board with three props each communicating with the other two. One Prop was optimized for user interface stuff, (Vga, keyboard, mouse, RS232, 8 channel 12 bit analog, etc ) the other two did general i/o and USB communications.
I use this board for controlling a 6 axis (CNC) coating system making medical test products. ( only 5 axis are interpolative, I use a large hobby servo for the 6th )
Some time ago, I also posted my 5 axis interpolative code here on the forum. It's written in spin so it isn't as fast as it could be in PASM, but it works fine for the resolution ( 2000 steps per inch ) and speeds ( similar to most CNC mills ) I need.
I didn't include ramping in the code ( I don't need it for this particular application ) but it isn't hard to implement. Also, THIS code is 5 axis step and direction, but transistor control for unipolar half and full step drive is easy to do with a phase lookup table. (PWM microstepping is a possibility with the Prop as well, but I've never done it )
A few years ago, I took one of my three axis marking systems and mounted a hot-melt glue gun on the marking head. I used pwm drive DC motor to push out the glue. It was undeniably CRUDE with about 1/16 inch layers, but I could build 3D shapes with it.
I still have some of these bare circuit boards laying around somewhere. The 37D connectors on each end make it easy ( and cheap) way to mount it onto a second board containing opto-I/Os , signal conditioning, Power input, etc.
In short, it DOES most of the stuff some of you want to do with a Prop Based CNC controller. It has 24 cogs, 50-some I/O's + the vga, mouse, keyboard, etc.
You can find the 5-axis interpolative code I posted and are welcome to use or modify it for your own use, but if someone is interested in taking the board and code I have here into some sort of production direction, let me know, most of the work is already done.
Ken Bash
That sounds and looks pretty sweet! Tells us more! How about some better pics of that board with a better description?. That looks just like the ticket.
You say you posted that on one of my threads, I must have missed that. I am impressed.
EDITED: Forget the other pics, but tell us more. What kind of drivers were you using? What type of VGA? Keyboard? ETC.... Perhaps a pic of the entire setup would be excellent. Perhaps Parallax might be interested in something like this. Very cool kbash. I would be particularly interested in the end that is marked 37 pin female. Are most of these going straight to the props?
Bruce
http://www.geek.com/articles/gadgets/makerbot-3d-printer-cathedral-2011029/
I so want one! Not sure I want to spend that much though...
It's definitely something that the Prop would be perfect for.
I have two of the "older" generation Makerbot Cupcake CNC machines. The last one I just bought in January for under $700 and it has all the upgrades!
Bill
So 1/10 would mean $200 with a precision of 0,05 mm and in fact THAT would be revolutionary!!
So can you make a raw estimation about the absolute price and the achievable precision?
best regards
Stefan
It appears we have a consensus, the idea is cool and doable and we all want one.
Much work has been done, but enough remains for this to still be interesting.
As I see it, these are the High level requirements:
Reference point: electronics mag elektor cnc DIY set $2300 bestseller (Thanks MagIO2)
Reference point: CNC for milling PCBs Double the price ($4600) (Thanks MagIO2)
machining code or G-code parser (Thanks idbruce)
3D printing control as a subset of CNC control (Thanks Chris_D)
Project does NOT include:
Project does NOT include a Goal of increasing parallax prop sales to lower production cost (Thanks StephanL38)
Project does NOT include a standalone CNC controller (Thanks Chris_D)
Project does NOT include plans for a commercial product (Thanks Chris_D)
Final Goals May include:
Final kit must be easier to build than current DYI project (Thanks StephanL38) [Quantify "easier" at later date]
Result must include responsibilities of user (casual user does not sufficiently understand and is unsatisfied) (Thanks StephanL38)
I'm a software quality engineer; so I pretend I don't know software and instead concentrate on process, and trust the experts.
The idea is that we let the experts work out the issues in their field, and provide feedback to ensure that the "interfaces" between the different disciplines have been addressed. Based on the posts and for the sake of having a person to ask questions on a given topic, I have this list of "project experts":
idbruce for mechanical parts
Cluso99 for mechanics / electromechanical
Grahm Stabler for wax print head
Chris_D for functional specification (what to do and what NOT to do)
idbruce for single mechanics for both CNC and 3D
Grahm Stabler for software architecture
potatohead for software architecture
potatohead for controlled environment (oven)
potatohead for print materials
kbash for system design
rayman for electronics
If it OK with all of you, I would like to continue to draw on your talent in these and other areas as applicable.
I would also appreciate any input as to other expertise that will be needed and is not represented already.
Does this appear reasonable? Please suggest any changes to help make this happen.
A 3D printer makes a terrible CNC and a CNC doesn't necessarily make a good 3D printer, it depends on the technology used. Imagine using a single nozzle wax jet on a CNC router, it would be like milling with a 50micron cutter!
If the goal is no longer world domination for parallax then what is it that you want to build? In my experience it is best to start from the thing you want to make before then working backwards. Just ask Chris and he'll tell you, in CNC you start at the cutter and go backwards to design the machine.
I'm not interested in being an expert, even if I was one on "software architecture" which I am not. I don't know what you are trying to achieve? Are you sure you are not a software manager? I can answer questions on mechanical engineering as well as most, on electronics some etc, I'm sure most others are like this best to just put it out there and see who can provide good answers and ideas.
Graham
Here's what I want: Combo of these three: CNC, 3D Printer, and pick&place.
But, I think I'd settle for the 3D printer...
We really should ask Chuck George at MountainKing if he wants to help laser cut some stuff so we can make a Prop powered 3D printer...
Graham
Don't believe me? That's okay by me, I don't need to justify my idea, my precision, my cost to anyone. If you want to nit pick my claim thats okay. I know what I know and thats all I know.
StefanL38 you guide them with your vast skill and knowledge.
Bruce
Good Luck With Your Future
And Yet Another Project That Will Fail To Have My Input
I hope you don't take this the wrong way but I have to say that your extreme sensitivity to posters here is really frustrating me.
For example you stated,
Well, at this point I am all ears. it's tantalizing. I want to know more. My interest is piqued. I'm sure many others feel the same as it's an interesting topic and a worthy goal.
Next thing we know its:
Apparently in response to someone who believes it's not possible or is basically saying "let's see it"
Well hot damn, we are all on a roll and then the brakes jam on and we are all left in the lurch.
Now perhaps your approach is good and workable and perhaps it is not. Which everway, if we don't see it we will never know.
If it's good you and everybody here can benefit by cooperation and feedback of ideas. The thing will grow and prosper to the good of all. Including you.
If it's bad, well so what? You loose nothing by showing all. Perhaps you even learn from that from the ensuing feed back.
Either way if the thing works for you there is no loss, it's still there.
I'm sure a few negative or discouraging posts here are not going to effect the validity of the idea and anyway one posters reaction is not indicative of the majority view.
I am a pretty decent guy as far as decent guys go. Since my time at the forum, I have met some very good people and I have met some people that I certainly would prefer being left out of my life. On many of my posts, the same person disagreed with me on many occassions. I am tired of these confrontal people. If they want to feel so important as to try and belittle me, I wish them luck with their pitiful lifes. I have much better things to do than to argue with them.
I consider the forementioned idea proprietary, and even though I said I might be persuaded to share it, I never made any such promise. StefanL38 can share his brilliant ideas instead
The proof is in the pudding!
Bruce
Some people are just annoying. Perhaps not because they are or want to be but just because of personality differences, or cultural differences or just the wrong hair cut. So what? We can easily ignore whomever we choose on a forum and concentrate our attention on those we respect. Do remember that not everyone on the forum or thread should be tarred with the same brush.
If you can capitalize on your concept in some way, we will all understand the desire to keep it under wraps. After all we are all in business in one way or another.
I would beg you to consider everyone else here. As I say it is frustrating to be teased with the prospect of something wonderful and then have the cookie jar slammed shut.
Like having that girl in the low cut dress chat you up all night in the bar and then putting her coat on and going home with here boyfriend. It's just not fair and sometimes leads to violence:)
Anyway this is all way off topic so that's it.
You made a pretty fantastic claim, expect to be questioned about it. I guess the real question is, What is it going to take for you to share it?
Chris
https://docs.google.com/Doc?docid=0AcWKwJ2SAxDzZGd6amZyY2NfMmdtODRnZ2Ri&hl=en&pli=1