From (art)scienceblr
Jump to: navigation, search

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.