Summer 2023
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 larger diameter as well as new bearings that were rated for the speeds I was expecting.
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 wood router bit.
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.