There are a lot of cheap Chinese CNC machines out there with okay mechanics and terrible electronics. The bearings aren’t complete crap, but the spindle of these CNC machines is a standalone PWM controller with a pot to control the speed. This means you can’t control the spindle speed with LinuxCNC or Mach3.
For his Hackaday Prize entry, [SUF] is building a DC motor controller for a Chinese spindle motor that doesn’t use any kind of encoder. The first part of that project is fairly easy; [SUF] has already built a high current driver. The second bit is a little it harder – because these spindles don’t have an encoder, [SUF] will have to read voltage spikes on the motor poles, giving him the RPM of the spindle. From there, it’s a bit of PID code to get this spindle running at a desired RPM and connecting it to a CNC control box.
So far, [SUF] has a second version of his board waiting for assembly. In the first version of the board, the switching time for the MOSFET was a little slow, but that’s all corrected in the current revision. It’s a great project to extend the capability of these cheap CNC machines, and perfect project for the Hackaday Prize.