- Printed circuit board milling
-
Printed circuit board milling is the process of removing areas of copper from a sheet of printed circuit board material to recreate the pads, signal traces and structures according to patterns from a digital circuit board plan known as a layout file. Similar to the more common and well known chemical PCB etch process, the PCB milling process is subtractive: material is removed to create the electrical isolation and ground planes required. However, unlike the chemical etch process, PCB milling is typically a non-chemical process and as such it can be completed in a typical office or lab environment without exposure to hazardous chemicals. High quality circuit boards can be produced using either process. In the case of PCB milling, the quality of a circuit board is chiefly determined by the system's true, or weighted, milling accuracy and control as well as the condition (sharpness, temper) of the milling bits and their respective feed/rotational speeds. By contrast, in the chemical etch process, the quality of a circuit board depends on the accuracy and/or quality of the photomasking and the state of the etching chemicals.
Contents
Hardware
A PCB milling system is a single machine that can perform all of the required actions to create a prototype board, with the exception of inserting vias and through hole plating. Most of these machines require only a standard AC mains outlet and a shop-type vacuum cleaner for operation.
Mechanical system
The mechanics behind a PCB milling machine are fairly straightforward and have their roots in CNC milling technology. A PCB milling system is similar to a miniature and highly accurate NC milling table. For machine control, positioning information and machine control commands are sent from the controlling software via a serial port or parallel port connection to the milling machine's on-board controller. The controller is then responsible for driving and monitoring the various positioning components which move the milling head and gantry and control the spindle speed. Typically this drive system comprises non-monitored stepper motors for the X/Y axis, an on-off non-monitored solenoid or pneumatic piston for the Z-axis, and a DC motor control circuit for spindle speed, none of which provide positional feedback. More advanced systems provide a monitored stepper motor Z-axis drive for greater control during milling and drilling as well as more advanced RF spindle motor control circuits that provide better control over a wider range of speeds.
X and Y axis control
For the X and Y axis drive systems most PCB milling machines use stepper motors that drive a precision lead screw. The lead screw is in turn linked to the gantry or milling head by a special precision machined connection assembly. To maintain correct alignment during milling, the gantry or milling head's direction of travel is guided along using linear or dovetailed bearing(s). Most X/Y drive systems provide user control, via software, of the milling speed, which determines how fast the stepper motors drive their respective axes.
Z axis control
Z axis drive and control are handled in several ways. The first and most common is a simple solenoid that pushes against a spring. When the solenoid is energized it pushes the milling head down against a spring stop which is attached to a pressure foot assembly that limits the milling head's downward travel. The rate of descent as well as the amount of force exerted on the spring stop must be manually set by mechanically adjusting the position of the solenoid's plunger. The second type of Z-axis control is through the use of a pneumatic cylinder - this system functions in the same manner as the solenoid type, pushing against a spring stop/pressure foot assembly. Air for the cylinder is provided by an external compressor with the air flow being controlled by a manually operated regulator and software driven gate valve. Due to the small cylinder size and the amount of air pressure used to drive it there is little range of control between the up and down stops. Both the solenoid and pneumatic system provide no positional feedback while in motion, and are therefore useful for only simple 'up/down' milling tasks. The final type of Z-axis control uses a stepper motor with dynamic positioning feedback. This system allows the milling head to be moved in small accurate steps up or down through its whole range of vertical motion. Further, the speed of these steps can be adjusted to allow tool bits to be eased into the board material rather than hammered into it. The depth (number of steps required) as well as the downward/upward speed is under user control via the controlling software.
Tooling
PCB's may be machined with conventional endmills, Conical D-Bit cutters and Spade Mills, D-bits and spade mills are cheap and as they have a small point allow the traces to be close together.
Speeds / feeds
Cutting speeds of up to Vc = 40 m/min are suitable for general machining, Feedrates of 0.1mm/rev at a depth of 0.1mm are suitable for D-bit cutters, Drilling feedrates of up to 4.5% of the drill diameter per rev at up to 180m/min are possible for via's,
Economics of PCB milling
Taylors equation, Vc Tn = C, can predict tool life for a given surface speed. At low cutting speeds the values were found to be approximately Vc T0.46 = 57. As Taylor is only linear over short distances this may be incorrect for higher surface speeds. As VC increases the machining time falls, but the cost of cutters rises. For a hobby machine, a Vc as low as 3 m/min may be best. For mass production a VC of up to 180 m/min may be best if the cost of cutters is low and the machine overheads are high.
Direction of cut
If no burr is desired on the trace side then conventional milling the trace profile will produce a better result on the trace side.
Depth of cut
The cutter depth should be as shallow as possible to avoid the hard glass fibres in the board. If the depth is too deep and a trace is too narrow then plucking of fibres from underneth the trace will occur. The glass fibres will also cause the cutter to deflect giving an uneven finish at the trace edge.
Software
- Eagle Add-on: http://groups.yahoo.com/group/pcb-gcode
- Linux Project: http://sourceforge.net/projects/gerbertogcode
- C++ version: https://sourceforge.net/projects/pcb2gcode/
- Java version: https://sourceforge.net/projects/visolate/, based on paper on Voronoi toolpaths
- GCAM (Among many features, supports importing of RS274X (Gerber) and Excellon drill files for gerber to g-code pcb milling conversion): http://gcam.js.cx/index.php/Main_Page
- ProtoLiner: http://www.colinbus.com/en/cam_pcb_en.htm
Categories:
Wikimedia Foundation. 2010.