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)