Summer 2023-present
While I was working on my robot arm project, there were multiple points where I ran into problems with flex and general material weakness of 3D printed parts. Some filaments are stronger than others, but even with stiffer material I had issues. I wanted a compact way to make small metal parts at home, and I was increasingly interested in a desktop CNC mill. A lot of the machines in this category are very expensive however, so I thought it would be an interesting project to convert one myself. The proxxon MF70 is a common choice for this conversion and there were a good amount of existing projects to serve as inspiration. Beyond the CNC conversion I also upgraded the spindle with a large brushless motor and a speed readout.
This project has a few components, the first being the base mill that I converted. I started with a Proxxon MF 70, which is a relatively small manual mill with a pretty weak spindle motor. It has the advantage of being all all metal with a sturdy cast iron base however, and it small size makes it more suitable for storage in a small space.
Converting this mill to CNC has been done enough that there are many kits available as well as some 3d printable options. For the x and y axes I chose to print some nicely designed motor mounts that I found by claustonnesen on Thingiverse. These also increased the y travel distance over the stock mill. For the z axis I designed my own stepper motor mount in order to make space for the large spindle motor I planned to add. This meant I had to offset the motor position and use a belt for the z axis. All of the axes include switches to prevent the machine from moving beyond its limits.
The spindle motor from the machine is a large brushless motor repurposed from an electric skateboard that I built in highschool. The VESC speed controller is also from that project and allows for a bunch of control schemes. The VESC is set to control the speed of the motor with a potentiometer and the Hall sensors in the motor. In this scheme the ESC will adjust the supplied current to regulate the motor speed regardless of the load on the spindle. The ESC is also configured not to exceed the maximum current that the power supply is capable of providing.
To give feedback on the motor speed I use an arduino inside the spindle housing and a hall effect sensor that measures the rotational frequency of magnets on the spindle shaft. Although there are two magnets pictured, only one faces the correct way to trigger the sensor and the other is there for balance, this way the Arduino does not have to record 2x the speed. There is a 3:1 ratio from the spindle to the motor with a 36v power supply and a 180 KV motor. I was aiming for a top speed around 20K rpm with these basic stats but I have seen speeds slightly higher than that on the current version.
Cross section of the spindle housing with motor, spindle, screen, arduino and motor mount. I replaced the stock spindle/chuck with one with a higher diameter as well as new bearings from McMaster-Carr that were rated for the speeds I was expecting.
The project makes use of a generic 3 axis CNC controller I bought on Amazon and which I interface with using Universal G-code Sender on my laptop. The G-code is generated using Fusion 360's CAM tool which I was not familiar with before starting this project. I have started to use the CAM tool more and I am trying to get more familiar with it so I can mill parts for future projects. I make use of the CNC controller's emergency stop function with a button that is wired to the top of the enclosure of the machine, which is a 3d printer enclosure I found that has convenient double doors on the front. The enclosre also has built in lighting which is also really nice to have. The machine is screwed into a large block of plywood under the bottom of the enclosure for added stability and to prevent it moving around.
The video above shows the first test I did with the mill. I tried a surfacing operation on a small piece of wood I had using a random wood router bit from my basement. I have since gotten some more endmills in various shapes and sizes but this test was just to see how the mill would cut.
The video is cut short because the spindle cut out and I had to stop the operation, but I adjusted the feed rate and got the result on the left. I think the ESC exceeded the current limit that was set, so I lowered the feed rate and the spindle speed, but I also think a different endmill might have helped.
My next step for this project is adding some way to repeatedly clamp a piece of stock so I can start an operation without manually jogging the machine around. I also would like to test the machine further with some aluminum machining, but I have not had enough time yet since moving back to school.