I think the secret to making nice double-sided PCBs on a mini-CNC is to establish a procedure. This is what I do on the mini-CNC:
I take notes while I'm using the machine, and improve on the process.Code:1. Install 3.175mm drill bit. 2. Home X, Y and Z axis. 3. Probe Z-axis. 4. Drill Left Alignment Holes. 5. Drill Right Alignment Holes. 6. Install 30deg V-bit. 7. Probe Z axis. 8. Height-map PCB, if required. 9. Route Top layer. 10. Install 0.8mm endmill bit. 11. Probe Z axis. 12. Route Top layer Cutout. 13. Flip PCB using Alignment Pins. 14. Install 30deg V-bit. 15. Probe Z axis. 16. Route Bottom layer. 17. Install drill bit. 18. Probe Z axis. 19. Drill Bottom layer. ... repeats steps 12 - 14 for all Drill files 20. Install 2 Retention Pins in Screw Holes. 21. Install 0.8mm endmill bit (Make sure drill clears Retention Pins). 22. Probe Z axis. 23. Route Bottom layer Cutout.
This is what I do to generate the G-code files from FlatCAM:
There's been a lot of tweaking and adjusting since day 1. Most of those values are now set as the default values in FlatCAM. I have a lot less room for errors, except in things like trace isolation and PCB cut-outs; I use Milling operation for both of them, but use a V-bit for isolation, and an endmill for cutting out the board. Those 2 bits don't use the same speeds.Code:=========================== FlatCAM =========================== Start WinPythonPowershell cd .. cd .. cd flatcam python .\flatcam.py ========== Do Height Map before drilling, if required. ========== *** do not import Drill file for 3 Fiducials *** ****************** Alignment Holes and Mirror ****************** Generate Drill files and Mirror Bottom: - select MechanicalNofiducial file. - click on 2-Sided. - Axis = X. - Reference = Box. - click on Gerber. - Select Bottom layer. - click on Mirror. - click on Excelon. - Select Drill file. - click on Mirror. ... - repeat for all Drill files. - Drill Dia = 3.175mm. - point on desired coordinates Upper Left above Outline. - Shift + Left Click. - click Create Excelon Object. - point on desired coordinates Upper Right above Outline. - Shift + Left Click. - click Create Excelon Object. - select 1st Alignment Hole Drill file. - click Properties. - rename to "1 - Alignment_Holes_L_3.175mm". - click Drilling. - Cut Z = -10.0mm. - Travel Z = 1.0mm. - Feedrate = 25mm/min. - SpindleSpeed = 7500rpm. - Start Z = 1mm. - EndMove Z = 1mm. - EndMove X,Y = 0,0. - Preprocessor = GRBL_11_No_M6. - Click GenerateCNCjob Object. - select new Alignment CNC Job. - Save CNC job (include drill dia and side in file name). ... - repeat for 2nd Alignment Hole Drill file with: - "2 - Alignment_Holes_R_3.175mm", - EndMove Z = 25mm. - Save Project. ************************ Milling Layer ************************ Generate Geometry file: - hide all other layers. - select Gerber file for Top layer. - click Properties. - click Isolation Routing - Advanced. - click Calculators, if necessary: - Tip Diameter = 0.1mm - Tip angle = 30deg. - Cut Z = -0.1mm - click Calculate. - Copy Tool Diameter of 0.1536mm. - Paste Tool Diameter. - Shape = C1, circular with 1 flute. - Passes = 2. - Overlap = 20%. - Enable Combine. - Click Generate Geometry. - Save Project. Generate CNC file: - Select Geometry file. - click Properties. - click Milling - Advanced. - Tool Dia = 0.1536mm. - Job = Isolation. - Cut Z = -0.1mm - Travel Z = 1mm. - Feedrate X-Y = 120mm/min - 140mm/min. - Feedrate Z = 10mm/min - 12mm/min. - Spindle Speed = 9500rpm - 12000rpm. - EndMove Z = 25mm. - EndMove X,Y = 0,0. - Preprocessor = GRBL_11_no_M6. - click Generate CNCjob Object. - Save CNC job (include mill shape in file name). - Save Project. ... - repeat 2 steps for Bottom layer. *************************** Holes *************************** Generate Drill file: - select excelon file for alignment holes. - click Properties. - click Drilling - Advanced. - Cut Z = -2.0mm (small), -3.0 (large), -10.0 (Retention Pins). - Travel Z = 1.0mm; height above PCB for traveling. - Feedrate = 25mm/min (large) to 40mm/min (small). - SpindleSpeed = 7500rpm. - Start Z = 1mm; height when operation starts. - EndMove Z = 25mm; height to raise after operation. - EndMove X,Y = 0,0; return to origin. - Click GenerateCNCjob Object. - Save CNC job (include drill dia in file name). - Save Project. ************************** Cut-out ************************** Generate Geometry file: - hide all other layers. - select Gerber file for MechanicalNofiducial. - click Properties. - click Cutout - Advanced. - Tool Diameter = 0.8mm. - Cut Z = -0.5mm (top layer), -1.3mm (bottom layer). - Passes = 0.10mm. - Margin = 0. - Gaps = None. - Click Generate Geometry. - Save Project. Generate CNC file: - Select Geometry file. - click Properties. - click Milling - Advanced. - Tool Diameter = 0.8mm. - Job = Finishing. - Cut Z = -0.5mm (top layer), -1.3mm (bottom layer). - Multi Depth = enabled, 0.1mm - 0.15mm. - Margin = 0mm. - Gaps = None. - Travel Z = 1mm. - Feedrate X-Y = 100mm/min - 360mm/min. - Feedrate Z = 10mm/min - 30mm/min. - Spindle Speed = 9500rpm - 12000rpm. - EndMove Z = 25mm. - EndMove X,Y = 0,0. - Preprocessor = GRBL_11_no_M6. - click Generate CNCjob Object. - Save CNC job (include endmill shape in file name). - Save Project.
Robert


Reply With Quote

Bookmarks