I finally got around to my first attempt to use my K8200 as a PCB milling machine.
Mounted the Dremel on the Z axis, put an 18mm wooden board on the XY table, and good to go.
A picture of the first attempt showed the printer had a strange way of making the round PCB pads:
The problem is in the way the marlin firmware handels an ARC movement.
The g-code for the PCB uses controlled ARC movement G2 and G3 commands for the pads.
The firmware approximates the ARC with small lineair movements, which are set for 1mm minimal resolution, no good for 1.6mm pads.
To remidy: change the firmware.
In Aruino IDE 1.0.6, find the tab: Configuration_adv.h
Change the parameter MM_PER_ARC_SEGMENT from 1mm to 0.05mm
The PCB software I used is a simple program called Layo1 to make the test pcb. baas.nl/
After design, the PCB’s Signal bottom layer was output as a Gerber (RS-274X format) file.
Eagle, or other PCB design software, should be able to output GERBER (RS-274X format) files as well. Its an industry standard.
The Z value can be a negative value with regard to the 0-level of the bed, because the milling bit needs to penetrate the PCB surface. But the printer may not accept this as during normal 3D printing, it will never go below the bed surface, only up.
GERBER files are typically in inches, as PCB design generally is done in inch format, not millimeters. After the linegrinder software converts it to G-code, and you read the G-code into repetier, the PCB will be a factor of 25.4 too small!
So next, I process the G-code in a custom software I made which solves these 2 issues:
All values are multiplied by 25.4 to go from inches to millimeters, as Repetier and the K8200 marlin firmware only accept millimeters.
All Z values are added with a positive offset value of typically 16mm. This is the position my Z axis is on when the milling bit is just on the PCB surface. This also solves the negative Z value. Movement over the PCB is done at 18mm heigth, cutting at 15.8 or 15.9mm heigth wich the cuts at 0.2 or 0.1mm depth into the PCB.
The software then outputs new G-code.
After that, I load this new G-code into repetier, you can see the cutting lines if you go to ‘Print Preview’, -> select ‘show travel moves’.
If correct, turn on the dremel at maximum RPM, and press ‘start print’.
Not sure about the acceleration, in my EEPROM setting, the maximum acceleration is at 9000, and default at 1000.
The movement rate in the new G-code is set at 380mm/minute when cutting, so that is slow which is fine for milling.