Another late night on Thursday at BuildBrighton and another leap forward in progress with our mini CNC drilling machine. This time we actually got a drill bit attached to the RC brushless motor and set it spinning. Because the RC motor requires 12v and we’re running our (so-called) 5v motors at 7.5v (at 5v they have no torque at all and stall very easily) we’ve got a couple of different power supplies running – and a dedicated Arduino board cobbled together to give the RC controller a few commands at boot up to get it spinning.
You can see in the video below that the start-up sequence is quite convoluted!

The laser dot is far too bright to be of any use, so we might just lose that in future development. But we managed to load an nc drill file (and a dxf output from ExpressPCB) into our software and get the machine to drill the pads.

The ultimate test is, of course, to place a printed PCB onto the drill and have it drill out the pre-printed pads. We did this with a printed sheet of paper and the results were pretty encouraging (though not 100% accurate)

Starting in the top-right hand corner, things progressed well for the first few holes. As we got towards the centre of the board, there’s a bit of drift which is recovered during the last few holes in the bottom left corner.
Despite these holes looking massively out-of-place on the photo, they’re still within about 1mm of the target point – a pretty impressive resolution, considering the hardware used!

There are a few possible explanations for this drift, although it’s probably due to a combination of:

  • The servo rams the drilling bit into the board at full speed. This can sometimes cause the bed to move slightly at the start or the end of a drilling stroke. We need to slow down the speed of the servo descent.
  • The anti-backlash routine in software contains some values we just made up that seemed to work! We may need to calculate these values a little more accurately than typing some random numbers and checking the results by eye
  • The drift in the holes is difficult to explain in terms of x- or y- axis since the drilling head travels in all directions (up, down, left, right). We could alter the software so that the bed only every travels in one direction (we could split the board up into rows, and drill each row one at a time, moving the bed in one direction only, while the gantry is allowed to move both left and right). This would make the drilling action less efficient, but would eliminate (or drastically reduce) any backlash in at least one axis.

With these changes in mind, it can’t be long before we’ve a working CNC drilling machine and can post all the files and diagrams online for others to share!

EDIT: At the Mini MakerFaire the following Saturday, one passer-by pointed out that our drill bit was actually spinning the wrong way! We reversed the spin direciton, and the drilling action was much smoother, caused fewer jumps on the travelling y-axis and created lovely little piles of sawdust around each hole drilled. It seems that previously we were just burning our way through the board!