The CNC machine wasn’t working so I was asked to fix it.
The problem was that the x and the y axes moved well, but the z axis made a horrible grinding sound.
Suspecting the Z axis stepper driver (which was a DRV8825), I switched the drivers for the Z and Y axes, switching the two Vrefs as well.
Now, the Z axis motor worked fine, but the Y axis made the horrible sound.
So It was the driver. We ordered a new one.
When the new driver arrived, another problem presented itself; The CNC would not drill very deep, and would sort of drag around the drawing it was making leaving drilled lines along its travel path.
I suspected the microstepping here, so I switched from 1/16th step (the previous configuration) to full step.
Now, it could drill properly, but the dimensional accuracy was off. If I wanted to drill 1 cm, it would do 1.2 instead. I don’t know why this happened but I fixed it by altering the GRBL (CNC firmware) settings.
You can do this on Universal Gcode Sender (Ugs platform) by typing
in the commands window.
You will get a long list of settings numbered $0, $1 and so on.
The problem seemed to be with the steps/mm. ugs told the printer to do 10 mm, but it did more. Therefore decreasing the steps/mm should resolve this difference.
To find the steps/mm you need I simply found the ratio between the expected and actual movement, and multiplied by the current steps/mm (200).
(1/1.2)*200 = 166.666
so I set the steps/mm of the Z axis to 167 and all was good. The command used was
>> $102 = 167
Finally, I found that the X and Y axes were also a bit skewed: an expected movement of 1 cm instead yielded 2.5 centimetres, so I altered the x and y steps/mm accordingly to about 80 steps/mm.
After this, the CNC was perfectly operational.
Future plans include attaching a vacuum cleaner to suck up dust, and adjusting the microstepping to 1/32 to make the motor movements more silent. This would also involve multiplying the steps/mm to account for the changes.