My MaxNC10 upgrade for Spindle controller
Originally shared by Henrik Larsen
Here is the drawings and some work for the spindle PWM feedback system. The system consists of a computer with mach 3, which send PWM signal as 0% for no spindle speed to 100% for full spindle speed. An Arduino picks this signal up and decodes it, synchronize it with the mains frequency, and then adjust for real speed and send out a control signal to the Triac that powers the spindle motor. Arduino gets feedback about spindle speed from a photo detector. Arduino also gets input about mains zero crossing from a reduced signal though a photo coupler.
In my case the spindle is a 110v motor and mains is 220v, so I need to ensure that Arduino limits output to motor appropriately.
The pcb is made from scrap where the simple handmade layout ensures enough space between terminals that carry high voltage.
Mach3 PWM signal is low frequency and is not synchronized with the 50Hz we use in DK, so I need to reencode the PWM signal to be synchronized. Arduino is perfect for that task. Besides this Arduino can be used for other important tasks, like alarming and emergency stop if the spindle stops rotating due to high load.

