[CNC] PCB milling on mini CNC
Jorgininho opened this issue · 1 comments
With the fabecole project, the hardware assembled became complexe and needed to be robust, therefore the need of a PCB.
Several solution are possible, order it in China, you get a good quality product, but you need to order at least 10 single board and wait 1 month to get them. Here we only need one and in a short period of time.
For a single board, we could use acid etching on a printed circuit, but we didn't have the material at Openfab, also I'm reluctant tu use acid.
So the plan was to use the mini CNC that we have to mill the PCB.
Here are the steps followed to mill a PCB :
-
With KICAD, we start with the electronic schematics, here we have the wanted elements and the rights connections between each (eeschema)
From this step, we can produce the Gerber files tha could be used to order such PCB in China. Instead these Gerber files will be use for milling
To convert Gerber files into Gcode for the CNC we use flatcam software
-
In FlatCAM, we load the gerber files for tracks, edge and drills.
-
In FlatCAM, DON'T forget to flip all elements along X axis (so copper layer of the PCB is on the right side)
-
In FlatCAM, set the origine at one of the corner of the PCB
-
For the routing, generate the geometry then CNC job, with parameters as follow , feedrate up to 120mm/s for X-Y & Z and in Cut Z as -0.1
-
For the CNC object, dont forget to append "m2" at the end of the gcode.
The NC file generated is the Gcode to be used on the CNC -
Fix the PCB on CNC bed
-
For each operation on the CNC (routing, drilling, contouring) a tool i used, leveling is done with a multimeter that measure contact of the metalic tool on the copper layer of the PCB
This is a very accurate way to get the level on Z.
The copper layer is very thin and a bad leveling along Z axis can lead to bad PCB milling.
Check the Z level on a reglar matrix of point along the surface. On big surface, this can lead to big difference of level. A python code has been generated to correct the Z level along the surface.
Once the milling is done, remove dust with a strong brush to avoid false contact in futur soldering
This is a quick and dirty issue regarding this matter, dont hesitate to ask for point on which you want more details @nicolasdb
ça manque de détails mais c'est un bon départ.
- J'ajouterai le lien vers flatcam. Et l'une ou l'autre capture d'écran comme pour kicad.
- dont forget to append "m2" at the end of the gcode.
-
Pourquoi? (moi, je sais mais c'est parce que je parle G_code)
-
Ensuite, tu survole encore plus rapidement que le reste, l'élément qui me parait le plus important, ton histoire de matrice de point pour le leveling.
Tu parle de code, ça serait cool de le partager.
Mon rêve c'est que le prochain, puisse enrichir ce tuto à chaque fois qu'on produit un pcb.