Printed Circuit Board Drill

Code Sample
Assembler Source Code
MCR File
Thomas Dvorak


This project's purpose is to design a fully automated machine for drilling a printed circuit board, (PCB) blank at a minimum cost and with the minimum amount of custom machining. This low cost philosophy is achieved by adapting the existing mechanical assemblies from readily available computer peripherals and electronic measuring instruments. Drill data is transferred to the PCDrill from an Excellon drill file generated by a PCB CAD program running on a personal computer.

The printed circuit board blank is mounted to an X-Y positioning table which is constructed from the mechanism of two 600 X 1200 dpi scanners which are capable of resolutions of a few thousandths of an inch. The table position is monitored in two axes by two modified electronic calipers which provide a digital output via a two-wire serial interface to the controller circuitry. Mounted above the table is a drill head consisting of a high speed DC motor which is raised and lowered by a linear stepper motor to perform the drilling operation. The table can accommodate PCB's up to 5” X 5” and thicknesses up to 0.125”. Drilling rates are typically 400 holes per hour. Operator intervention is only necessary to change drill bits.

The controller is designed around an MC68HC908QY4 microcontroller. This device interfaces to the personal computer via the parallel port and receives commands to position the table and drill the holes. It also coordinates the establishing of a reference point on the table with the reference point of the digital calipers. The serial data output of the calipers is converted from a 1.5 volt level to a 5.0 volt level and presented to the MCU via a data selector under MCU control. The MCU generates phase signals for the three unipolar stepper motors and enables each from its output port bits via drive transistors. Power is provided by the original scanner power supply which has outputs of 5.0 volts and 12.0 volts. A voltage divider and transistor generates the 1.5 volt power for the calipers.

Current software is written for hole drilling. However, with the appropriate commands and an end mill tool mounted in the drill chuck, the machine could be used for machining circuit traces also resulting in a complete PCB prototyping system.

Block Diagram




Despite the prevalence of printed circuit board (PCB) manufacturers with fast turn-around service at modest cost there remains a great deal of interest in do-it-yourself PCB's. For developers building prototypes to a tight schedule even a few days delay waiting for boards can be unacceptable. Moreover, using a commercial manufacturer for a single small board may not be cost effective. New methods of producing PCB's such as the toner transfer process have made in-house fabrication in hours practical for even the smallest operations. The use of a computer and a laser printer, (or even a copying machine), has eliminated most of the time-consuming artwork and photographic steps. However, there remains the most labor intensive and tedious step, drilling hundreds of holes, a process that for most, defies automation. There are systems available that will solve this problem using Computer Numerical Control, (CNC), but with costs in the $10,000-$20,000 range they are out of reach of the individual or small business. Occasionally an article will appear in a hobbyist publication on building your own PCB drill but they are usually only designed to position the board automatically leaving it to the operator to manually drill the hole. In addition, the mechanical construction is more challenging than the electronics, discouraging those who do not have access to machine tools capable of the necessary precision.

Precise mechanical positioning is a common requirement for printers and scanners which have stepper motors, reduction gearing, drive belts, and pulleys capable of resolutions down to a few thousandths of an inch. The mechanical power supplied is of the same order that the PC drill requires. Raising and lowering the drill head involves a linear motion which a linear stepper motor provides. For this project the positioning mechanisms of two 600dpi x 1200dpi scanners were used to construct an XY table capable of handling a 5” x 5” PCB. Two scanners were necessary since only one axis of the scanner is mechanically scanned, the other is optically scanned. The stepper motors are unipolar units operating from 12 volts resulting in a very simple interface. Even more convenient is the power supply, which can provide all of the necessary power without any modification whatever. An Airpax K92211 linear stepper motor and a 12 volt high rpm DC motor satisfy the requirements of the drill head.

It would appear that with the appropriate microcontroller, (MCU), support circuitry, and software, all requirements are fulfilled. Unfortunately, there is a problem which arises when this technique is implemented. Due to the inevitable manufacturing tolerance buildup in an assembly of motors, gears, pulleys, belts, bearings, etc, the resulting errors degrade the accuracy. Scanners can tolerate this since they are only mechanically scanning in one direction and axis which minimizes the problem. But the PC drill table must move in both directions and two axes. Improvement can be achieved by programming the MCU to approach every drill position from the same direction but there is a more serious situation which can occur and make the whole concept unworkable. This is the unfortunate tendency of a stepper motor to stall for various reasons, resulting in its position ending up somewhere other than where it is expected to be. Subsequent positions are, therefore, at an unknown offset which is disastrous for the board being drilled. These problems are obviously the unavoidable result of a servo system which is running open loop. The solution is just as obvious: close the loop. If a sensor is provided to actually measure the position of the table, the MCU can adjust for any out-of-position condition regardless of the cause. What kind of sensor is available that can measure distances up to six inches with an accuracy of a thousandth of an inch at a price which is consistent with the minimum cost philosophy? Until recently, there has been no realistic answer to this question. Fortunately, the same cost reductions due to economies of scale of the computer industry that provided the hardware for the positioning table will also provide the sensor for measuring the table's position via the machine tool industry: the electronic digital caliper. Once an expensive instrument, it is now available from many sources in ranges from four inches to twelve inches with an accuracy of 0.001”. The 6” models meet the requirement for both range and economy. Best of all, they have a straightforward serial output which the MCU can easily handle.

