Motivation
As you may have seen in earlier articles, I produce my own PCBs at home with the toner transfer method. After some experimentation the PCB quality is quite satisfactory, but drilling the holes for even a moderate number of through-hole components is very tiresome.
When you design your PCBs with a proper CAD software (such as KICAD), you have the coordinates of all drill holes anyway, so how about making an automated moving drill press table which moves the PCB to the places where holes are desired? But calibrating the coordinate system on the PCB should be quick and reliable.
Acquiring a coordinate table and motorizing it
So I got a “Proxxon MICRO compound table KT 70”. The table has two axes with two cranks. At the rear end each axis has a cap that, once removed, reveals a 10 mm hexagon nut. This nut is very tightly attached to the spindle, so it can be used to exert force and move the table.
From pollin.de (surplus store) I got two cheap bipolar stepper motors that I attached to the spindles using 10mm ratchet wrench sockets. I used a Dremel to cut a slit in the stepper motor shaft and inserted a small piece of metal sheet. The other side of the sheet has the exact dimensions to fit diagonally into the square hole of the wrench socket.
Everything is kept in place with metal angles, screws and small blocks of wood.
I built some motor drivers from discrete components (I didn’t know the good old L298 back then). Each motor has two coils. Each coil is operated with an H-bridge (or full bridge) circuit as shown above. It allows you to pass current in either direction through the coil or turn the coil off completely. There are no protection diodes, because the datasheets of the selected FETs claim that they are already included in the package. I built the driver circuit on a perfboard, because … why not.
Microcontroller + USB + tactile interface
Onto the motor driver board I soldered an ATMega32u2 microcontroller breakout board which I had previously designed and etched. The ATMega32u2 has a native USB interface which can be used to communicate with the microcontroller at runtime, but also to flash the firmware without the need of an extra programmer.
For More Details: (semi) automated drill press table for PCB manufacture