PCB CNC: Unterschied zwischen den Versionen
Reox (Diskussion | Beiträge) |
Reox (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 58: | Zeile 58: | ||
* Hotter soldering is required, as there are no thermal pads. | * Hotter soldering is required, as there are no thermal pads. | ||
== Workflow Using gEDA pcb and pcb2gcode == | == Workflow Using gEDA pcb and pcb2gcode == | ||
The Workflow using the gEDA suite and a seperate tool called pcb2gcode is well tested in the Metalab. | The Workflow using the [https://packages.debian.org/wheezy/geda gEDA] suite and a seperate tool called [https://packages.debian.org/wheezy/pcb2gcode pcb2gcode] is well tested in the Metalab. | ||
First of all you will create a PCB in a program called pcb. Then you will export gerber files from the pcb and generate ngc files with pcb2gcode. These ngc files can be read by linuxcnc. | First of all you will create a PCB in a program called pcb. Then you will export gerber files from the pcb and generate ngc files with pcb2gcode. These ngc files can be read by linuxcnc. | ||
Zeile 87: | Zeile 67: | ||
For a Single Layer PCB you will run Steps 1,2,3,4 and 7 for a dual Layer you will run 1 to 7. | For a Single Layer PCB you will run Steps 1,2,3,4 and 7 for a dual Layer you will run 1 to 7. | ||
=== Create the PCB === | === 1. Create the PCB === | ||
[[Datei:Pcb layer groups.png|thumb|400px|grouping of layers in pcb]] | [[Datei:Pcb layer groups.png|thumb|400px|grouping of layers in pcb]] | ||
gEDA's pcb is a complex tool to work with. It might not be as easy to use as other tools in the first place, but can do everything another tool can do. | gEDA's pcb is a complex tool to work with. It might not be as easy to use as other tools in the first place, but can do everything another tool can do. | ||
Zeile 97: | Zeile 77: | ||
* Outline is one group | * Outline is one group | ||
=== pcb2metalab.sh === | === 2. pcb2metalab.sh === | ||
is a fork of the metaboard script. while it was stripped down to the very basics, it now only works with gEDA pcb files. | is a fork of the metaboard script. while it was stripped down to the very basics, it now only works with gEDA pcb files. | ||
Zeile 107: | Zeile 87: | ||
If you modify the Makefile and run make, it will build all necassary files for you. You can check the output of the gerber files with a tool called gerbv and there are also some png files for debugging. | If you modify the Makefile and run make, it will build all necassary files for you. You can check the output of the gerber files with a tool called gerbv and there are also some png files for debugging. | ||
=== Milling of Bottom Side === | === 3. Milling of Bottom Side === | ||
Now its time to go to the CNC and put in the PCB. Load the backside ngc file. Now you need to touch off the workpiece. | Now its time to go to the CNC and put in the PCB. Load the backside ngc file. Now you need to touch off the workpiece. | ||
Remember now two things: The coordinates in the pcb2metalab generated files are in inch and the PCB is not super flat! | Remember now two things: The coordinates in the pcb2metalab generated files are in inch and the PCB is not super flat! | ||
=== Drilling the Bottom Side === | === 4. Drilling the Bottom Side === | ||
The Next step would be to drill. Because the workpiece is already touched-off, it should go smoothly. | The Next step would be to drill. Because the workpiece is already touched-off, it should go smoothly. | ||
=== Switch Sides === | === 5. Switch Sides === | ||
[[Datei:G10command.jpg|thumb|400px|The math behind the G10 L2 command]] | [[Datei:G10command.jpg|thumb|400px|The math behind the G10 L2 command]] | ||
This step is now crucial for the quality of the dual layer PCB. | This step is now crucial for the quality of the dual layer PCB. | ||
Zeile 124: | Zeile 104: | ||
Use a tool of your choice to calculate the G10 command and enter it. | Use a tool of your choice to calculate the G10 command and enter it. | ||
=== Mill the Top Side === | === 6. Mill the Top Side === | ||
The top side can be milled like the bottom side, but because of the active G10 you do not need to touch of anything! | The top side can be milled like the bottom side, but because of the active G10 you do not need to touch of anything! | ||
=== Mill the Outline === | === 7. Mill the Outline === | ||
The outline is also milled like the bottom or top side. No extra step is needed! | The outline is also milled like the bottom or top side. No extra step is needed! | ||
== | == Workflow using eagle and metaboard.sh == | ||
The workflow splits into the following points: | The workflow splits into the following points: | ||
* Preperation: create an eagle brd file, copy it | * Preperation: create an eagle brd file, copy it | ||
Zeile 161: | Zeile 142: | ||
Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves. | Removing the boards works best by using a twist motion around the z-axis. A brush should be nearby to clean the grooves. | ||
=== Metaboard*.sh === | |||
Metaboard are some bash shell scripts, that will automatically create cnc-paths in the form of gcode files. The starting point is the eagle .brd file. | |||
Download of the files: [http://kariert.org/files/metaboard3/ Here] | |||
Usage: metaboard3.sh <options> filename | |||
filename: eagle brd file to process | |||
-double: create a double sided gcode | |||
-0.8: use a 0.8mm mill head instead of a 0.6 | |||
-tight: only offset by a distance of 0.3 mm | |||
-filled: the eagle board file has a filed dimension area instead of lines | |||
It calls a couple of external programs: | |||
* [http://www.cadsoft.de/ Eagle]: to output the gerber files of the top and bottom layer | |||
* <del>eagle: to call an ulp-program "drillbernhard.ulp" that outputs the drilling and cutting paths.</del> | |||
* [http://www.cadsoft.de/ Eagle]: to output the excellon drill files. | |||
* <del>[http://www.mit.edu/~vona/Visolate/Visolate-info.html Visolate]: To create the isolation paths. We use an unreleased version, that is scriptable.</del> | |||
* Meanwhile, [http://sourceforge.net/projects/pcb2gcode/ pcb2gcode] was adopted and is used. | |||
* [http://code.google.com/p/grecode/ grecode] To mirror the board for second side. (Grecode was created especially for metaboard.sh by --[[Benutzer:Bkubicek|Bkubicek]] 09:55, 26. Jul. 2010 (CEST)) | |||
While these are called, <del>a couple of windows will pop up and hopefully disappear again.</del> only shell output will be produced. you will get some debug images also in the current directory. | |||
== Hints == | == Hints == | ||
Zeile 194: | Zeile 197: | ||
[http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!] | [http://blog.makezine.com/archive/2010/07/voronoi_mapped_pcbs_using_visolate.html Hello, Make Magazine!] | ||
== Further Things and TODO == | |||
* [http://phk.freebsd.dk/CncPcb/ Z-Height compensation] | |||
[[Kategorie:Howto]] | [[Kategorie:Howto]] | ||
[[Kategorie:Heavy_Machinery]] | [[Kategorie:Heavy_Machinery]] |