Hi, I'm in the process of making a CNCmill with the Arduino-Mega2560 and want to add Dual-Head-3Dprinting to it.
What is the best free (OpenSource) software and firmware to use?
Hi, I'm in the process of making a CNCmill with the Arduino-Mega2560 and want to add Dual-Head-3Dprinting to it.
What is the best free (OpenSource) software and firmware to use?
For 3D printing Merlin is used often on the atmega512 and a ramps (1.4 or 1.6) shield.
For milling, grbl-Mega https://github.com/gnea/grbl-Mega
I am familiar with both Merlin and grbl-Mega.
But which one can do 3Dprinting and CNCmilling without reprogramming the firmware everytime I switch between 3Dprinting and CNCmilling?
I've seen 3Dprinters on exhibitions before that can be upgraded to do also milling.
I choose the Mega2560 because of the 5 independent stepper axis X,Y,Z for milling and A1,A2 for dual-head-3Dprinting.
grbl-Mega can't be used for 3D printing. Merlin can drive the 3 steppers needed for milling.
If the GUI supports merlin and you CAD/CAM (post processor) supports grbl (Merlin) it probably is going to work.
I need to switch frequently between different CPU boards (grbl, grblHAL, Grbl_ESP32, etc). To do this I am redesigning my setup. When it is done, every CPU board gets a simple shield that only has one connector (Dsub-25) that fits the main board. Swapping the board will be no more than plugging the board and shield on the main board.
I would suggest Cura for the 3D printing. and Slic3r for model slicing. You might want to consider one of the newer 32 bit boards instead of the Mega. BigTree makes some good boards but they are set up to drive nema 17 motors which in my opinion are too small for a CNC machine. I would size the machine and stepper motors for the job of CNC cutting based on my spindle and add the 3D printing as a extra. The reason is the machine has to be built stronger for the CNC function while the 3D printing has no real forces to deal with.
I tried this once on a cnc router. Although routers are pretty light duty the printing action shook the machine violently. It had way too much mass to move that quickly. Printers are cheap and well suited for the task.
Sent from my iPhone using Tapatalk
@hfjbuis
Merlin when 3Dprinting drives the 3 steppers needed for milling indeed,
But which GUI-software to use for milling that hopefully can generate gcode too?
I thought of switching between different CPU boards before with a universal header but my kids will also use it and then it's not recommended.
Nice idea to use the Dsub-25 for that :wave:
@wyzarddoc
Cura can do model slicing too, why use Slic3r too?
You are correct sizing the machine for milling first.
@Dean448
3Dprinting action will shake the machine violently because of the moment of inertia.
Therefore I designed the machine to remove the heavy mill spindle before 3Dprinting.
Also reduced the speeds in the slicing settings.
I have a 3Dprinter 20x20x20cm for most of my work but the new machine is for larger build volumes.
As far as I know, only fusion360 has a post processor for grbl.But which GUI-software to use for milling that hopefully can generate gcode too?
I have 2 3D printers and use Cura, Slic3r, Simplify 3D and 3D-Coat print and all seem to slice a little differently guess I will have to take time to see which I like best and stick with it
until then it's whichever I am in the mood with dealing with when I need to print.
Is the fusion360 post processor for grbl then needed with 3Dprinting?
And GbrlGru for milling?
For 3D printing I use CURA it's a free program and you can set most of your machine variables in it. I then let CURA run the 3D printer who's processor is running a version of Grbl It is in the grbl setup files that the steppes per division ect. are setup along with the geometry of the machine etc. I have not setup Fusion 360 to do any type of printing but from my understanding Fusion 360 only generates G-code to be sent to a CAM package like grbl. I don't know if Fusion 360 will do layer slicing needed for a 3D print. What I have done in the past is generate a .stl file in Fusion 360 and import the .stl file into CURA for slicing and printing. Hope that helps.
I forgot to mention I am running Marlin 2.0 on one of my 3D printers that I use CURA on instead of grbl. I run grbl on my laser engravers.
In the past in a Fablab I used Cura for the Ultimaker 3Dprinter. I didn't know the firmware was grbl or could work with it.
I think that indeed the building aproach should be "correct sizing the machine for milling first" but then, because of the dual-heads with hotends, in the electronics the controller first should work with 3Dprinting and then expand with milling option maybe with the help of a post-processor.
I Just found that most of the dual-heads 3Dprinters use Marlin!
Let me clear up a misconception. Marlin is a variant of grbl. I have never tried to run CURA on a grbl setup. If your doing dual head printer I would recommend using Marlin since dual heads have additional commands not typically found in grbl. If your a C++ programmer then both Marlin and grbl are open source and can be downloaded and modified from github. You might try googling CNC router with 3D printing and see what others have done. I know several people have combined CNC routing/milling with laser engraving sucessfully.
The problem is like someone mentioned earlier the popular software for 3D printing is Marlin and for CNC is grbl which means to change the machine from 3D printing to CNC you will need to reload the micro-controller with the appropriate software.
Thanks for the clarification.
So for both milling and 3D printing with dual heads can work with the mega2560.
And Marlin & Gbrl are firmware variant family.
On the pc software side it would be just selecting Cura/Slic3r or GbrlGru.
This could be possible by using 2 mega2560 flashed with both firmware seperatly.
An idea to make IT all working in Just one mega2560 could be programming IT in different SLOTs of the microcontroller like I used IT frequently in Microchips.
I don't know if the mega2560 has SLOTs.
If so then the flashing Marlin in SLOT0 and GbrlGru in SLOT1 could be done and selection can be made when starting the mega2560.
My personal preference would be 2 X mega2560 one with grbl and another with Marlin. I would 1st setup the grbl and get it working and then the 2 print head version of Marlin. The 2 print head is going to take a lot of time to get working. I am not familiar with the term SLOT and what it means. Both Marlin and grbl are going to require a sender program on your PC to send the g-code to the mega2560. Something like Universal G-Code Sender or UGS check out the google search.
2 X mega2560 is going to work but I have to switch all steppers, switches, between the 2 boards!
Alternatives for 1 x mega2560:
1) Check out SLOTs programming in wiki.
"...the stamp immediately starts executing the program in slot 0 (of 8, numbered 0..7)."
Same for a Microchip up to 4 SLOT's.
2) Could it be possible to merge the Marlin and Gbrl together to fit in the chips programming area in just 1 mega2560?
That depends on your drivers. External drivers often have optocoupler inputs. If so, you probably can connect both mega boards to the same driver.2 X mega2560 is going to work but I have to switch all steppers, switches, between the 2 boards!
No, on an atmega processor you can only have 1 program.2) Could it be possible to merge the Marlin and Gbrl together to fit in the chips programming area in just 1 mega2560?
If you can run Marlin on the mill and 3D printer, by just changing settings by hand, it is feasible to change these settings at the start of the program depending on the state of a switch.It would not be a program "merge" as much as changing a lot of variables with a hardware switch and 1 long program
Anything else is possible (we walked on the moon) but requires a lot of work.