Hi all. I've been using Mach3 with fantastic results for milling of one-sided printed circuit boards (PCB). Some near-success with 2-sided boards, but not quite there yet.
I'm not quite there with 2-sided pcbs due to 'slight' misalignment issues of the circuit patterns on the two sides of the board. I quote 'slight', since 0.3 mm misalignment could be considered as slight, or could be considered as huge by others.
I've done the best I can to try pin down the source of misalignment. But haven't found it yet. So just looking for recommendations to try, or hints from some people that have been down this path.
I have attached two associated G-code patterns, one for top of the board, and one for the bottom of the board. Due to the software I use to generate the G-code circuit patterns for the two sides of the board (using PCB-GCODE software), the origin for the g-code pattern for the top side of the board has the origin on the LOWER-LEFT, while the pattern for the bottom side of the board is on the UPPER-LEFT.
For both g-code patterns, the WIDTH of the job is 48.857mm, which is provided in the g-code pattern viewer. I use the mid-level of this y-axis width as the line of symmetry.
For my actual board, I drill alignment holes (for 3mm diameter metal dowels) at y = 35 mm and y = 99 mm. The distance between these holes is 64mm.
I also drill an extra small 1mm diameter alignment hole right at the mid-point, at Y = 67mm. This smaller hole is not drilled too deep into the waste-board, so that I can use a fine tipped marking pen to put red ink into that hole in the waste board. The idea is that if I flip the circuit-board over, then seeing a red dot (when I shine a light down that hole), then everything should be good.
When it comes time to use Mach3 to mill my circuit, I use the mid-level (Y=67mm) line .... half-way between the large alignment holes as my reference line. For my top-side PCB pattern, the y-axis width was mentioned to be 48.857mm. Half of this width is 24.4285mm. So, for top-side milling, I simply set my Y-axis milling origin for Mach3 milling to be at Y = 67mm - 24.4285mm = 42.5715mm. This basically sets the origin of the top-side g-code pattern, which is inherently on the lower-left of the top-side circuit pattern (due to software).
For milling the other side of the board (ie. the bottom side), the milling origin is set to Y = 67mm - 24.4285mm = 91.4285mm, which is the upper-left side of the bottom-side circuit pattern.
So, the TWO origins that I set for each side of the board should theoretically or hypothetically allow the patterns on both sides of the board to be nicely aligned after milling (and drilling). However, I'm consistently getting approximately 0.3 mm misalignment in the y direction. No problem with the x-axis alignment (which is typicall expected).
Obviously, the fast fix is to purposely (deliberately) compensate for this y-axis offset misalignment by deliberately using Mach3 to off-set the origin on one side of the circuit board (when just before milling one side). But it would be nice to figure out where the source of misalignment is in general.
I can add that .....when I use Mach3 to manually drill the very small 1mm extra hole into the board (at exactly mid-way between the two large alignment holes) at Y = 67 mm, and I then flip the board over, I find that the drill bit remains nicely aligned with that small hole. So I know that the drill bit actually gets to the correct spot all the time.
The software I'm using is 'eagle' for generating the circuit board, and I use PCB-GCODE software for converting the eagle circuit to G-CODE format. If anyone has some nice recommendations for me to nail down this misalignment offset issue in the y-direction, then definitely let me know. I'll be super grateful. Thanks in advance! In the meantime, I'm still continuing to think of what tests to try out.....to find out where the offset is coming from.
I've uploaded a few files.... top side g-code, bottom-side g-code, and a diagram of my milling arrangement, and also a screenshot of the top-side circuit pattern from the 'pcb-code viewer software) showing job width of 48.857mm.
Thanks all!