Electrical
The gantry's stepper motors and limit switches are controlled by a Protoneer Arduino CNC Shield V3.0 mounted to an Arduino Uno. The three steppers are driven by three DRV8825 stepper driver boards, running as daughter boards on the CNC shield. All 3 driver boards are in half-stepping mode, to mitigate low-speed resonance and increase precision. These steppers drive the movement of the gantry according to g-code commands. The X and Y axes use larger NEMA 23 steppers to support movement of the toolhead through material, while the Z axis uses a smaller NEMA 17 stepper reclaimed from a dead Makerbot Replicator Mini 3D printer. Controlling the high-torque NEMA 23 steppers made our X and Y axis stepper drivers run pretty hot. To keep them cool, we wired in a 24V fan from a 3D printer to blow across the shield's heatsinks, ensuring the drivers stay cool during use. Our tool head utilizes a Genmitsu GS-775M DC motor. We selected this motor as it already had a collet attached and supported the speeds we were seeking to cut at. To use this motor, we utilized a HiLetgo BTS7960 H-bridge motor controller which is controlled through the spindle control pins on the CNC shield. To power all of these electronics, we used an AVAWO 360W 24V Power Supply. All of our electronics operated at 24V, so wiring our electronics to this rail was simple. For safety, we implemented an Emergency Stop to cut power from the wall to the power supply.