Drive expensive high speed spindles with cheap RC motor controller

One of the most important parts of any CNC mill or lathe is the spindle quality. Many people building their own machines cut corners there. The main reason for that is probably cost. Good quality high speed spindles are very expensive, and the spindle controllers usually are too. For example, NSK Nakanishi makes a line of great high speed spindles.

These are used in many high end CNC machines. They can often be found at reduced cost on eBay and such, but that still leaves the user with the need for a motor controller capable of driving them. The motor controllers for these spindles are usually much harder to find, and comparably expensive. However, the motors are usually just BLDC motors. In recent years, RC motor controllers for high power, high RPM motors have become cheaply available. And so, in principle, these should be a cheap alternative to the expensive proprietary motor controllers. Lets test that theory.

I have a KaVo Type 4015 spindle on hand that is small and light enough to fit on a 3D printer as CNC mill retrofit. The spindle is capable of running at 80000 RPM providing 250W of cutting power.

It comes with a 4 pin cable, 3 of which are the windings of the BLDC motor and one is connected to the case. I grabbed a cheap electronic speed controller (ESC) and servo tester from Amazon to test with.

These devices run BLDC motors without feedback (though some can use feedback signals) on RC motors that run at very high speeds (though not voltages). They do test the connected motor at startup for its properties, which is important if you want to be able to drive more than one motor model. The speed of the BLDC motor is determined by the pole number and commutation speed, i.e. how fast the motor controller can cycle through the poles. However, every motor has a back-emf which the motor controller has to overcome to spin the motor faster. This back emf is unknown to me for the KaVo spindle, and if the spindle is designed to run at very high voltages this low voltage motor controller won't be able to spin it very fast.

The rolling shutter on the camera garbled the display a little. The voltage is at 13V. The connection is quite simple. The inputs to the motor controller get power from my bench power supply. The three phases from the spindle get connected to the outputs. The servo tester can then be used to increase (hopefully) the RPMs. Here is how it went:

Of course, we want to know how fast the spindle runs. I don't have a tachometer. So I stuck a small label to the spindle chuck and bounced a laser pointer off of it. LEDs have a voltage induced based on the intensity of the incident light, so if one is placed in proximity of the chuck the voltage changes every time the label passes by. It reflects more light than the otherwise darkly colored chuck. Take that MacGuyver!

It runs at 30000 RPM, or 500 Hz.