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.
Printed Circuit Board Drill
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
Schematic
Theory
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.
Downloads
Author
Thomas Dvorak : tdvorak@mail.win.org
Source
electronics-diy.com
2 komentar:
It's good to see this information in your post, I was looking the same but there was not any proper resource, thanks now I have the link which I was looking for my research. Printed Circuit Board
I really appreciate your post.
It gives an outstanding idea that is very helpful for all the people on the web. Thanks for sharing this information and I'll love to read your next post too.
Post a Comment