Now that the mechanical considerations have been dealt with, what means of control will be necessary? The following operations are required:

- Communicate with the PC via its parallel port for receiving data from the drill file.
- Move the table to a reference point and coordinate this positon with the caliper's reference.
- Process the data and generate motor control signals sufficient to move the table to the desired position.
- Read the output of the digital calipers to verify the position is within the tolerance of the expected position and correct if necessary.
- Power up the spindle motor of the drill head and allow it to come up to speed.
- Lower the drill head to the correct depth and return it to its starting position.
- Power down the spindle motor.
- Advance to the next position until all holes have been drilled and return the table to the reference position.

The heart of the controller is the MCU, an MC68HC908QY4. Despite having only 16 pins, 14 of them are available for input/output. This is more than adequate to do the job.

Refer to the accompanying schematic and block diagram for circuit operation. MCU port bits PA2 and PB7 handle the interface with the PC via P1 which connects to the PC's parallel port. PB7 is an input/output port to receive the data from the PC. The MCU polls the data clock at PA2 until a logic high is detected. Each subsequent negative edge clocks a six byte data record received on PB7. The data is stored in variables until it is to be acted on. If the data received requires a response, it is transmitted to the PC at the end of the received record. Amplifier U3 converts the 1.5 volt digital caliper's signals to 5 volts. PA5 and PB2 are caliper select bits, which determine whether the X-Axis or Y-Axis caliper's data and clock are connected, via data selector U1 to the data bit PB1 and clock bit PB0. The calipers transmit position data at intervals of approximately 250 msec. When the MCU requires a position update it waits for the asynchronous caliper data and reads the first three bytes, the current position, offset by a fixed value. Although six bytes are transmitted, the remaining bytes are not used. Control of the stepper motors is from PA0, PA1, PA3, and PA4 which connect to phase inputs, P1 to P4 of each of the three motors via drivers U4 and U5. The common winding of each motor is powered by transistors Q2, Q3, and Q4 which are enabled by RB4, RB5, and RB6. RB3 enables transistor Q6 and Q7 which powers the spindle motor. The unit requires 5.0 volts and 12.0 volts, supplied by the original scanner power supply which is left in place in the X-Axis base.

Once the PC begins sending drill commands, the only operator action necessary is the occasional necessity of changing drill bit sizes. Although the current software is limited to drilling holes, the machine could be expanded to include machining the circuit traces as well. No additional hardware would be required beyond the fitting of an appropriate end-mill tool in the drill chuck. Additional software would be primarily on the PC end with minor additions to the MCU program.

Related Links

Accurate LC Meter
ESR Meter / Transistor Tester / LC Meter
BA1404 HI-FI Stereo FM Transmitter
500mW FM / VHF Transmitter Amplifier / Booster
USB IO Board
60MHz Frequency Meter / Counter
1Hz - 2MHz Function Generator
Voltmeter Ammeter
USB Voltmeter
Accurate 0-500MHz RF Power Meter
Audiophile OPA2132 Headphone Amplifier Kit
DS18S20 Dual Temperature Meter
BH1417 Stereo PLL FM Transmitter
50mW BH1417 Stereo PLL FM Transmitter
Phone FM Transmitter
TV Transmitter with Audio
5 Watt FM Amplifier
TDA7000 FM Receiver / TV Tuner / Aircraft Receiver
NJM2035 HI-FI Stereo Encoder / Multiplexer

Accurate LC Meter Capacitance Inductance Meter with 16F628 and LCD
Volt Ampere Meter with 16F876 Microcontroller and LCD display
Accurate LC Meter

Build your own Accurate LC Meter (Capacitance Inductance Meter) and start making your own coils and inductors. This LC Meter allows to measure incredibly small inductances making it perfect tool for making all types of RF coils and inductors. LC Meter can measure inductances starting from 10nH - 1000nH, 1uH - 1000uH, 1mH - 100mH and capacitances from 0.1pF up to 900nF. The circuit includes an auto ranging as well as reset switch and produces very accurate and stable readings.
PIC Volt Ampere Meter

Volt Ampere Meter measures voltage of 0-70V or 0-500V with 100mV resolution and current consumption 0-10A or more with 10mA resolution. The meter is a perfect addition to any power supply, battery chargers and other electronic projects where voltage and current must be monitored. The meter uses PIC16F876A microcontroller with 16x2 backlighted LCD.

