Hello to the group!


mgouget1
 

Dear All,



I have been able to mill my first PCBs with excellent results (less
than 0.3 mm groove, reproducible), using my Sherline 5100, EMC2 and V
bits from Think & Tinker, at 10KRPM. I used carpet double sided tape
to stick the PCB on a PE martyr plate. Many thanks to John Johnson and
all those who contributed for this very astute and *enabling* piece of
software; being able to do so much in only 1000 lines of code is a
real exploit!



I encountered a few difficulties:

1) Adjusting the depth: I used the probe input (G38.2) for making an
electric contact between the carbide tip and the copper at a slow
speed, pushing the head with my hand to suppress Z backlash. Then I
wrote a small Gcode program which etches parallel lines at 0, -0.05,
-01, -015 and -02 mm in the margins of the PCB, and I use the depth
giving the best results (usually 0.15 mm)



2) It seems that there is a glitch on line 569 of pcb-gcode.ulp:

The line "printf(CIRCLE_BOTTOM, rx1, ry1, (m_arc_begin_x - rx2),
(m_arc_begin_y - ry2));"



Should read "printf(CIRCLE_BOTTOM, m_arc_begin_x, m_arc_begin_y, (rx2
- rx1), (ry2 - ry1));"



This makes milling round outlines work correctly on the bottom side.



3) Z backlash: I found that it takes a little time for Z to settle
when making a plunge, so I added a 0.3 s dwell at the end of each
plunge ( kudos to the easy configuration system), which gave excellent
results, especially when engraving pads or vias.



4) Having an excellent adherence of the tape to the PCB and plate is
critical, I found that cleaning first with paint thinner, then
cleaning the thinner traces with alcohol gave the best results.



5) I have not perfectly understood why, if 2 tracks are separated by
12 mils, I must use a 11 mils tool (and not 12) so that they get
etched. But I tinkered with DRUs, and found working values.



6) This is an EMC2 problem: for having good results, we must take XY
backlash into account (I have about 0.04 mm), but doing that with EMC2
gives (not meaningful eg. 0.005 mm) joint following errors; so I
zapped the triggering of this error in the EMC2 code.





(small) issues remaining:

- I tried to find a way to fast-etch the remaining copper with a
bigger (1 mm) endmill, but I gave up – enough for the first PCBs J -
Is there a way to do that?



- I would have been happy if engraving depth was specified in a
register instead of being hardcoded, so the code would read:

#100=-0.15

…..

G01 Z#100

…..

So that I could change engraving depth at run-time - see 1) – with a
single change, instead of running pcb-code again. But maybe some
routers don't have registers…





Many thanks, and best regards,



Michel (AKA mgouget1 on frappr)


John Johnson <johnatl@...>
 

Thank you for the feedback! I will post a more detailed reply soon.

Regards,
JJ

--- In pcb-gcode@..., "mgouget1" <mgouget@...> wrote:

Dear All,



I have been able to mill my first PCBs with excellent results (less
than 0.3 mm groove, reproducible), using my Sherline 5100, EMC2 and V
bits from Think & Tinker, at 10KRPM. I used carpet double sided tape
to stick the PCB on a PE martyr plate. Many thanks to John Johnson and
all those who contributed for this very astute and *enabling* piece of
software; being able to do so much in only 1000 lines of code is a
real exploit!



I encountered a few difficulties:

1) Adjusting the depth: I used the probe input (G38.2) for making an
electric contact between the carbide tip and the copper at a slow
speed, pushing the head with my hand to suppress Z backlash. Then I
wrote a small Gcode program which etches parallel lines at 0, -0.05,
-01, -015 and -02 mm in the margins of the PCB, and I use the depth
giving the best results (usually 0.15 mm)



2) It seems that there is a glitch on line 569 of pcb-gcode.ulp:

The line "printf(CIRCLE_BOTTOM, rx1, ry1, (m_arc_begin_x - rx2),
(m_arc_begin_y - ry2));"



Should read "printf(CIRCLE_BOTTOM, m_arc_begin_x, m_arc_begin_y, (rx2
- rx1), (ry2 - ry1));"



This makes milling round outlines work correctly on the bottom side.



3) Z backlash: I found that it takes a little time for Z to settle
when making a plunge, so I added a 0.3 s dwell at the end of each
plunge ( kudos to the easy configuration system), which gave excellent
results, especially when engraving pads or vias.



4) Having an excellent adherence of the tape to the PCB and plate is
critical, I found that cleaning first with paint thinner, then
cleaning the thinner traces with alcohol gave the best results.



5) I have not perfectly understood why, if 2 tracks are separated by
12 mils, I must use a 11 mils tool (and not 12) so that they get
etched. But I tinkered with DRUs, and found working values.



6) This is an EMC2 problem: for having good results, we must take XY
backlash into account (I have about 0.04 mm), but doing that with EMC2
gives (not meaningful eg. 0.005 mm) joint following errors; so I
zapped the triggering of this error in the EMC2 code.





(small) issues remaining:

- I tried to find a way to fast-etch the remaining copper with a
bigger (1 mm) endmill, but I gave up – enough for the first PCBs J -
Is there a way to do that?



- I would have been happy if engraving depth was specified in a
register instead of being hardcoded, so the code would read:

#100=-0.15

…..

G01 Z#100

…..

So that I could change engraving depth at run-time - see 1) – with a
single change, instead of running pcb-code again. But maybe some
routers don't have registers…





Many thanks, and best regards,



Michel (AKA mgouget1 on frappr)