This is my atempt to build an inexpensive and precise multi purpose cnc machine. It's a CoreXY design with many 3d printed parts and generic electronics, smooth rods, bearings etc. Without any tools (laser, mill...) the frame itself costs less than 200$ to build.
My goals for it:
- PCB engraving
- 3d milling of wood, plastic, wax and maybe aluminium
- Laser engraving different materials
- Laser cutting paper, cardboard, vinyl and maybe wood
- Drawing maps on a whiteboard for our DnD campaign :)
My main concern right now is the rigidity of the frame, as this will influence the precision and what tools can be mounted to it. First 3d printed parts seem to be very strong and have little to no flexibility (printed in PLA at 90% infill on a Prusa i3 mk2). Working area is 400x400x70mm, if the design isn't rigid enough I will probably have to make it smaller...
Just a quick one to show the result of the latest test.
This time I tried to engrave a simple design into wood. Here's the result:
Please keep in mind that this is basically my first time using a mill.
The feed was set way to high, but I'm impressed that it didn't lose any steps.
Another thing that gets more and more clear as this project advances is that it needs some sort of auto Z calibration. For a decorative design like this it's no big deal if one side is 0.5mm higher than the other, but for technical parts or milling PCBs this makes a huge difference.
I know that Marlin has this feature, but it's used to calibrate on the entire working area, not just on the actual work pice. Estlcam would have this feature, but it's not working with CoreXY designs.
If anyone knows a solution for this please let me know :)
This weekend did not go as planned, there were a bunch of setbacks...
First of all, I'm still waiting on the Z-axis stepper motor, but that should goefully arrive this week.
What should have just a quick test of the firmware and the X- and Y-axis turned into a 6 hour long bughunt. I first tried GRBL, but it turns out that nobody got GRBL running on an Arduino Mega 2560 with a CoreXY configuration. You can choose 2 of those 3 things and have it running in a couple of minutes, but for some reason all 3 is impossible...
After about two hours I gave up with GRBL and instead installed Marlin, which worked on the first try, but seems to have less smooth motor movements. And for the next 2 hours I was trying to figure out why only one of my steppers was turning.
And this was the cause:
One of my stepper drivers was dead on arrival!
At this point I was ready to throw the electronics against a wall and felt extremely stupid that it took me this long to find the problem, but I wasn't done yet. With both motors now running I realised that they were stuttering and seemed to move too much. After quadruple checking my calculations for the steps/mm settings and everything else I gave up and went over to my girlfriend.
We talked it over and came to the conclusion that my calculations were correct, and she had the idea that the microstepping jumpers were set wrong. I wasn't convinced about this but said "sure, why not, I'm gonna test that tomorrow...".
Turns out she was right.
When I looked up the jumpers on a Ramps 1.4 board I found the table on the right, without the "DRV8825" label and assumed this was correct for all stepper drivers. Moral of this lection? Don't assume stuff and double check your sources...
Lastly I couldn't make the baseplate to mount everything to because of all the lost time. My local makerspace is only open on wednesday and saturday, so I hope I can go there today or next saturday...
Now to the good news:
All the parts that I had to reprint are printed, and the quick swap system works fine and seems to be very riggid!
The "universal toolholder" with a pen.
And the part that I'm most proud of so far:
I couldn't find a solid 5mm to 8mm coupler, so I made one myself :D
The last time I worked on a lathe was about 8 years ago, so I think it turned out pretty decent :)
A flexible coupler would have been too weak for my design, but this should do the trick.
That's it for this update, if anyone knows how to get GRBL working with a Arduino Mega + Ramps + CoreXY, or how to get smoother movement out of Marlin, please let me know.
Most of the parts that I ordered from aliexpress have arrived (still waiting for some Z-axis parts) and I printed about 50% of the 3d printed parts, so I thought it's time for a test assembly.
Here are the results:
X-Carriage turned out great, except for the Z endstop, which would get in the way of the nut... I have to find another place to mount it.
Back of the X-Carriage, clamping mechanism for the belts works great!
Everything that I can put together so far. I found some small changes that I need to make, which hopefully won't result in me having to reprint almost everything. It seems to have only a small amount of flex which stems from the long smooth rods and not the 3d printed parts.
Overall I'm happy so far and hope to have all the parts ready to assemble this weekend :)