PCB CNC drilling

Thread Starter

mik3

Joined Feb 4, 2008
4,843
Hi guys,

I want to build an automatic PCB drilling machine controlled by a computer. I know how to determine a 'home' position for the machine reference but my problem is how to place the pcb very accurate on the machine bench so it can drill the holes with accuracy.
If i place the PCB on an arbitrary place on the machine bench how the machine can find a reference coordinate for it? Do you know any ways?
 

TrevorP

Joined Dec 8, 2006
55
Why not just move the machine to a reset position like in the top corner or something when you start it. Then the computer will reference the position from there.

That or you could have it move until it detects that it has reached a top corner of it's range. Aka motors start to pull lots of current. Or have like two contacts that send a signal to the computer when the machine has reached a certain point.
 

steveb

Joined Jul 3, 2008
2,436
This is a good question for a machinist. I'll check with a friend of mine if you don't get any good answers soon. Could you provide a little more information?

For example:

What part of the PCB do you feel is a good reference point; the corners, or the middle, or a refernence point etched into the copper or marks on the silk screen?

Will the PCB always be a rectangular board?

How are you planning to hold the PCB down? screws, clamps, vacuum etc.?

How accurate do you need to be?
 

thingmaker3

Joined May 16, 2005
5,083
You can index the board position by using two permanently fixed stop blocks (at 90 degree to each other) on your X-Y table. Clamp from the other two sides. One corner of every board will then be in a fixed spot relative to the table.
 

scubasteve_911

Joined Dec 27, 2007
1,203
Personally, I align the corner up by eye. Then, I use a bit extra material and, when finished, the board will get cut out as a final pass. Even commercial machines I have used for PCB manufacturing require two mounting holes.

If you don't mind a bit of waste around the edges, this is probably the best way to go. Other than that, you need to dial it in with indicators off of the chuck or make a jig to hold a standard PCB and use home position sensors.

Steve
 

SgtWookie

Joined Jul 17, 2007
22,230
At a former employer, we used a pair of diamond shapes "♦" located a distance apart (offset in both X and Y coordinates) on PCB designs that were sensed by optical emitter/detector pairs. A diamond shape makes a very good optical target. Once you find the four points of the diamond, you can derive it's center. Once you've located the centers of both diamonds, you can determine the board's absolute position and rotation.

Using an optical detector on known targets eliminates the need to pre-drill a portion of the board for locating pins. It also eliminates problems that might otherwise result from a resist mask being applied rotated or offset from the edge of the board.
 

Thread Starter

mik3

Joined Feb 4, 2008
4,843
This is a good question for a machinist. I'll check with a friend of mine if you don't get any good answers soon. Could you provide a little more information?

For example:

What part of the PCB do you feel is a good reference point; the corners, or the middle, or a refernence point etched into the copper or marks on the silk screen?

Will the PCB always be a rectangular board?

How are you planning to hold the PCB down? screws, clamps, vacuum etc.?

How accurate do you need to be?
The shape of the PCB usually is rectangular but you never know!
The accurracy should be about 0.01mm per step.
 

Thread Starter

mik3

Joined Feb 4, 2008
4,843
At a former employer, we used a pair of diamond shapes "♦" located a distance apart (offset in both X and Y coordinates) on PCB designs that were sensed by optical emitter/detector pairs. A diamond shape makes a very good optical target. Once you find the four points of the diamond, you can derive it's center. Once you've located the centers of both diamonds, you can determine the board's absolute position and rotation.

Using an optical detector on known targets eliminates the need to pre-drill a portion of the board for locating pins. It also eliminates problems that might otherwise result from a resist mask being applied rotated or offset from the edge of the board.
Thats the better and more accurate idea until now:) but the most complicated too;)
 

n9352527

Joined Oct 14, 2005
1,198
Thats the better and more accurate idea until now:) but the most complicated too;)
It does sound complicated, but that is how it's usually done. It eliminates the inaccuracy due to board size difference. You can make simplification to the process, like printing two crosses across the corners of the board and initially aligning the drill manually to the crosses as home positions. Human eyes work better with crosses rather than diamond shapes.

The downside is you have to align each and every board manually, not really a big problem unless you are making lots of board.
 