50MHz 60MHz Frequency Meter / Counter with 16F628 & LCD
1Hz - 2MHz XR2206 Function Generator
60MHz Frequency Meter / Counter

Frequency Meter / Counter measures frequency from 10Hz to 60MHz with 10Hz resolution. It is a very useful bench test equipment for testing and finding out the frequency of various devices with unknown frequency such as oscillators, radio receivers, transmitters, function generators, crystals, etc.
1Hz - 2MHz XR2206 Function Generator

1Hz - 2MHz XR2206 Function Generator produces high quality sine, square and triangle waveforms of high-stability and accuracy. The output waveforms can be both amplitude and frequency modulated. Output of 1Hz - 2MHz XR2206 Function Generator can be connected directly to 60MHz Counter for setting precise frequency output.

BA1404 HI-FI Stereo FM Transmitter
USB IO Board PIC18F2455 / PIC18F2550
BA1404 HI-FI Stereo FM Transmitter

Be "On Air" with your own radio station! BA1404 HI-FI Stereo FM Transmitter broadcasts high quality stereo signal in 88MHz - 108MHz FM band. It can be connected to any type of stereo audio source such as iPod, Computer, Laptop, CD Player, Walkman, Television, Satellite Receiver, Tape Deck or other stereo system to transmit stereo sound with excellent clarity throughout your home, office, yard or camp ground.
USB IO Board

USB IO Board is a tiny spectacular little development board / parallel port replacement featuring PIC18F2455/PIC18F2550 microcontroller. USB IO Board is compatible with Windows / Mac OSX / Linux computers. When attached to Windows IO board will show up as RS232 COM port. You can control 16 individual microcontroller I/O pins by sending simple serial commands. USB IO Board is self-powered by USB port and can provide up to 500mA for electronic projects. USB IO Board is breadboard compatible.

ESR Meter / Transistor Tester Kit
Audiophile Headphone Amplifier Kit
ESR Meter / Capacitance / Inductance / Transistor Tester Kit

ESR Meter kit is an amazing multimeter that measures ESR values, capacitance (100pF - 20,000uF), inductance, resistance (0.1 Ohm - 20 MOhm), tests many different types of transistors such as NPN, PNP, FETs, MOSFETs, Thyristors, SCRs, Triacs and many types of diodes. It also analyzes transistor's characteristics such as voltage and gain. It is an irreplaceable tool for troubleshooting and repairing electronic equipment by determining performance and health of electrolytic capacitors. Unlike other ESR Meters that only measure ESR value this one measures capacitor's ESR value as well as its capacitance all at the same time.
Audiophile Headphone Amplifier Kit

Audiophile headphone amplifier kit includes high quality audio grade components such as Burr Brown OPA2134 opamp, ALPS volume control potentiometer, Ti TLE2426 rail splitter, Ultra-Low ESR 220uF/25V Panasonic FM filtering capacitors, High quality WIMA input and decoupling capacitors and Vishay Dale resistors. 8-DIP machined IC socket allows to swap OPA2134 with many other dual opamp chips such as OPA2132, OPA2227, OPA2228, dual OPA132, OPA627, etc. Headphone amplifier is small enough to fit in Altoids tin box, and thanks to low power consumption may be supplied from a single 9V battery.

Arduino Prototype Kit
RF Remote Control 433MHz Four Channel
Arduino Prototype Kit

Arduino Prototype is a spectacular development board fully compatible with Arduino Pro. It's breadboard compatible so it can be plugged into a breadboard for quick prototyping, and it has VCC & GND power pins available on both sides of PCB. It's small, power efficient, yet customizable through onboard 2 x 7 perfboard that can be used for connecting various sensors and connectors. Arduino Prototype uses all standard through-hole components for easy construction, two of which are hidden underneath IC socket. Board features 28-PIN DIP IC socket, user replaceable ATmega328 microcontroller flashed with Arduino bootloader, 16MHz crystal resonator and a reset switch. It has 14 digital input/output pins (0-13) of which 6 can be used as PWM outputs and 6 analog inputs (A0-A5). Arduino sketches are uploaded through any USB-Serial adapter connected to 6-PIN ICSP female header. Board is supplied by 2-5V voltage and may be powered by a battery such as Lithium Ion cell, two AA cells, external power supply or USB power adapter.
200m 4-Channel 433MHz Wireless RF Remote Control

Having the ability to control various appliances inside or outside of your house wirelessly is a huge convenience, and can make your life much easier and fun. RF remote control provides long range of up to 200m / 650ft and can find many uses for controlling different devices, and it works even through the walls. You can control lights, fans, AC system, computer, printer, amplifier, robots, garage door, security systems, motor-driven curtains, motorized window blinds, door locks, sprinklers, motorized projection screens and anything else you can think of.

Electronics-DIY.com © 2002-2022. All Rights Reserved.