steveb

Joined Jul 3, 2008
2,436
I'm not an expert on machining tolerances, or PCB manufacturing, but I have an opinion based some experiences, and discussions with other people. Basically, I agree with the previous post.

The tolerance you mention (0.01 mm) seems typical of what good machining equipment can do, when operated by an expert, but as far as I know, PCB manufacturers typically do not achieve this level of accuracy. I've seen errors as much as 0.1 mm on PCBs, particularly with regards to where the etched copper is, relative to the board edges.

Based on this, I think the previous suggestion to detect diamond reference points is much better than referencing corners or edges of the board itself.

My assumption is that you need the high tolerance relative to the etched copper, not the board itself. If you also need high tolerance on the board edges, you may need to oversize the board and trim with a CNC machine. This would also require referencing with the etched copper.
 

scubasteve_911

Joined Dec 27, 2007
1,203
Yeah, ~4/10000" is extremely difficult to obtain! Even with perfect equipment, the board flex would certainly diminish the results in this order.

On my home cnc machine, I can get about 2-3mils precision over about a 6" peice. What you are talking about is about 5-8X better. It seems for CNC equipment, when you get below the 1mil precision mark, the price rises exponentially.

The runout of most spindles is at about 0.5mils for a good one, which is automatically too great for your requirements.

Steve
 

Wendy

Joined Mar 24, 2008
23,421
My feeling is with a homebrew all you need is two accurate poiints, one is a zero point. If you do the job in one run all you need is the zero point. I have a friend who has done something similar (don't know much about it though), The programming is the thing. Are you planning on using a CAD package?
 

Thread Starter

mik3

Joined Feb 4, 2008
4,843
I know if you want to make something good you have to pay more.
Until now i like the idea of he diamond shape on the PCB because i dont want to align the PCB on my own with crosses. I want to place the PCB on the machine's bench and it will automatically detect its coordinates with reference to the etched copper and not the board it self.

To Bill, i will use a CAD package yes and i can program a uC.
 

scubasteve_911

Joined Dec 27, 2007
1,203
Personally, I use software called Mastercam to create toolpaths for a G-code interpreter software called Mach3 CNC. This is sometimes a hard path, but it is very powerful for complex machining operations.

For PCB, I would use
http://www.kellyware.com/kcam/index.htm
since you can import gerber files.

Then, get a stepper driver to drive some stepper motors. I went with a brushless servo for mine with a step / dir input, but that is much more complex.

Also, if you're using a computer to do the work, why not use Matlab's image processing toolbox, if you have it, to find the diamond shapes with a high resolution webcam? I wrote some code a while back for finding centers of circular shapes and edges with a webcam that is loaded in the chuck, it only took me a few hours to do.

Steve
 

Thread Starter

mik3

Joined Feb 4, 2008
4,843
Personally, I use software called Mastercam to create toolpaths for a G-code interpreter software called Mach3 CNC. This is sometimes a hard path, but it is very powerful for complex machining operations.

For PCB, I would use
http://www.kellyware.com/kcam/index.htm
since you can import gerber files.

Then, get a stepper driver to drive some stepper motors. I went with a brushless servo for mine with a step / dir input, but that is much more complex.

Also, if you're using a computer to do the work, why not use Matlab's image processing toolbox, if you have it, to find the diamond shapes with a high resolution webcam? I wrote some code a while back for finding centers of circular shapes and edges with a webcam that is loaded in the chuck, it only took me a few hours to do.

Steve
Thanks man for the information, i have to check the thing with Matlab.
 

Thread Starter

mik3

Joined Feb 4, 2008
4,843
This is a quite old threat but I want to post something I thought relating this to see your thoughts. To detect the position of the PCB when placed on the machine I thought to make a copper square around the whole circuit while designing the circuit on the pcb design software. When the pcb will be placed on the drilling machine, a voltage will be applied on the copper square around the pcb and the machine will move until it detects on side of the copper square by sensing this voltage on it. Once it finds the one side co-ordinates it will move along this side until it finds the other side of the copper square where it will stop. At this point the machine will set the reference co-ordinates. I think it is an easy and accurate method. What do you think?
 
Top